From: David Woodhouse <[email protected]>

Add 'depends on LEGACY_IP' to Kconfig options that are purely
IPv4-specific, so they are automatically disabled when LEGACY_IP=n.

IPv4-only options gated:
 - IP_MULTICAST, IP_ADVANCED_ROUTER, IP_FIB_TRIE_STATS,
   IP_MULTIPLE_TABLES, IP_ROUTE_MULTIPATH, IP_ROUTE_VERBOSE,
   IP_ROUTE_CLASSID — IPv4 routing features
 - IP_PNP (and children DHCP/BOOTP/RARP) — IPv4 autoconfiguration
 - NET_IPIP, NET_IPGRE_DEMUX, NET_IPGRE, NET_IPGRE_BROADCAST — IPv4
   tunnels
 - IP_MROUTE_COMMON, IP_MROUTE, IP_MROUTE_MULTIPLE_TABLES,
   IP_PIMSM_V1, IP_PIMSM_V2 — IPv4 multicast routing
 - NET_IPVTI, NET_FOU_IP_TUNNELS — IPv4 VTI and FOU tunnels
 - INET_AH, INET_ESP, INET_ESP_OFFLOAD, INET_ESPINTCP,
   INET_IPCOMP — IPv4 IPsec (IPv6 has separate INET6_* options)
 - INET_XFRM_TUNNEL, INET_TUNNEL — IPv4 tunnel infrastructure

Options intentionally left ungated (shared with IPv6):
 - SYN_COOKIES, NET_IP_TUNNEL, NET_UDP_TUNNEL, NET_FOU
 - INET_TABLE_PERTURB_ORDER, INET_DIAG and children
 - TCP_CONG_*, DEFAULT_TCP_CONG, TCP_SIGPOOL, TCP_AO, TCP_MD5SIG

Signed-off-by: David Woodhouse <[email protected]>
---
 net/ipv4/Kconfig | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index aef2c5349e62..03b5ba75c3cf 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -15,6 +15,7 @@ config LEGACY_IP
 
 config IP_MULTICAST
        bool "IP: multicasting"
+       depends on LEGACY_IP
        help
          This is code for addressing several networked computers at once,
          enlarging your kernel by about 2 KB. You need multicasting if you
@@ -25,6 +26,7 @@ config IP_MULTICAST
 
 config IP_ADVANCED_ROUTER
        bool "IP: advanced router"
+       depends on LEGACY_IP
        help
          If you intend to run your Linux box mostly as a router, i.e. as a
          computer that forwards and redistributes network packets, say Y; you
@@ -66,6 +68,7 @@ config IP_ADVANCED_ROUTER
 
 config IP_FIB_TRIE_STATS
        bool "FIB TRIE statistics"
+       depends on LEGACY_IP
        depends on IP_ADVANCED_ROUTER
        help
          Keep track of statistics on structure of FIB TRIE table.
@@ -73,6 +76,7 @@ config IP_FIB_TRIE_STATS
 
 config IP_MULTIPLE_TABLES
        bool "IP: policy routing"
+       depends on LEGACY_IP
        depends on IP_ADVANCED_ROUTER
        select FIB_RULES
        help
@@ -90,6 +94,7 @@ config IP_MULTIPLE_TABLES
 
 config IP_ROUTE_MULTIPATH
        bool "IP: equal cost multipath"
+       depends on LEGACY_IP
        depends on IP_ADVANCED_ROUTER
        help
          Normally, the routing tables specify a single action to be taken in
@@ -102,6 +107,7 @@ config IP_ROUTE_MULTIPATH
 
 config IP_ROUTE_VERBOSE
        bool "IP: verbose route monitoring"
+       depends on LEGACY_IP
        depends on IP_ADVANCED_ROUTER
        help
          If you say Y here, which is recommended, then the kernel will print
@@ -113,9 +119,11 @@ config IP_ROUTE_VERBOSE
 
 config IP_ROUTE_CLASSID
        bool
+       depends on LEGACY_IP
 
 config IP_PNP
        bool "IP: kernel level autoconfiguration"
+       depends on LEGACY_IP
        help
          This enables automatic configuration of IP addresses of devices and
          of the routing table during kernel boot, based on either information
@@ -172,6 +180,7 @@ config IP_PNP_RARP
 
 config NET_IPIP
        tristate "IP: tunneling"
+       depends on LEGACY_IP
        select INET_TUNNEL
        select NET_IP_TUNNEL
        help
@@ -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.
@@ -202,6 +212,7 @@ config NET_IP_TUNNEL
 
 config NET_IPGRE
        tristate "IP: GRE tunnels over IP"
+       depends on LEGACY_IP
        depends on (IPV6 || IPV6=n) && NET_IPGRE_DEMUX
        select NET_IP_TUNNEL
        help
@@ -217,6 +228,7 @@ config NET_IPGRE
 
 config NET_IPGRE_BROADCAST
        bool "IP: broadcast GRE over IP"
+       depends on LEGACY_IP
        depends on IP_MULTICAST && NET_IPGRE
        help
          One application of GRE/IP is to construct a broadcast WAN (Wide Area
@@ -226,10 +238,12 @@ config NET_IPGRE_BROADCAST
 
 config IP_MROUTE_COMMON
        bool
+       depends on LEGACY_IP
        depends on IP_MROUTE || IPV6_MROUTE
 
 config IP_MROUTE
        bool "IP: multicast routing"
+       depends on LEGACY_IP
        depends on IP_MULTICAST
        select IP_MROUTE_COMMON
        help
@@ -242,6 +256,7 @@ config IP_MROUTE
 
 config IP_MROUTE_MULTIPLE_TABLES
        bool "IP: multicast policy routing"
+       depends on LEGACY_IP
        depends on IP_MROUTE && IP_ADVANCED_ROUTER
        select FIB_RULES
        help
@@ -256,6 +271,7 @@ config IP_MROUTE_MULTIPLE_TABLES
 
 config IP_PIMSM_V1
        bool "IP: PIM-SM version 1 support"
+       depends on LEGACY_IP
        depends on IP_MROUTE
        help
          Kernel side support for Sparse Mode PIM (Protocol Independent
@@ -269,6 +285,7 @@ config IP_PIMSM_V1
 
 config IP_PIMSM_V2
        bool "IP: PIM-SM version 2 support"
+       depends on LEGACY_IP
        depends on IP_MROUTE
        help
          Kernel side support for Sparse Mode PIM version 2. In order to use
@@ -314,6 +331,7 @@ config SYN_COOKIES
 
 config NET_IPVTI
        tristate "Virtual (secure) IP: tunneling"
+       depends on LEGACY_IP
        depends on IPV6 || IPV6=n
        select INET_TUNNEL
        select NET_IP_TUNNEL
@@ -341,6 +359,7 @@ config NET_FOU
 
 config NET_FOU_IP_TUNNELS
        bool "IP: FOU encapsulation of IP tunnels"
+       depends on LEGACY_IP
        depends on NET_IPIP || NET_IPGRE || IPV6_SIT
        select NET_FOU
        help
@@ -350,6 +369,7 @@ config NET_FOU_IP_TUNNELS
 
 config INET_AH
        tristate "IP: AH transformation"
+       depends on LEGACY_IP
        select XFRM_AH
        help
          Support for IPsec AH (Authentication Header).
@@ -365,6 +385,7 @@ config INET_AH
 
 config INET_ESP
        tristate "IP: ESP transformation"
+       depends on LEGACY_IP
        select XFRM_ESP
        help
          Support for IPsec ESP (Encapsulating Security Payload).
@@ -380,6 +401,7 @@ config INET_ESP
 
 config INET_ESP_OFFLOAD
        tristate "IP: ESP transformation offload"
+       depends on LEGACY_IP
        depends on INET_ESP
        select XFRM_OFFLOAD
        default n
@@ -393,6 +415,7 @@ config INET_ESP_OFFLOAD
 
 config INET_ESPINTCP
        bool "IP: ESP in TCP encapsulation (RFC 8229)"
+       depends on LEGACY_IP
        depends on XFRM && INET_ESP
        select STREAM_PARSER
        select NET_SOCK_MSG
@@ -405,6 +428,7 @@ config INET_ESPINTCP
 
 config INET_IPCOMP
        tristate "IP: IPComp transformation"
+       depends on LEGACY_IP
        select INET_XFRM_TUNNEL
        select XFRM_IPCOMP
        help
@@ -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
 
 config INET_DIAG
-- 
2.51.0


Reply via email to