# # Network device configuration # menuconfig NETDEVICES default y if UML depends on NET bool "Network device support" ---help--- You can say N here if you don't intend to connect your Linux box to any other computer at all. You'll have to say Y if your computer contains a network card that you want to use under Linux. If you are going to run SLIP or PPP over telephone line or null modem cable you need say Y here. Connecting two machines with parallel ports using PLIP needs this, as well as AX.25/KISS for sending Internet traffic over amateur radio links. See also "The Linux Network Administrator's Guide" by Olaf Kirch and Terry Dawson. Available at . If unsure, say Y. # All the following symbols are dependent on NETDEVICES - do not repeat # that for each of the symbols. if NETDEVICES config IFB tristate "Intermediate Functional Block support" depends on NET_CLS_ACT ---help--- This is an intermediate driver that allows sharing of resources. To compile this driver as a module, choose M here: the module will be called ifb. If you want to use more than one ifb device at a time, you need to compile this driver as a module. Instead of 'ifb', the devices will then be called 'ifb0', 'ifb1' etc. Look at the iproute2 documentation directory for usage etc config DUMMY tristate "Dummy net driver support" ---help--- This is essentially a bit-bucket device (i.e. traffic you send to this device is consigned into oblivion) with a configurable IP address. It is most commonly used in order to make your currently inactive SLIP address seem like a real address for local programs. If you use SLIP or PPP, you might want to say Y here. Since this thing often comes in handy, the default is Y. It won't enlarge your kernel either. What a deal. Read about it in the Network Administrator's Guide, available from . To compile this driver as a module, choose M here: the module will be called dummy. If you want to use more than one dummy device at a time, you need to compile this driver as a module. Instead of 'dummy', the devices will then be called 'dummy0', 'dummy1' etc. config BONDING tristate "Bonding driver support" depends on INET depends on IPV6 || IPV6=n ---help--- Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet Channels together. This is called 'Etherchannel' by Cisco, 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. The driver supports multiple bonding modes to allow for both high performance and high availability operation. Refer to for more information. To compile this driver as a module, choose M here: the module will be called bonding. config MACVLAN tristate "MAC-VLAN support (EXPERIMENTAL)" depends on EXPERIMENTAL ---help--- This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface. Macvlan devices can be added using the "ip" command from the iproute2 package starting with the iproute2-2.6.23 release: "ip link add link [ address MAC ] [ NAME ] type macvlan" To compile this driver as a module, choose M here: the module will be called macvlan. config MACVTAP tristate "MAC-VLAN based tap driver (EXPERIMENTAL)" depends on MACVLAN help This adds a specialized tap character device driver that is based on the MAC-VLAN network interface, called macvtap. A macvtap device can be added in the same way as a macvlan device, using 'type macvlan', and then be accessed through the tap user space interface. To compile this driver as a module, choose M here: the module will be called macvtap. config EQUALIZER tristate "EQL (serial line load balancing) support" ---help--- If you have two serial connections to some other computer (this usually requires two modems and two telephone lines) and you use SLIP (the protocol for sending Internet traffic over telephone lines) or PPP (a better SLIP) on them, you can make them behave like one double speed connection using this driver. Naturally, this has to be supported at the other end as well, either with a similar EQL Linux driver or with a Livingston Portmaster 2e. Say Y if you want this and read . You may also want to read section 6.2 of the NET-3-HOWTO, available from . To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. config TUN tristate "Universal TUN/TAP device driver support" select CRC32 ---help--- TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program. When a program opens /dev/net/tun, driver creates and registers corresponding net device tunX or tapX. After a program closed above devices, driver will automatically delete tunXX or tapXX device and all routes corresponding to it. Please read for more information. To compile this driver as a module, choose M here: the module will be called tun. If you don't know what to use this for, you don't need it. config VETH tristate "Virtual ethernet pair device" ---help--- This device is a local ethernet tunnel. Devices are created in pairs. When one end receives the packet it appears on its pair and vice versa. config NET_SB1000 tristate "General Instruments Surfboard 1000" depends on PNP ---help--- This is a driver for the General Instrument (also known as NextLevel) SURFboard 1000 internal cable modem. This is an ISA card which is used by a number of cable TV companies to provide cable modem access. It's a one-way downstream-only cable modem, meaning that your upstream net link is provided by your regular phone modem. At present this driver only compiles as a module, so say M here if you have this card. The module will be called sb1000. Then read for information on how to use this module, as it needs special ppp scripts for establishing a connection. Further documentation and the necessary scripts can be found at: If you don't have this card, of course say N. source "drivers/net/arcnet/Kconfig" config MII tristate "Generic Media Independent Interface device support" help Most ethernet controllers have MII transceiver either as an external or internal device. It is safe to say Y or M here even if your ethernet card lacks MII. source "drivers/net/phy/Kconfig" # # Ethernet # source "drivers/net/ethernet/Kconfig" menuconfig NET_ETHERNET bool "Ethernet (10 or 100Mbit)" depends on !UML ---help--- Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common type of Local Area Network (LAN) in universities and companies. Common varieties of Ethernet are: 10BASE-2 or Thinnet (10 Mbps over coaxial cable, linking computers in a chain), 10BASE-T or twisted pair (10 Mbps over twisted pair cable, linking computers to central hubs), 10BASE-F (10 Mbps over optical fiber links, using hubs), 100BASE-TX (100 Mbps over two twisted pair cables, using hubs), 100BASE-T4 (100 Mbps over 4 standard voice-grade twisted pair cables, using hubs), 100BASE-FX (100 Mbps over optical fiber links) [the 100BASE varieties are also known as Fast Ethernet], and Gigabit Ethernet (1 Gbps over optical fiber or short copper links). If your Linux machine will be connected to an Ethernet and you have an Ethernet network interface card (NIC) installed in your computer, say Y here and read the Ethernet-HOWTO, available from . You will then also have to say Y to the driver for your particular NIC. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Ethernet network cards. If unsure, say N. if NET_ETHERNET config NET_PCI bool "EISA, VLB, PCI and on board controllers" depends on ISA || EISA || PCI help This is another class of network cards which attach directly to the bus. If you have one of those, say Y and read the Ethernet-HOWTO, available from . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about this class of network cards. If you say Y, you will be asked for your specific card in the following questions. If you are unsure, say Y. config NET_POCKET bool "Pocket and portable adapters" depends on PARPORT ---help--- Cute little network (Ethernet) devices which attach to the parallel port ("pocket adapters"), commonly used with laptops. If you have one of those, say Y and read the Ethernet-HOWTO, available from . If you want to plug a network (or some other) card into the PCMCIA (or PC-card) slot of your laptop instead (PCMCIA is the standard for credit card size extension cards used by all modern laptops), you need the pcmcia-cs package (location contained in the file ) and you can say N here. Laptop users should read the Linux Laptop home page at or Tuxmobil - Linux on Mobile Computers at . Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about this class of network devices. If you say Y, you will be asked for your specific device in the following questions. endif # NET_ETHERNET # # Gigabit Ethernet # menuconfig NETDEV_1000 bool "Ethernet (1000 Mbit)" depends on !UML default y ---help--- Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common type of Local Area Network (LAN) in universities and companies. Say Y here to get to see options for Gigabit Ethernet drivers. This option alone does not add any kernel code. Note that drivers supporting both 100 and 1000 MBit may be listed under "Ethernet (10 or 100MBit)" instead. If you say N, all options in this submenu will be skipped and disabled. if NETDEV_1000 endif # NETDEV_1000 # # 10 Gigabit Ethernet # menuconfig NETDEV_10000 bool "Ethernet (10000 Mbit)" depends on !UML default y ---help--- Say Y here to get to see options for 10 Gigabit Ethernet drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if NETDEV_10000 config MDIO tristate config SUNGEM_PHY tristate endif # NETDEV_10000 source "drivers/net/tokenring/Kconfig" source "drivers/net/wireless/Kconfig" source "drivers/net/wimax/Kconfig" source "drivers/net/usb/Kconfig" source "drivers/net/pcmcia/Kconfig" source "drivers/net/wan/Kconfig" source "drivers/atm/Kconfig" source "drivers/ieee802154/Kconfig" source "drivers/s390/net/Kconfig" source "drivers/net/caif/Kconfig" config XEN_NETDEV_FRONTEND tristate "Xen network device frontend driver" depends on XEN select XEN_XENBUS_FRONTEND default y help This driver provides support for Xen paravirtual network devices exported by a Xen network driver domain (often domain 0). The corresponding Linux backend driver is enabled by the CONFIG_XEN_NETDEV_BACKEND option. If you are compiling a kernel for use as Xen guest, you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netfront. config XEN_NETDEV_BACKEND tristate "Xen backend network device" depends on XEN_BACKEND help This driver allows the kernel to act as a Xen network driver domain which exports paravirtual network devices to other Xen domains. These devices can be accessed by any operating system that implements a compatible front end. The corresponding Linux frontend driver is enabled by the CONFIG_XEN_NETDEV_FRONTEND configuration option. The backend driver presents a standard network device endpoint for each paravirtual network device to the driver domain network stack. These can then be bridged or routed etc in order to provide full network connectivity. If you are compiling a kernel to run in a Xen network driver domain (often this is domain 0) you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netback. config RIONET tristate "RapidIO Ethernet over messaging driver support" depends on RAPIDIO config RIONET_TX_SIZE int "Number of outbound queue entries" depends on RIONET default "128" config RIONET_RX_SIZE int "Number of inbound queue entries" depends on RIONET default "128" config FDDI tristate "FDDI driver support" depends on (PCI || EISA || TC) help Fiber Distributed Data Interface is a high speed local area network design; essentially a replacement for high speed Ethernet. FDDI can run over copper or fiber. If you are connected to such a network and want a driver for the FDDI card in your computer, say Y here (and then also Y to the driver for your FDDI card, below). Most people will say N. config DEFXX tristate "Digital DEFTA/DEFEA/DEFPA adapter support" depends on FDDI && (PCI || EISA || TC) ---help--- This is support for the DIGITAL series of TURBOchannel (DEFTA), EISA (DEFEA) and PCI (DEFPA) controllers which can connect you to a local FDDI network. To compile this driver as a module, choose M here: the module will be called defxx. If unsure, say N. config DEFXX_MMIO bool prompt "Use MMIO instead of PIO" if PCI || EISA depends on DEFXX default n if PCI || EISA default y ---help--- This instructs the driver to use EISA or PCI memory-mapped I/O (MMIO) as appropriate instead of programmed I/O ports (PIO). Enabling this gives an improvement in processing time in parts of the driver, but it may cause problems with EISA (DEFEA) adapters. TURBOchannel does not have the concept of I/O ports, so MMIO is always used for these (DEFTA) adapters. If unsure, say N. config SKFP tristate "SysKonnect FDDI PCI support" depends on FDDI && PCI select BITREVERSE ---help--- Say Y here if you have a SysKonnect FDDI PCI adapter. The following adapters are supported by this driver: - SK-5521 (SK-NET FDDI-UP) - SK-5522 (SK-NET FDDI-UP DAS) - SK-5541 (SK-NET FDDI-FP) - SK-5543 (SK-NET FDDI-LP) - SK-5544 (SK-NET FDDI-LP DAS) - SK-5821 (SK-NET FDDI-UP64) - SK-5822 (SK-NET FDDI-UP64 DAS) - SK-5841 (SK-NET FDDI-FP64) - SK-5843 (SK-NET FDDI-LP64) - SK-5844 (SK-NET FDDI-LP64 DAS) - Netelligent 100 FDDI DAS Fibre SC - Netelligent 100 FDDI SAS Fibre SC - Netelligent 100 FDDI DAS UTP - Netelligent 100 FDDI SAS UTP - Netelligent 100 FDDI SAS Fibre MIC Read for information about the driver. Questions concerning this driver can be addressed to: To compile this driver as a module, choose M here: the module will be called skfp. This is recommended. config HIPPI bool "HIPPI driver support (EXPERIMENTAL)" depends on EXPERIMENTAL && INET && PCI help HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI can run over copper (25m) or fiber (300m on multi-mode or 10km on single-mode). HIPPI networks are commonly used for clusters and to connect to super computers. If you are connected to a HIPPI network and have a HIPPI network card in your computer that you want to use under Linux, say Y here (you must also remember to enable the driver for your HIPPI card below). Most people will say N here. config ROADRUNNER tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)" depends on HIPPI && PCI help Say Y here if this is your PCI HIPPI network card. To compile this driver as a module, choose M here: the module will be called rrunner. If unsure, say N. config ROADRUNNER_LARGE_RINGS bool "Use large TX/RX rings (EXPERIMENTAL)" depends on ROADRUNNER help If you say Y here, the RoadRunner driver will preallocate up to 2 MB of additional memory to allow for fastest operation, both for transmitting and receiving. This memory cannot be used by any other kernel code or by user space programs. Say Y here only if you have the memory. config PLIP tristate "PLIP (parallel port) support" depends on PARPORT ---help--- PLIP (Parallel Line Internet Protocol) is used to create a reasonably fast mini network consisting of two (or, rarely, more) local machines. A PLIP link from a Linux box is a popular means to install a Linux distribution on a machine which doesn't have a CD-ROM drive (a minimal system has to be transferred with floppies first). The kernels on both machines need to have this PLIP option enabled for this to work. The PLIP driver has two modes, mode 0 and mode 1. The parallel ports (the connectors at the computers with 25 holes) are connected with "null printer" or "Turbo Laplink" cables which can transmit 4 bits at a time (mode 0) or with special PLIP cables, to be used on bidirectional parallel ports only, which can transmit 8 bits at a time (mode 1); you can find the wiring of these cables in . The cables can be up to 15m long. Mode 0 works also if one of the machines runs DOS/Windows and has some PLIP software installed, e.g. the Crynwr PLIP packet driver () and winsock or NCSA's telnet. If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well as the NET-3-HOWTO, both available from . Note that the PLIP protocol has been changed and this PLIP driver won't work together with the PLIP support in Linux versions 1.0.x. This option enlarges your kernel by about 8 KB. To compile this driver as a module, choose M here. The module will be called plip. If unsure, say Y or M, in case you buy a laptop later. config PPP tristate "PPP (point-to-point protocol) support" select SLHC ---help--- PPP (Point to Point Protocol) is a newer and better SLIP. It serves the same purpose: sending Internet traffic over telephone (and other serial) lines. Ask your access provider if they support it, because otherwise you can't use it; most Internet access providers these days support PPP rather than SLIP. To use PPP, you need an additional program called pppd as described in the PPP-HOWTO, available at . Make sure that you have the version of pppd recommended in . The PPP option enlarges your kernel by about 16 KB. There are actually two versions of PPP: the traditional PPP for asynchronous lines, such as regular analog phone lines, and synchronous PPP which can be used over digital ISDN lines for example. If you want to use PPP over phone lines or other asynchronous serial lines, you need to say Y (or M) here and also to the next option, "PPP support for async serial ports". For PPP over synchronous lines, you should say Y (or M) here and to "Support synchronous PPP", below. If you said Y to "Version information on all symbols" above, then you cannot compile the PPP driver into the kernel; you can then only compile it as a module. To compile this driver as a module, choose M here. The module will be called ppp_generic. config PPP_MULTILINK bool "PPP multilink support (EXPERIMENTAL)" depends on PPP && EXPERIMENTAL help PPP multilink is a protocol (defined in RFC 1990) which allows you to combine several (logical or physical) lines into one logical PPP connection, so that you can utilize your full bandwidth. This has to be supported at the other end as well and you need a version of the pppd daemon which understands the multilink protocol. If unsure, say N. config PPP_FILTER bool "PPP filtering" depends on PPP help Say Y here if you want to be able to filter the packets passing over PPP interfaces. This allows you to control which packets count as activity (i.e. which packets will reset the idle timer or bring up a demand-dialed link) and which packets are to be dropped entirely. You need to say Y here if you wish to use the pass-filter and active-filter options to pppd. If unsure, say N. config PPP_ASYNC tristate "PPP support for async serial ports" depends on PPP select CRC_CCITT ---help--- Say Y (or M) here if you want to be able to use PPP over standard asynchronous serial ports, such as COM1 or COM2 on a PC. If you use a modem (not a synchronous or ISDN modem) to contact your ISP, you need this option. To compile this driver as a module, choose M here. If unsure, say Y. config PPP_SYNC_TTY tristate "PPP support for sync tty ports" depends on PPP help Say Y (or M) here if you want to be able to use PPP over synchronous (HDLC) tty devices, such as the SyncLink adapter. These devices are often used for high-speed leased lines like T1/E1. To compile this driver as a module, choose M here. config PPP_DEFLATE tristate "PPP Deflate compression" depends on PPP select ZLIB_INFLATE select ZLIB_DEFLATE ---help--- Support for the Deflate compression method for PPP, which uses the Deflate algorithm (the same algorithm that gzip uses) to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the Deflate compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. To compile this driver as a module, choose M here. config PPP_BSDCOMP tristate "PPP BSD-Compress compression" depends on PPP ---help--- Support for the BSD-Compress compression method for PPP, which uses the LZW compression method to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the BSD-Compress compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. The PPP Deflate compression method ("PPP Deflate compression", above) is preferable to BSD-Compress, because it compresses better and is patent-free. Note that the BSD compression code will always be compiled as a module; it is called bsd_comp and will show up in the directory modules once you have said "make modules". If unsure, say N. config PPP_MPPE tristate "PPP MPPE compression (encryption) (EXPERIMENTAL)" depends on PPP && EXPERIMENTAL select CRYPTO select CRYPTO_SHA1 select CRYPTO_ARC4 select CRYPTO_ECB ---help--- Support for the MPPE Encryption protocol, as employed by the Microsoft Point-to-Point Tunneling Protocol. See http://pptpclient.sourceforge.net/ for information on configuring PPTP clients and servers to utilize this method. config PPPOE tristate "PPP over Ethernet (EXPERIMENTAL)" depends on EXPERIMENTAL && PPP help Support for PPP over Ethernet. This driver requires the latest version of pppd from the CVS repository at cvs.samba.org. Alternatively, see the RoaringPenguin package () which contains instruction on how to use this driver (under the heading "Kernel mode PPPoE"). config PPTP tristate "PPP over IPv4 (PPTP) (EXPERIMENTAL)" depends on EXPERIMENTAL && PPP && NET_IPGRE_DEMUX help Support for PPP over IPv4.(Point-to-Point Tunneling Protocol) This driver requires pppd plugin to work in client mode or modified pptpd (poptop) to work in server mode. See http://accel-pptp.sourceforge.net/ for information how to utilize this module. config PPPOATM tristate "PPP over ATM" depends on ATM && PPP help Support PPP (Point to Point Protocol) encapsulated in ATM frames. This implementation does not yet comply with section 8 of RFC2364, which can lead to bad results if the ATM peer loses state and changes its encapsulation unilaterally. config PPPOL2TP tristate "PPP over L2TP (EXPERIMENTAL)" depends on EXPERIMENTAL && L2TP && PPP help Support for PPP-over-L2TP socket family. L2TP is a protocol used by ISPs and enterprises to tunnel PPP traffic over UDP tunnels. L2TP is replacing PPTP for VPN uses. config SLIP tristate "SLIP (serial line) support" ---help--- Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to connect to your Internet service provider or to connect to some other local Unix box or if you want to configure your Linux box as a Slip/CSlip server for other people to dial in. SLIP (Serial Line Internet Protocol) is a protocol used to send Internet traffic over serial connections such as telephone lines or null modem cables; nowadays, the protocol PPP is more commonly used for this same purpose. Normally, your access provider has to support SLIP in order for you to be able to use it, but there is now a SLIP emulator called SLiRP around (available from ) which allows you to use SLIP over a regular dial up shell connection. If you plan to use SLiRP, make sure to say Y to CSLIP, below. The NET-3-HOWTO, available from , explains how to configure SLIP. Note that you don't need this option if you just want to run term (term is a program which gives you almost full Internet connectivity if you have a regular dial up shell account on some Internet connected Unix computer. Read ). SLIP support will enlarge your kernel by about 4 KB. If unsure, say N. To compile this driver as a module, choose M here. The module will be called slip. config SLIP_COMPRESSED bool "CSLIP compressed headers" depends on SLIP select SLHC ---help--- This protocol is faster than SLIP because it uses compression on the TCP/IP headers (not on the data itself), but it has to be supported on both ends. Ask your access provider if you are not sure and answer Y, just in case. You will still be able to use plain SLIP. If you plan to use SLiRP, the SLIP emulator (available from ) which allows you to use SLIP over a regular dial up shell connection, you definitely want to say Y here. The NET-3-HOWTO, available from , explains how to configure CSLIP. This won't enlarge your kernel. config SLHC tristate help This option enables Van Jacobsen serial line header compression routines. config SLIP_SMART bool "Keepalive and linefill" depends on SLIP help Adds additional capabilities to the SLIP driver to support the RELCOM line fill and keepalive monitoring. Ideal on poor quality analogue lines. config SLIP_MODE_SLIP6 bool "Six bit SLIP encapsulation" depends on SLIP help Just occasionally you may need to run IP over hostile serial networks that don't pass all control characters or are only seven bit. Saying Y here adds an extra mode you can use with SLIP: "slip6". In this mode, SLIP will only send normal ASCII symbols over the serial device. Naturally, this has to be supported at the other end of the link as well. It's good enough, for example, to run IP over the async ports of a Camtec JNT Pad. If unsure, say N. config NET_FC bool "Fibre Channel driver support" depends on SCSI && PCI help Fibre Channel is a high speed serial protocol mainly used to connect large storage devices to the computer; it is compatible with and intended to replace SCSI. If you intend to use Fibre Channel, you need to have a Fibre channel adaptor card in your computer; say Y here and to the driver for your adaptor below. You also should have said Y to "SCSI support" and "SCSI generic support". config NETCONSOLE tristate "Network console logging support" ---help--- If you want to log kernel messages over the network, enable this. See for details. config NETCONSOLE_DYNAMIC bool "Dynamic reconfiguration of logging targets" depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ !(NETCONSOLE=y && CONFIGFS_FS=m) help This option enables the ability to dynamically reconfigure target parameters (interface, IP addresses, port numbers, MAC addresses) at runtime through a userspace interface exported using configfs. See for details. config NETPOLL def_bool NETCONSOLE config NETPOLL_TRAP bool "Netpoll traffic trapping" default n depends on NETPOLL config NET_POLL_CONTROLLER def_bool NETPOLL config VIRTIO_NET tristate "Virtio network driver (EXPERIMENTAL)" depends on EXPERIMENTAL && VIRTIO ---help--- This is the virtual network driver for virtio. It can be used with lguest or QEMU based VMMs (like KVM or Xen). Say Y or M. config VMXNET3 tristate "VMware VMXNET3 ethernet driver" depends on PCI && INET help This driver supports VMware's vmxnet3 virtual ethernet NIC. To compile this driver as a module, choose M here: the module will be called vmxnet3. endif # NETDEVICES