1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# Network device configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 6d1c0a65fSJan Engelhardtmenuconfig NETDEVICES 7ce2d2aedSPaolo 'Blaisorblade' Giarrusso default y if UML 8e0009820SJan Engelhardt depends on NET 91da177e4SLinus Torvalds bool "Network device support" 101da177e4SLinus Torvalds ---help--- 111da177e4SLinus Torvalds You can say N here if you don't intend to connect your Linux box to 121da177e4SLinus Torvalds any other computer at all. 131da177e4SLinus Torvalds 141da177e4SLinus Torvalds You'll have to say Y if your computer contains a network card that 151da177e4SLinus Torvalds you want to use under Linux. If you are going to run SLIP or PPP over 161da177e4SLinus Torvalds telephone line or null modem cable you need say Y here. Connecting 171da177e4SLinus Torvalds two machines with parallel ports using PLIP needs this, as well as 181da177e4SLinus Torvalds AX.25/KISS for sending Internet traffic over amateur radio links. 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds See also "The Linux Network Administrator's Guide" by Olaf Kirch and 211da177e4SLinus Torvalds Terry Dawson. Available at <http://www.tldp.org/guides.html>. 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds If unsure, say Y. 241da177e4SLinus Torvalds 251618cb0cSRandy Dunlap# All the following symbols are dependent on NETDEVICES - do not repeat 261618cb0cSRandy Dunlap# that for each of the symbols. 271618cb0cSRandy Dunlapif NETDEVICES 28cbcd2a4cSRandy Dunlap 29a1606c7dSBen Hutchingsconfig MII 30a1606c7dSBen Hutchings tristate 31a1606c7dSBen Hutchings 3288491d81SJeff Kirsherconfig NET_CORE 3388491d81SJeff Kirsher default y 3488491d81SJeff Kirsher bool "Network core driver support" 35253af423SJamal Hadi Salim ---help--- 3688491d81SJeff Kirsher You can say N here if you do not intend to use any of the 3788491d81SJeff Kirsher networking core drivers (i.e. VLAN, bridging, bonding, etc.) 3888491d81SJeff Kirsher 3988491d81SJeff Kirsherif NET_CORE 4088491d81SJeff Kirsher 4188491d81SJeff Kirsherconfig BONDING 4288491d81SJeff Kirsher tristate "Bonding driver support" 4388491d81SJeff Kirsher depends on INET 4488491d81SJeff Kirsher depends on IPV6 || IPV6=n 4588491d81SJeff Kirsher ---help--- 4688491d81SJeff Kirsher Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet 4788491d81SJeff Kirsher Channels together. This is called 'Etherchannel' by Cisco, 4888491d81SJeff Kirsher 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. 4988491d81SJeff Kirsher 5088491d81SJeff Kirsher The driver supports multiple bonding modes to allow for both high 5188491d81SJeff Kirsher performance and high availability operation. 5288491d81SJeff Kirsher 5388491d81SJeff Kirsher Refer to <file:Documentation/networking/bonding.txt> for more 5488491d81SJeff Kirsher information. 5588491d81SJeff Kirsher 56253af423SJamal Hadi Salim To compile this driver as a module, choose M here: the module 5788491d81SJeff Kirsher will be called bonding. 58253af423SJamal Hadi Salim 591da177e4SLinus Torvaldsconfig DUMMY 601da177e4SLinus Torvalds tristate "Dummy net driver support" 611da177e4SLinus Torvalds ---help--- 621da177e4SLinus Torvalds This is essentially a bit-bucket device (i.e. traffic you send to 631da177e4SLinus Torvalds this device is consigned into oblivion) with a configurable IP 641da177e4SLinus Torvalds address. It is most commonly used in order to make your currently 651da177e4SLinus Torvalds inactive SLIP address seem like a real address for local programs. 669f5db535SIvan Babrou If you use SLIP or PPP, you might want to say Y here. It won't 679f5db535SIvan Babrou enlarge your kernel. What a deal. Read about it in the Network 681da177e4SLinus Torvalds Administrator's Guide, available from 691da177e4SLinus Torvalds <http://www.tldp.org/docs.html#guide>. 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 729f486619SAlan Cox will be called dummy. 731da177e4SLinus Torvalds 74*e7096c13SJason A. Donenfeldconfig WIREGUARD 75*e7096c13SJason A. Donenfeld tristate "WireGuard secure network tunnel" 76*e7096c13SJason A. Donenfeld depends on NET && INET 77*e7096c13SJason A. Donenfeld depends on IPV6 || !IPV6 78*e7096c13SJason A. Donenfeld select NET_UDP_TUNNEL 79*e7096c13SJason A. Donenfeld select DST_CACHE 80*e7096c13SJason A. Donenfeld select CRYPTO 81*e7096c13SJason A. Donenfeld select CRYPTO_LIB_CURVE25519 82*e7096c13SJason A. Donenfeld select CRYPTO_LIB_CHACHA20POLY1305 83*e7096c13SJason A. Donenfeld select CRYPTO_LIB_BLAKE2S 84*e7096c13SJason A. Donenfeld select CRYPTO_CHACHA20_X86_64 if X86 && 64BIT 85*e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_X86_64 if X86 && 64BIT 86*e7096c13SJason A. Donenfeld select CRYPTO_BLAKE2S_X86 if X86 && 64BIT 87*e7096c13SJason A. Donenfeld select CRYPTO_CURVE25519_X86 if X86 && 64BIT 88*e7096c13SJason A. Donenfeld select CRYPTO_CHACHA20_NEON if (ARM || ARM64) && KERNEL_MODE_NEON 89*e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON 90*e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_ARM if ARM 91*e7096c13SJason A. Donenfeld select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON 92*e7096c13SJason A. Donenfeld select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 93*e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_MIPS if CPU_MIPS32 || (CPU_MIPS64 && 64BIT) 94*e7096c13SJason A. Donenfeld help 95*e7096c13SJason A. Donenfeld WireGuard is a secure, fast, and easy to use replacement for IPSec 96*e7096c13SJason A. Donenfeld that uses modern cryptography and clever networking tricks. It's 97*e7096c13SJason A. Donenfeld designed to be fairly general purpose and abstract enough to fit most 98*e7096c13SJason A. Donenfeld use cases, while at the same time remaining extremely simple to 99*e7096c13SJason A. Donenfeld configure. See www.wireguard.com for more info. 100*e7096c13SJason A. Donenfeld 101*e7096c13SJason A. Donenfeld It's safe to say Y or M here, as the driver is very lightweight and 102*e7096c13SJason A. Donenfeld is only in use when an administrator chooses to add an interface. 103*e7096c13SJason A. Donenfeld 104*e7096c13SJason A. Donenfeldconfig WIREGUARD_DEBUG 105*e7096c13SJason A. Donenfeld bool "Debugging checks and verbose messages" 106*e7096c13SJason A. Donenfeld depends on WIREGUARD 107*e7096c13SJason A. Donenfeld help 108*e7096c13SJason A. Donenfeld This will write log messages for handshake and other events 109*e7096c13SJason A. Donenfeld that occur for a WireGuard interface. It will also perform some 110*e7096c13SJason A. Donenfeld extra validation checks and unit tests at various points. This is 111*e7096c13SJason A. Donenfeld only useful for debugging. 112*e7096c13SJason A. Donenfeld 113*e7096c13SJason A. Donenfeld Say N here unless you know what you're doing. 114*e7096c13SJason A. Donenfeld 11588491d81SJeff Kirsherconfig EQUALIZER 11688491d81SJeff Kirsher tristate "EQL (serial line load balancing) support" 1171da177e4SLinus Torvalds ---help--- 11888491d81SJeff Kirsher If you have two serial connections to some other computer (this 11988491d81SJeff Kirsher usually requires two modems and two telephone lines) and you use 12088491d81SJeff Kirsher SLIP (the protocol for sending Internet traffic over telephone 12188491d81SJeff Kirsher lines) or PPP (a better SLIP) on them, you can make them behave like 12288491d81SJeff Kirsher one double speed connection using this driver. Naturally, this has 12388491d81SJeff Kirsher to be supported at the other end as well, either with a similar EQL 12488491d81SJeff Kirsher Linux driver or with a Livingston Portmaster 2e. 1251da177e4SLinus Torvalds 12688491d81SJeff Kirsher Say Y if you want this and read 12788491d81SJeff Kirsher <file:Documentation/networking/eql.txt>. You may also want to read 12888491d81SJeff Kirsher section 6.2 of the NET-3-HOWTO, available from 12988491d81SJeff Kirsher <http://www.tldp.org/docs.html#howto>. 1301da177e4SLinus Torvalds 1311da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 13288491d81SJeff Kirsher will be called eql. If unsure, say N. 13388491d81SJeff Kirsher 13488491d81SJeff Kirsherconfig NET_FC 13588491d81SJeff Kirsher bool "Fibre Channel driver support" 13688491d81SJeff Kirsher depends on SCSI && PCI 13788491d81SJeff Kirsher help 13888491d81SJeff Kirsher Fibre Channel is a high speed serial protocol mainly used to connect 13988491d81SJeff Kirsher large storage devices to the computer; it is compatible with and 14088491d81SJeff Kirsher intended to replace SCSI. 14188491d81SJeff Kirsher 14288491d81SJeff Kirsher If you intend to use Fibre Channel, you need to have a Fibre channel 14388491d81SJeff Kirsher adaptor card in your computer; say Y here and to the driver for your 14488491d81SJeff Kirsher adaptor below. You also should have said Y to "SCSI support" and 14588491d81SJeff Kirsher "SCSI generic support". 14688491d81SJeff Kirsher 14788491d81SJeff Kirsherconfig IFB 14888491d81SJeff Kirsher tristate "Intermediate Functional Block support" 14988491d81SJeff Kirsher depends on NET_CLS_ACT 15088491d81SJeff Kirsher ---help--- 15188491d81SJeff Kirsher This is an intermediate driver that allows sharing of 15288491d81SJeff Kirsher resources. 15388491d81SJeff Kirsher To compile this driver as a module, choose M here: the module 15488491d81SJeff Kirsher will be called ifb. If you want to use more than one ifb 15588491d81SJeff Kirsher device at a time, you need to compile this driver as a module. 15688491d81SJeff Kirsher Instead of 'ifb', the devices will then be called 'ifb0', 15788491d81SJeff Kirsher 'ifb1' etc. 15888491d81SJeff Kirsher Look at the iproute2 documentation directory for usage etc 1591da177e4SLinus Torvalds 1603d249d4cSJiri Pirkosource "drivers/net/team/Kconfig" 1613d249d4cSJiri Pirko 162b863ceb7SPatrick McHardyconfig MACVLAN 163bd085b93SKees Cook tristate "MAC-VLAN support" 164b863ceb7SPatrick McHardy ---help--- 165b863ceb7SPatrick McHardy This allows one to create virtual interfaces that map packets to 166b863ceb7SPatrick McHardy or from specific MAC addresses to a particular interface. 167b863ceb7SPatrick McHardy 1683dbf8d56SPatrick McHardy Macvlan devices can be added using the "ip" command from the 1693dbf8d56SPatrick McHardy iproute2 package starting with the iproute2-2.6.23 release: 1703dbf8d56SPatrick McHardy 1713dbf8d56SPatrick McHardy "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" 1723dbf8d56SPatrick McHardy 173b863ceb7SPatrick McHardy To compile this driver as a module, choose M here: the module 174b863ceb7SPatrick McHardy will be called macvlan. 175b863ceb7SPatrick McHardy 17620d29d7aSArnd Bergmannconfig MACVTAP 177bd085b93SKees Cook tristate "MAC-VLAN based tap driver" 17820d29d7aSArnd Bergmann depends on MACVLAN 179de11b0e8SBen Hutchings depends on INET 1809a393b5dSSainath Grandhi select TAP 18120d29d7aSArnd Bergmann help 18220d29d7aSArnd Bergmann This adds a specialized tap character device driver that is based 18320d29d7aSArnd Bergmann on the MAC-VLAN network interface, called macvtap. A macvtap device 18420d29d7aSArnd Bergmann can be added in the same way as a macvlan device, using 'type 185c7966b52SJan Luebbe macvtap', and then be accessed through the tap user space interface. 18620d29d7aSArnd Bergmann 18720d29d7aSArnd Bergmann To compile this driver as a module, choose M here: the module 18820d29d7aSArnd Bergmann will be called macvtap. 18920d29d7aSArnd Bergmann 190c675e06aSDaniel Borkmannconfig IPVLAN_L3S 191c675e06aSDaniel Borkmann depends on NETFILTER 192a37d45b6SRandy Dunlap depends on IPVLAN 193c675e06aSDaniel Borkmann def_bool y 194c675e06aSDaniel Borkmann select NET_L3_MASTER_DEV 1952ad7bf36SMahesh Bandewar 1962ad7bf36SMahesh Bandewarconfig IPVLAN 1972ad7bf36SMahesh Bandewar tristate "IP-VLAN support" 198265de6d1SMahesh Bandewar depends on INET 1997f897db3SArnd Bergmann depends on IPV6 || !IPV6 2002ad7bf36SMahesh Bandewar ---help--- 2012ad7bf36SMahesh Bandewar This allows one to create virtual devices off of a main interface 2022ad7bf36SMahesh Bandewar and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) 2032ad7bf36SMahesh Bandewar on packets. All interfaces (including the main interface) share L2 2042ad7bf36SMahesh Bandewar making it transparent to the connected L2 switch. 2052ad7bf36SMahesh Bandewar 2062ad7bf36SMahesh Bandewar Ipvlan devices can be added using the "ip" command from the 207f4c2b7a0SMahesh Bandewar iproute2 package starting with the iproute2-3.19 release: 2082ad7bf36SMahesh Bandewar 2092ad7bf36SMahesh Bandewar "ip link add link <main-dev> [ NAME ] type ipvlan" 2102ad7bf36SMahesh Bandewar 2112ad7bf36SMahesh Bandewar To compile this driver as a module, choose M here: the module 2122ad7bf36SMahesh Bandewar will be called ipvlan. 2132ad7bf36SMahesh Bandewar 214235a9d89SSainath Grandhiconfig IPVTAP 215235a9d89SSainath Grandhi tristate "IP-VLAN based tap driver" 216235a9d89SSainath Grandhi depends on IPVLAN 217235a9d89SSainath Grandhi depends on INET 218235a9d89SSainath Grandhi select TAP 219235a9d89SSainath Grandhi ---help--- 220235a9d89SSainath Grandhi This adds a specialized tap character device driver that is based 221235a9d89SSainath Grandhi on the IP-VLAN network interface, called ipvtap. An ipvtap device 222235a9d89SSainath Grandhi can be added in the same way as a ipvlan device, using 'type 223235a9d89SSainath Grandhi ipvtap', and then be accessed through the tap user space interface. 224235a9d89SSainath Grandhi 225235a9d89SSainath Grandhi To compile this driver as a module, choose M here: the module 226235a9d89SSainath Grandhi will be called ipvtap. 2272ad7bf36SMahesh Bandewar 228d342894cSstephen hemmingerconfig VXLAN 229d342894cSstephen hemminger tristate "Virtual eXtensible Local Area Network (VXLAN)" 230c9b20a5eSKees Cook depends on INET 2313ee64f39STom Herbert select NET_UDP_TUNNEL 23297e219b7SEric Dumazet select GRO_CELLS 233d342894cSstephen hemminger ---help--- 234d342894cSstephen hemminger This allows one to create vxlan virtual interfaces that provide 235d342894cSstephen hemminger Layer 2 Networks over Layer 3 Networks. VXLAN is often used 236d342894cSstephen hemminger to tunnel virtual network infrastructure in virtualized environments. 237d342894cSstephen hemminger For more information see: 238d342894cSstephen hemminger http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 239d342894cSstephen hemminger 240d342894cSstephen hemminger To compile this driver as a module, choose M here: the module 241d342894cSstephen hemminger will be called vxlan. 242d342894cSstephen hemminger 2432d07dc79SJohn W. Linvilleconfig GENEVE 244371bd106SPravin B Shelar tristate "Generic Network Virtualization Encapsulation" 245a7603ac1SMatteo Croce depends on INET 246094be092STobias Regnery depends on IPV6 || !IPV6 247a7603ac1SMatteo Croce select NET_UDP_TUNNEL 24897e219b7SEric Dumazet select GRO_CELLS 2492d07dc79SJohn W. Linville ---help--- 2502d07dc79SJohn W. Linville This allows one to create geneve virtual interfaces that provide 2512d07dc79SJohn W. Linville Layer 2 Networks over Layer 3 Networks. GENEVE is often used 2522d07dc79SJohn W. Linville to tunnel virtual network infrastructure in virtualized environments. 2532d07dc79SJohn W. Linville For more information see: 2542d07dc79SJohn W. Linville http://tools.ietf.org/html/draft-gross-geneve-02 2552d07dc79SJohn W. Linville 2562d07dc79SJohn W. Linville To compile this driver as a module, choose M here: the module 2572d07dc79SJohn W. Linville will be called geneve. 2582d07dc79SJohn W. Linville 259459aa660SPablo Neiraconfig GTP 260459aa660SPablo Neira tristate "GPRS Tunneling Protocol datapath (GTP-U)" 261c22da366SMatteo Croce depends on INET 262c22da366SMatteo Croce select NET_UDP_TUNNEL 263459aa660SPablo Neira ---help--- 264459aa660SPablo Neira This allows one to create gtp virtual interfaces that provide 265459aa660SPablo Neira the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol 266459aa660SPablo Neira is used to prevent subscribers from accessing mobile carrier core 267459aa660SPablo Neira network infrastructure. This driver requires a userspace software that 268459aa660SPablo Neira implements the signaling protocol (GTP-C) to update its PDP context 269459aa660SPablo Neira base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This 270459aa660SPablo Neira tunneling protocol is implemented according to the GSM TS 09.60 and 271459aa660SPablo Neira 3GPP TS 29.060 standards. 272459aa660SPablo Neira 273459aa660SPablo Neira To compile this drivers as a module, choose M here: the module 274459aa660SPablo Neira wil be called gtp. 275459aa660SPablo Neira 276c09440f7SSabrina Dubrocaconfig MACSEC 277c09440f7SSabrina Dubroca tristate "IEEE 802.1AE MAC-level encryption (MACsec)" 278ab2ed017SArnd Bergmann select CRYPTO 279c09440f7SSabrina Dubroca select CRYPTO_AES 280c09440f7SSabrina Dubroca select CRYPTO_GCM 28197e219b7SEric Dumazet select GRO_CELLS 282c09440f7SSabrina Dubroca ---help--- 283c09440f7SSabrina Dubroca MACsec is an encryption standard for Ethernet. 284c09440f7SSabrina Dubroca 28588491d81SJeff Kirsherconfig NETCONSOLE 28688491d81SJeff Kirsher tristate "Network console logging support" 2871da177e4SLinus Torvalds ---help--- 28888491d81SJeff Kirsher If you want to log kernel messages over the network, enable this. 28988491d81SJeff Kirsher See <file:Documentation/networking/netconsole.txt> for details. 2901da177e4SLinus Torvalds 29188491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC 29288491d81SJeff Kirsher bool "Dynamic reconfiguration of logging targets" 29388491d81SJeff Kirsher depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ 29488491d81SJeff Kirsher !(NETCONSOLE=y && CONFIGFS_FS=m) 29588491d81SJeff Kirsher help 29688491d81SJeff Kirsher This option enables the ability to dynamically reconfigure target 29788491d81SJeff Kirsher parameters (interface, IP addresses, port numbers, MAC addresses) 29888491d81SJeff Kirsher at runtime through a userspace interface exported using configfs. 29988491d81SJeff Kirsher See <file:Documentation/networking/netconsole.txt> for details. 3001da177e4SLinus Torvalds 30188491d81SJeff Kirsherconfig NETPOLL 30288491d81SJeff Kirsher def_bool NETCONSOLE 30383fe27eaSPranith Kumar select SRCU 30488491d81SJeff Kirsher 30588491d81SJeff Kirsherconfig NET_POLL_CONTROLLER 30688491d81SJeff Kirsher def_bool NETPOLL 30788491d81SJeff Kirsher 308548c237cSJon Masonconfig NTB_NETDEV 309ec110bc7SAllen Hubbe tristate "Virtual Ethernet over NTB Transport" 310ec110bc7SAllen Hubbe depends on NTB_TRANSPORT 311548c237cSJon Mason 31288491d81SJeff Kirsherconfig RIONET 31388491d81SJeff Kirsher tristate "RapidIO Ethernet over messaging driver support" 31488491d81SJeff Kirsher depends on RAPIDIO 31588491d81SJeff Kirsher 31688491d81SJeff Kirsherconfig RIONET_TX_SIZE 31788491d81SJeff Kirsher int "Number of outbound queue entries" 31888491d81SJeff Kirsher depends on RIONET 31988491d81SJeff Kirsher default "128" 32088491d81SJeff Kirsher 32188491d81SJeff Kirsherconfig RIONET_RX_SIZE 32288491d81SJeff Kirsher int "Number of inbound queue entries" 32388491d81SJeff Kirsher depends on RIONET 32488491d81SJeff Kirsher default "128" 3251da177e4SLinus Torvalds 3261da177e4SLinus Torvaldsconfig TUN 3271da177e4SLinus Torvalds tristate "Universal TUN/TAP device driver support" 328de11b0e8SBen Hutchings depends on INET 3291da177e4SLinus Torvalds select CRC32 3301da177e4SLinus Torvalds ---help--- 3311da177e4SLinus Torvalds TUN/TAP provides packet reception and transmission for user space 3321da177e4SLinus Torvalds programs. It can be viewed as a simple Point-to-Point or Ethernet 3331da177e4SLinus Torvalds device, which instead of receiving packets from a physical media, 3341da177e4SLinus Torvalds receives them from user space program and instead of sending packets 3351da177e4SLinus Torvalds via physical media writes them to the user space program. 3361da177e4SLinus Torvalds 3371da177e4SLinus Torvalds When a program opens /dev/net/tun, driver creates and registers 3381da177e4SLinus Torvalds corresponding net device tunX or tapX. After a program closed above 3391da177e4SLinus Torvalds devices, driver will automatically delete tunXX or tapXX device and 3401da177e4SLinus Torvalds all routes corresponding to it. 3411da177e4SLinus Torvalds 3421da177e4SLinus Torvalds Please read <file:Documentation/networking/tuntap.txt> for more 3431da177e4SLinus Torvalds information. 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 3461da177e4SLinus Torvalds will be called tun. 3471da177e4SLinus Torvalds 3481da177e4SLinus Torvalds If you don't know what to use this for, you don't need it. 3491da177e4SLinus Torvalds 3509a393b5dSSainath Grandhiconfig TAP 3519a393b5dSSainath Grandhi tristate 3529a393b5dSSainath Grandhi ---help--- 3539a393b5dSSainath Grandhi This option is selected by any driver implementing tap user space 3549a393b5dSSainath Grandhi interface for a virtual interface to re-use core tap functionality. 3559a393b5dSSainath Grandhi 3568b8e658bSGreg Kurzconfig TUN_VNET_CROSS_LE 3578b8e658bSGreg Kurz bool "Support for cross-endian vnet headers on little-endian kernels" 3588b8e658bSGreg Kurz default n 3598b8e658bSGreg Kurz ---help--- 3608b8e658bSGreg Kurz This option allows TUN/TAP and MACVTAP device drivers in a 3618b8e658bSGreg Kurz little-endian kernel to parse vnet headers that come from a 3628b8e658bSGreg Kurz big-endian legacy virtio device. 3638b8e658bSGreg Kurz 3648b8e658bSGreg Kurz Userspace programs can control the feature using the TUNSETVNETBE 3658b8e658bSGreg Kurz and TUNGETVNETBE ioctls. 3668b8e658bSGreg Kurz 3678b8e658bSGreg Kurz Unless you have a little-endian system hosting a big-endian virtual 3688b8e658bSGreg Kurz machine with a legacy virtio NIC, you should say N. 3698b8e658bSGreg Kurz 370e314dbdcSPavel Emelyanovconfig VETH 3716a9a0250SRusty Russell tristate "Virtual ethernet pair device" 372e314dbdcSPavel Emelyanov ---help--- 3736a9a0250SRusty Russell This device is a local ethernet tunnel. Devices are created in pairs. 3746a9a0250SRusty Russell When one end receives the packet it appears on its pair and vice 3756a9a0250SRusty Russell versa. 376e314dbdcSPavel Emelyanov 37788491d81SJeff Kirsherconfig VIRTIO_NET 378bd085b93SKees Cook tristate "Virtio network driver" 379bd085b93SKees Cook depends on VIRTIO 380ba5e4426SSridhar Samudrala select NET_FAILOVER 38188491d81SJeff Kirsher ---help--- 38288491d81SJeff Kirsher This is the virtual network driver for virtio. It can be used with 383ecda85e7SJuergen Gross QEMU based VMMs (like KVM or Xen). Say Y or M. 38488491d81SJeff Kirsher 385e4fc408eSDaniel Borkmannconfig NLMON 386e4fc408eSDaniel Borkmann tristate "Virtual netlink monitoring device" 387e4fc408eSDaniel Borkmann ---help--- 388e4fc408eSDaniel Borkmann This option enables a monitoring net device for netlink skbs. The 389e4fc408eSDaniel Borkmann purpose of this is to analyze netlink messages with packet sockets. 390e4fc408eSDaniel Borkmann Thus applications like tcpdump will be able to see local netlink 391e4fc408eSDaniel Borkmann messages if they tap into the netlink device, record pcaps for further 392e4fc408eSDaniel Borkmann diagnostics, etc. This is mostly intended for developers or support 393e4fc408eSDaniel Borkmann to debug netlink issues. If unsure, say N. 394e4fc408eSDaniel Borkmann 395193125dbSDavid Ahernconfig NET_VRF 396193125dbSDavid Ahern tristate "Virtual Routing and Forwarding (Lite)" 39735402e31SDavid Ahern depends on IP_MULTIPLE_TABLES 398ee15ee5dSDavid Ahern depends on NET_L3_MASTER_DEV 39935402e31SDavid Ahern depends on IPV6 || IPV6=n 40035402e31SDavid Ahern depends on IPV6_MULTIPLE_TABLES || IPV6=n 401193125dbSDavid Ahern ---help--- 402193125dbSDavid Ahern This option enables the support for mapping interfaces into VRF's. The 403193125dbSDavid Ahern support enables VRF devices. 404193125dbSDavid Ahern 4050b2e6644SGerard Garciaconfig VSOCKMON 4060b2e6644SGerard Garcia tristate "Virtual vsock monitoring device" 4070b2e6644SGerard Garcia depends on VHOST_VSOCK 4080b2e6644SGerard Garcia ---help--- 4090b2e6644SGerard Garcia This option enables a monitoring net device for vsock sockets. It is 4100b2e6644SGerard Garcia mostly intended for developers or support to debug vsock issues. If 4110b2e6644SGerard Garcia unsure, say N. 4120b2e6644SGerard Garcia 41388491d81SJeff Kirsherendif # NET_CORE 41488491d81SJeff Kirsher 41588491d81SJeff Kirsherconfig SUNGEM_PHY 41688491d81SJeff Kirsher tristate 41788491d81SJeff Kirsher 41888491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig" 41988491d81SJeff Kirsher 42088491d81SJeff Kirshersource "drivers/atm/Kconfig" 42188491d81SJeff Kirsher 42288491d81SJeff Kirshersource "drivers/net/caif/Kconfig" 42388491d81SJeff Kirsher 4243b158859SBen Hutchingssource "drivers/net/dsa/Kconfig" 4253b158859SBen Hutchings 42688491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig" 42788491d81SJeff Kirsher 42888491d81SJeff Kirshersource "drivers/net/fddi/Kconfig" 42988491d81SJeff Kirsher 430fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig" 431fecc7351SPaul Bolle 4321da177e4SLinus Torvaldsconfig NET_SB1000 4331da177e4SLinus Torvalds tristate "General Instruments Surfboard 1000" 434cbcd2a4cSRandy Dunlap depends on PNP 4351da177e4SLinus Torvalds ---help--- 4361da177e4SLinus Torvalds This is a driver for the General Instrument (also known as 4371da177e4SLinus Torvalds NextLevel) SURFboard 1000 internal 4381da177e4SLinus Torvalds cable modem. This is an ISA card which is used by a number of cable 4391da177e4SLinus Torvalds TV companies to provide cable modem access. It's a one-way 4401da177e4SLinus Torvalds downstream-only cable modem, meaning that your upstream net link is 4411da177e4SLinus Torvalds provided by your regular phone modem. 4421da177e4SLinus Torvalds 4431da177e4SLinus Torvalds At present this driver only compiles as a module, so say M here if 4441da177e4SLinus Torvalds you have this card. The module will be called sb1000. Then read 445b255e500SJakub Kicinski <file:Documentation/networking/device_drivers/sb1000.txt> for 446b255e500SJakub Kicinski information on how to use this module, as it needs special ppp 447b255e500SJakub Kicinski scripts for establishing a connection. Further documentation 448b255e500SJakub Kicinski and the necessary scripts can be found at: 4491da177e4SLinus Torvalds 4501da177e4SLinus Torvalds <http://www.jacksonville.net/~fventuri/> 4511da177e4SLinus Torvalds <http://home.adelphia.net/~siglercm/sb1000.html> 4521da177e4SLinus Torvalds <http://linuxpower.cx/~cable/> 4531da177e4SLinus Torvalds 4541da177e4SLinus Torvalds If you don't have this card, of course say N. 4551da177e4SLinus Torvalds 45600db8189SAndy Flemingsource "drivers/net/phy/Kconfig" 45700db8189SAndy Fleming 45818e635f4SJeff Kirshersource "drivers/net/plip/Kconfig" 45918e635f4SJeff Kirsher 46088491d81SJeff Kirshersource "drivers/net/ppp/Kconfig" 46188491d81SJeff Kirsher 462b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig" 463b5451d78SJeff Kirsher 46488491d81SJeff Kirshersource "drivers/s390/net/Kconfig" 46588491d81SJeff Kirsher 46688491d81SJeff Kirshersource "drivers/net/usb/Kconfig" 46788491d81SJeff Kirsher 4681da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig" 4691da177e4SLinus Torvalds 470143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig" 471143ee2d5SInaky Perez-Gonzalez 4721da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig" 4731da177e4SLinus Torvalds 4740739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig" 4750739d643Salex.bluesman.smirnov@gmail.com 4760d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND 4770d160211SJeremy Fitzhardinge tristate "Xen network device frontend driver" 4780d160211SJeremy Fitzhardinge depends on XEN 4797003087cSJeremy Fitzhardinge select XEN_XENBUS_FRONTEND 4800d160211SJeremy Fitzhardinge default y 4810d160211SJeremy Fitzhardinge help 482f942dc25SIan Campbell This driver provides support for Xen paravirtual network 483f942dc25SIan Campbell devices exported by a Xen network driver domain (often 484f942dc25SIan Campbell domain 0). 485f942dc25SIan Campbell 486f942dc25SIan Campbell The corresponding Linux backend driver is enabled by the 487f942dc25SIan Campbell CONFIG_XEN_NETDEV_BACKEND option. 488f942dc25SIan Campbell 489f942dc25SIan Campbell If you are compiling a kernel for use as Xen guest, you 490f942dc25SIan Campbell should say Y here. To compile this driver as a module, chose 491f942dc25SIan Campbell M here: the module will be called xen-netfront. 492f942dc25SIan Campbell 493f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND 494f942dc25SIan Campbell tristate "Xen backend network device" 495f942dc25SIan Campbell depends on XEN_BACKEND 496f942dc25SIan Campbell help 497f942dc25SIan Campbell This driver allows the kernel to act as a Xen network driver 498f942dc25SIan Campbell domain which exports paravirtual network devices to other 499f942dc25SIan Campbell Xen domains. These devices can be accessed by any operating 500f942dc25SIan Campbell system that implements a compatible front end. 501f942dc25SIan Campbell 502f942dc25SIan Campbell The corresponding Linux frontend driver is enabled by the 503f942dc25SIan Campbell CONFIG_XEN_NETDEV_FRONTEND configuration option. 504f942dc25SIan Campbell 505f942dc25SIan Campbell The backend driver presents a standard network device 506f942dc25SIan Campbell endpoint for each paravirtual network device to the driver 507f942dc25SIan Campbell domain network stack. These can then be bridged or routed 508f942dc25SIan Campbell etc in order to provide full network connectivity. 509f942dc25SIan Campbell 510f942dc25SIan Campbell If you are compiling a kernel to run in a Xen network driver 511f942dc25SIan Campbell domain (often this is domain 0) you should say Y here. To 512f942dc25SIan Campbell compile this driver as a module, chose M here: the module 513f942dc25SIan Campbell will be called xen-netback. 5140d160211SJeremy Fitzhardinge 515d1a890faSShreyas Bhatewaraconfig VMXNET3 516d1a890faSShreyas Bhatewara tristate "VMware VMXNET3 ethernet driver" 517115924b6SShreyas Bhatewara depends on PCI && INET 518fbdf0e28SArnd Bergmann depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \ 519fbdf0e28SArnd Bergmann IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \ 520fbdf0e28SArnd Bergmann PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES) 521d1a890faSShreyas Bhatewara help 522d1a890faSShreyas Bhatewara This driver supports VMware's vmxnet3 virtual ethernet NIC. 523d1a890faSShreyas Bhatewara To compile this driver as a module, choose M here: the 524d1a890faSShreyas Bhatewara module will be called vmxnet3. 525d1a890faSShreyas Bhatewara 526658d439bSTaku Izumiconfig FUJITSU_ES 527658d439bSTaku Izumi tristate "FUJITSU Extended Socket Network Device driver" 528658d439bSTaku Izumi depends on ACPI 529658d439bSTaku Izumi help 530658d439bSTaku Izumi This driver provides support for Extended Socket network device 531658d439bSTaku Izumi on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. 532658d439bSTaku Izumi 533e69b6c02SAmir Levyconfig THUNDERBOLT_NET 534e69b6c02SAmir Levy tristate "Networking over Thunderbolt cable" 535e69b6c02SAmir Levy depends on THUNDERBOLT && INET 536e69b6c02SAmir Levy help 537e69b6c02SAmir Levy Select this if you want to create network between two 538e69b6c02SAmir Levy computers over a Thunderbolt cable. The driver supports Apple 539e69b6c02SAmir Levy ThunderboltIP protocol and allows communication with any host 540e69b6c02SAmir Levy supporting the same protocol including Windows and macOS. 541e69b6c02SAmir Levy 542e69b6c02SAmir Levy To compile this driver a module, choose M here. The module will be 543e69b6c02SAmir Levy called thunderbolt-net. 544e69b6c02SAmir Levy 54595fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig" 54695fa0405SHaiyang Zhang 54783c9e13aSJakub Kicinskiconfig NETDEVSIM 54883c9e13aSJakub Kicinski tristate "Simulated networking device" 54983c9e13aSJakub Kicinski depends on DEBUG_FS 550f6b19b35SJiri Pirko select NET_DEVLINK 55183c9e13aSJakub Kicinski help 55283c9e13aSJakub Kicinski This driver is a developer testing tool and software model that can 55383c9e13aSJakub Kicinski be used to test various control path networking APIs, especially 55483c9e13aSJakub Kicinski HW-offload related. 55583c9e13aSJakub Kicinski 55683c9e13aSJakub Kicinski To compile this driver as a module, choose M here: the module 55783c9e13aSJakub Kicinski will be called netdevsim. 55883c9e13aSJakub Kicinski 559cfc80d9aSSridhar Samudralaconfig NET_FAILOVER 560cfc80d9aSSridhar Samudrala tristate "Failover driver" 561cfc80d9aSSridhar Samudrala select FAILOVER 562cfc80d9aSSridhar Samudrala help 563cfc80d9aSSridhar Samudrala This provides an automated failover mechanism via APIs to create 564cfc80d9aSSridhar Samudrala and destroy a failover master netdev and manages a primary and 565cfc80d9aSSridhar Samudrala standby slave netdevs that get registered via the generic failover 566cfc80d9aSSridhar Samudrala infrastructure. This can be used by paravirtual drivers to enable 567cfc80d9aSSridhar Samudrala an alternate low latency datapath. It also enables live migration of 568cfc80d9aSSridhar Samudrala a VM with direct attached VF by failing over to the paravirtual 569cfc80d9aSSridhar Samudrala datapath when the VF is unplugged. 570cfc80d9aSSridhar Samudrala 571d1c0a65fSJan Engelhardtendif # NETDEVICES 572