[DCCP]: Initial implementation
[linux-3.10.git] / net / Kconfig
index f46fc32..c07aafb 100644 (file)
@@ -22,57 +22,14 @@ config NET
          recommended to read the NET-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-       depends on NET
-
-config PACKET
-       tristate "Packet socket"
-       ---help---
-         The Packet protocol is used by applications which communicate
-         directly with network devices without an intermediate network
-         protocol implemented in the kernel, e.g. tcpdump.  If you want them
-         to work, choose Y.
+# Make sure that all config symbols are dependent on NET
+if NET
 
-         To compile this driver as a module, choose M here: the module will
-         be called af_packet.
-
-         If unsure, say Y.
-
-config PACKET_MMAP
-       bool "Packet socket: mmapped IO"
-       depends on PACKET
-       help
-         If you say Y here, the Packet protocol driver will use an IO
-         mechanism that results in faster communication.
-
-         If unsure, say N.
-
-config UNIX
-       tristate "Unix domain sockets"
-       ---help---
-         If you say Y here, you will include support for Unix domain sockets;
-         sockets are the standard Unix mechanism for establishing and
-         accessing network connections.  Many commonly used programs such as
-         the X Window system and syslog use these sockets even if your
-         machine is not connected to any network.  Unless you are working on
-         an embedded system or something similar, you therefore definitely
-         want to say Y here.
-
-         To compile this driver as a module, choose M here: the module will be
-         called unix.  Note that several important services won't work
-         correctly if you say M here and then neglect to load the module.
-
-         Say Y unless you know what you are doing.
-
-config NET_KEY
-       tristate "PF_KEY sockets"
-       select XFRM
-       ---help---
-         PF_KEYv2 socket family, compatible to KAME ones.
-         They are required if you are going to use IPsec tools ported
-         from KAME.
+menu "Networking options"
 
-         Say Y unless you know what you are doing.
+source "net/packet/Kconfig"
+source "net/unix/Kconfig"
+source "net/xfrm/Kconfig"
 
 config INET
        bool "TCP/IP networking"
@@ -96,30 +53,12 @@ config INET
 
          Short answer: say Y.
 
+if INET
 source "net/ipv4/Kconfig"
-
-#   IPv6 as module will cause a CRASH if you try to unload it
-config IPV6
-       tristate "The IPv6 protocol"
-       depends on INET
-       default m
-       select CRYPTO if IPV6_PRIVACY
-       select CRYPTO_MD5 if IPV6_PRIVACY
-       ---help---
-         This is complemental support for the IP version 6.
-         You will still be able to do traditional IPv4 networking as well.
-
-         For general information about IPv6, see
-         <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
-         For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
-         For specific information about IPv6 under Linux, read the HOWTO at
-         <http://www.bieringer.de/linux/IPv6/>.
-
-         To compile this protocol support as a module, choose M here: the 
-         module will be called ipv6.
-
 source "net/ipv6/Kconfig"
 
+endif # if INET
+
 menuconfig NETFILTER
        bool "Network packet filtering (replaces ipchains)"
        ---help---
@@ -208,269 +147,17 @@ source "net/bridge/netfilter/Kconfig"
 
 endif
 
-config XFRM
-       bool
-       depends on NET
-
-source "net/xfrm/Kconfig"
-
+source "net/dccp/Kconfig"
 source "net/sctp/Kconfig"
-
-config ATM
-       tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       ---help---
-         ATM is a high-speed networking technology for Local Area Networks
-         and Wide Area Networks.  It uses a fixed packet size and is
-         connection oriented, allowing for the negotiation of minimum
-         bandwidth requirements.
-
-         In order to participate in an ATM network, your Linux box needs an
-         ATM networking card. If you have that, say Y here and to the driver
-         of your ATM card below.
-
-         Note that you need a set of user-space programs to actually make use
-         of ATM.  See the file <file:Documentation/networking/atm.txt> for
-         further details.
-
-config ATM_CLIP
-       tristate "Classical IP over ATM (EXPERIMENTAL)"
-       depends on ATM && INET
-       help
-         Classical IP over ATM for PVCs and SVCs, supporting InARP and
-         ATMARP. If you want to communication with other IP hosts on your ATM
-         network, you will typically either say Y here or to "LAN Emulation
-         (LANE)" below.
-
-config ATM_CLIP_NO_ICMP
-       bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
-       depends on ATM_CLIP
-       help
-         Normally, an "ICMP host unreachable" message is sent if a neighbour
-         cannot be reached because there is no VC to it in the kernel's
-         ATMARP table. This may cause problems when ATMARP table entries are
-         briefly removed during revalidation. If you say Y here, packets to
-         such neighbours are silently discarded instead.
-
-config ATM_LANE
-       tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
-       depends on ATM
-       help
-         LAN Emulation emulates services of existing LANs across an ATM
-         network. Besides operating as a normal ATM end station client, Linux
-         LANE client can also act as an proxy client bridging packets between
-         ELAN and Ethernet segments. You need LANE if you want to try MPOA.
-
-config ATM_MPOA
-       tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
-       depends on ATM && INET && ATM_LANE!=n
-       help
-         Multi-Protocol Over ATM allows ATM edge devices such as routers,
-         bridges and ATM attached hosts establish direct ATM VCs across
-         subnetwork boundaries. These shortcut connections bypass routers
-         enhancing overall network performance.
-
-config ATM_BR2684
-       tristate "RFC1483/2684 Bridged protocols"
-       depends on ATM && INET
-       help
-         ATM PVCs can carry ethernet PDUs according to RFC2684 (formerly 1483)
-         This device will act like an ethernet from the kernels point of view,
-         with the traffic being carried by ATM PVCs (currently 1 PVC/device).
-         This is sometimes used over DSL lines.  If in doubt, say N.
-
-config ATM_BR2684_IPFILTER
-       bool "Per-VC IP filter kludge"
-       depends on ATM_BR2684
-       help
-         This is an experimental mechanism for users who need to terminate a
-         large number of IP-only vcc's.  Do not enable this unless you are sure
-         you know what you are doing.
-
-config BRIDGE
-       tristate "802.1d Ethernet Bridging"
-       ---help---
-         If you say Y here, then your Linux box will be able to act as an
-         Ethernet bridge, which means that the different Ethernet segments it
-         is connected to will appear as one Ethernet to the participants.
-         Several such bridges can work together to create even larger
-         networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-         As this is a standard, Linux bridges will cooperate properly with
-         other third party bridge products.
-
-         In order to use the Ethernet bridge, you'll need the bridge
-         configuration tools; see <file:Documentation/networking/bridge.txt>
-         for location. Please read the Bridge mini-HOWTO for more
-         information.
-
-         If you enable iptables support along with the bridge support then you
-         turn your bridge into a bridging IP firewall.
-         iptables will then see the IP packets being bridged, so you need to
-         take this into account when setting up your firewall rules.
-         Enabling arptables support when bridging will let arptables see
-         bridged ARP traffic in the arptables FORWARD chain.
-
-         To compile this code as a module, choose M here: the module
-         will be called bridge.
-
-         If unsure, say N.
-
-config VLAN_8021Q
-       tristate "802.1Q VLAN Support"
-       ---help---
-         Select this and you will be able to create 802.1Q VLAN interfaces
-         on your ethernet interfaces.  802.1Q VLAN supports almost
-         everything a regular ethernet interface does, including
-         firewalling, bridging, and of course IP traffic.  You will need
-         the 'vconfig' tool from the VLAN project in order to effectively
-         use VLANs.  See the VLAN web page for more information:
-         <http://www.candelatech.com/~greear/vlan.html>
-
-         To compile this code as a module, choose M here: the module
-         will be called 8021q.
-
-         If unsure, say N.
-
-config DECNET
-       tristate "DECnet Support"
-       ---help---
-         The DECnet networking protocol was used in many products made by
-         Digital (now Compaq).  It provides reliable stream and sequenced
-         packet communications over which run a variety of services similar
-         to those which run over TCP/IP.
-
-         To find some tools to use with the kernel layer support, please
-         look at Patrick Caulfield's web site:
-         <http://linux-decnet.sourceforge.net/>.
-
-         More detailed documentation is available in
-         <file:Documentation/networking/decnet.txt>.
-
-         Be sure to say Y to "/proc file system support" and "Sysctl support"
-         below when using DECnet, since you will need sysctl support to aid
-         in configuration at run time.
-
-         The DECnet code is also available as a module ( = code which can be
-         inserted in and removed from the running kernel whenever you want).
-         The module is called decnet.
-
+source "net/atm/Kconfig"
+source "net/bridge/Kconfig"
+source "net/8021q/Kconfig"
 source "net/decnet/Kconfig"
-
 source "net/llc/Kconfig"
-
-config IPX
-       tristate "The IPX protocol"
-       select LLC
-       ---help---
-         This is support for the Novell networking protocol, IPX, commonly
-         used for local networks of Windows machines.  You need it if you
-         want to access Novell NetWare file or print servers using the Linux
-         Novell client ncpfs (available from
-         <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
-         within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
-         available from <http://www.tldp.org/docs.html#howto>).  In order
-         to do the former, you'll also have to say Y to "NCP file system
-         support", below.
-
-         IPX is similar in scope to IP, while SPX, which runs on top of IPX,
-         is similar to TCP. There is also experimental support for SPX in
-         Linux (see "SPX networking", below).
-
-         To turn your Linux box into a fully featured NetWare file server and
-         IPX router, say Y here and fetch either lwared from
-         <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
-         mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
-         information, read the IPX-HOWTO available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         General information about how to connect Linux, Windows machines and
-         Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
-
-         The IPX driver would enlarge your kernel by about 16 KB. To compile
-         this driver as a module, choose M here: the module will be called ipx.
-         Unless you want to integrate your Linux box with a local Novell
-         network, say N.
-
 source "net/ipx/Kconfig"
-
-config ATALK
-       tristate "Appletalk protocol support"
-       select LLC
-       ---help---
-         AppleTalk is the protocol that Apple computers can use to communicate
-         on a network.  If your Linux box is connected to such a network and you
-         wish to connect to it, say Y.  You will need to use the netatalk package
-         so that your Linux box can act as a print and file server for Macs as
-         well as access AppleTalk printers.  Check out
-         <http://www.zettabyte.net/netatalk/> on the WWW for details.
-         EtherTalk is the name used for AppleTalk over Ethernet and the
-         cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
-         network using serial links.  EtherTalk and LocalTalk are fully
-         supported by Linux.
-
-         General information about how to connect Linux, Windows machines and
-         Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
-         NET-3-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>, contains valuable
-         information as well.
-
-         To compile this driver as a module, choose M here: the module will be
-         called appletalk. You almost certainly want to compile it as a
-         module so you can restart your AppleTalk stack without rebooting
-         your machine. I hear that the GNU boycott of Apple is over, so
-         even politically correct people are allowed to say Y here.
-
 source "drivers/net/appletalk/Kconfig"
-
-config X25
-       tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       ---help---
-         X.25 is a set of standardized network protocols, similar in scope to
-         frame relay; the one physical line from your box to the X.25 network
-         entry point can carry several logical point-to-point connections
-         (called "virtual circuits") to other computers connected to the X.25
-         network. Governments, banks, and other organizations tend to use it
-         to connect to each other or to form Wide Area Networks (WANs). Many
-         countries have public X.25 networks. X.25 consists of two
-         protocols: the higher level Packet Layer Protocol (PLP) (say Y here
-         if you want that) and the lower level data link layer protocol LAPB
-         (say Y to "LAPB Data Link Driver" below if you want that).
-
-         You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
-         <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
-         Information about X.25 for Linux is contained in the files
-         <file:Documentation/networking/x25.txt> and
-         <file:Documentation/networking/x25-iface.txt>.
-
-         One connects to an X.25 network either with a dedicated network card
-         using the X.21 protocol (not yet supported by Linux) or one can do
-         X.25 over a standard telephone line using an ordinary modem (say Y
-         to "X.25 async driver" below) or over Ethernet using an ordinary
-         Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
-         Driver" and "LAPB over Ethernet driver" below).
-
-         To compile this driver as a module, choose M here: the module
-         will be called x25. If unsure, say N.
-
-config LAPB
-       tristate "LAPB Data Link Driver (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
-       ---help---
-         Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
-         the lower) part of the X.25 protocol. It offers a reliable
-         connection service to exchange data frames with one other host, and
-         it is used to transport higher level protocols (mostly X.25 Packet
-         Layer, the higher part of X.25, but others are possible as well).
-         Usually, LAPB is used with specialized X.21 network cards, but Linux
-         currently supports LAPB only over Ethernet connections. If you want
-         to use LAPB connections over Ethernet, say Y here and to "LAPB over
-         Ethernet driver" below. Read
-         <file:Documentation/networking/lapb-module.txt> for technical
-         details.
-
-         To compile this driver as a module, choose M here: the
-         module will be called lapb.  If unsure, say N.
+source "net/x25/Kconfig"
+source "net/lapb/Kconfig"
 
 config NET_DIVERT
        bool "Frame Diverter (EXPERIMENTAL)"
@@ -498,107 +185,10 @@ config NET_DIVERT
 
          If unsure, say N.
 
-config ECONET
-       tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && INET
-       ---help---
-         Econet is a fairly old and slow networking protocol mainly used by
-         Acorn computers to access file and print servers. It uses native
-         Econet network cards. AUN is an implementation of the higher level
-         parts of Econet that runs over ordinary Ethernet connections, on
-         top of the UDP packet protocol, which in turn runs on top of the
-         Internet protocol IP.
-
-         If you say Y here, you can choose with the next two options whether
-         to send Econet/AUN traffic over a UDP Ethernet connection or over
-         a native Econet network card.
-
-         To compile this driver as a module, choose M here: the module
-         will be called econet.
-
-config ECONET_AUNUDP
-       bool "AUN over UDP"
-       depends on ECONET
-       help
-         Say Y here if you want to send Econet/AUN traffic over a UDP
-         connection (UDP is a packet based protocol that runs on top of the
-         Internet protocol IP) using an ordinary Ethernet network card.
-
-config ECONET_NATIVE
-       bool "Native Econet"
-       depends on ECONET
-       help
-         Say Y here if you have a native Econet network card installed in
-         your computer.
-
-config WAN_ROUTER
-       tristate "WAN router"
-       depends on EXPERIMENTAL
-       ---help---
-         Wide Area Networks (WANs), such as X.25, frame relay and leased
-         lines, are used to interconnect Local Area Networks (LANs) over vast
-         distances with data transfer rates significantly higher than those
-         achievable with commonly used asynchronous modem connections.
-         Usually, a quite expensive external device called a `WAN router' is
-         needed to connect to a WAN.
-
-         As an alternative, WAN routing can be built into the Linux kernel.
-         With relatively inexpensive WAN interface cards available on the
-         market, a perfectly usable router can be built for less than half
-         the price of an external router.  If you have one of those cards and
-         wish to use your Linux box as a WAN router, say Y here and also to
-         the WAN driver for your card, below.  You will then need the
-         wan-tools package which is available from <ftp://ftp.sangoma.com/>.
-         Read <file:Documentation/networking/wan-router.txt> for more
-         information.
-
-         To compile WAN routing support as a module, choose M here: the
-         module will be called wanrouter.
-
-         If unsure, say N.
-
-menu "QoS and/or fair queueing"
-
-config NET_SCHED
-       bool "QoS and/or fair queueing"
-       ---help---
-         When the kernel has several packets to send out over a network
-         device, it has to decide which ones to send first, which ones to
-         delay, and which ones to drop. This is the job of the packet
-         scheduler, and several different algorithms for how to do this
-         "fairly" have been proposed.
-
-         If you say N here, you will get the standard packet scheduler, which
-         is a FIFO (first come, first served). If you say Y here, you will be
-         able to choose from among several alternative algorithms which can
-         then be attached to different network devices. This is useful for
-         example if some of your network devices are real time devices that
-         need a certain minimum data flow rate, or if you need to limit the
-         maximum data flow rate for traffic which matches specified criteria.
-         This code is considered to be experimental.
-
-         To administer these schedulers, you'll need the user-level utilities
-         from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
-         That package also contains some documentation; for more, check out
-         <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
-
-         This Quality of Service (QoS) support will enable you to use
-         Differentiated Services (diffserv) and Resource Reservation Protocol
-         (RSVP) on your Linux router if you also say Y to "QoS support",
-         "Packet classifier API" and to some classifiers below. Documentation
-         and software is at <http://diffserv.sourceforge.net/>.
-
-         If you say Y here and to "/proc file system" below, you will be able
-         to read status information about packet schedulers from the file
-         /proc/net/psched.
-
-         The available schedulers are listed in the following questions; you
-         can say Y to as many as you like. If unsure, say N now.
-
+source "net/econet/Kconfig"
+source "net/wanrouter/Kconfig"
 source "net/sched/Kconfig"
 
-endmenu
-
 menu "Network testing"
 
 config NET_PKTGEN
@@ -616,31 +206,16 @@ config NET_PKTGEN
          To compile this code as a module, choose M here: the
          module will be called pktgen.
 
-endmenu
+source "net/netfilter/Kconfig"
 
 endmenu
 
-config NETPOLL
-       def_bool NETCONSOLE
-
-config NETPOLL_RX
-       bool "Netpoll support for trapping incoming packets"
-       default n
-       depends on NETPOLL
-
-config NETPOLL_TRAP
-       bool "Netpoll traffic trapping"
-       default n
-       depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-       def_bool NETPOLL
+endmenu
 
 source "net/ax25/Kconfig"
-
 source "net/irda/Kconfig"
-
 source "net/bluetooth/Kconfig"
 
+endif   # if NET
 endmenu # Networking