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" 10a7f7f624SMasahiro Yamada 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" 35a7f7f624SMasahiro Yamada 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 45285715acSArnd Bergmann depends on TLS || TLS_DEVICE=n 46a7f7f624SMasahiro Yamada help 4788491d81SJeff Kirsher Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet 4888491d81SJeff Kirsher Channels together. This is called 'Etherchannel' by Cisco, 4988491d81SJeff Kirsher 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. 5088491d81SJeff Kirsher 5188491d81SJeff Kirsher The driver supports multiple bonding modes to allow for both high 5288491d81SJeff Kirsher performance and high availability operation. 5388491d81SJeff Kirsher 54a362032eSMauro Carvalho Chehab Refer to <file:Documentation/networking/bonding.rst> for more 5588491d81SJeff Kirsher information. 5688491d81SJeff Kirsher 57253af423SJamal Hadi Salim To compile this driver as a module, choose M here: the module 5888491d81SJeff Kirsher will be called bonding. 59253af423SJamal Hadi Salim 601da177e4SLinus Torvaldsconfig DUMMY 611da177e4SLinus Torvalds tristate "Dummy net driver support" 62a7f7f624SMasahiro Yamada help 631da177e4SLinus Torvalds This is essentially a bit-bucket device (i.e. traffic you send to 641da177e4SLinus Torvalds this device is consigned into oblivion) with a configurable IP 651da177e4SLinus Torvalds address. It is most commonly used in order to make your currently 661da177e4SLinus Torvalds inactive SLIP address seem like a real address for local programs. 679f5db535SIvan Babrou If you use SLIP or PPP, you might want to say Y here. It won't 689f5db535SIvan Babrou enlarge your kernel. What a deal. Read about it in the Network 691da177e4SLinus Torvalds Administrator's Guide, available from 701da177e4SLinus Torvalds <http://www.tldp.org/docs.html#guide>. 711da177e4SLinus Torvalds 721da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 739f486619SAlan Cox will be called dummy. 741da177e4SLinus Torvalds 75e7096c13SJason A. Donenfeldconfig WIREGUARD 76e7096c13SJason A. Donenfeld tristate "WireGuard secure network tunnel" 77e7096c13SJason A. Donenfeld depends on NET && INET 78e7096c13SJason A. Donenfeld depends on IPV6 || !IPV6 79*440fed95SAlexander Potapenko depends on !KMSAN # KMSAN doesn't support the crypto configs below 80e7096c13SJason A. Donenfeld select NET_UDP_TUNNEL 81e7096c13SJason A. Donenfeld select DST_CACHE 82e7096c13SJason A. Donenfeld select CRYPTO 83e7096c13SJason A. Donenfeld select CRYPTO_LIB_CURVE25519 84e7096c13SJason A. Donenfeld select CRYPTO_LIB_CHACHA20POLY1305 85e7096c13SJason A. Donenfeld select CRYPTO_CHACHA20_X86_64 if X86 && 64BIT 86e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_X86_64 if X86 && 64BIT 87e7096c13SJason A. Donenfeld select CRYPTO_BLAKE2S_X86 if X86 && 64BIT 88e7096c13SJason A. Donenfeld select CRYPTO_CURVE25519_X86 if X86 && 64BIT 89d7c68a38SJason A. Donenfeld select ARM_CRYPTO if ARM 90d7c68a38SJason A. Donenfeld select ARM64_CRYPTO if ARM64 91bce24739SJason A. Donenfeld select CRYPTO_CHACHA20_NEON if ARM || (ARM64 && KERNEL_MODE_NEON) 92e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON 93e7096c13SJason A. Donenfeld select CRYPTO_POLY1305_ARM if ARM 94a64bfe7aSEric Biggers select CRYPTO_BLAKE2S_ARM if ARM 95e7096c13SJason A. Donenfeld select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON 96e7096c13SJason A. Donenfeld select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 976c810cf2SMaciej W. Rozycki select CRYPTO_POLY1305_MIPS if MIPS 980d1f7008SVladis Dronov select CRYPTO_CHACHA_S390 if S390 99e7096c13SJason A. Donenfeld help 100e7096c13SJason A. Donenfeld WireGuard is a secure, fast, and easy to use replacement for IPSec 101e7096c13SJason A. Donenfeld that uses modern cryptography and clever networking tricks. It's 102e7096c13SJason A. Donenfeld designed to be fairly general purpose and abstract enough to fit most 103e7096c13SJason A. Donenfeld use cases, while at the same time remaining extremely simple to 104e7096c13SJason A. Donenfeld configure. See www.wireguard.com for more info. 105e7096c13SJason A. Donenfeld 106e7096c13SJason A. Donenfeld It's safe to say Y or M here, as the driver is very lightweight and 107e7096c13SJason A. Donenfeld is only in use when an administrator chooses to add an interface. 108e7096c13SJason A. Donenfeld 109e7096c13SJason A. Donenfeldconfig WIREGUARD_DEBUG 110e7096c13SJason A. Donenfeld bool "Debugging checks and verbose messages" 111e7096c13SJason A. Donenfeld depends on WIREGUARD 112e7096c13SJason A. Donenfeld help 113e7096c13SJason A. Donenfeld This will write log messages for handshake and other events 114e7096c13SJason A. Donenfeld that occur for a WireGuard interface. It will also perform some 115e7096c13SJason A. Donenfeld extra validation checks and unit tests at various points. This is 116e7096c13SJason A. Donenfeld only useful for debugging. 117e7096c13SJason A. Donenfeld 118e7096c13SJason A. Donenfeld Say N here unless you know what you're doing. 119e7096c13SJason A. Donenfeld 12088491d81SJeff Kirsherconfig EQUALIZER 12188491d81SJeff Kirsher tristate "EQL (serial line load balancing) support" 122a7f7f624SMasahiro Yamada help 12388491d81SJeff Kirsher If you have two serial connections to some other computer (this 12488491d81SJeff Kirsher usually requires two modems and two telephone lines) and you use 12588491d81SJeff Kirsher SLIP (the protocol for sending Internet traffic over telephone 12688491d81SJeff Kirsher lines) or PPP (a better SLIP) on them, you can make them behave like 12788491d81SJeff Kirsher one double speed connection using this driver. Naturally, this has 12888491d81SJeff Kirsher to be supported at the other end as well, either with a similar EQL 12988491d81SJeff Kirsher Linux driver or with a Livingston Portmaster 2e. 1301da177e4SLinus Torvalds 13188491d81SJeff Kirsher Say Y if you want this and read 13206df6572SMauro Carvalho Chehab <file:Documentation/networking/eql.rst>. You may also want to read 13388491d81SJeff Kirsher section 6.2 of the NET-3-HOWTO, available from 13488491d81SJeff Kirsher <http://www.tldp.org/docs.html#howto>. 1351da177e4SLinus Torvalds 1361da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 13788491d81SJeff Kirsher will be called eql. If unsure, say N. 13888491d81SJeff Kirsher 13988491d81SJeff Kirsherconfig NET_FC 14088491d81SJeff Kirsher bool "Fibre Channel driver support" 14188491d81SJeff Kirsher depends on SCSI && PCI 14288491d81SJeff Kirsher help 14388491d81SJeff Kirsher Fibre Channel is a high speed serial protocol mainly used to connect 14488491d81SJeff Kirsher large storage devices to the computer; it is compatible with and 14588491d81SJeff Kirsher intended to replace SCSI. 14688491d81SJeff Kirsher 14788491d81SJeff Kirsher If you intend to use Fibre Channel, you need to have a Fibre channel 14888491d81SJeff Kirsher adaptor card in your computer; say Y here and to the driver for your 14988491d81SJeff Kirsher adaptor below. You also should have said Y to "SCSI support" and 15088491d81SJeff Kirsher "SCSI generic support". 15188491d81SJeff Kirsher 15288491d81SJeff Kirsherconfig IFB 15388491d81SJeff Kirsher tristate "Intermediate Functional Block support" 154046178e7SLukas Wunner depends on NET_ACT_MIRRED || NFT_FWD_NETDEV 1552c64605bSPablo Neira Ayuso select NET_REDIRECT 156a7f7f624SMasahiro Yamada help 15788491d81SJeff Kirsher This is an intermediate driver that allows sharing of 15888491d81SJeff Kirsher resources. 15988491d81SJeff Kirsher To compile this driver as a module, choose M here: the module 16088491d81SJeff Kirsher will be called ifb. If you want to use more than one ifb 16188491d81SJeff Kirsher device at a time, you need to compile this driver as a module. 16288491d81SJeff Kirsher Instead of 'ifb', the devices will then be called 'ifb0', 16388491d81SJeff Kirsher 'ifb1' etc. 16488491d81SJeff Kirsher Look at the iproute2 documentation directory for usage etc 1651da177e4SLinus Torvalds 1663d249d4cSJiri Pirkosource "drivers/net/team/Kconfig" 1673d249d4cSJiri Pirko 168b863ceb7SPatrick McHardyconfig MACVLAN 169bd085b93SKees Cook tristate "MAC-VLAN support" 170a7f7f624SMasahiro Yamada help 171b863ceb7SPatrick McHardy This allows one to create virtual interfaces that map packets to 172b863ceb7SPatrick McHardy or from specific MAC addresses to a particular interface. 173b863ceb7SPatrick McHardy 1743dbf8d56SPatrick McHardy Macvlan devices can be added using the "ip" command from the 1753dbf8d56SPatrick McHardy iproute2 package starting with the iproute2-2.6.23 release: 1763dbf8d56SPatrick McHardy 1773dbf8d56SPatrick McHardy "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" 1783dbf8d56SPatrick McHardy 179b863ceb7SPatrick McHardy To compile this driver as a module, choose M here: the module 180b863ceb7SPatrick McHardy will be called macvlan. 181b863ceb7SPatrick McHardy 18220d29d7aSArnd Bergmannconfig MACVTAP 183bd085b93SKees Cook tristate "MAC-VLAN based tap driver" 18420d29d7aSArnd Bergmann depends on MACVLAN 185de11b0e8SBen Hutchings depends on INET 1869a393b5dSSainath Grandhi select TAP 18720d29d7aSArnd Bergmann help 18820d29d7aSArnd Bergmann This adds a specialized tap character device driver that is based 18920d29d7aSArnd Bergmann on the MAC-VLAN network interface, called macvtap. A macvtap device 19020d29d7aSArnd Bergmann can be added in the same way as a macvlan device, using 'type 191c7966b52SJan Luebbe macvtap', and then be accessed through the tap user space interface. 19220d29d7aSArnd Bergmann 19320d29d7aSArnd Bergmann To compile this driver as a module, choose M here: the module 19420d29d7aSArnd Bergmann will be called macvtap. 19520d29d7aSArnd Bergmann 196c675e06aSDaniel Borkmannconfig IPVLAN_L3S 197c675e06aSDaniel Borkmann depends on NETFILTER 198a37d45b6SRandy Dunlap depends on IPVLAN 199c675e06aSDaniel Borkmann def_bool y 200c675e06aSDaniel Borkmann select NET_L3_MASTER_DEV 2012ad7bf36SMahesh Bandewar 2022ad7bf36SMahesh Bandewarconfig IPVLAN 2032ad7bf36SMahesh Bandewar tristate "IP-VLAN support" 204265de6d1SMahesh Bandewar depends on INET 2057f897db3SArnd Bergmann depends on IPV6 || !IPV6 206a7f7f624SMasahiro Yamada help 2072ad7bf36SMahesh Bandewar This allows one to create virtual devices off of a main interface 2082ad7bf36SMahesh Bandewar and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) 2092ad7bf36SMahesh Bandewar on packets. All interfaces (including the main interface) share L2 2102ad7bf36SMahesh Bandewar making it transparent to the connected L2 switch. 2112ad7bf36SMahesh Bandewar 2122ad7bf36SMahesh Bandewar Ipvlan devices can be added using the "ip" command from the 213f4c2b7a0SMahesh Bandewar iproute2 package starting with the iproute2-3.19 release: 2142ad7bf36SMahesh Bandewar 2152ad7bf36SMahesh Bandewar "ip link add link <main-dev> [ NAME ] type ipvlan" 2162ad7bf36SMahesh Bandewar 2172ad7bf36SMahesh Bandewar To compile this driver as a module, choose M here: the module 2182ad7bf36SMahesh Bandewar will be called ipvlan. 2192ad7bf36SMahesh Bandewar 220235a9d89SSainath Grandhiconfig IPVTAP 221235a9d89SSainath Grandhi tristate "IP-VLAN based tap driver" 222235a9d89SSainath Grandhi depends on IPVLAN 223235a9d89SSainath Grandhi depends on INET 224235a9d89SSainath Grandhi select TAP 225a7f7f624SMasahiro Yamada help 226235a9d89SSainath Grandhi This adds a specialized tap character device driver that is based 227235a9d89SSainath Grandhi on the IP-VLAN network interface, called ipvtap. An ipvtap device 228235a9d89SSainath Grandhi can be added in the same way as a ipvlan device, using 'type 229235a9d89SSainath Grandhi ipvtap', and then be accessed through the tap user space interface. 230235a9d89SSainath Grandhi 231235a9d89SSainath Grandhi To compile this driver as a module, choose M here: the module 232235a9d89SSainath Grandhi will be called ipvtap. 2332ad7bf36SMahesh Bandewar 234d342894cSstephen hemmingerconfig VXLAN 235d342894cSstephen hemminger tristate "Virtual eXtensible Local Area Network (VXLAN)" 236c9b20a5eSKees Cook depends on INET 2373ee64f39STom Herbert select NET_UDP_TUNNEL 23897e219b7SEric Dumazet select GRO_CELLS 239a7f7f624SMasahiro Yamada help 240d342894cSstephen hemminger This allows one to create vxlan virtual interfaces that provide 241d342894cSstephen hemminger Layer 2 Networks over Layer 3 Networks. VXLAN is often used 242d342894cSstephen hemminger to tunnel virtual network infrastructure in virtualized environments. 243d342894cSstephen hemminger For more information see: 244d342894cSstephen hemminger http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 245d342894cSstephen hemminger 246d342894cSstephen hemminger To compile this driver as a module, choose M here: the module 247d342894cSstephen hemminger will be called vxlan. 248d342894cSstephen hemminger 2492d07dc79SJohn W. Linvilleconfig GENEVE 250371bd106SPravin B Shelar tristate "Generic Network Virtualization Encapsulation" 251a7603ac1SMatteo Croce depends on INET 252094be092STobias Regnery depends on IPV6 || !IPV6 253a7603ac1SMatteo Croce select NET_UDP_TUNNEL 25497e219b7SEric Dumazet select GRO_CELLS 255a7f7f624SMasahiro Yamada help 2562d07dc79SJohn W. Linville This allows one to create geneve virtual interfaces that provide 2572d07dc79SJohn W. Linville Layer 2 Networks over Layer 3 Networks. GENEVE is often used 2582d07dc79SJohn W. Linville to tunnel virtual network infrastructure in virtualized environments. 2592d07dc79SJohn W. Linville For more information see: 2602d07dc79SJohn W. Linville http://tools.ietf.org/html/draft-gross-geneve-02 2612d07dc79SJohn W. Linville 2622d07dc79SJohn W. Linville To compile this driver as a module, choose M here: the module 2632d07dc79SJohn W. Linville will be called geneve. 2642d07dc79SJohn W. Linville 265571912c6SMartin Vargheseconfig BAREUDP 266571912c6SMartin Varghese tristate "Bare UDP Encapsulation" 267571912c6SMartin Varghese depends on INET 268571912c6SMartin Varghese depends on IPV6 || !IPV6 269571912c6SMartin Varghese select NET_UDP_TUNNEL 270571912c6SMartin Varghese select GRO_CELLS 271571912c6SMartin Varghese help 272571912c6SMartin Varghese This adds a bare UDP tunnel module for tunnelling different 273571912c6SMartin Varghese kinds of traffic like MPLS, IP, etc. inside a UDP tunnel. 274571912c6SMartin Varghese 275571912c6SMartin Varghese To compile this driver as a module, choose M here: the module 276571912c6SMartin Varghese will be called bareudp. 277571912c6SMartin Varghese 278459aa660SPablo Neiraconfig GTP 279459aa660SPablo Neira tristate "GPRS Tunneling Protocol datapath (GTP-U)" 280c22da366SMatteo Croce depends on INET 281c22da366SMatteo Croce select NET_UDP_TUNNEL 282a7f7f624SMasahiro Yamada help 283459aa660SPablo Neira This allows one to create gtp virtual interfaces that provide 284459aa660SPablo Neira the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol 285459aa660SPablo Neira is used to prevent subscribers from accessing mobile carrier core 286459aa660SPablo Neira network infrastructure. This driver requires a userspace software that 287459aa660SPablo Neira implements the signaling protocol (GTP-C) to update its PDP context 288459aa660SPablo Neira base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This 289459aa660SPablo Neira tunneling protocol is implemented according to the GSM TS 09.60 and 290459aa660SPablo Neira 3GPP TS 29.060 standards. 291459aa660SPablo Neira 292459aa660SPablo Neira To compile this drivers as a module, choose M here: the module 29300649542SColin Ian King will be called gtp. 294459aa660SPablo Neira 295b9022b53STaehee Yooconfig AMT 296b9022b53STaehee Yoo tristate "Automatic Multicast Tunneling (AMT)" 297b9022b53STaehee Yoo depends on INET && IP_MULTICAST 2989758aba8SArnd Bergmann depends on IPV6 || !IPV6 299b9022b53STaehee Yoo select NET_UDP_TUNNEL 300b9022b53STaehee Yoo help 301b9022b53STaehee Yoo This allows one to create AMT(Automatic Multicast Tunneling) 302b9022b53STaehee Yoo virtual interfaces that provide multicast tunneling. 303b9022b53STaehee Yoo There are two roles, Gateway, and Relay. 304b9022b53STaehee Yoo Gateway Encapsulates IGMP/MLD traffic from listeners to the Relay. 305b9022b53STaehee Yoo Gateway Decapsulates multicast traffic from the Relay to Listeners. 306b9022b53STaehee Yoo Relay Encapsulates multicast traffic from Sources to Gateway. 307b9022b53STaehee Yoo Relay Decapsulates IGMP/MLD traffic from Gateway. 308b9022b53STaehee Yoo 309b9022b53STaehee Yoo To compile this drivers as a module, choose M here: the module 310b9022b53STaehee Yoo will be called amt. 311b9022b53STaehee Yoo 312c09440f7SSabrina Dubrocaconfig MACSEC 313c09440f7SSabrina Dubroca tristate "IEEE 802.1AE MAC-level encryption (MACsec)" 314ab2ed017SArnd Bergmann select CRYPTO 315c09440f7SSabrina Dubroca select CRYPTO_AES 316c09440f7SSabrina Dubroca select CRYPTO_GCM 31797e219b7SEric Dumazet select GRO_CELLS 318a7f7f624SMasahiro Yamada help 319c09440f7SSabrina Dubroca MACsec is an encryption standard for Ethernet. 320c09440f7SSabrina Dubroca 32188491d81SJeff Kirsherconfig NETCONSOLE 32288491d81SJeff Kirsher tristate "Network console logging support" 323a7f7f624SMasahiro Yamada help 32488491d81SJeff Kirsher If you want to log kernel messages over the network, enable this. 325d9d6ef25SMauro Carvalho Chehab See <file:Documentation/networking/netconsole.rst> for details. 3261da177e4SLinus Torvalds 32788491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC 32888491d81SJeff Kirsher bool "Dynamic reconfiguration of logging targets" 32988491d81SJeff Kirsher depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ 33088491d81SJeff Kirsher !(NETCONSOLE=y && CONFIGFS_FS=m) 33188491d81SJeff Kirsher help 33288491d81SJeff Kirsher This option enables the ability to dynamically reconfigure target 33388491d81SJeff Kirsher parameters (interface, IP addresses, port numbers, MAC addresses) 33488491d81SJeff Kirsher at runtime through a userspace interface exported using configfs. 335d9d6ef25SMauro Carvalho Chehab See <file:Documentation/networking/netconsole.rst> for details. 3361da177e4SLinus Torvalds 33788491d81SJeff Kirsherconfig NETPOLL 33888491d81SJeff Kirsher def_bool NETCONSOLE 33983fe27eaSPranith Kumar select SRCU 34088491d81SJeff Kirsher 34188491d81SJeff Kirsherconfig NET_POLL_CONTROLLER 34288491d81SJeff Kirsher def_bool NETPOLL 34388491d81SJeff Kirsher 344548c237cSJon Masonconfig NTB_NETDEV 345ec110bc7SAllen Hubbe tristate "Virtual Ethernet over NTB Transport" 346ec110bc7SAllen Hubbe depends on NTB_TRANSPORT 347548c237cSJon Mason 34888491d81SJeff Kirsherconfig RIONET 34988491d81SJeff Kirsher tristate "RapidIO Ethernet over messaging driver support" 35088491d81SJeff Kirsher depends on RAPIDIO 35188491d81SJeff Kirsher 35288491d81SJeff Kirsherconfig RIONET_TX_SIZE 35388491d81SJeff Kirsher int "Number of outbound queue entries" 35488491d81SJeff Kirsher depends on RIONET 35588491d81SJeff Kirsher default "128" 35688491d81SJeff Kirsher 35788491d81SJeff Kirsherconfig RIONET_RX_SIZE 35888491d81SJeff Kirsher int "Number of inbound queue entries" 35988491d81SJeff Kirsher depends on RIONET 36088491d81SJeff Kirsher default "128" 3611da177e4SLinus Torvalds 3621da177e4SLinus Torvaldsconfig TUN 3631da177e4SLinus Torvalds tristate "Universal TUN/TAP device driver support" 364de11b0e8SBen Hutchings depends on INET 3651da177e4SLinus Torvalds select CRC32 366a7f7f624SMasahiro Yamada help 3671da177e4SLinus Torvalds TUN/TAP provides packet reception and transmission for user space 3681da177e4SLinus Torvalds programs. It can be viewed as a simple Point-to-Point or Ethernet 3691da177e4SLinus Torvalds device, which instead of receiving packets from a physical media, 3701da177e4SLinus Torvalds receives them from user space program and instead of sending packets 3711da177e4SLinus Torvalds via physical media writes them to the user space program. 3721da177e4SLinus Torvalds 3731da177e4SLinus Torvalds When a program opens /dev/net/tun, driver creates and registers 3741da177e4SLinus Torvalds corresponding net device tunX or tapX. After a program closed above 3751da177e4SLinus Torvalds devices, driver will automatically delete tunXX or tapXX device and 3761da177e4SLinus Torvalds all routes corresponding to it. 3771da177e4SLinus Torvalds 378973d55e5SMauro Carvalho Chehab Please read <file:Documentation/networking/tuntap.rst> for more 3791da177e4SLinus Torvalds information. 3801da177e4SLinus Torvalds 3811da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 3821da177e4SLinus Torvalds will be called tun. 3831da177e4SLinus Torvalds 3841da177e4SLinus Torvalds If you don't know what to use this for, you don't need it. 3851da177e4SLinus Torvalds 3869a393b5dSSainath Grandhiconfig TAP 3879a393b5dSSainath Grandhi tristate 388a7f7f624SMasahiro Yamada help 3899a393b5dSSainath Grandhi This option is selected by any driver implementing tap user space 3909a393b5dSSainath Grandhi interface for a virtual interface to re-use core tap functionality. 3919a393b5dSSainath Grandhi 3928b8e658bSGreg Kurzconfig TUN_VNET_CROSS_LE 3938b8e658bSGreg Kurz bool "Support for cross-endian vnet headers on little-endian kernels" 3948b8e658bSGreg Kurz default n 395a7f7f624SMasahiro Yamada help 3968b8e658bSGreg Kurz This option allows TUN/TAP and MACVTAP device drivers in a 3978b8e658bSGreg Kurz little-endian kernel to parse vnet headers that come from a 3988b8e658bSGreg Kurz big-endian legacy virtio device. 3998b8e658bSGreg Kurz 4008b8e658bSGreg Kurz Userspace programs can control the feature using the TUNSETVNETBE 4018b8e658bSGreg Kurz and TUNGETVNETBE ioctls. 4028b8e658bSGreg Kurz 4038b8e658bSGreg Kurz Unless you have a little-endian system hosting a big-endian virtual 4048b8e658bSGreg Kurz machine with a legacy virtio NIC, you should say N. 4058b8e658bSGreg Kurz 406e314dbdcSPavel Emelyanovconfig VETH 4076a9a0250SRusty Russell tristate "Virtual ethernet pair device" 408a7f7f624SMasahiro Yamada help 4096a9a0250SRusty Russell This device is a local ethernet tunnel. Devices are created in pairs. 4106a9a0250SRusty Russell When one end receives the packet it appears on its pair and vice 4116a9a0250SRusty Russell versa. 412e314dbdcSPavel Emelyanov 41388491d81SJeff Kirsherconfig VIRTIO_NET 414bd085b93SKees Cook tristate "Virtio network driver" 415bd085b93SKees Cook depends on VIRTIO 416ba5e4426SSridhar Samudrala select NET_FAILOVER 417a7f7f624SMasahiro Yamada help 41888491d81SJeff Kirsher This is the virtual network driver for virtio. It can be used with 419ecda85e7SJuergen Gross QEMU based VMMs (like KVM or Xen). Say Y or M. 42088491d81SJeff Kirsher 421e4fc408eSDaniel Borkmannconfig NLMON 422e4fc408eSDaniel Borkmann tristate "Virtual netlink monitoring device" 423a7f7f624SMasahiro Yamada help 424e4fc408eSDaniel Borkmann This option enables a monitoring net device for netlink skbs. The 425e4fc408eSDaniel Borkmann purpose of this is to analyze netlink messages with packet sockets. 426e4fc408eSDaniel Borkmann Thus applications like tcpdump will be able to see local netlink 427e4fc408eSDaniel Borkmann messages if they tap into the netlink device, record pcaps for further 428e4fc408eSDaniel Borkmann diagnostics, etc. This is mostly intended for developers or support 429e4fc408eSDaniel Borkmann to debug netlink issues. If unsure, say N. 430e4fc408eSDaniel Borkmann 431193125dbSDavid Ahernconfig NET_VRF 432193125dbSDavid Ahern tristate "Virtual Routing and Forwarding (Lite)" 43335402e31SDavid Ahern depends on IP_MULTIPLE_TABLES 434ee15ee5dSDavid Ahern depends on NET_L3_MASTER_DEV 43535402e31SDavid Ahern depends on IPV6 || IPV6=n 43635402e31SDavid Ahern depends on IPV6_MULTIPLE_TABLES || IPV6=n 437a7f7f624SMasahiro Yamada help 438193125dbSDavid Ahern This option enables the support for mapping interfaces into VRF's. The 439193125dbSDavid Ahern support enables VRF devices. 440193125dbSDavid Ahern 4410b2e6644SGerard Garciaconfig VSOCKMON 4420b2e6644SGerard Garcia tristate "Virtual vsock monitoring device" 4430b2e6644SGerard Garcia depends on VHOST_VSOCK 444a7f7f624SMasahiro Yamada help 4450b2e6644SGerard Garcia This option enables a monitoring net device for vsock sockets. It is 4460b2e6644SGerard Garcia mostly intended for developers or support to debug vsock issues. If 4470b2e6644SGerard Garcia unsure, say N. 4480b2e6644SGerard Garcia 4493ffec6a1SLoic Poulainconfig MHI_NET 4503ffec6a1SLoic Poulain tristate "MHI network driver" 4513ffec6a1SLoic Poulain depends on MHI_BUS 4523ffec6a1SLoic Poulain help 4533ffec6a1SLoic Poulain This is the network driver for MHI bus. It can be used with 4547ffa7542SLoic Poulain QCOM based WWAN modems for IP or QMAP/rmnet protocol (like SDX55). 4557ffa7542SLoic Poulain Say Y or M. 4563ffec6a1SLoic Poulain 45788491d81SJeff Kirsherendif # NET_CORE 45888491d81SJeff Kirsher 45988491d81SJeff Kirsherconfig SUNGEM_PHY 46088491d81SJeff Kirsher tristate 46188491d81SJeff Kirsher 46288491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig" 46388491d81SJeff Kirsher 46488491d81SJeff Kirshersource "drivers/atm/Kconfig" 46588491d81SJeff Kirsher 46688491d81SJeff Kirshersource "drivers/net/caif/Kconfig" 46788491d81SJeff Kirsher 4683b158859SBen Hutchingssource "drivers/net/dsa/Kconfig" 4693b158859SBen Hutchings 47088491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig" 47188491d81SJeff Kirsher 47288491d81SJeff Kirshersource "drivers/net/fddi/Kconfig" 47388491d81SJeff Kirsher 474fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig" 475fecc7351SPaul Bolle 47608120d23SAlex Eldersource "drivers/net/ipa/Kconfig" 47708120d23SAlex Elder 4781da177e4SLinus Torvaldsconfig NET_SB1000 4791da177e4SLinus Torvalds tristate "General Instruments Surfboard 1000" 480cbcd2a4cSRandy Dunlap depends on PNP 481a7f7f624SMasahiro Yamada help 4821da177e4SLinus Torvalds This is a driver for the General Instrument (also known as 4831da177e4SLinus Torvalds NextLevel) SURFboard 1000 internal 4841da177e4SLinus Torvalds cable modem. This is an ISA card which is used by a number of cable 4851da177e4SLinus Torvalds TV companies to provide cable modem access. It's a one-way 4861da177e4SLinus Torvalds downstream-only cable modem, meaning that your upstream net link is 4871da177e4SLinus Torvalds provided by your regular phone modem. 4881da177e4SLinus Torvalds 4891da177e4SLinus Torvalds At present this driver only compiles as a module, so say M here if 4901da177e4SLinus Torvalds you have this card. The module will be called sb1000. Then read 491132db935SJakub Kicinski <file:Documentation/networking/device_drivers/cable/sb1000.rst> for 492b255e500SJakub Kicinski information on how to use this module, as it needs special ppp 493b255e500SJakub Kicinski scripts for establishing a connection. Further documentation 494b255e500SJakub Kicinski and the necessary scripts can be found at: 4951da177e4SLinus Torvalds 4961da177e4SLinus Torvalds <http://www.jacksonville.net/~fventuri/> 4971da177e4SLinus Torvalds <http://home.adelphia.net/~siglercm/sb1000.html> 4981da177e4SLinus Torvalds <http://linuxpower.cx/~cable/> 4991da177e4SLinus Torvalds 5001da177e4SLinus Torvalds If you don't have this card, of course say N. 5011da177e4SLinus Torvalds 50200db8189SAndy Flemingsource "drivers/net/phy/Kconfig" 50300db8189SAndy Fleming 504d7786af5SVincent Mailholsource "drivers/net/can/Kconfig" 505d7786af5SVincent Mailhol 5064b2e6930SJeremy Kerrsource "drivers/net/mctp/Kconfig" 5074b2e6930SJeremy Kerr 508a9770eacSAndrew Lunnsource "drivers/net/mdio/Kconfig" 509a9770eacSAndrew Lunn 5102fa4e4b7SAndrew Lunnsource "drivers/net/pcs/Kconfig" 5112fa4e4b7SAndrew Lunn 51218e635f4SJeff Kirshersource "drivers/net/plip/Kconfig" 51318e635f4SJeff Kirsher 51488491d81SJeff Kirshersource "drivers/net/ppp/Kconfig" 51588491d81SJeff Kirsher 516b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig" 517b5451d78SJeff Kirsher 51888491d81SJeff Kirshersource "drivers/s390/net/Kconfig" 51988491d81SJeff Kirsher 52088491d81SJeff Kirshersource "drivers/net/usb/Kconfig" 52188491d81SJeff Kirsher 5221da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig" 5231da177e4SLinus Torvalds 5241da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig" 5251da177e4SLinus Torvalds 5260739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig" 5270739d643Salex.bluesman.smirnov@gmail.com 5289a44c1ccSLoic Poulainsource "drivers/net/wwan/Kconfig" 5299a44c1ccSLoic Poulain 5300d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND 5310d160211SJeremy Fitzhardinge tristate "Xen network device frontend driver" 5320d160211SJeremy Fitzhardinge depends on XEN 5337003087cSJeremy Fitzhardinge select XEN_XENBUS_FRONTEND 5346c5aa6fcSDenis Kirjanov select PAGE_POOL 5350d160211SJeremy Fitzhardinge default y 5360d160211SJeremy Fitzhardinge help 537f942dc25SIan Campbell This driver provides support for Xen paravirtual network 538f942dc25SIan Campbell devices exported by a Xen network driver domain (often 539f942dc25SIan Campbell domain 0). 540f942dc25SIan Campbell 541f942dc25SIan Campbell The corresponding Linux backend driver is enabled by the 542f942dc25SIan Campbell CONFIG_XEN_NETDEV_BACKEND option. 543f942dc25SIan Campbell 544f942dc25SIan Campbell If you are compiling a kernel for use as Xen guest, you 545f942dc25SIan Campbell should say Y here. To compile this driver as a module, chose 546f942dc25SIan Campbell M here: the module will be called xen-netfront. 547f942dc25SIan Campbell 548f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND 549f942dc25SIan Campbell tristate "Xen backend network device" 550f942dc25SIan Campbell depends on XEN_BACKEND 551f942dc25SIan Campbell help 552f942dc25SIan Campbell This driver allows the kernel to act as a Xen network driver 553f942dc25SIan Campbell domain which exports paravirtual network devices to other 554f942dc25SIan Campbell Xen domains. These devices can be accessed by any operating 555f942dc25SIan Campbell system that implements a compatible front end. 556f942dc25SIan Campbell 557f942dc25SIan Campbell The corresponding Linux frontend driver is enabled by the 558f942dc25SIan Campbell CONFIG_XEN_NETDEV_FRONTEND configuration option. 559f942dc25SIan Campbell 560f942dc25SIan Campbell The backend driver presents a standard network device 561f942dc25SIan Campbell endpoint for each paravirtual network device to the driver 562f942dc25SIan Campbell domain network stack. These can then be bridged or routed 563f942dc25SIan Campbell etc in order to provide full network connectivity. 564f942dc25SIan Campbell 565f942dc25SIan Campbell If you are compiling a kernel to run in a Xen network driver 566f942dc25SIan Campbell domain (often this is domain 0) you should say Y here. To 567f942dc25SIan Campbell compile this driver as a module, chose M here: the module 568f942dc25SIan Campbell will be called xen-netback. 5690d160211SJeremy Fitzhardinge 570d1a890faSShreyas Bhatewaraconfig VMXNET3 571d1a890faSShreyas Bhatewara tristate "VMware VMXNET3 ethernet driver" 572115924b6SShreyas Bhatewara depends on PCI && INET 57300169a92SGuenter Roeck depends on PAGE_SIZE_LESS_THAN_64KB 574d1a890faSShreyas Bhatewara help 575d1a890faSShreyas Bhatewara This driver supports VMware's vmxnet3 virtual ethernet NIC. 576d1a890faSShreyas Bhatewara To compile this driver as a module, choose M here: the 577d1a890faSShreyas Bhatewara module will be called vmxnet3. 578d1a890faSShreyas Bhatewara 579658d439bSTaku Izumiconfig FUJITSU_ES 580658d439bSTaku Izumi tristate "FUJITSU Extended Socket Network Device driver" 581658d439bSTaku Izumi depends on ACPI 582658d439bSTaku Izumi help 583658d439bSTaku Izumi This driver provides support for Extended Socket network device 584658d439bSTaku Izumi on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. 585658d439bSTaku Izumi 586690ac0d2SMika Westerbergconfig USB4_NET 587690ac0d2SMika Westerberg tristate "Networking over USB4 and Thunderbolt cables" 588690ac0d2SMika Westerberg depends on USB4 && INET 589e69b6c02SAmir Levy help 590690ac0d2SMika Westerberg Select this if you want to create network between two computers 591690ac0d2SMika Westerberg over a USB4 and Thunderbolt cables. The driver supports Apple 592e69b6c02SAmir Levy ThunderboltIP protocol and allows communication with any host 593e69b6c02SAmir Levy supporting the same protocol including Windows and macOS. 594e69b6c02SAmir Levy 595e69b6c02SAmir Levy To compile this driver a module, choose M here. The module will be 596e69b6c02SAmir Levy called thunderbolt-net. 597e69b6c02SAmir Levy 59895fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig" 59995fa0405SHaiyang Zhang 60083c9e13aSJakub Kicinskiconfig NETDEVSIM 60183c9e13aSJakub Kicinski tristate "Simulated networking device" 60283c9e13aSJakub Kicinski depends on DEBUG_FS 6031f399fc7SHongbo Yao depends on INET 60448bb9eb4SIdo Schimmel depends on IPV6 || IPV6=n 605a8700c3dSIdo Schimmel depends on PSAMPLE || PSAMPLE=n 606f6b19b35SJiri Pirko select NET_DEVLINK 60783c9e13aSJakub Kicinski help 60883c9e13aSJakub Kicinski This driver is a developer testing tool and software model that can 60983c9e13aSJakub Kicinski be used to test various control path networking APIs, especially 61083c9e13aSJakub Kicinski HW-offload related. 61183c9e13aSJakub Kicinski 61283c9e13aSJakub Kicinski To compile this driver as a module, choose M here: the module 61383c9e13aSJakub Kicinski will be called netdevsim. 61483c9e13aSJakub Kicinski 615cfc80d9aSSridhar Samudralaconfig NET_FAILOVER 616cfc80d9aSSridhar Samudrala tristate "Failover driver" 617cfc80d9aSSridhar Samudrala select FAILOVER 618cfc80d9aSSridhar Samudrala help 619cfc80d9aSSridhar Samudrala This provides an automated failover mechanism via APIs to create 620cfc80d9aSSridhar Samudrala and destroy a failover master netdev and manages a primary and 621cfc80d9aSSridhar Samudrala standby slave netdevs that get registered via the generic failover 622cfc80d9aSSridhar Samudrala infrastructure. This can be used by paravirtual drivers to enable 623cfc80d9aSSridhar Samudrala an alternate low latency datapath. It also enables live migration of 624cfc80d9aSSridhar Samudrala a VM with direct attached VF by failing over to the paravirtual 625cfc80d9aSSridhar Samudrala datapath when the VF is unplugged. 626cfc80d9aSSridhar Samudrala 6274228c394SArnd Bergmannconfig NETDEV_LEGACY_INIT 6284228c394SArnd Bergmann bool 6294228c394SArnd Bergmann depends on ISA 6304228c394SArnd Bergmann help 6314228c394SArnd Bergmann Drivers that call netdev_boot_setup_check() should select this 6324228c394SArnd Bergmann symbol, everything else no longer needs it. 6334228c394SArnd Bergmann 634d1c0a65fSJan Engelhardtendif # NETDEVICES 635