]> err.no Git - linux-2.6/blobdiff - net/ipv4/Kconfig
[NETFILTER]: CLUSTERIP: fix memcpy() length typo
[linux-2.6] / net / ipv4 / Kconfig
index 690e88ba24846296c8c957da52ca5966bf142584..e55136ae09f40708bbcdd50004abe97822ba0a71 100644 (file)
@@ -1,35 +1,8 @@
 #
 # IP configuration
 #
-choice 
-       prompt "Choose IP: FIB lookup"
-       depends on INET
-       default IP_FIB_HASH
-
-config IP_FIB_HASH
-       bool "FIB_HASH"
-       ---help---
-       Current FIB is very proven and good enough for most users.
-
-config IP_FIB_TRIE
-       bool "FIB_TRIE"
-       ---help---
-       Use new experimental LC-trie as FIB lookup algoritm. 
-        This improves lookup performance
-       
-       LC-trie is described in:
-       
-       IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
-       IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
-       An experimental study of compression methods for dynamic tries
-       Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
-       http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/
-       
-endchoice
-
 config IP_MULTICAST
        bool "IP: multicasting"
-       depends on INET
        help
          This is code for addressing several networked computers at once,
          enlarging your kernel by about 2 KB. You need multicasting if you
@@ -43,7 +16,6 @@ config IP_MULTICAST
 
 config IP_ADVANCED_ROUTER
        bool "IP: advanced router"
-       depends on INET
        ---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
@@ -79,6 +51,40 @@ config IP_ADVANCED_ROUTER
 
          If unsure, say N here.
 
+choice 
+       prompt "Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure)"
+       depends on IP_ADVANCED_ROUTER
+       default ASK_IP_FIB_HASH
+
+config ASK_IP_FIB_HASH
+       bool "FIB_HASH"
+       ---help---
+       Current FIB is very proven and good enough for most users.
+
+config IP_FIB_TRIE
+       bool "FIB_TRIE"
+       ---help---
+       Use new experimental LC-trie as FIB lookup algoritm. 
+        This improves lookup performance if you have a large
+       number of routes.
+
+       LC-trie is a longest matching prefix lookup algorithm which
+       performs better than FIB_HASH for large routing tables.
+       But, it consumes more memory and is more complex.
+       
+       LC-trie is described in:
+       
+       IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
+       IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
+       An experimental study of compression methods for dynamic tries
+       Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
+       http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/
+       
+endchoice
+
+config IP_FIB_HASH
+       def_bool ASK_IP_FIB_HASH || !IP_ADVANCED_ROUTER
+
 config IP_MULTIPLE_TABLES
        bool "IP: policy routing"
        depends on IP_ADVANCED_ROUTER
@@ -118,7 +124,7 @@ config IP_ROUTE_MULTIPATH
 
 config IP_ROUTE_MULTIPATH_CACHED
        bool "IP: equal cost multipath with caching support (EXPERIMENTAL)"
-       depends on: IP_ROUTE_MULTIPATH
+       depends on IP_ROUTE_MULTIPATH
        help
          Normally, equal cost multipath routing is not supported by the
          routing cache. If you say Y here, alternative routes are cached
@@ -171,7 +177,6 @@ config IP_ROUTE_VERBOSE
 
 config IP_PNP
        bool "IP: kernel level autoconfiguration"
-       depends on INET
        help
          This enables automatic configuration of IP addresses of devices and
          of the routing table during kernel boot, based on either information
@@ -230,8 +235,6 @@ config IP_PNP_RARP
 #   bool '    IP: ARP support' CONFIG_IP_PNP_ARP               
 config NET_IPIP
        tristate "IP: tunneling"
-       depends on INET
-       select INET_TUNNEL
        ---help---
          Tunneling means encapsulating data of one protocol type within
          another protocol and sending it over a channel that understands the
@@ -248,8 +251,6 @@ config NET_IPIP
 
 config NET_IPGRE
        tristate "IP: GRE tunnels over IP"
-       depends on INET
-       select XFRM
        help
          Tunneling means encapsulating data of one protocol type within
          another protocol and sending it over a channel that understands the
@@ -307,7 +308,7 @@ config IP_PIMSM_V2
 
 config ARPD
        bool "IP: ARP daemon support (EXPERIMENTAL)"
-       depends on INET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        ---help---
          Normally, the kernel maintains an internal cache which maps IP
          addresses to hardware addresses on the local network, so that
@@ -332,7 +333,6 @@ config ARPD
 
 config SYN_COOKIES
        bool "IP: TCP syncookie support (disabled per default)"
-       depends on INET
        ---help---
          Normal TCP/IP networking is open to an attack known as "SYN
          flooding". This denial-of-service attack prevents legitimate remote
@@ -369,7 +369,6 @@ config SYN_COOKIES
 
 config INET_AH
        tristate "IP: AH transformation"
-       depends on INET
        select XFRM
        select CRYPTO
        select CRYPTO_HMAC
@@ -382,7 +381,6 @@ config INET_AH
 
 config INET_ESP
        tristate "IP: ESP transformation"
-       depends on INET
        select XFRM
        select CRYPTO
        select CRYPTO_HMAC
@@ -396,7 +394,6 @@ config INET_ESP
 
 config INET_IPCOMP
        tristate "IP: IPComp transformation"
-       depends on INET
        select XFRM
        select INET_TUNNEL
        select CRYPTO
@@ -409,7 +406,6 @@ config INET_IPCOMP
 
 config INET_TUNNEL
        tristate "IP: tunnel transformation"
-       depends on INET
        select XFRM
        ---help---
          Support for generic IP tunnel transformation, which is required by
@@ -417,29 +413,37 @@ config INET_TUNNEL
          
          If unsure, say Y.
 
-config IP_TCPDIAG
-       tristate "IP: TCP socket monitoring interface"
-       depends on INET
+config INET_DIAG
+       tristate "INET: socket monitoring interface"
        default y
        ---help---
-         Support for TCP socket monitoring interface used by native Linux
-         tools such as ss. ss is included in iproute2, currently downloadable
-         at <http://developer.osdl.org/dev/iproute2>. If you want IPv6 support
-         and have selected IPv6 as a module, you need to build this as a
-         module too.
+         Support for INET (TCP, DCCP, etc) socket monitoring interface used by
+         native Linux tools such as ss. ss is included in iproute2, currently
+         downloadable at <http://developer.osdl.org/dev/iproute2>. 
          
          If unsure, say Y.
 
-config IP_TCPDIAG_IPV6
-       def_bool (IP_TCPDIAG=y && IPV6=y) || (IP_TCPDIAG=m && IPV6)
+config INET_TCP_DIAG
+       depends on INET_DIAG
+       def_tristate INET_DIAG
+
+config TCP_CONG_ADVANCED
+       bool "TCP: advanced congestion control"
+       ---help---
+         Support for selection of various TCP congestion control
+         modules.
+
+         Nearly all users can safely say no here, and a safe default
+         selection will be made (BIC-TCP with new Reno as a fallback).
+
+         If unsure, say N.
 
 # TCP Reno is builtin (required as fallback)
 menu "TCP congestion control"
-       depends on INET
+       depends on TCP_CONG_ADVANCED
 
 config TCP_CONG_BIC
        tristate "Binary Increase Congestion (BIC) control"
-       depends on INET
        default y
        ---help---
        BIC-TCP is a sender-side only change that ensures a linear RTT
@@ -454,7 +458,6 @@ config TCP_CONG_BIC
 
 config TCP_CONG_WESTWOOD
        tristate "TCP Westwood+"
-       depends on INET
        default m
        ---help---
        TCP Westwood+ is a sender-side only modification of the TCP Reno
@@ -469,7 +472,6 @@ config TCP_CONG_WESTWOOD
 
 config TCP_CONG_HTCP
         tristate "H-TCP"
-       depends on INET
         default m
        ---help---
        H-TCP is a send-side only modifications of the TCP Reno
@@ -481,7 +483,7 @@ config TCP_CONG_HTCP
 
 config TCP_CONG_HSTCP
        tristate "High Speed TCP"
-       depends on INET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        default n
        ---help---
        Sally Floyd's High Speed TCP (RFC 3649) congestion control.
@@ -492,7 +494,7 @@ config TCP_CONG_HSTCP
 
 config TCP_CONG_HYBLA
        tristate "TCP-Hybla congestion control algorithm"
-       depends on INET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        default n
        ---help---
        TCP-Hybla is a sender-side only change that eliminates penalization of
@@ -502,7 +504,7 @@ config TCP_CONG_HYBLA
 
 config TCP_CONG_VEGAS
        tristate "TCP Vegas"
-       depends on INET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        default n
        ---help---
        TCP Vegas is a sender-side only change to TCP that anticipates
@@ -513,7 +515,7 @@ config TCP_CONG_VEGAS
 
 config TCP_CONG_SCALABLE
        tristate "Scalable TCP"
-       depends on INET && EXPERIMENTAL
+       depends on EXPERIMENTAL
        default n
        ---help---
        Scalable TCP is a sender-side only change to TCP which uses a
@@ -523,5 +525,10 @@ config TCP_CONG_SCALABLE
 
 endmenu
 
+config TCP_CONG_BIC
+       tristate
+       depends on !TCP_CONG_ADVANCED
+       default y
+
 source "net/ipv4/ipvs/Kconfig"