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

From: Jakub Kicinski <[email-masked]>
Date: Wed, 11 Mar 2026 20:02:19 -0700

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.

This affects four m68k defconfigs:
- amiga_defconfig
- apollo_defconfig
- atari_defconfig
- bvme6000_defconfig