Commit 6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416

Authored by Sam Ravnborg
Committed by David S. Miller
1 parent d5950b4355

[NET]: move config options out to individual protocols

Move the protocol specific config options out to the specific protocols.
With this change net/Kconfig now starts to become readable and serve as a
good basis for further re-structuring.

The menu structure is left almost intact, except that indention is
fixed in most cases. Most visible are the INET changes where several
"depends on INET" are replaced with a single ifdef INET / endif pair.

Several new files were created to accomplish this change - they are
small but serve the purpose that config options are now distributed
out where they belongs.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 18 changed files with 474 additions and 452 deletions Side-by-side Diff

drivers/net/appletalk/Kconfig
1 1 #
2 2 # Appletalk driver configuration
3 3 #
  4 +config ATALK
  5 + tristate "Appletalk protocol support"
  6 + select LLC
  7 + ---help---
  8 + AppleTalk is the protocol that Apple computers can use to communicate
  9 + on a network. If your Linux box is connected to such a network and you
  10 + wish to connect to it, say Y. You will need to use the netatalk package
  11 + so that your Linux box can act as a print and file server for Macs as
  12 + well as access AppleTalk printers. Check out
  13 + <http://www.zettabyte.net/netatalk/> on the WWW for details.
  14 + EtherTalk is the name used for AppleTalk over Ethernet and the
  15 + cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
  16 + network using serial links. EtherTalk and LocalTalk are fully
  17 + supported by Linux.
  18 +
  19 + General information about how to connect Linux, Windows machines and
  20 + Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The
  21 + NET-3-HOWTO, available from
  22 + <http://www.tldp.org/docs.html#howto>, contains valuable
  23 + information as well.
  24 +
  25 + To compile this driver as a module, choose M here: the module will be
  26 + called appletalk. You almost certainly want to compile it as a
  27 + module so you can restart your AppleTalk stack without rebooting
  28 + your machine. I hear that the GNU boycott of Apple is over, so
  29 + even politically correct people are allowed to say Y here.
  30 +
4 31 config DEV_APPLETALK
5 32 bool "Appletalk interfaces support"
6 33 depends on ATALK
  1 +#
  2 +# Configuration for 802.1Q VLAN support
  3 +#
  4 +
  5 +config VLAN_8021Q
  6 + tristate "802.1Q VLAN Support"
  7 + ---help---
  8 + Select this and you will be able to create 802.1Q VLAN interfaces
  9 + on your ethernet interfaces. 802.1Q VLAN supports almost
  10 + everything a regular ethernet interface does, including
  11 + firewalling, bridging, and of course IP traffic. You will need
  12 + the 'vconfig' tool from the VLAN project in order to effectively
  13 + use VLANs. See the VLAN web page for more information:
  14 + <http://www.candelatech.com/~greear/vlan.html>
  15 +
  16 + To compile this code as a module, choose M here: the module
  17 + will be called 8021q.
  18 +
  19 + If unsure, say N.
... ... @@ -22,58 +22,15 @@
22 22 recommended to read the NET-HOWTO, available from
23 23 <http://www.tldp.org/docs.html#howto>.
24 24  
  25 +# Make sure that all config symbols are dependent on NET
  26 +if NET
  27 +
25 28 menu "Networking options"
26   - depends on NET
27 29  
28   -config PACKET
29   - tristate "Packet socket"
30   - ---help---
31   - The Packet protocol is used by applications which communicate
32   - directly with network devices without an intermediate network
33   - protocol implemented in the kernel, e.g. tcpdump. If you want them
34   - to work, choose Y.
  30 +source "net/packet/Kconfig"
  31 +source "net/unix/Kconfig"
  32 +source "net/xfrm/Kconfig"
35 33  
36   - To compile this driver as a module, choose M here: the module will
37   - be called af_packet.
38   -
39   - If unsure, say Y.
40   -
41   -config PACKET_MMAP
42   - bool "Packet socket: mmapped IO"
43   - depends on PACKET
44   - help
45   - If you say Y here, the Packet protocol driver will use an IO
46   - mechanism that results in faster communication.
47   -
48   - If unsure, say N.
49   -
50   -config UNIX
51   - tristate "Unix domain sockets"
52   - ---help---
53   - If you say Y here, you will include support for Unix domain sockets;
54   - sockets are the standard Unix mechanism for establishing and
55   - accessing network connections. Many commonly used programs such as
56   - the X Window system and syslog use these sockets even if your
57   - machine is not connected to any network. Unless you are working on
58   - an embedded system or something similar, you therefore definitely
59   - want to say Y here.
60   -
61   - To compile this driver as a module, choose M here: the module will be
62   - called unix. Note that several important services won't work
63   - correctly if you say M here and then neglect to load the module.
64   -
65   - Say Y unless you know what you are doing.
66   -
67   -config NET_KEY
68   - tristate "PF_KEY sockets"
69   - select XFRM
70   - ---help---
71   - PF_KEYv2 socket family, compatible to KAME ones.
72   - They are required if you are going to use IPsec tools ported
73   - from KAME.
74   -
75   - Say Y unless you know what you are doing.
76   -
77 34 config INET
78 35 bool "TCP/IP networking"
79 36 ---help---
80 37  
81 38  
... ... @@ -96,30 +53,12 @@
96 53  
97 54 Short answer: say Y.
98 55  
  56 +if INET
99 57 source "net/ipv4/Kconfig"
100   -
101   -# IPv6 as module will cause a CRASH if you try to unload it
102   -config IPV6
103   - tristate "The IPv6 protocol"
104   - depends on INET
105   - default m
106   - select CRYPTO if IPV6_PRIVACY
107   - select CRYPTO_MD5 if IPV6_PRIVACY
108   - ---help---
109   - This is complemental support for the IP version 6.
110   - You will still be able to do traditional IPv4 networking as well.
111   -
112   - For general information about IPv6, see
113   - <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
114   - For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
115   - For specific information about IPv6 under Linux, read the HOWTO at
116   - <http://www.bieringer.de/linux/IPv6/>.
117   -
118   - To compile this protocol support as a module, choose M here: the
119   - module will be called ipv6.
120   -
121 58 source "net/ipv6/Kconfig"
122 59  
  60 +endif # if INET
  61 +
123 62 menuconfig NETFILTER
124 63 bool "Network packet filtering (replaces ipchains)"
125 64 ---help---
126 65  
127 66  
128 67  
129 68  
130 69  
131 70  
... ... @@ -208,270 +147,17 @@
208 147  
209 148 endif
210 149  
211   -config XFRM
212   - bool
213   - depends on NET
214   -
215   -source "net/xfrm/Kconfig"
216   -
217 150 source "net/sctp/Kconfig"
218   -
219   -config ATM
220   - tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
221   - depends on EXPERIMENTAL
222   - ---help---
223   - ATM is a high-speed networking technology for Local Area Networks
224   - and Wide Area Networks. It uses a fixed packet size and is
225   - connection oriented, allowing for the negotiation of minimum
226   - bandwidth requirements.
227   -
228   - In order to participate in an ATM network, your Linux box needs an
229   - ATM networking card. If you have that, say Y here and to the driver
230   - of your ATM card below.
231   -
232   - Note that you need a set of user-space programs to actually make use
233   - of ATM. See the file <file:Documentation/networking/atm.txt> for
234   - further details.
235   -
236   -config ATM_CLIP
237   - tristate "Classical IP over ATM (EXPERIMENTAL)"
238   - depends on ATM && INET
239   - help
240   - Classical IP over ATM for PVCs and SVCs, supporting InARP and
241   - ATMARP. If you want to communication with other IP hosts on your ATM
242   - network, you will typically either say Y here or to "LAN Emulation
243   - (LANE)" below.
244   -
245   -config ATM_CLIP_NO_ICMP
246   - bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
247   - depends on ATM_CLIP
248   - help
249   - Normally, an "ICMP host unreachable" message is sent if a neighbour
250   - cannot be reached because there is no VC to it in the kernel's
251   - ATMARP table. This may cause problems when ATMARP table entries are
252   - briefly removed during revalidation. If you say Y here, packets to
253   - such neighbours are silently discarded instead.
254   -
255   -config ATM_LANE
256   - tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
257   - depends on ATM
258   - help
259   - LAN Emulation emulates services of existing LANs across an ATM
260   - network. Besides operating as a normal ATM end station client, Linux
261   - LANE client can also act as an proxy client bridging packets between
262   - ELAN and Ethernet segments. You need LANE if you want to try MPOA.
263   -
264   -config ATM_MPOA
265   - tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
266   - depends on ATM && INET && ATM_LANE!=n
267   - help
268   - Multi-Protocol Over ATM allows ATM edge devices such as routers,
269   - bridges and ATM attached hosts establish direct ATM VCs across
270   - subnetwork boundaries. These shortcut connections bypass routers
271   - enhancing overall network performance.
272   -
273   -config ATM_BR2684
274   - tristate "RFC1483/2684 Bridged protocols"
275   - depends on ATM && INET
276   - help
277   - ATM PVCs can carry ethernet PDUs according to RFC2684 (formerly 1483)
278   - This device will act like an ethernet from the kernels point of view,
279   - with the traffic being carried by ATM PVCs (currently 1 PVC/device).
280   - This is sometimes used over DSL lines. If in doubt, say N.
281   -
282   -config ATM_BR2684_IPFILTER
283   - bool "Per-VC IP filter kludge"
284   - depends on ATM_BR2684
285   - help
286   - This is an experimental mechanism for users who need to terminate a
287   - large number of IP-only vcc's. Do not enable this unless you are sure
288   - you know what you are doing.
289   -
290   -config BRIDGE
291   - tristate "802.1d Ethernet Bridging"
292   - ---help---
293   - If you say Y here, then your Linux box will be able to act as an
294   - Ethernet bridge, which means that the different Ethernet segments it
295   - is connected to will appear as one Ethernet to the participants.
296   - Several such bridges can work together to create even larger
297   - networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
298   - As this is a standard, Linux bridges will cooperate properly with
299   - other third party bridge products.
300   -
301   - In order to use the Ethernet bridge, you'll need the bridge
302   - configuration tools; see <file:Documentation/networking/bridge.txt>
303   - for location. Please read the Bridge mini-HOWTO for more
304   - information.
305   -
306   - If you enable iptables support along with the bridge support then you
307   - turn your bridge into a bridging IP firewall.
308   - iptables will then see the IP packets being bridged, so you need to
309   - take this into account when setting up your firewall rules.
310   - Enabling arptables support when bridging will let arptables see
311   - bridged ARP traffic in the arptables FORWARD chain.
312   -
313   - To compile this code as a module, choose M here: the module
314   - will be called bridge.
315   -
316   - If unsure, say N.
317   -
318   -config VLAN_8021Q
319   - tristate "802.1Q VLAN Support"
320   - ---help---
321   - Select this and you will be able to create 802.1Q VLAN interfaces
322   - on your ethernet interfaces. 802.1Q VLAN supports almost
323   - everything a regular ethernet interface does, including
324   - firewalling, bridging, and of course IP traffic. You will need
325   - the 'vconfig' tool from the VLAN project in order to effectively
326   - use VLANs. See the VLAN web page for more information:
327   - <http://www.candelatech.com/~greear/vlan.html>
328   -
329   - To compile this code as a module, choose M here: the module
330   - will be called 8021q.
331   -
332   - If unsure, say N.
333   -
334   -config DECNET
335   - tristate "DECnet Support"
336   - ---help---
337   - The DECnet networking protocol was used in many products made by
338   - Digital (now Compaq). It provides reliable stream and sequenced
339   - packet communications over which run a variety of services similar
340   - to those which run over TCP/IP.
341   -
342   - To find some tools to use with the kernel layer support, please
343   - look at Patrick Caulfield's web site:
344   - <http://linux-decnet.sourceforge.net/>.
345   -
346   - More detailed documentation is available in
347   - <file:Documentation/networking/decnet.txt>.
348   -
349   - Be sure to say Y to "/proc file system support" and "Sysctl support"
350   - below when using DECnet, since you will need sysctl support to aid
351   - in configuration at run time.
352   -
353   - The DECnet code is also available as a module ( = code which can be
354   - inserted in and removed from the running kernel whenever you want).
355   - The module is called decnet.
356   -
  151 +source "net/atm/Kconfig"
  152 +source "net/bridge/Kconfig"
  153 +source "net/8021q/Kconfig"
357 154 source "net/decnet/Kconfig"
358   -
359 155 source "net/llc/Kconfig"
360   -
361   -config IPX
362   - tristate "The IPX protocol"
363   - select LLC
364   - ---help---
365   - This is support for the Novell networking protocol, IPX, commonly
366   - used for local networks of Windows machines. You need it if you
367   - want to access Novell NetWare file or print servers using the Linux
368   - Novell client ncpfs (available from
369   - <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
370   - within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
371   - available from <http://www.tldp.org/docs.html#howto>). In order
372   - to do the former, you'll also have to say Y to "NCP file system
373   - support", below.
374   -
375   - IPX is similar in scope to IP, while SPX, which runs on top of IPX,
376   - is similar to TCP. There is also experimental support for SPX in
377   - Linux (see "SPX networking", below).
378   -
379   - To turn your Linux box into a fully featured NetWare file server and
380   - IPX router, say Y here and fetch either lwared from
381   - <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
382   - mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
383   - information, read the IPX-HOWTO available from
384   - <http://www.tldp.org/docs.html#howto>.
385   -
386   - General information about how to connect Linux, Windows machines and
387   - Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
388   -
389   - The IPX driver would enlarge your kernel by about 16 KB. To compile
390   - this driver as a module, choose M here: the module will be called ipx.
391   - Unless you want to integrate your Linux box with a local Novell
392   - network, say N.
393   -
394 156 source "net/ipx/Kconfig"
395   -
396   -config ATALK
397   - tristate "Appletalk protocol support"
398   - select LLC
399   - ---help---
400   - AppleTalk is the protocol that Apple computers can use to communicate
401   - on a network. If your Linux box is connected to such a network and you
402   - wish to connect to it, say Y. You will need to use the netatalk package
403   - so that your Linux box can act as a print and file server for Macs as
404   - well as access AppleTalk printers. Check out
405   - <http://www.zettabyte.net/netatalk/> on the WWW for details.
406   - EtherTalk is the name used for AppleTalk over Ethernet and the
407   - cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
408   - network using serial links. EtherTalk and LocalTalk are fully
409   - supported by Linux.
410   -
411   - General information about how to connect Linux, Windows machines and
412   - Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The
413   - NET-3-HOWTO, available from
414   - <http://www.tldp.org/docs.html#howto>, contains valuable
415   - information as well.
416   -
417   - To compile this driver as a module, choose M here: the module will be
418   - called appletalk. You almost certainly want to compile it as a
419   - module so you can restart your AppleTalk stack without rebooting
420   - your machine. I hear that the GNU boycott of Apple is over, so
421   - even politically correct people are allowed to say Y here.
422   -
423 157 source "drivers/net/appletalk/Kconfig"
  158 +source "net/x25/Kconfig"
  159 +source "net/lapb/Kconfig"
424 160  
425   -config X25
426   - tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
427   - depends on EXPERIMENTAL
428   - ---help---
429   - X.25 is a set of standardized network protocols, similar in scope to
430   - frame relay; the one physical line from your box to the X.25 network
431   - entry point can carry several logical point-to-point connections
432   - (called "virtual circuits") to other computers connected to the X.25
433   - network. Governments, banks, and other organizations tend to use it
434   - to connect to each other or to form Wide Area Networks (WANs). Many
435   - countries have public X.25 networks. X.25 consists of two
436   - protocols: the higher level Packet Layer Protocol (PLP) (say Y here
437   - if you want that) and the lower level data link layer protocol LAPB
438   - (say Y to "LAPB Data Link Driver" below if you want that).
439   -
440   - You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
441   - <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
442   - Information about X.25 for Linux is contained in the files
443   - <file:Documentation/networking/x25.txt> and
444   - <file:Documentation/networking/x25-iface.txt>.
445   -
446   - One connects to an X.25 network either with a dedicated network card
447   - using the X.21 protocol (not yet supported by Linux) or one can do
448   - X.25 over a standard telephone line using an ordinary modem (say Y
449   - to "X.25 async driver" below) or over Ethernet using an ordinary
450   - Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
451   - Driver" and "LAPB over Ethernet driver" below).
452   -
453   - To compile this driver as a module, choose M here: the module
454   - will be called x25. If unsure, say N.
455   -
456   -config LAPB
457   - tristate "LAPB Data Link Driver (EXPERIMENTAL)"
458   - depends on EXPERIMENTAL
459   - ---help---
460   - Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
461   - the lower) part of the X.25 protocol. It offers a reliable
462   - connection service to exchange data frames with one other host, and
463   - it is used to transport higher level protocols (mostly X.25 Packet
464   - Layer, the higher part of X.25, but others are possible as well).
465   - Usually, LAPB is used with specialized X.21 network cards, but Linux
466   - currently supports LAPB only over Ethernet connections. If you want
467   - to use LAPB connections over Ethernet, say Y here and to "LAPB over
468   - Ethernet driver" below. Read
469   - <file:Documentation/networking/lapb-module.txt> for technical
470   - details.
471   -
472   - To compile this driver as a module, choose M here: the
473   - module will be called lapb. If unsure, say N.
474   -
475 161 config NET_DIVERT
476 162 bool "Frame Diverter (EXPERIMENTAL)"
477 163 depends on EXPERIMENTAL
478 164  
... ... @@ -498,107 +184,10 @@
498 184  
499 185 If unsure, say N.
500 186  
501   -config ECONET
502   - tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
503   - depends on EXPERIMENTAL && INET
504   - ---help---
505   - Econet is a fairly old and slow networking protocol mainly used by
506   - Acorn computers to access file and print servers. It uses native
507   - Econet network cards. AUN is an implementation of the higher level
508   - parts of Econet that runs over ordinary Ethernet connections, on
509   - top of the UDP packet protocol, which in turn runs on top of the
510   - Internet protocol IP.
511   -
512   - If you say Y here, you can choose with the next two options whether
513   - to send Econet/AUN traffic over a UDP Ethernet connection or over
514   - a native Econet network card.
515   -
516   - To compile this driver as a module, choose M here: the module
517   - will be called econet.
518   -
519   -config ECONET_AUNUDP
520   - bool "AUN over UDP"
521   - depends on ECONET
522   - help
523   - Say Y here if you want to send Econet/AUN traffic over a UDP
524   - connection (UDP is a packet based protocol that runs on top of the
525   - Internet protocol IP) using an ordinary Ethernet network card.
526   -
527   -config ECONET_NATIVE
528   - bool "Native Econet"
529   - depends on ECONET
530   - help
531   - Say Y here if you have a native Econet network card installed in
532   - your computer.
533   -
534   -config WAN_ROUTER
535   - tristate "WAN router"
536   - depends on EXPERIMENTAL
537   - ---help---
538   - Wide Area Networks (WANs), such as X.25, frame relay and leased
539   - lines, are used to interconnect Local Area Networks (LANs) over vast
540   - distances with data transfer rates significantly higher than those
541   - achievable with commonly used asynchronous modem connections.
542   - Usually, a quite expensive external device called a `WAN router' is
543   - needed to connect to a WAN.
544   -
545   - As an alternative, WAN routing can be built into the Linux kernel.
546   - With relatively inexpensive WAN interface cards available on the
547   - market, a perfectly usable router can be built for less than half
548   - the price of an external router. If you have one of those cards and
549   - wish to use your Linux box as a WAN router, say Y here and also to
550   - the WAN driver for your card, below. You will then need the
551   - wan-tools package which is available from <ftp://ftp.sangoma.com/>.
552   - Read <file:Documentation/networking/wan-router.txt> for more
553   - information.
554   -
555   - To compile WAN routing support as a module, choose M here: the
556   - module will be called wanrouter.
557   -
558   - If unsure, say N.
559   -
560   -menu "QoS and/or fair queueing"
561   -
562   -config NET_SCHED
563   - bool "QoS and/or fair queueing"
564   - ---help---
565   - When the kernel has several packets to send out over a network
566   - device, it has to decide which ones to send first, which ones to
567   - delay, and which ones to drop. This is the job of the packet
568   - scheduler, and several different algorithms for how to do this
569   - "fairly" have been proposed.
570   -
571   - If you say N here, you will get the standard packet scheduler, which
572   - is a FIFO (first come, first served). If you say Y here, you will be
573   - able to choose from among several alternative algorithms which can
574   - then be attached to different network devices. This is useful for
575   - example if some of your network devices are real time devices that
576   - need a certain minimum data flow rate, or if you need to limit the
577   - maximum data flow rate for traffic which matches specified criteria.
578   - This code is considered to be experimental.
579   -
580   - To administer these schedulers, you'll need the user-level utilities
581   - from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
582   - That package also contains some documentation; for more, check out
583   - <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
584   -
585   - This Quality of Service (QoS) support will enable you to use
586   - Differentiated Services (diffserv) and Resource Reservation Protocol
587   - (RSVP) on your Linux router if you also say Y to "QoS support",
588   - "Packet classifier API" and to some classifiers below. Documentation
589   - and software is at <http://diffserv.sourceforge.net/>.
590   -
591   - If you say Y here and to "/proc file system" below, you will be able
592   - to read status information about packet schedulers from the file
593   - /proc/net/psched.
594   -
595   - The available schedulers are listed in the following questions; you
596   - can say Y to as many as you like. If unsure, say N now.
597   -
  187 +source "net/econet/Kconfig"
  188 +source "net/wanrouter/Kconfig"
598 189 source "net/sched/Kconfig"
599 190  
600   -endmenu
601   -
602 191 menu "Network testing"
603 192  
604 193 config NET_PKTGEN
605 194  
606 195  
... ... @@ -637,10 +226,9 @@
637 226 def_bool NETPOLL
638 227  
639 228 source "net/ax25/Kconfig"
640   -
641 229 source "net/irda/Kconfig"
642   -
643 230 source "net/bluetooth/Kconfig"
644 231  
  232 +endif # if NET
645 233 endmenu # Networking
  1 +#
  2 +# Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
  3 +#
  4 +
  5 +config ATM
  6 + tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
  7 + depends on EXPERIMENTAL
  8 + ---help---
  9 + ATM is a high-speed networking technology for Local Area Networks
  10 + and Wide Area Networks. It uses a fixed packet size and is
  11 + connection oriented, allowing for the negotiation of minimum
  12 + bandwidth requirements.
  13 +
  14 + In order to participate in an ATM network, your Linux box needs an
  15 + ATM networking card. If you have that, say Y here and to the driver
  16 + of your ATM card below.
  17 +
  18 + Note that you need a set of user-space programs to actually make use
  19 + of ATM. See the file <file:Documentation/networking/atm.txt> for
  20 + further details.
  21 +
  22 +config ATM_CLIP
  23 + tristate "Classical IP over ATM (EXPERIMENTAL)"
  24 + depends on ATM && INET
  25 + help
  26 + Classical IP over ATM for PVCs and SVCs, supporting InARP and
  27 + ATMARP. If you want to communication with other IP hosts on your ATM
  28 + network, you will typically either say Y here or to "LAN Emulation
  29 + (LANE)" below.
  30 +
  31 +config ATM_CLIP_NO_ICMP
  32 + bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
  33 + depends on ATM_CLIP
  34 + help
  35 + Normally, an "ICMP host unreachable" message is sent if a neighbour
  36 + cannot be reached because there is no VC to it in the kernel's
  37 + ATMARP table. This may cause problems when ATMARP table entries are
  38 + briefly removed during revalidation. If you say Y here, packets to
  39 + such neighbours are silently discarded instead.
  40 +
  41 +config ATM_LANE
  42 + tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
  43 + depends on ATM
  44 + help
  45 + LAN Emulation emulates services of existing LANs across an ATM
  46 + network. Besides operating as a normal ATM end station client, Linux
  47 + LANE client can also act as an proxy client bridging packets between
  48 + ELAN and Ethernet segments. You need LANE if you want to try MPOA.
  49 +
  50 +config ATM_MPOA
  51 + tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
  52 + depends on ATM && INET && ATM_LANE!=n
  53 + help
  54 + Multi-Protocol Over ATM allows ATM edge devices such as routers,
  55 + bridges and ATM attached hosts establish direct ATM VCs across
  56 + subnetwork boundaries. These shortcut connections bypass routers
  57 + enhancing overall network performance.
  58 +
  59 +config ATM_BR2684
  60 + tristate "RFC1483/2684 Bridged protocols"
  61 + depends on ATM && INET
  62 + help
  63 + ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
  64 + This device will act like an ethernet from the kernels point of view,
  65 + with the traffic being carried by ATM PVCs (currently 1 PVC/device).
  66 + This is sometimes used over DSL lines. If in doubt, say N.
  67 +
  68 +config ATM_BR2684_IPFILTER
  69 + bool "Per-VC IP filter kludge"
  70 + depends on ATM_BR2684
  71 + help
  72 + This is an experimental mechanism for users who need to terminating a
  73 + large number of IP-only vcc's. Do not enable this unless you are sure
  74 + you know what you are doing.
  1 +#
  2 +# 802.1d Ethernet Bridging
  3 +#
  4 +
  5 +config BRIDGE
  6 + tristate "802.1d Ethernet Bridging"
  7 + ---help---
  8 + If you say Y here, then your Linux box will be able to act as an
  9 + Ethernet bridge, which means that the different Ethernet segments it
  10 + is connected to will appear as one Ethernet to the participants.
  11 + Several such bridges can work together to create even larger
  12 + networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
  13 + As this is a standard, Linux bridges will cooperate properly with
  14 + other third party bridge products.
  15 +
  16 + In order to use the Ethernet bridge, you'll need the bridge
  17 + configuration tools; see <file:Documentation/networking/bridge.txt>
  18 + for location. Please read the Bridge mini-HOWTO for more
  19 + information.
  20 +
  21 + If you enable iptables support along with the bridge support then you
  22 + turn your bridge into a bridging IP firewall.
  23 + iptables will then see the IP packets being bridged, so you need to
  24 + take this into account when setting up your firewall rules.
  25 + Enabling arptables support when bridging will let arptables see
  26 + bridged ARP traffic in the arptables FORWARD chain.
  27 +
  28 + To compile this code as a module, choose M here: the module
  29 + will be called bridge.
  30 +
  31 + If unsure, say N.
1 1 #
2 2 # DECnet configuration
3 3 #
  4 +config DECNET
  5 + tristate "DECnet Support"
  6 + ---help---
  7 + The DECnet networking protocol was used in many products made by
  8 + Digital (now Compaq). It provides reliable stream and sequenced
  9 + packet communications over which run a variety of services similar
  10 + to those which run over TCP/IP.
  11 +
  12 + To find some tools to use with the kernel layer support, please
  13 + look at Patrick Caulfield's web site:
  14 + <http://linux-decnet.sourceforge.net/>.
  15 +
  16 + More detailed documentation is available in
  17 + <file:Documentation/networking/decnet.txt>.
  18 +
  19 + Be sure to say Y to "/proc file system support" and "Sysctl support"
  20 + below when using DECnet, since you will need sysctl support to aid
  21 + in configuration at run time.
  22 +
  23 + The DECnet code is also available as a module ( = code which can be
  24 + inserted in and removed from the running kernel whenever you want).
  25 + The module is called decnet.
  26 +
4 27 config DECNET_ROUTER
5 28 bool "DECnet: router support (EXPERIMENTAL)"
6 29 depends on DECNET && EXPERIMENTAL
  1 +#
  2 +# Acorn Econet/AUN protocols
  3 +#
  4 +
  5 +config ECONET
  6 + tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
  7 + depends on EXPERIMENTAL && INET
  8 + ---help---
  9 + Econet is a fairly old and slow networking protocol mainly used by
  10 + Acorn computers to access file and print servers. It uses native
  11 + Econet network cards. AUN is an implementation of the higher level
  12 + parts of Econet that runs over ordinary Ethernet connections, on
  13 + top of the UDP packet protocol, which in turn runs on top of the
  14 + Internet protocol IP.
  15 +
  16 + If you say Y here, you can choose with the next two options whether
  17 + to send Econet/AUN traffic over a UDP Ethernet connection or over
  18 + a native Econet network card.
  19 +
  20 + To compile this driver as a module, choose M here: the module
  21 + will be called econet.
  22 +
  23 +config ECONET_AUNUDP
  24 + bool "AUN over UDP"
  25 + depends on ECONET
  26 + help
  27 + Say Y here if you want to send Econet/AUN traffic over a UDP
  28 + connection (UDP is a packet based protocol that runs on top of the
  29 + Internet protocol IP) using an ordinary Ethernet network card.
  30 +
  31 +config ECONET_NATIVE
  32 + bool "Native Econet"
  33 + depends on ECONET
  34 + help
  35 + Say Y here if you have a native Econet network card installed in
  36 + your computer.
... ... @@ -3,7 +3,6 @@
3 3 #
4 4 config IP_MULTICAST
5 5 bool "IP: multicasting"
6   - depends on INET
7 6 help
8 7 This is code for addressing several networked computers at once,
9 8 enlarging your kernel by about 2 KB. You need multicasting if you
... ... @@ -17,7 +16,6 @@
17 16  
18 17 config IP_ADVANCED_ROUTER
19 18 bool "IP: advanced router"
20   - depends on INET
21 19 ---help---
22 20 If you intend to run your Linux box mostly as a router, i.e. as a
23 21 computer that forwards and redistributes network packets, say Y; you
... ... @@ -183,7 +181,6 @@
183 181  
184 182 config IP_PNP
185 183 bool "IP: kernel level autoconfiguration"
186   - depends on INET
187 184 help
188 185 This enables automatic configuration of IP addresses of devices and
189 186 of the routing table during kernel boot, based on either information
... ... @@ -242,7 +239,6 @@
242 239 # bool ' IP: ARP support' CONFIG_IP_PNP_ARP
243 240 config NET_IPIP
244 241 tristate "IP: tunneling"
245   - depends on INET
246 242 select INET_TUNNEL
247 243 ---help---
248 244 Tunneling means encapsulating data of one protocol type within
... ... @@ -260,7 +256,6 @@
260 256  
261 257 config NET_IPGRE
262 258 tristate "IP: GRE tunnels over IP"
263   - depends on INET
264 259 select XFRM
265 260 help
266 261 Tunneling means encapsulating data of one protocol type within
... ... @@ -319,7 +314,7 @@
319 314  
320 315 config ARPD
321 316 bool "IP: ARP daemon support (EXPERIMENTAL)"
322   - depends on INET && EXPERIMENTAL
  317 + depends on EXPERIMENTAL
323 318 ---help---
324 319 Normally, the kernel maintains an internal cache which maps IP
325 320 addresses to hardware addresses on the local network, so that
... ... @@ -344,7 +339,6 @@
344 339  
345 340 config SYN_COOKIES
346 341 bool "IP: TCP syncookie support (disabled per default)"
347   - depends on INET
348 342 ---help---
349 343 Normal TCP/IP networking is open to an attack known as "SYN
350 344 flooding". This denial-of-service attack prevents legitimate remote
... ... @@ -381,7 +375,6 @@
381 375  
382 376 config INET_AH
383 377 tristate "IP: AH transformation"
384   - depends on INET
385 378 select XFRM
386 379 select CRYPTO
387 380 select CRYPTO_HMAC
... ... @@ -394,7 +387,6 @@
394 387  
395 388 config INET_ESP
396 389 tristate "IP: ESP transformation"
397   - depends on INET
398 390 select XFRM
399 391 select CRYPTO
400 392 select CRYPTO_HMAC
... ... @@ -408,7 +400,6 @@
408 400  
409 401 config INET_IPCOMP
410 402 tristate "IP: IPComp transformation"
411   - depends on INET
412 403 select XFRM
413 404 select INET_TUNNEL
414 405 select CRYPTO
... ... @@ -421,7 +412,6 @@
421 412  
422 413 config INET_TUNNEL
423 414 tristate "IP: tunnel transformation"
424   - depends on INET
425 415 select XFRM
426 416 ---help---
427 417 Support for generic IP tunnel transformation, which is required by
... ... @@ -431,7 +421,6 @@
431 421  
432 422 config IP_TCPDIAG
433 423 tristate "IP: TCP socket monitoring interface"
434   - depends on INET
435 424 default y
436 425 ---help---
437 426 Support for TCP socket monitoring interface used by native Linux
... ... @@ -447,7 +436,6 @@
447 436  
448 437 config TCP_CONG_ADVANCED
449 438 bool "TCP: advanced congestion control"
450   - depends on INET
451 439 ---help---
452 440 Support for selection of various TCP congestion control
453 441 modules.
... ... @@ -463,7 +451,6 @@
463 451  
464 452 config TCP_CONG_BIC
465 453 tristate "Binary Increase Congestion (BIC) control"
466   - depends on INET
467 454 default y
468 455 ---help---
469 456 BIC-TCP is a sender-side only change that ensures a linear RTT
... ... @@ -478,7 +465,6 @@
478 465  
479 466 config TCP_CONG_WESTWOOD
480 467 tristate "TCP Westwood+"
481   - depends on INET
482 468 default m
483 469 ---help---
484 470 TCP Westwood+ is a sender-side only modification of the TCP Reno
... ... @@ -493,7 +479,6 @@
493 479  
494 480 config TCP_CONG_HTCP
495 481 tristate "H-TCP"
496   - depends on INET
497 482 default m
498 483 ---help---
499 484 H-TCP is a send-side only modifications of the TCP Reno
... ... @@ -505,7 +490,7 @@
505 490  
506 491 config TCP_CONG_HSTCP
507 492 tristate "High Speed TCP"
508   - depends on INET && EXPERIMENTAL
  493 + depends on EXPERIMENTAL
509 494 default n
510 495 ---help---
511 496 Sally Floyd's High Speed TCP (RFC 3649) congestion control.
... ... @@ -516,7 +501,7 @@
516 501  
517 502 config TCP_CONG_HYBLA
518 503 tristate "TCP-Hybla congestion control algorithm"
519   - depends on INET && EXPERIMENTAL
  504 + depends on EXPERIMENTAL
520 505 default n
521 506 ---help---
522 507 TCP-Hybla is a sender-side only change that eliminates penalization of
... ... @@ -526,7 +511,7 @@
526 511  
527 512 config TCP_CONG_VEGAS
528 513 tristate "TCP Vegas"
529   - depends on INET && EXPERIMENTAL
  514 + depends on EXPERIMENTAL
530 515 default n
531 516 ---help---
532 517 TCP Vegas is a sender-side only change to TCP that anticipates
... ... @@ -537,7 +522,7 @@
537 522  
538 523 config TCP_CONG_SCALABLE
539 524 tristate "Scalable TCP"
540   - depends on INET && EXPERIMENTAL
  525 + depends on EXPERIMENTAL
541 526 default n
542 527 ---help---
543 528 Scalable TCP is a sender-side only change to TCP which uses a
net/ipv4/ipvs/Kconfig
... ... @@ -2,11 +2,11 @@
2 2 # IP Virtual Server configuration
3 3 #
4 4 menu "IP: Virtual Server Configuration"
5   - depends on INET && NETFILTER
  5 + depends on NETFILTER
6 6  
7 7 config IP_VS
8 8 tristate "IP virtual server support (EXPERIMENTAL)"
9   - depends on INET && NETFILTER
  9 + depends on NETFILTER
10 10 ---help---
11 11 IP Virtual Server support will let you build a high-performance
12 12 virtual server based on cluster of two or more real servers. This
1 1 #
2 2 # IPv6 configuration
3   -#
  3 +#
  4 +
  5 +# IPv6 as module will cause a CRASH if you try to unload it
  6 +config IPV6
  7 + tristate "The IPv6 protocol"
  8 + default m
  9 + select CRYPTO if IPV6_PRIVACY
  10 + select CRYPTO_MD5 if IPV6_PRIVACY
  11 + ---help---
  12 + This is complemental support for the IP version 6.
  13 + You will still be able to do traditional IPv4 networking as well.
  14 +
  15 + For general information about IPv6, see
  16 + <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
  17 + For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
  18 + For specific information about IPv6 under Linux, read the HOWTO at
  19 + <http://www.bieringer.de/linux/IPv6/>.
  20 +
  21 + To compile this protocol support as a module, choose M here: the
  22 + module will be called ipv6.
  23 +
4 24 config IPV6_PRIVACY
5 25 bool "IPv6: Privacy Extensions (RFC 3041) support"
6 26 depends on IPV6
1 1 #
2 2 # IPX configuration
3 3 #
  4 +config IPX
  5 + tristate "The IPX protocol"
  6 + select LLC
  7 + ---help---
  8 + This is support for the Novell networking protocol, IPX, commonly
  9 + used for local networks of Windows machines. You need it if you
  10 + want to access Novell NetWare file or print servers using the Linux
  11 + Novell client ncpfs (available from
  12 + <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
  13 + within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
  14 + available from <http://www.tldp.org/docs.html#howto>). In order
  15 + to do the former, you'll also have to say Y to "NCP file system
  16 + support", below.
  17 +
  18 + IPX is similar in scope to IP, while SPX, which runs on top of IPX,
  19 + is similar to TCP. There is also experimental support for SPX in
  20 + Linux (see "SPX networking", below).
  21 +
  22 + To turn your Linux box into a fully featured NetWare file server and
  23 + IPX router, say Y here and fetch either lwared from
  24 + <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
  25 + mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
  26 + information, read the IPX-HOWTO available from
  27 + <http://www.tldp.org/docs.html#howto>.
  28 +
  29 + General information about how to connect Linux, Windows machines and
  30 + Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
  31 +
  32 + The IPX driver would enlarge your kernel by about 16 KB. To compile
  33 + this driver as a module, choose M here: the module will be called ipx.
  34 + Unless you want to integrate your Linux box with a local Novell
  35 + network, say N.
  36 +
4 37 config IPX_INTERN
5 38 bool "IPX: Full internal IPX network"
6 39 depends on IPX
  1 +#
  2 +# LAPB Data Link Drive
  3 +#
  4 +
  5 +config LAPB
  6 + tristate "LAPB Data Link Driver (EXPERIMENTAL)"
  7 + depends on EXPERIMENTAL
  8 + ---help---
  9 + Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
  10 + the lower) part of the X.25 protocol. It offers a reliable
  11 + connection service to exchange data frames with one other host, and
  12 + it is used to transport higher level protocols (mostly X.25 Packet
  13 + Layer, the higher part of X.25, but others are possible as well).
  14 + Usually, LAPB is used with specialized X.21 network cards, but Linux
  15 + currently supports LAPB only over Ethernet connections. If you want
  16 + to use LAPB connections over Ethernet, say Y here and to "LAPB over
  17 + Ethernet driver" below. Read
  18 + <file:Documentation/networking/lapb-module.txt> for technical
  19 + details.
  20 +
  21 + To compile this driver as a module, choose M here: the
  22 + module will be called lapb. If unsure, say N.
  1 +#
  2 +# Packet configuration
  3 +#
  4 +
  5 +config PACKET
  6 + tristate "Packet socket"
  7 + ---help---
  8 + The Packet protocol is used by applications which communicate
  9 + directly with network devices without an intermediate network
  10 + protocol implemented in the kernel, e.g. tcpdump. If you want them
  11 + to work, choose Y.
  12 +
  13 + To compile this driver as a module, choose M here: the module will
  14 + be called af_packet.
  15 +
  16 + If unsure, say Y.
  17 +
  18 +config PACKET_MMAP
  19 + bool "Packet socket: mmapped IO"
  20 + depends on PACKET
  21 + help
  22 + If you say Y here, the Packet protocol driver will use an IO
  23 + mechanism that results in faster communication.
  24 +
  25 + If unsure, say N.
1 1 #
2 2 # Traffic control configuration.
3 3 #
  4 +
  5 +menuconfig NET_SCHED
  6 + bool "QoS and/or fair queueing"
  7 + ---help---
  8 + When the kernel has several packets to send out over a network
  9 + device, it has to decide which ones to send first, which ones to
  10 + delay, and which ones to drop. This is the job of the packet
  11 + scheduler, and several different algorithms for how to do this
  12 + "fairly" have been proposed.
  13 +
  14 + If you say N here, you will get the standard packet scheduler, which
  15 + is a FIFO (first come, first served). If you say Y here, you will be
  16 + able to choose from among several alternative algorithms which can
  17 + then be attached to different network devices. This is useful for
  18 + example if some of your network devices are real time devices that
  19 + need a certain minimum data flow rate, or if you need to limit the
  20 + maximum data flow rate for traffic which matches specified criteria.
  21 + This code is considered to be experimental.
  22 +
  23 + To administer these schedulers, you'll need the user-level utilities
  24 + from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
  25 + That package also contains some documentation; for more, check out
  26 + <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
  27 +
  28 + This Quality of Service (QoS) support will enable you to use
  29 + Differentiated Services (diffserv) and Resource Reservation Protocol
  30 + (RSVP) on your Linux router if you also say Y to "QoS support",
  31 + "Packet classifier API" and to some classifiers below. Documentation
  32 + and software is at <http://diffserv.sourceforge.net/>.
  33 +
  34 + If you say Y here and to "/proc file system" below, you will be able
  35 + to read status information about packet schedulers from the file
  36 + /proc/net/psched.
  37 +
  38 + The available schedulers are listed in the following questions; you
  39 + can say Y to as many as you like. If unsure, say N now.
  40 +
4 41 choice
5 42 prompt "Packet scheduler clock source"
6 43 depends on NET_SCHED
  1 +#
  2 +# Unix Domain Sockets
  3 +#
  4 +
  5 +config UNIX
  6 + tristate "Unix domain sockets"
  7 + ---help---
  8 + If you say Y here, you will include support for Unix domain sockets;
  9 + sockets are the standard Unix mechanism for establishing and
  10 + accessing network connections. Many commonly used programs such as
  11 + the X Window system and syslog use these sockets even if your
  12 + machine is not connected to any network. Unless you are working on
  13 + an embedded system or something similar, you therefore definitely
  14 + want to say Y here.
  15 +
  16 + To compile this driver as a module, choose M here: the module will be
  17 + called unix. Note that several important services won't work
  18 + correctly if you say M here and then neglect to load the module.
  19 +
  20 + Say Y unless you know what you are doing.
net/wanrouter/Kconfig
  1 +#
  2 +# Configuration for WAN router
  3 +#
  4 +
  5 +config WAN_ROUTER
  6 + tristate "WAN router"
  7 + depends on EXPERIMENTAL
  8 + ---help---
  9 + Wide Area Networks (WANs), such as X.25, frame relay and leased
  10 + lines, are used to interconnect Local Area Networks (LANs) over vast
  11 + distances with data transfer rates significantly higher than those
  12 + achievable with commonly used asynchronous modem connections.
  13 + Usually, a quite expensive external device called a `WAN router' is
  14 + needed to connect to a WAN.
  15 +
  16 + As an alternative, WAN routing can be built into the Linux kernel.
  17 + With relatively inexpensive WAN interface cards available on the
  18 + market, a perfectly usable router can be built for less than half
  19 + the price of an external router. If you have one of those cards and
  20 + wish to use your Linux box as a WAN router, say Y here and also to
  21 + the WAN driver for your card, below. You will then need the
  22 + wan-tools package which is available from <ftp://ftp.sangoma.com/>.
  23 + Read <file:Documentation/networking/wan-router.txt> for more
  24 + information.
  25 +
  26 + To compile WAN routing support as a module, choose M here: the
  27 + module will be called wanrouter.
  28 +
  29 + If unsure, say N.
  1 +#
  2 +# CCITT X.25 Packet Layer
  3 +#
  4 +
  5 +config X25
  6 + tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
  7 + depends on EXPERIMENTAL
  8 + ---help---
  9 + X.25 is a set of standardized network protocols, similar in scope to
  10 + frame relay; the one physical line from your box to the X.25 network
  11 + entry point can carry several logical point-to-point connections
  12 + (called "virtual circuits") to other computers connected to the X.25
  13 + network. Governments, banks, and other organizations tend to use it
  14 + to connect to each other or to form Wide Area Networks (WANs). Many
  15 + countries have public X.25 networks. X.25 consists of two
  16 + protocols: the higher level Packet Layer Protocol (PLP) (say Y here
  17 + if you want that) and the lower level data link layer protocol LAPB
  18 + (say Y to "LAPB Data Link Driver" below if you want that).
  19 +
  20 + You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
  21 + <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
  22 + Information about X.25 for Linux is contained in the files
  23 + <file:Documentation/networking/x25.txt> and
  24 + <file:Documentation/networking/x25-iface.txt>.
  25 +
  26 + One connects to an X.25 network either with a dedicated network card
  27 + using the X.21 protocol (not yet supported by Linux) or one can do
  28 + X.25 over a standard telephone line using an ordinary modem (say Y
  29 + to "X.25 async driver" below) or over Ethernet using an ordinary
  30 + Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
  31 + Driver" and "LAPB over Ethernet driver" below).
  32 +
  33 + To compile this driver as a module, choose M here: the module
  34 + will be called x25. If unsure, say N.
1 1 #
2 2 # XFRM configuration
3 3 #
  4 +config XFRM
  5 + bool
  6 + depends on NET
  7 +
4 8 config XFRM_USER
5 9 tristate "IPsec user configuration interface"
6 10 depends on INET && XFRM
... ... @@ -9,4 +13,14 @@
9 13 by native Linux tools.
10 14  
11 15 If unsure, say Y.
  16 +
  17 +config NET_KEY
  18 + tristate "PF_KEY sockets"
  19 + select XFRM
  20 + ---help---
  21 + PF_KEYv2 socket family, compatible to KAME ones.
  22 + They are required if you are going to use IPsec tools ported
  23 + from KAME.
  24 +
  25 + Say Y unless you know what you are doing.