[PATCH 01/10 net-next v2] ipv6: convert CONFIG_IPV6 to built-in only and clean up Kconfigs

Fernando Fernandez Mancera fmancera at suse.de
Thu Mar 12 08:12:09 PDT 2026


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
> 




More information about the linux-afs mailing list