2 # Network device configuration
8 bool "Network device support"
10 You can say N here if you don't intend to connect your Linux box to
11 any other computer at all.
13 You'll have to say Y if your computer contains a network card that
14 you want to use under Linux. If you are going to run SLIP or PPP over
15 telephone line or null modem cable you need say Y here. Connecting
16 two machines with parallel ports using PLIP needs this, as well as
17 AX.25/KISS for sending Internet traffic over amateur radio links.
19 See also "The Linux Network Administrator's Guide" by Olaf Kirch and
20 Terry Dawson. Available at <http://www.tldp.org/guides.html>.
24 # All the following symbols are dependent on NETDEVICES - do not repeat
25 # that for each of the symbols.
29 tristate "Intermediate Functional Block support"
30 depends on NET_CLS_ACT
32 This is an intermediate driver that allows sharing of
34 To compile this driver as a module, choose M here: the module
35 will be called ifb. If you want to use more than one ifb
36 device at a time, you need to compile this driver as a module.
37 Instead of 'ifb', the devices will then be called 'ifb0',
39 Look at the iproute2 documentation directory for usage etc
42 tristate "Dummy net driver support"
44 This is essentially a bit-bucket device (i.e. traffic you send to
45 this device is consigned into oblivion) with a configurable IP
46 address. It is most commonly used in order to make your currently
47 inactive SLIP address seem like a real address for local programs.
48 If you use SLIP or PPP, you might want to say Y here. Since this
49 thing often comes in handy, the default is Y. It won't enlarge your
50 kernel either. What a deal. Read about it in the Network
51 Administrator's Guide, available from
52 <http://www.tldp.org/docs.html#guide>.
54 To compile this driver as a module, choose M here: the module
55 will be called dummy. If you want to use more than one dummy
56 device at a time, you need to compile this driver as a module.
57 Instead of 'dummy', the devices will then be called 'dummy0',
61 tristate "Bonding driver support"
63 depends on IPV6 || IPV6=n
65 Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
66 Channels together. This is called 'Etherchannel' by Cisco,
67 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
69 The driver supports multiple bonding modes to allow for both high
70 performance and high availability operation.
72 Refer to <file:Documentation/networking/bonding.txt> for more
75 To compile this driver as a module, choose M here: the module
76 will be called bonding.
79 tristate "MAC-VLAN support (EXPERIMENTAL)"
80 depends on EXPERIMENTAL
82 This allows one to create virtual interfaces that map packets to
83 or from specific MAC addresses to a particular interface.
85 Macvlan devices can be added using the "ip" command from the
86 iproute2 package starting with the iproute2-2.6.23 release:
88 "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
90 To compile this driver as a module, choose M here: the module
91 will be called macvlan.
94 tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
97 This adds a specialized tap character device driver that is based
98 on the MAC-VLAN network interface, called macvtap. A macvtap device
99 can be added in the same way as a macvlan device, using 'type
100 macvlan', and then be accessed through the tap user space interface.
102 To compile this driver as a module, choose M here: the module
103 will be called macvtap.
106 tristate "EQL (serial line load balancing) support"
108 If you have two serial connections to some other computer (this
109 usually requires two modems and two telephone lines) and you use
110 SLIP (the protocol for sending Internet traffic over telephone
111 lines) or PPP (a better SLIP) on them, you can make them behave like
112 one double speed connection using this driver. Naturally, this has
113 to be supported at the other end as well, either with a similar EQL
114 Linux driver or with a Livingston Portmaster 2e.
116 Say Y if you want this and read
117 <file:Documentation/networking/eql.txt>. You may also want to read
118 section 6.2 of the NET-3-HOWTO, available from
119 <http://www.tldp.org/docs.html#howto>.
121 To compile this driver as a module, choose M here: the module
122 will be called eql. If unsure, say N.
125 tristate "Universal TUN/TAP device driver support"
128 TUN/TAP provides packet reception and transmission for user space
129 programs. It can be viewed as a simple Point-to-Point or Ethernet
130 device, which instead of receiving packets from a physical media,
131 receives them from user space program and instead of sending packets
132 via physical media writes them to the user space program.
134 When a program opens /dev/net/tun, driver creates and registers
135 corresponding net device tunX or tapX. After a program closed above
136 devices, driver will automatically delete tunXX or tapXX device and
137 all routes corresponding to it.
139 Please read <file:Documentation/networking/tuntap.txt> for more
142 To compile this driver as a module, choose M here: the module
145 If you don't know what to use this for, you don't need it.
148 tristate "Virtual ethernet pair device"
150 This device is a local ethernet tunnel. Devices are created in pairs.
151 When one end receives the packet it appears on its pair and vice
155 tristate "General Instruments Surfboard 1000"
158 This is a driver for the General Instrument (also known as
159 NextLevel) SURFboard 1000 internal
160 cable modem. This is an ISA card which is used by a number of cable
161 TV companies to provide cable modem access. It's a one-way
162 downstream-only cable modem, meaning that your upstream net link is
163 provided by your regular phone modem.
165 At present this driver only compiles as a module, so say M here if
166 you have this card. The module will be called sb1000. Then read
167 <file:Documentation/networking/README.sb1000> for information on how
168 to use this module, as it needs special ppp scripts for establishing
169 a connection. Further documentation and the necessary scripts can be
172 <http://www.jacksonville.net/~fventuri/>
173 <http://home.adelphia.net/~siglercm/sb1000.html>
174 <http://linuxpower.cx/~cable/>
176 If you don't have this card, of course say N.
178 source "drivers/net/arcnet/Kconfig"
181 tristate "Generic Media Independent Interface device support"
183 Most ethernet controllers have MII transceiver either as an external
184 or internal device. It is safe to say Y or M here even if your
185 ethernet card lacks MII.
187 source "drivers/net/phy/Kconfig"
193 source "drivers/net/ethernet/Kconfig"
195 source "drivers/net/tokenring/Kconfig"
197 source "drivers/net/wireless/Kconfig"
199 source "drivers/net/wimax/Kconfig"
201 source "drivers/net/usb/Kconfig"
203 source "drivers/net/pcmcia/Kconfig"
205 source "drivers/net/wan/Kconfig"
207 source "drivers/atm/Kconfig"
209 source "drivers/ieee802154/Kconfig"
211 source "drivers/s390/net/Kconfig"
213 source "drivers/net/caif/Kconfig"
215 config XEN_NETDEV_FRONTEND
216 tristate "Xen network device frontend driver"
218 select XEN_XENBUS_FRONTEND
221 This driver provides support for Xen paravirtual network
222 devices exported by a Xen network driver domain (often
225 The corresponding Linux backend driver is enabled by the
226 CONFIG_XEN_NETDEV_BACKEND option.
228 If you are compiling a kernel for use as Xen guest, you
229 should say Y here. To compile this driver as a module, chose
230 M here: the module will be called xen-netfront.
232 config XEN_NETDEV_BACKEND
233 tristate "Xen backend network device"
234 depends on XEN_BACKEND
236 This driver allows the kernel to act as a Xen network driver
237 domain which exports paravirtual network devices to other
238 Xen domains. These devices can be accessed by any operating
239 system that implements a compatible front end.
241 The corresponding Linux frontend driver is enabled by the
242 CONFIG_XEN_NETDEV_FRONTEND configuration option.
244 The backend driver presents a standard network device
245 endpoint for each paravirtual network device to the driver
246 domain network stack. These can then be bridged or routed
247 etc in order to provide full network connectivity.
249 If you are compiling a kernel to run in a Xen network driver
250 domain (often this is domain 0) you should say Y here. To
251 compile this driver as a module, chose M here: the module
252 will be called xen-netback.
255 tristate "RapidIO Ethernet over messaging driver support"
258 config RIONET_TX_SIZE
259 int "Number of outbound queue entries"
263 config RIONET_RX_SIZE
264 int "Number of inbound queue entries"
269 tristate "FDDI driver support"
270 depends on (PCI || EISA || TC)
272 Fiber Distributed Data Interface is a high speed local area network
273 design; essentially a replacement for high speed Ethernet. FDDI can
274 run over copper or fiber. If you are connected to such a network and
275 want a driver for the FDDI card in your computer, say Y here (and
276 then also Y to the driver for your FDDI card, below). Most people
280 tristate "Digital DEFTA/DEFEA/DEFPA adapter support"
281 depends on FDDI && (PCI || EISA || TC)
283 This is support for the DIGITAL series of TURBOchannel (DEFTA),
284 EISA (DEFEA) and PCI (DEFPA) controllers which can connect you
285 to a local FDDI network.
287 To compile this driver as a module, choose M here: the module
288 will be called defxx. If unsure, say N.
292 prompt "Use MMIO instead of PIO" if PCI || EISA
294 default n if PCI || EISA
297 This instructs the driver to use EISA or PCI memory-mapped I/O
298 (MMIO) as appropriate instead of programmed I/O ports (PIO).
299 Enabling this gives an improvement in processing time in parts
300 of the driver, but it may cause problems with EISA (DEFEA)
301 adapters. TURBOchannel does not have the concept of I/O ports,
302 so MMIO is always used for these (DEFTA) adapters.
307 tristate "SysKonnect FDDI PCI support"
308 depends on FDDI && PCI
311 Say Y here if you have a SysKonnect FDDI PCI adapter.
312 The following adapters are supported by this driver:
313 - SK-5521 (SK-NET FDDI-UP)
314 - SK-5522 (SK-NET FDDI-UP DAS)
315 - SK-5541 (SK-NET FDDI-FP)
316 - SK-5543 (SK-NET FDDI-LP)
317 - SK-5544 (SK-NET FDDI-LP DAS)
318 - SK-5821 (SK-NET FDDI-UP64)
319 - SK-5822 (SK-NET FDDI-UP64 DAS)
320 - SK-5841 (SK-NET FDDI-FP64)
321 - SK-5843 (SK-NET FDDI-LP64)
322 - SK-5844 (SK-NET FDDI-LP64 DAS)
323 - Netelligent 100 FDDI DAS Fibre SC
324 - Netelligent 100 FDDI SAS Fibre SC
325 - Netelligent 100 FDDI DAS UTP
326 - Netelligent 100 FDDI SAS UTP
327 - Netelligent 100 FDDI SAS Fibre MIC
329 Read <file:Documentation/networking/skfp.txt> for information about
332 Questions concerning this driver can be addressed to:
333 <linux@syskonnect.de>
335 To compile this driver as a module, choose M here: the module
336 will be called skfp. This is recommended.
339 bool "HIPPI driver support (EXPERIMENTAL)"
340 depends on EXPERIMENTAL && INET && PCI
342 HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
343 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
344 can run over copper (25m) or fiber (300m on multi-mode or 10km on
345 single-mode). HIPPI networks are commonly used for clusters and to
346 connect to super computers. If you are connected to a HIPPI network
347 and have a HIPPI network card in your computer that you want to use
348 under Linux, say Y here (you must also remember to enable the driver
349 for your HIPPI card below). Most people will say N here.
352 tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)"
353 depends on HIPPI && PCI
355 Say Y here if this is your PCI HIPPI network card.
357 To compile this driver as a module, choose M here: the module
358 will be called rrunner. If unsure, say N.
360 config ROADRUNNER_LARGE_RINGS
361 bool "Use large TX/RX rings (EXPERIMENTAL)"
362 depends on ROADRUNNER
364 If you say Y here, the RoadRunner driver will preallocate up to 2 MB
365 of additional memory to allow for fastest operation, both for
366 transmitting and receiving. This memory cannot be used by any other
367 kernel code or by user space programs. Say Y here only if you have
371 tristate "PLIP (parallel port) support"
374 PLIP (Parallel Line Internet Protocol) is used to create a
375 reasonably fast mini network consisting of two (or, rarely, more)
376 local machines. A PLIP link from a Linux box is a popular means to
377 install a Linux distribution on a machine which doesn't have a
378 CD-ROM drive (a minimal system has to be transferred with floppies
379 first). The kernels on both machines need to have this PLIP option
380 enabled for this to work.
382 The PLIP driver has two modes, mode 0 and mode 1. The parallel
383 ports (the connectors at the computers with 25 holes) are connected
384 with "null printer" or "Turbo Laplink" cables which can transmit 4
385 bits at a time (mode 0) or with special PLIP cables, to be used on
386 bidirectional parallel ports only, which can transmit 8 bits at a
387 time (mode 1); you can find the wiring of these cables in
388 <file:Documentation/networking/PLIP.txt>. The cables can be up to
389 15m long. Mode 0 works also if one of the machines runs DOS/Windows
390 and has some PLIP software installed, e.g. the Crynwr PLIP packet
391 driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>)
392 and winsock or NCSA's telnet.
394 If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well
395 as the NET-3-HOWTO, both available from
396 <http://www.tldp.org/docs.html#howto>. Note that the PLIP
397 protocol has been changed and this PLIP driver won't work together
398 with the PLIP support in Linux versions 1.0.x. This option enlarges
399 your kernel by about 8 KB.
401 To compile this driver as a module, choose M here. The module
402 will be called plip. If unsure, say Y or M, in case you buy
406 tristate "PPP (point-to-point protocol) support"
409 PPP (Point to Point Protocol) is a newer and better SLIP. It serves
410 the same purpose: sending Internet traffic over telephone (and other
411 serial) lines. Ask your access provider if they support it, because
412 otherwise you can't use it; most Internet access providers these
413 days support PPP rather than SLIP.
415 To use PPP, you need an additional program called pppd as described
416 in the PPP-HOWTO, available at
417 <http://www.tldp.org/docs.html#howto>. Make sure that you have
418 the version of pppd recommended in <file:Documentation/Changes>.
419 The PPP option enlarges your kernel by about 16 KB.
421 There are actually two versions of PPP: the traditional PPP for
422 asynchronous lines, such as regular analog phone lines, and
423 synchronous PPP which can be used over digital ISDN lines for
424 example. If you want to use PPP over phone lines or other
425 asynchronous serial lines, you need to say Y (or M) here and also to
426 the next option, "PPP support for async serial ports". For PPP over
427 synchronous lines, you should say Y (or M) here and to "Support
428 synchronous PPP", below.
430 If you said Y to "Version information on all symbols" above, then
431 you cannot compile the PPP driver into the kernel; you can then only
432 compile it as a module. To compile this driver as a module, choose M
433 here. The module will be called ppp_generic.
436 bool "PPP multilink support (EXPERIMENTAL)"
437 depends on PPP && EXPERIMENTAL
439 PPP multilink is a protocol (defined in RFC 1990) which allows you
440 to combine several (logical or physical) lines into one logical PPP
441 connection, so that you can utilize your full bandwidth.
443 This has to be supported at the other end as well and you need a
444 version of the pppd daemon which understands the multilink protocol.
452 Say Y here if you want to be able to filter the packets passing over
453 PPP interfaces. This allows you to control which packets count as
454 activity (i.e. which packets will reset the idle timer or bring up
455 a demand-dialed link) and which packets are to be dropped entirely.
456 You need to say Y here if you wish to use the pass-filter and
457 active-filter options to pppd.
462 tristate "PPP support for async serial ports"
466 Say Y (or M) here if you want to be able to use PPP over standard
467 asynchronous serial ports, such as COM1 or COM2 on a PC. If you use
468 a modem (not a synchronous or ISDN modem) to contact your ISP, you
471 To compile this driver as a module, choose M here.
476 tristate "PPP support for sync tty ports"
479 Say Y (or M) here if you want to be able to use PPP over synchronous
480 (HDLC) tty devices, such as the SyncLink adapter. These devices
481 are often used for high-speed leased lines like T1/E1.
483 To compile this driver as a module, choose M here.
486 tristate "PPP Deflate compression"
491 Support for the Deflate compression method for PPP, which uses the
492 Deflate algorithm (the same algorithm that gzip uses) to compress
493 each PPP packet before it is sent over the wire. The machine at the
494 other end of the PPP link (usually your ISP) has to support the
495 Deflate compression method as well for this to be useful. Even if
496 they don't support it, it is safe to say Y here.
498 To compile this driver as a module, choose M here.
501 tristate "PPP BSD-Compress compression"
504 Support for the BSD-Compress compression method for PPP, which uses
505 the LZW compression method to compress each PPP packet before it is
506 sent over the wire. The machine at the other end of the PPP link
507 (usually your ISP) has to support the BSD-Compress compression
508 method as well for this to be useful. Even if they don't support it,
509 it is safe to say Y here.
511 The PPP Deflate compression method ("PPP Deflate compression",
512 above) is preferable to BSD-Compress, because it compresses better
515 Note that the BSD compression code will always be compiled as a
516 module; it is called bsd_comp and will show up in the directory
517 modules once you have said "make modules". If unsure, say N.
520 tristate "PPP MPPE compression (encryption) (EXPERIMENTAL)"
521 depends on PPP && EXPERIMENTAL
527 Support for the MPPE Encryption protocol, as employed by the
528 Microsoft Point-to-Point Tunneling Protocol.
530 See http://pptpclient.sourceforge.net/ for information on
531 configuring PPTP clients and servers to utilize this method.
534 tristate "PPP over Ethernet (EXPERIMENTAL)"
535 depends on EXPERIMENTAL && PPP
537 Support for PPP over Ethernet.
539 This driver requires the latest version of pppd from the CVS
540 repository at cvs.samba.org. Alternatively, see the
541 RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>)
542 which contains instruction on how to use this driver (under
543 the heading "Kernel mode PPPoE").
546 tristate "PPP over IPv4 (PPTP) (EXPERIMENTAL)"
547 depends on EXPERIMENTAL && PPP && NET_IPGRE_DEMUX
549 Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)
551 This driver requires pppd plugin to work in client mode or
552 modified pptpd (poptop) to work in server mode.
553 See http://accel-pptp.sourceforge.net/ for information how to
557 tristate "PPP over ATM"
558 depends on ATM && PPP
560 Support PPP (Point to Point Protocol) encapsulated in ATM frames.
561 This implementation does not yet comply with section 8 of RFC2364,
562 which can lead to bad results if the ATM peer loses state and
563 changes its encapsulation unilaterally.
566 tristate "PPP over L2TP (EXPERIMENTAL)"
567 depends on EXPERIMENTAL && L2TP && PPP
569 Support for PPP-over-L2TP socket family. L2TP is a protocol
570 used by ISPs and enterprises to tunnel PPP traffic over UDP
571 tunnels. L2TP is replacing PPTP for VPN uses.
574 tristate "SLIP (serial line) support"
576 Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
577 connect to your Internet service provider or to connect to some
578 other local Unix box or if you want to configure your Linux box as a
579 Slip/CSlip server for other people to dial in. SLIP (Serial Line
580 Internet Protocol) is a protocol used to send Internet traffic over
581 serial connections such as telephone lines or null modem cables;
582 nowadays, the protocol PPP is more commonly used for this same
585 Normally, your access provider has to support SLIP in order for you
586 to be able to use it, but there is now a SLIP emulator called SLiRP
587 around (available from
588 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
589 allows you to use SLIP over a regular dial up shell connection. If
590 you plan to use SLiRP, make sure to say Y to CSLIP, below. The
591 NET-3-HOWTO, available from
592 <http://www.tldp.org/docs.html#howto>, explains how to
593 configure SLIP. Note that you don't need this option if you just
594 want to run term (term is a program which gives you almost full
595 Internet connectivity if you have a regular dial up shell account on
596 some Internet connected Unix computer. Read
597 <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP
598 support will enlarge your kernel by about 4 KB. If unsure, say N.
600 To compile this driver as a module, choose M here. The module
603 config SLIP_COMPRESSED
604 bool "CSLIP compressed headers"
608 This protocol is faster than SLIP because it uses compression on the
609 TCP/IP headers (not on the data itself), but it has to be supported
610 on both ends. Ask your access provider if you are not sure and
611 answer Y, just in case. You will still be able to use plain SLIP. If
612 you plan to use SLiRP, the SLIP emulator (available from
613 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
614 allows you to use SLIP over a regular dial up shell connection, you
615 definitely want to say Y here. The NET-3-HOWTO, available from
616 <http://www.tldp.org/docs.html#howto>, explains how to configure
617 CSLIP. This won't enlarge your kernel.
622 This option enables Van Jacobsen serial line header compression
626 bool "Keepalive and linefill"
629 Adds additional capabilities to the SLIP driver to support the
630 RELCOM line fill and keepalive monitoring. Ideal on poor quality
633 config SLIP_MODE_SLIP6
634 bool "Six bit SLIP encapsulation"
637 Just occasionally you may need to run IP over hostile serial
638 networks that don't pass all control characters or are only seven
639 bit. Saying Y here adds an extra mode you can use with SLIP:
640 "slip6". In this mode, SLIP will only send normal ASCII symbols over
641 the serial device. Naturally, this has to be supported at the other
642 end of the link as well. It's good enough, for example, to run IP
643 over the async ports of a Camtec JNT Pad. If unsure, say N.
646 bool "Fibre Channel driver support"
647 depends on SCSI && PCI
649 Fibre Channel is a high speed serial protocol mainly used to connect
650 large storage devices to the computer; it is compatible with and
651 intended to replace SCSI.
653 If you intend to use Fibre Channel, you need to have a Fibre channel
654 adaptor card in your computer; say Y here and to the driver for your
655 adaptor below. You also should have said Y to "SCSI support" and
656 "SCSI generic support".
659 tristate "Network console logging support"
661 If you want to log kernel messages over the network, enable this.
662 See <file:Documentation/networking/netconsole.txt> for details.
664 config NETCONSOLE_DYNAMIC
665 bool "Dynamic reconfiguration of logging targets"
666 depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
667 !(NETCONSOLE=y && CONFIGFS_FS=m)
669 This option enables the ability to dynamically reconfigure target
670 parameters (interface, IP addresses, port numbers, MAC addresses)
671 at runtime through a userspace interface exported using configfs.
672 See <file:Documentation/networking/netconsole.txt> for details.
678 bool "Netpoll traffic trapping"
682 config NET_POLL_CONTROLLER
686 tristate "Virtio network driver (EXPERIMENTAL)"
687 depends on EXPERIMENTAL && VIRTIO
689 This is the virtual network driver for virtio. It can be used with
690 lguest or QEMU based VMMs (like KVM or Xen). Say Y or M.
693 tristate "VMware VMXNET3 ethernet driver"
694 depends on PCI && INET
696 This driver supports VMware's vmxnet3 virtual ethernet NIC.
697 To compile this driver as a module, choose M here: the
698 module will be called vmxnet3.