2 # Network configuration
8 bool "Networking support"
10 Unless you really know what you are doing, you should say Y here.
11 The reason is that some programs need kernel networking support even
12 when running on a stand-alone machine that isn't connected to any
15 If you are upgrading from an older kernel, you
16 should consider updating your networking tools too because changes
17 in the kernel and the tools often go hand in hand. The tools are
18 contained in the package net-tools, the location and version number
19 of which are given in <file:Documentation/Changes>.
21 For a general introduction to Linux networking, it is highly
22 recommended to read the NET-HOWTO, available from
23 <http://www.tldp.org/docs.html#howto>.
25 menu "Networking options"
29 tristate "Packet socket"
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
36 To compile this driver as a module, choose M here: the module will
42 bool "Packet socket: mmapped IO"
45 If you say Y here, the Packet protocol driver will use an IO
46 mechanism that results in faster communication.
51 tristate "Unix domain sockets"
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
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.
65 Say Y unless you know what you are doing.
68 tristate "PF_KEY sockets"
71 PF_KEYv2 socket family, compatible to KAME ones.
72 They are required if you are going to use IPsec tools ported
75 Say Y unless you know what you are doing.
78 bool "TCP/IP networking"
80 These are the protocols used on the Internet and on most local
81 Ethernets. It is highly recommended to say Y here (this will enlarge
82 your kernel by about 144 KB), since some programs (e.g. the X window
83 system) use TCP/IP even if your machine is not connected to any
84 other computer. You will get the so-called loopback device which
85 allows you to ping yourself (great fun, that!).
87 For an excellent introduction to Linux networking, please read the
88 Linux Networking HOWTO, available from
89 <http://www.tldp.org/docs.html#howto>.
91 If you say Y here and also to "/proc file system support" and
92 "Sysctl support" below, you can change various aspects of the
93 behavior of the TCP/IP code by writing to the (virtual) files in
94 /proc/sys/net/ipv4/*; the options are explained in the file
95 <file:Documentation/networking/ip-sysctl.txt>.
99 source "net/ipv4/Kconfig"
101 # IPv6 as module will cause a CRASH if you try to unload it
103 tristate "The IPv6 protocol"
106 select CRYPTO if IPV6_PRIVACY
107 select CRYPTO_MD5 if IPV6_PRIVACY
109 This is complemental support for the IP version 6.
110 You will still be able to do traditional IPv4 networking as well.
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/>.
118 To compile this protocol support as a module, choose M here: the
119 module will be called ipv6.
121 source "net/ipv6/Kconfig"
124 bool "Network packet filtering (replaces ipchains)"
126 Netfilter is a framework for filtering and mangling network packets
127 that pass through your Linux box.
129 The most common use of packet filtering is to run your Linux box as
130 a firewall protecting a local network from the Internet. The type of
131 firewall provided by this kernel support is called a "packet
132 filter", which means that it can reject individual network packets
133 based on type, source, destination etc. The other kind of firewall,
134 a "proxy-based" one, is more secure but more intrusive and more
135 bothersome to set up; it inspects the network traffic much more
136 closely, modifies it and has knowledge about the higher level
137 protocols, which a packet filter lacks. Moreover, proxy-based
138 firewalls often require changes to the programs running on the local
139 clients. Proxy-based firewalls don't need support by the kernel, but
140 they are often combined with a packet filter, which only works if
143 You should also say Y here if you intend to use your Linux box as
144 the gateway to the Internet for a local network of machines without
145 globally valid IP addresses. This is called "masquerading": if one
146 of the computers on your local network wants to send something to
147 the outside, your box can "masquerade" as that computer, i.e. it
148 forwards the traffic to the intended outside destination, but
149 modifies the packets to make it look like they came from the
150 firewall box itself. It works both ways: if the outside host
151 replies, the Linux box will silently forward the traffic to the
152 correct local computer. This way, the computers on your local net
153 are completely invisible to the outside world, even though they can
154 reach the outside and can receive replies. It is even possible to
155 run globally visible servers from within a masqueraded local network
156 using a mechanism called portforwarding. Masquerading is also often
157 called NAT (Network Address Translation).
159 Another use of Netfilter is in transparent proxying: if a machine on
160 the local network tries to connect to an outside host, your Linux
161 box can transparently forward the traffic to a local server,
162 typically a caching proxy server.
164 Yet another use of Netfilter is building a bridging firewall. Using
165 a bridge with Network packet filtering enabled makes iptables "see"
166 the bridged traffic. For filtering on the lower network and Ethernet
167 protocols over the bridge, use ebtables (under bridge netfilter
170 Various modules exist for netfilter which replace the previous
171 masquerading (ipmasqadm), packet filtering (ipchains), transparent
172 proxying, and portforwarding mechanisms. Please see
173 <file:Documentation/Changes> under "iptables" for the location of
176 Make sure to say N to "Fast switching" below if you intend to say Y
177 here, as Fast switching currently bypasses netfilter.
179 Chances are that you should say Y here if you compile a kernel which
180 will run as a router and N for regular hosts. If unsure, say N.
184 config NETFILTER_DEBUG
185 bool "Network packet filtering debugging"
188 You can say Y here if you want to get additional messages useful in
189 debugging the netfilter code.
191 config BRIDGE_NETFILTER
192 bool "Bridged IP/ARP packets filtering"
193 depends on BRIDGE && NETFILTER && INET
196 Enabling this option will let arptables resp. iptables see bridged
197 ARP resp. IP traffic. If you want a bridging firewall, you probably
198 want this option enabled.
199 Enabling or disabling this option doesn't enable or disable
204 source "net/ipv4/netfilter/Kconfig"
205 source "net/ipv6/netfilter/Kconfig"
206 source "net/decnet/netfilter/Kconfig"
207 source "net/bridge/netfilter/Kconfig"
215 source "net/xfrm/Kconfig"
217 source "net/sctp/Kconfig"
220 tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
221 depends on EXPERIMENTAL
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.
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.
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
237 tristate "Classical IP over ATM (EXPERIMENTAL)"
238 depends on ATM && INET
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
245 config ATM_CLIP_NO_ICMP
246 bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
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.
256 tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
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.
265 tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
266 depends on ATM && INET && ATM_LANE!=n
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.
274 tristate "RFC1483/2684 Bridged protocols"
275 depends on ATM && INET
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.
282 config ATM_BR2684_IPFILTER
283 bool "Per-VC IP filter kludge"
284 depends on ATM_BR2684
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.
291 tristate "802.1d Ethernet Bridging"
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.
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
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.
313 To compile this code as a module, choose M here: the module
314 will be called bridge.
319 tristate "802.1Q VLAN Support"
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>
329 To compile this code as a module, choose M here: the module
330 will be called 8021q.
335 tristate "DECnet Support"
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.
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/>.
346 More detailed documentation is available in
347 <file:Documentation/networking/decnet.txt>.
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.
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.
357 source "net/decnet/Kconfig"
359 source "net/llc/Kconfig"
362 tristate "The IPX protocol"
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
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).
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>.
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>.
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
394 source "net/ipx/Kconfig"
397 tristate "Appletalk protocol support"
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
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
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.
423 source "drivers/net/appletalk/Kconfig"
426 tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
427 depends on EXPERIMENTAL
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).
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>.
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).
453 To compile this driver as a module, choose M here: the module
454 will be called x25. If unsure, say N.
457 tristate "LAPB Data Link Driver (EXPERIMENTAL)"
458 depends on EXPERIMENTAL
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
472 To compile this driver as a module, choose M here: the
473 module will be called lapb. If unsure, say N.
476 bool "Frame Diverter (EXPERIMENTAL)"
477 depends on EXPERIMENTAL
479 The Frame Diverter allows you to divert packets from the
480 network, that are not aimed at the interface receiving it (in
481 promisc. mode). Typically, a Linux box setup as an Ethernet bridge
482 with the Frames Diverter on, can do some *really* transparent www
483 caching using a Squid proxy for example.
485 This is very useful when you don't want to change your router's
486 config (or if you simply don't have access to it).
488 The other possible usages of diverting Ethernet Frames are
490 - reroute smtp traffic to another interface
491 - traffic-shape certain network streams
492 - transparently proxy smtp connections
495 For more informations, please refer to:
496 <http://diverter.sourceforge.net/>
497 <http://perso.wanadoo.fr/magpie/EtherDivert.html>
502 tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
503 depends on EXPERIMENTAL && INET
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.
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.
516 To compile this driver as a module, choose M here: the module
517 will be called econet.
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.
531 Say Y here if you have a native Econet network card installed in
535 tristate "WAN router"
536 depends on EXPERIMENTAL
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.
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
555 To compile WAN routing support as a module, choose M here: the
556 module will be called wanrouter.
560 menu "QoS and/or fair queueing"
563 bool "QoS and/or fair queueing"
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.
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.
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>.
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/>.
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
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.
598 source "net/sched/Kconfig"
602 menu "Network testing"
605 tristate "Packet Generator (USE WITH CAUTION)"
608 This module will inject preconfigured packets, at a configurable
609 rate, out of a given interface. It is used for network interface
610 stress testing and performance analysis. If you don't understand
611 what was just said, you don't need it: say N.
613 Documentation on how to use the packet generator can be found
614 at <file:Documentation/networking/pktgen.txt>.
616 To compile this code as a module, choose M here: the
617 module will be called pktgen.
627 bool "Netpoll support for trapping incoming packets"
632 bool "Netpoll traffic trapping"
636 config NET_POLL_CONTROLLER
639 source "net/ax25/Kconfig"
641 source "net/irda/Kconfig"
643 source "net/bluetooth/Kconfig"