> diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig > index aef2c5349e62..03b5ba75c3cf 100644 > --- a/net/ipv4/Kconfig > +++ b/net/ipv4/Kconfig
[ ... ] > @@ -113,9 +119,11 @@ config IP_ROUTE_VERBOSE > > config IP_ROUTE_CLASSID > bool > + depends on LEGACY_IP IP_ROUTE_CLASSID is selected by NETFILTER_XT_MATCH_REALM in net/netfilter/Kconfig and by NET_CLS_ROUTE4 in net/sched/Kconfig, neither of which depends on LEGACY_IP. Would this produce unmet direct dependency warnings when either of those options is enabled with LEGACY_IP=n? > @@ -190,6 +199,7 @@ config NET_IPIP > > config NET_IPGRE_DEMUX > tristate "IP: GRE demultiplexer" > + depends on LEGACY_IP > help > This is helper module to demultiplex GRE packets on GRE version field > criteria. > Required by ip_gre and pptp modules. IPV6_GRE in net/ipv6/Kconfig has 'depends on NET_IPGRE_DEMUX'. ip6_gre.c uses gre_parse_header() from the GRE demux module. Gating NET_IPGRE_DEMUX on LEGACY_IP silently makes IPv6 GRE tunneling unavailable on IPv6-only systems. Should this option be left ungated, similar to NET_IP_TUNNEL? [ ... ] > @@ -226,10 +238,12 @@ config NET_IPGRE_BROADCAST > > config IP_MROUTE_COMMON > bool > + depends on LEGACY_IP > depends on IP_MROUTE || IPV6_MROUTE IP_MROUTE_COMMON is shared infrastructure between IPv4 and IPv6 multicast routing. ipmr_base.c describes itself as "Common logic shared by IPv4 [ipmr] and IPv6 [ip6mr] implementation". IPV6_MROUTE in net/ipv6/Kconfig does 'select IP_MROUTE_COMMON' without depending on LEGACY_IP. When LEGACY_IP=n and IPV6_MROUTE=y, this will produce an unmet dependency warning. Should IP_MROUTE_COMMON be left ungated, like NET_IP_TUNNEL and the other shared options listed in the commit message? [ ... ] > @@ -425,11 +449,13 @@ config INET_TABLE_PERTURB_ORDER > > config INET_XFRM_TUNNEL > tristate > + depends on LEGACY_IP > select INET_TUNNEL > default n > > config INET_TUNNEL > tristate > + depends on LEGACY_IP > default n IPV6_SIT in net/ipv6/Kconfig does 'select INET_TUNNEL' without depending on LEGACY_IP. When LEGACY_IP=n and IPV6_SIT is enabled, this will produce an unmet dependency warning for INET_TUNNEL. SIT is inherently IPv4-dependent (IPv6-in-IPv4 tunneling), so perhaps IPV6_SIT also needs 'depends on LEGACY_IP'? --- AI reviewed your patch. Please fix the bug or email reply why it's not a bug. See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md CI run summary: https://github.com/kernel-patches/bpf/actions/runs/23838411859

