aboutsummaryrefslogtreecommitdiffstats
path: root/net/Kconfig
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2005-07-12 00:13:56 -0400
committerDavid S. Miller <davem@davemloft.net>2005-07-12 00:13:56 -0400
commit6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416 (patch)
treec7cdf9033093b52e360ad04dc29739ca36a617a4 /net/Kconfig
parentd5950b4355049092739bea97d1bdc14433126cc5 (diff)
[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>
Diffstat (limited to 'net/Kconfig')
-rw-r--r--net/Kconfig446
1 files changed, 17 insertions, 429 deletions
diff --git a/net/Kconfig b/net/Kconfig
index f46fc326c00b..2684e809a649 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -22,57 +22,14 @@ config NET
22 recommended to read the NET-HOWTO, available from 22 recommended to read the NET-HOWTO, available from
23 <http://www.tldp.org/docs.html#howto>. 23 <http://www.tldp.org/docs.html#howto>.
24 24
25menu "Networking options" 25# Make sure that all config symbols are dependent on NET
26 depends on NET 26if NET
27
28config 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.
35
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 27
41config PACKET_MMAP 28menu "Networking options"
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
50config 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
67config 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 29
75 Say Y unless you know what you are doing. 30source "net/packet/Kconfig"
31source "net/unix/Kconfig"
32source "net/xfrm/Kconfig"
76 33
77config INET 34config INET
78 bool "TCP/IP networking" 35 bool "TCP/IP networking"
@@ -96,30 +53,12 @@ config INET
96 53
97 Short answer: say Y. 54 Short answer: say Y.
98 55
56if INET
99source "net/ipv4/Kconfig" 57source "net/ipv4/Kconfig"
100
101# IPv6 as module will cause a CRASH if you try to unload it
102config 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
121source "net/ipv6/Kconfig" 58source "net/ipv6/Kconfig"
122 59
60endif # if INET
61
123menuconfig NETFILTER 62menuconfig NETFILTER
124 bool "Network packet filtering (replaces ipchains)" 63 bool "Network packet filtering (replaces ipchains)"
125 ---help--- 64 ---help---
@@ -208,269 +147,16 @@ source "net/bridge/netfilter/Kconfig"
208 147
209endif 148endif
210 149
211config XFRM
212 bool
213 depends on NET
214
215source "net/xfrm/Kconfig"
216
217source "net/sctp/Kconfig" 150source "net/sctp/Kconfig"
218 151source "net/atm/Kconfig"
219config ATM 152source "net/bridge/Kconfig"
220 tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" 153source "net/8021q/Kconfig"
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
236config 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
245config 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
255config 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
264config 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
273config 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
282config 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
290config 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
318config 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
334config 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
357source "net/decnet/Kconfig" 154source "net/decnet/Kconfig"
358
359source "net/llc/Kconfig" 155source "net/llc/Kconfig"
360
361config 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
394source "net/ipx/Kconfig" 156source "net/ipx/Kconfig"
395
396config 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
423source "drivers/net/appletalk/Kconfig" 157source "drivers/net/appletalk/Kconfig"
424 158source "net/x25/Kconfig"
425config X25 159source "net/lapb/Kconfig"
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
456config 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 160
475config NET_DIVERT 161config NET_DIVERT
476 bool "Frame Diverter (EXPERIMENTAL)" 162 bool "Frame Diverter (EXPERIMENTAL)"
@@ -498,107 +184,10 @@ config NET_DIVERT
498 184
499 If unsure, say N. 185 If unsure, say N.
500 186
501config ECONET 187source "net/econet/Kconfig"
502 tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)" 188source "net/wanrouter/Kconfig"
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
519config 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
527config 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
534config 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
560menu "QoS and/or fair queueing"
561
562config 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
598source "net/sched/Kconfig" 189source "net/sched/Kconfig"
599 190
600endmenu
601
602menu "Network testing" 191menu "Network testing"
603 192
604config NET_PKTGEN 193config NET_PKTGEN
@@ -637,10 +226,9 @@ config NET_POLL_CONTROLLER
637 def_bool NETPOLL 226 def_bool NETPOLL
638 227
639source "net/ax25/Kconfig" 228source "net/ax25/Kconfig"
640
641source "net/irda/Kconfig" 229source "net/irda/Kconfig"
642
643source "net/bluetooth/Kconfig" 230source "net/bluetooth/Kconfig"
644 231
232endif # if NET
645endmenu # Networking 233endmenu # Networking
646 234