Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux-2.6.git] / net / ipv4 / Kconfig
index 5b919f7..aa2a2c7 100644 (file)
@@ -46,7 +46,7 @@ config IP_ADVANCED_ROUTER
          rp_filter on use:
 
          echo 1 > /proc/sys/net/ipv4/conf/<device>/rp_filter
-          and
+          or
          echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
 
          Note that some distributions enable it in startup scripts.
@@ -55,45 +55,9 @@ 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 algorithm.
-         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_FIB_TRIE_STATS
        bool "FIB TRIE statistics"
-       depends on IP_FIB_TRIE
+       depends on IP_ADVANCED_ROUTER
        ---help---
          Keep track of statistics on structure of FIB TRIE table.
          Useful for testing and measuring TRIE performance.
@@ -140,6 +104,9 @@ config IP_ROUTE_VERBOSE
          handled by the klogd daemon which is responsible for kernel messages
          ("man klogd").
 
+config IP_ROUTE_CLASSID
+       bool
+
 config IP_PNP
        bool "IP: kernel level autoconfiguration"
        help
@@ -166,7 +133,7 @@ config IP_PNP_DHCP
 
          If unsure, say Y. Note that if you want to use DHCP, a DHCP server
          must be operating on your network.  Read
-         <file:Documentation/filesystems/nfsroot.txt> for details.
+         <file:Documentation/filesystems/nfs/nfsroot.txt> for details.
 
 config IP_PNP_BOOTP
        bool "IP: BOOTP support"
@@ -181,7 +148,7 @@ config IP_PNP_BOOTP
          does BOOTP itself, providing all necessary information on the kernel
          command line, you can say N here. If unsure, say Y. Note that if you
          want to use BOOTP, a BOOTP server must be operating on your network.
-         Read <file:Documentation/filesystems/nfsroot.txt> for details.
+         Read <file:Documentation/filesystems/nfs/nfsroot.txt> for details.
 
 config IP_PNP_RARP
        bool "IP: RARP support"
@@ -194,10 +161,8 @@ config IP_PNP_RARP
          older protocol which is being obsoleted by BOOTP and DHCP), say Y
          here. Note that if you want to use RARP, a RARP server must be
          operating on your network. Read
-         <file:Documentation/filesystems/nfsroot.txt> for details.
+         <file:Documentation/filesystems/nfs/nfsroot.txt> for details.
 
-# not yet ready..
-#   bool '    IP: ARP support' CONFIG_IP_PNP_ARP
 config NET_IPIP
        tristate "IP: tunneling"
        select INET_TUNNEL
@@ -215,8 +180,15 @@ config NET_IPIP
          be inserted in and removed from the running kernel whenever you
          want). Most people won't need this and can say N.
 
+config NET_IPGRE_DEMUX
+       tristate "IP: GRE demultiplexer"
+       help
+        This is helper module to demultiplex GRE packets on GRE version field criteria.
+        Required by ip_gre and pptp modules.
+
 config NET_IPGRE
        tristate "IP: GRE tunnels over IP"
+       depends on (IPV6 || IPV6=n) && NET_IPGRE_DEMUX
        help
          Tunneling means encapsulating data of one protocol type within
          another protocol and sending it over a channel that understands the
@@ -250,6 +222,20 @@ config IP_MROUTE
          <file:Documentation/networking/multicast.txt>. If you haven't heard
          about it, you don't need it.
 
+config IP_MROUTE_MULTIPLE_TABLES
+       bool "IP: multicast policy routing"
+       depends on IP_MROUTE && IP_ADVANCED_ROUTER
+       select FIB_RULES
+       help
+         Normally, a multicast router runs a userspace daemon and decides
+         what to do with a multicast packet based on the source and
+         destination addresses. If you say Y here, the multicast router
+         will also be able to take interfaces and packet marks into
+         account and run multiple instances of userspace daemons
+         simultaneously, each one handling a single table.
+
+         If unsure, say N.
+
 config IP_PIMSM_V1
        bool "IP: PIM-SM version 1 support"
        depends on IP_MROUTE
@@ -273,32 +259,23 @@ config IP_PIMSM_V2
          you want to play with it.
 
 config ARPD
-       bool "IP: ARP daemon support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       bool "IP: ARP daemon support"
        ---help---
-         Normally, the kernel maintains an internal cache which maps IP
-         addresses to hardware addresses on the local network, so that
-         Ethernet/Token Ring/ etc. frames are sent to the proper address on
-         the physical networking layer. For small networks having a few
-         hundred directly connected hosts or less, keeping this address
-         resolution (ARP) cache inside the kernel works well. However,
-         maintaining an internal ARP cache does not work well for very large
-         switched networks, and will use a lot of kernel memory if TCP/IP
-         connections are made to many machines on the network.
-
-         If you say Y here, the kernel's internal ARP cache will never grow
-         to more than 256 entries (the oldest entries are expired in a LIFO
-         manner) and communication will be attempted with the user space ARP
-         daemon arpd. Arpd then answers the address resolution request either
-         from its own cache or by asking the net.
-
-         This code is experimental and also obsolete. If you want to use it,
-         you need to find a version of the daemon arpd on the net somewhere,
-         and you should also say Y to "Kernel/User network link driver",
-         below. If unsure, say N.
+         The kernel maintains an internal cache which maps IP addresses to
+         hardware addresses on the local network, so that Ethernet/Token Ring/
+         etc. frames are sent to the proper address on the physical networking
+         layer. Normally, kernel uses the ARP protocol to resolve these
+         mappings.
+
+         Saying Y here adds support to have an user space daemon to do this
+         resolution instead. This is useful for implementing an alternate
+         address resolution protocol (e.g. NHRP on mGRE tunnels) and also for
+         testing purposes.
+
+         If unsure, say N.
 
 config SYN_COOKIES
-       bool "IP: TCP syncookie support (disabled per default)"
+       bool "IP: TCP syncookie support"
        ---help---
          Normal TCP/IP networking is open to an attack known as "SYN
          flooding". This denial-of-service attack prevents legitimate remote
@@ -323,13 +300,13 @@ config SYN_COOKIES
          server is really overloaded. If this happens frequently better turn
          them off.
 
-         If you say Y here, note that SYN cookies aren't enabled by default;
-         you can enable them by saying Y to "/proc file system support" and
+         If you say Y here, you can disable SYN cookies at run time by
+         saying Y to "/proc file system support" and
          "Sysctl support" below and executing the command
 
-         echo 1 >/proc/sys/net/ipv4/tcp_syncookies
+         echo 0 > /proc/sys/net/ipv4/tcp_syncookies
 
-         at boot time after the /proc file system has been mounted.
+         after the /proc file system has been mounted.
 
          If unsure, say N.
 
@@ -407,7 +384,7 @@ config INET_XFRM_MODE_BEET
          If unsure, say Y.
 
 config INET_LRO
-       bool "Large Receive Offload (ipv4/tcp)"
+       tristate "Large Receive Offload (ipv4/tcp)"
        default y
        ---help---
          Support for Large Receive Offload (ipv4/tcp).
@@ -420,7 +397,9 @@ config INET_DIAG
        ---help---
          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://linux-net.osdl.org/index.php/Iproute2>.
+         downloadable at:
+         
+           http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
 
          If unsure, say Y.
 
@@ -428,6 +407,14 @@ config INET_TCP_DIAG
        depends on INET_DIAG
        def_tristate INET_DIAG
 
+config INET_UDP_DIAG
+       tristate "UDP: socket monitoring interface"
+       depends on INET_DIAG
+       default n
+       ---help---
+         Support for UDP socket monitoring interface used by the ss tool.
+         If unsure, say Y.
+
 menuconfig TCP_CONG_ADVANCED
        bool "TCP: advanced congestion control"
        ---help---
@@ -550,7 +537,7 @@ config TCP_CONG_VENO
        distinguishing to circumvent the difficult judgment of the packet loss
        type. TCP Veno cuts down less congestion window in response to random
        loss packets.
-       See http://www.ntu.edu.sg/home5/ZHOU0022/papers/CPFu03a.pdf
+       See <http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1177186> 
 
 config TCP_CONG_YEAH
        tristate "YeAH TCP"
@@ -596,9 +583,15 @@ choice
        config DEFAULT_HTCP
                bool "Htcp" if TCP_CONG_HTCP=y
 
+       config DEFAULT_HYBLA
+               bool "Hybla" if TCP_CONG_HYBLA=y
+
        config DEFAULT_VEGAS
                bool "Vegas" if TCP_CONG_VEGAS=y
 
+       config DEFAULT_VENO
+               bool "Veno" if TCP_CONG_VENO=y
+
        config DEFAULT_WESTWOOD
                bool "Westwood" if TCP_CONG_WESTWOOD=y
 
@@ -619,8 +612,10 @@ config DEFAULT_TCP_CONG
        default "bic" if DEFAULT_BIC
        default "cubic" if DEFAULT_CUBIC
        default "htcp" if DEFAULT_HTCP
+       default "hybla" if DEFAULT_HYBLA
        default "vegas" if DEFAULT_VEGAS
        default "westwood" if DEFAULT_WESTWOOD
+       default "veno" if DEFAULT_VENO
        default "reno" if DEFAULT_RENO
        default "cubic"
 
@@ -635,4 +630,3 @@ config TCP_MD5SIG
          on the Internet.
 
          If unsure, say N.
-