Re: [PATCH 01/10 net-next v2] ipv6: convert CONFIG_IPV6 to built-in only and clean up Kconfigs
Fernando Fernandez Mancera <[email protected]> Thu, 12 Mar 2026 16:12:09 +0100
| Newsgroups | org.kernel.vger.linux-sctp,dev.linux.lists.bridge,dev.linux.lists.gfs2,org.kernel.vger.linux-kernel,org.kernel.vger.linux-m68k,org.kernel.vger.linux-rdma,org.kernel.vger.linux-scsi,org.kernel.vger.netdev,org.kernel.vger.netfilter-devel |
|---|---|
| Message-ID | <[email protected]> |
On 3/12/26 4:02 AM, Jakub Kicinski wrote: > On Tue, 10 Mar 2026 16:34:24 +0100 Fernando Fernandez Mancera wrote: >> Maintaining a modular IPv6 stack offers image size and memory savings >> for specific setups, this benefit is outweighed by the architectural >> burden it imposes on the subsystems on implementation and maintenance. >> Therefore, drop it. >> >> Change CONFIG_IPV6 from tristate to bool. Remove all Kconfig >> dependencies across the tree that explicitly checked for IPV6=m. In >> addition, remove MODULE_DESCRIPTION(), MODULE_ALIAS(), MODULE_AUTHOR() >> and MODULE_LICENSE(). >> >> This is also replacing module_init() by device_initcall(). It is not >> possible to use fs_initcall() as IPv4 does because that creates a race >> condition on IPv6 addrconf. >> >> Finally, modify the default configs from CONFIG_IPV6=m to CONFIG_IPV6=y >> except for m68k as according to the bloat-o-meter the image is >> increasing by 330KB~ and that isn't acceptable. Instead, disable IPv6 on >> this architecture by default. This is aligned with m68k RAM requirements >> and recommendations [1]. > > AI has spotted: > >> diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig >> index 31d16cba9879..de088071dde4 100644 >> --- a/arch/m68k/configs/amiga_defconfig >> +++ b/arch/m68k/configs/amiga_defconfig >> @@ -64,7 +64,6 @@ CONFIG_NET_IPIP=m >> CONFIG_NET_IPGRE_DEMUX=m >> CONFIG_NET_IPGRE=m >> CONFIG_NET_IPVTI=m >> -CONFIG_NET_FOU_IP_TUNNELS=y >> CONFIG_INET_AH=m > > Is CONFIG_NET_FOU_IP_TUNNELS=y removed intentionally? This option > provides FOU/GUE encapsulation for IP tunnels and has 'depends on > NET_IPIP || NET_IPGRE || IPV6_SIT' as its Kconfig dependency. With IPv6 > disabled, IPV6_SIT becomes unavailable, but CONFIG_NET_IPIP=m and > CONFIG_NET_IPGRE=m are both still present in the defconfig, so the > dependency remains satisfiable. > > Since CONFIG_NET_FOU_IP_TUNNELS has no 'default y', removing it from the > defconfig means FOU/GUE encapsulation for IP tunnels will be silently > disabled by default on m68k. The commit message describes only disabling > IPv6 on m68k, not removing IPv4 FOU tunnel support. > I noticed that when running ./scripts/config --disable CONFIG_IPV6 for the m68k, the script was adding CONFIG_LWTUNNEL=y and CONFIG_NET_FOU=y. CONFIG_LWTUNNEL was selected by multiple IPV6 features. I do not think it makes sense to keep it for m68k given the information there is on http://www.linux-m68k.org/faq/platinfo.html. CONFIG_NET_FOU was something IPV6_FOU required, probably it should be just dropped from the config instead of explicitly turn it off as it turns off FOU_IP_TUNNELS too. It will be selected by FOU_IP_TUNNELS too anyway. I will update the config and also the commit message about CONFIG_LWTUNNEL. FTR; I doubt anyone is running Foo over UDP in m68k but let's avoid doing extra undocumented changes. Thanks, Fernando. > This affects four m68k defconfigs: > - amiga_defconfig > - apollo_defconfig > - atari_defconfig > - bvme6000_defconfig >