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 44285715acSArnd Bergmann depends on TLS || TLS_DEVICE=n 45a7f7f624SMasahiro Yamada 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 53a362032eSMauro Carvalho Chehab Refer to <file:Documentation/networking/bonding.rst> 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" 61a7f7f624SMasahiro Yamada 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 74e7096c13SJason A. Donenfeldconfig WIREGUARD 75e7096c13SJason A. Donenfeld tristate "WireGuard secure network tunnel" 76e7096c13SJason A. Donenfeld depends on NET && INET 77e7096c13SJason A. Donenfeld select NET_UDP_TUNNEL 78e7096c13SJason A. Donenfeld select DST_CACHE 79e7096c13SJason A. Donenfeld select CRYPTO_LIB_CURVE25519 80e7096c13SJason A. Donenfeld select CRYPTO_LIB_CHACHA20POLY1305 8154e7bb6aSEric Biggers select CRYPTO_LIB_UTILS 82e7096c13SJason A. Donenfeld help 83e7096c13SJason A. Donenfeld WireGuard is a secure, fast, and easy to use replacement for IPSec 84e7096c13SJason A. Donenfeld that uses modern cryptography and clever networking tricks. It's 85e7096c13SJason A. Donenfeld designed to be fairly general purpose and abstract enough to fit most 86e7096c13SJason A. Donenfeld use cases, while at the same time remaining extremely simple to 87e7096c13SJason A. Donenfeld configure. See www.wireguard.com for more info. 88e7096c13SJason A. Donenfeld 89e7096c13SJason A. Donenfeld It's safe to say Y or M here, as the driver is very lightweight and 90e7096c13SJason A. Donenfeld is only in use when an administrator chooses to add an interface. 91e7096c13SJason A. Donenfeld 92e7096c13SJason A. Donenfeldconfig WIREGUARD_DEBUG 93e7096c13SJason A. Donenfeld bool "Debugging checks and verbose messages" 94e7096c13SJason A. Donenfeld depends on WIREGUARD 95e7096c13SJason A. Donenfeld help 96e7096c13SJason A. Donenfeld This will write log messages for handshake and other events 97e7096c13SJason A. Donenfeld that occur for a WireGuard interface. It will also perform some 98e7096c13SJason A. Donenfeld extra validation checks and unit tests at various points. This is 99e7096c13SJason A. Donenfeld only useful for debugging. 100e7096c13SJason A. Donenfeld 101e7096c13SJason A. Donenfeld Say N here unless you know what you're doing. 102e7096c13SJason A. Donenfeld 1039f23d943SAntonio Quartulliconfig OVPN 1049f23d943SAntonio Quartulli tristate "OpenVPN data channel offload" 1059f23d943SAntonio Quartulli depends on NET && INET 10680747caeSAntonio Quartulli select DST_CACHE 10708857b5eSAntonio Quartulli select NET_UDP_TUNNEL 1088534731dSAntonio Quartulli select CRYPTO 1098534731dSAntonio Quartulli select CRYPTO_AES 1108534731dSAntonio Quartulli select CRYPTO_GCM 1118534731dSAntonio Quartulli select CRYPTO_CHACHA20POLY1305 11211851cbdSAntonio Quartulli select STREAM_PARSER 1139f23d943SAntonio Quartulli help 1149f23d943SAntonio Quartulli This module enhances the performance of the OpenVPN userspace software 1159f23d943SAntonio Quartulli by offloading the data channel processing to kernelspace. 1169f23d943SAntonio Quartulli 11788491d81SJeff Kirsherconfig EQUALIZER 11888491d81SJeff Kirsher tristate "EQL (serial line load balancing) support" 119a7f7f624SMasahiro Yamada help 12088491d81SJeff Kirsher If you have two serial connections to some other computer (this 12188491d81SJeff Kirsher usually requires two modems and two telephone lines) and you use 12288491d81SJeff Kirsher SLIP (the protocol for sending Internet traffic over telephone 12388491d81SJeff Kirsher lines) or PPP (a better SLIP) on them, you can make them behave like 12488491d81SJeff Kirsher one double speed connection using this driver. Naturally, this has 12588491d81SJeff Kirsher to be supported at the other end as well, either with a similar EQL 12688491d81SJeff Kirsher Linux driver or with a Livingston Portmaster 2e. 1271da177e4SLinus Torvalds 12888491d81SJeff Kirsher Say Y if you want this and read 12906df6572SMauro Carvalho Chehab <file:Documentation/networking/eql.rst>. You may also want to read 13088491d81SJeff Kirsher section 6.2 of the NET-3-HOWTO, available from 13188491d81SJeff Kirsher <http://www.tldp.org/docs.html#howto>. 1321da177e4SLinus Torvalds 1331da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 13488491d81SJeff Kirsher will be called eql. If unsure, say N. 13588491d81SJeff Kirsher 13688491d81SJeff Kirsherconfig NET_FC 13788491d81SJeff Kirsher bool "Fibre Channel driver support" 13888491d81SJeff Kirsher depends on SCSI && PCI 13988491d81SJeff Kirsher help 14088491d81SJeff Kirsher Fibre Channel is a high speed serial protocol mainly used to connect 14188491d81SJeff Kirsher large storage devices to the computer; it is compatible with and 14288491d81SJeff Kirsher intended to replace SCSI. 14388491d81SJeff Kirsher 14488491d81SJeff Kirsher If you intend to use Fibre Channel, you need to have a Fibre channel 14588491d81SJeff Kirsher adaptor card in your computer; say Y here and to the driver for your 14688491d81SJeff Kirsher adaptor below. You also should have said Y to "SCSI support" and 14788491d81SJeff Kirsher "SCSI generic support". 14888491d81SJeff Kirsher 14988491d81SJeff Kirsherconfig IFB 15088491d81SJeff Kirsher tristate "Intermediate Functional Block support" 151046178e7SLukas Wunner depends on NET_ACT_MIRRED || NFT_FWD_NETDEV 1522c64605bSPablo Neira Ayuso select NET_REDIRECT 153a7f7f624SMasahiro Yamada help 15488491d81SJeff Kirsher This is an intermediate driver that allows sharing of 15588491d81SJeff Kirsher resources. 15688491d81SJeff Kirsher To compile this driver as a module, choose M here: the module 15788491d81SJeff Kirsher will be called ifb. If you want to use more than one ifb 15888491d81SJeff Kirsher device at a time, you need to compile this driver as a module. 15988491d81SJeff Kirsher Instead of 'ifb', the devices will then be called 'ifb0', 16088491d81SJeff Kirsher 'ifb1' etc. 16188491d81SJeff Kirsher Look at the iproute2 documentation directory for usage etc 1621da177e4SLinus Torvalds 1633d249d4cSJiri Pirkosource "drivers/net/team/Kconfig" 1643d249d4cSJiri Pirko 165b863ceb7SPatrick McHardyconfig MACVLAN 166bd085b93SKees Cook tristate "MAC-VLAN support" 167a7f7f624SMasahiro Yamada help 168b863ceb7SPatrick McHardy This allows one to create virtual interfaces that map packets to 169b863ceb7SPatrick McHardy or from specific MAC addresses to a particular interface. 170b863ceb7SPatrick McHardy 1713dbf8d56SPatrick McHardy Macvlan devices can be added using the "ip" command from the 1723dbf8d56SPatrick McHardy iproute2 package starting with the iproute2-2.6.23 release: 1733dbf8d56SPatrick McHardy 1743dbf8d56SPatrick McHardy "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" 1753dbf8d56SPatrick McHardy 176b863ceb7SPatrick McHardy To compile this driver as a module, choose M here: the module 177b863ceb7SPatrick McHardy will be called macvlan. 178b863ceb7SPatrick McHardy 17920d29d7aSArnd Bergmannconfig MACVTAP 180bd085b93SKees Cook tristate "MAC-VLAN based tap driver" 18120d29d7aSArnd Bergmann depends on MACVLAN 182de11b0e8SBen Hutchings depends on INET 1839a393b5dSSainath Grandhi select TAP 18420d29d7aSArnd Bergmann help 18520d29d7aSArnd Bergmann This adds a specialized tap character device driver that is based 18620d29d7aSArnd Bergmann on the MAC-VLAN network interface, called macvtap. A macvtap device 18720d29d7aSArnd Bergmann can be added in the same way as a macvlan device, using 'type 188c7966b52SJan Luebbe macvtap', and then be accessed through the tap user space interface. 18920d29d7aSArnd Bergmann 19020d29d7aSArnd Bergmann To compile this driver as a module, choose M here: the module 19120d29d7aSArnd Bergmann will be called macvtap. 19220d29d7aSArnd Bergmann 193c675e06aSDaniel Borkmannconfig IPVLAN_L3S 194c675e06aSDaniel Borkmann depends on NETFILTER 195a37d45b6SRandy Dunlap depends on IPVLAN 196c675e06aSDaniel Borkmann def_bool y 197c675e06aSDaniel Borkmann select NET_L3_MASTER_DEV 1982ad7bf36SMahesh Bandewar 1992ad7bf36SMahesh Bandewarconfig IPVLAN 2002ad7bf36SMahesh Bandewar tristate "IP-VLAN support" 201265de6d1SMahesh Bandewar depends on INET 202a7f7f624SMasahiro Yamada help 2032ad7bf36SMahesh Bandewar This allows one to create virtual devices off of a main interface 2042ad7bf36SMahesh Bandewar and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) 2052ad7bf36SMahesh Bandewar on packets. All interfaces (including the main interface) share L2 2062ad7bf36SMahesh Bandewar making it transparent to the connected L2 switch. 2072ad7bf36SMahesh Bandewar 2082ad7bf36SMahesh Bandewar Ipvlan devices can be added using the "ip" command from the 209f4c2b7a0SMahesh Bandewar iproute2 package starting with the iproute2-3.19 release: 2102ad7bf36SMahesh Bandewar 2112ad7bf36SMahesh Bandewar "ip link add link <main-dev> [ NAME ] type ipvlan" 2122ad7bf36SMahesh Bandewar 2132ad7bf36SMahesh Bandewar To compile this driver as a module, choose M here: the module 2142ad7bf36SMahesh Bandewar will be called ipvlan. 2152ad7bf36SMahesh Bandewar 216235a9d89SSainath Grandhiconfig IPVTAP 217235a9d89SSainath Grandhi tristate "IP-VLAN based tap driver" 218235a9d89SSainath Grandhi depends on IPVLAN 219235a9d89SSainath Grandhi depends on INET 220235a9d89SSainath Grandhi select TAP 221a7f7f624SMasahiro Yamada help 222235a9d89SSainath Grandhi This adds a specialized tap character device driver that is based 223235a9d89SSainath Grandhi on the IP-VLAN network interface, called ipvtap. An ipvtap device 224235a9d89SSainath Grandhi can be added in the same way as a ipvlan device, using 'type 225235a9d89SSainath Grandhi ipvtap', and then be accessed through the tap user space interface. 226235a9d89SSainath Grandhi 227235a9d89SSainath Grandhi To compile this driver as a module, choose M here: the module 228235a9d89SSainath Grandhi will be called ipvtap. 2292ad7bf36SMahesh Bandewar 230d342894cSstephen hemmingerconfig VXLAN 231d342894cSstephen hemminger tristate "Virtual eXtensible Local Area Network (VXLAN)" 232c9b20a5eSKees Cook depends on INET 2333ee64f39STom Herbert select NET_UDP_TUNNEL 23497e219b7SEric Dumazet select GRO_CELLS 235a7f7f624SMasahiro Yamada help 236d342894cSstephen hemminger This allows one to create vxlan virtual interfaces that provide 237d342894cSstephen hemminger Layer 2 Networks over Layer 3 Networks. VXLAN is often used 238d342894cSstephen hemminger to tunnel virtual network infrastructure in virtualized environments. 239d342894cSstephen hemminger For more information see: 240d342894cSstephen hemminger http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 241d342894cSstephen hemminger 242d342894cSstephen hemminger To compile this driver as a module, choose M here: the module 243d342894cSstephen hemminger will be called vxlan. 244d342894cSstephen hemminger 2452d07dc79SJohn W. Linvilleconfig GENEVE 246371bd106SPravin B Shelar tristate "Generic Network Virtualization Encapsulation" 247a7603ac1SMatteo Croce depends on INET 248a7603ac1SMatteo Croce select NET_UDP_TUNNEL 24997e219b7SEric Dumazet select GRO_CELLS 250a7f7f624SMasahiro Yamada help 2512d07dc79SJohn W. Linville This allows one to create geneve virtual interfaces that provide 2522d07dc79SJohn W. Linville Layer 2 Networks over Layer 3 Networks. GENEVE is often used 2532d07dc79SJohn W. Linville to tunnel virtual network infrastructure in virtualized environments. 2542d07dc79SJohn W. Linville For more information see: 2552d07dc79SJohn W. Linville http://tools.ietf.org/html/draft-gross-geneve-02 2562d07dc79SJohn W. Linville 2572d07dc79SJohn W. Linville To compile this driver as a module, choose M here: the module 2582d07dc79SJohn W. Linville will be called geneve. 2592d07dc79SJohn W. Linville 260571912c6SMartin Vargheseconfig BAREUDP 261571912c6SMartin Varghese tristate "Bare UDP Encapsulation" 262571912c6SMartin Varghese depends on INET 263571912c6SMartin Varghese select NET_UDP_TUNNEL 264571912c6SMartin Varghese select GRO_CELLS 265571912c6SMartin Varghese help 266571912c6SMartin Varghese This adds a bare UDP tunnel module for tunnelling different 267571912c6SMartin Varghese kinds of traffic like MPLS, IP, etc. inside a UDP tunnel. 268571912c6SMartin Varghese 269571912c6SMartin Varghese To compile this driver as a module, choose M here: the module 270571912c6SMartin Varghese will be called bareudp. 271571912c6SMartin Varghese 272459aa660SPablo Neiraconfig GTP 273459aa660SPablo Neira tristate "GPRS Tunneling Protocol datapath (GTP-U)" 274c22da366SMatteo Croce depends on INET 275c22da366SMatteo Croce select NET_UDP_TUNNEL 276a7f7f624SMasahiro Yamada help 277459aa660SPablo Neira This allows one to create gtp virtual interfaces that provide 278459aa660SPablo Neira the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol 279459aa660SPablo Neira is used to prevent subscribers from accessing mobile carrier core 280459aa660SPablo Neira network infrastructure. This driver requires a userspace software that 281459aa660SPablo Neira implements the signaling protocol (GTP-C) to update its PDP context 282459aa660SPablo Neira base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This 283459aa660SPablo Neira tunneling protocol is implemented according to the GSM TS 09.60 and 284459aa660SPablo Neira 3GPP TS 29.060 standards. 285459aa660SPablo Neira 286459aa660SPablo Neira To compile this drivers as a module, choose M here: the module 28700649542SColin Ian King will be called gtp. 288459aa660SPablo Neira 28976c8764eSWojciech Drewekconfig PFCP 29076c8764eSWojciech Drewek tristate "Packet Forwarding Control Protocol (PFCP)" 29176c8764eSWojciech Drewek depends on INET 29276c8764eSWojciech Drewek select NET_UDP_TUNNEL 29376c8764eSWojciech Drewek help 29476c8764eSWojciech Drewek This allows one to create PFCP virtual interfaces that allows to 29576c8764eSWojciech Drewek set up software and hardware offload of PFCP packets. 29676c8764eSWojciech Drewek Note that this module does not support PFCP protocol in the kernel space. 29776c8764eSWojciech Drewek There is no support for parsing any PFCP messages. 29876c8764eSWojciech Drewek 29976c8764eSWojciech Drewek To compile this drivers as a module, choose M here: the module 30076c8764eSWojciech Drewek will be called pfcp. 30176c8764eSWojciech Drewek 302b9022b53STaehee Yooconfig AMT 303b9022b53STaehee Yoo tristate "Automatic Multicast Tunneling (AMT)" 304b9022b53STaehee Yoo depends on INET && IP_MULTICAST 305b9022b53STaehee Yoo select NET_UDP_TUNNEL 306b9022b53STaehee Yoo help 307b9022b53STaehee Yoo This allows one to create AMT(Automatic Multicast Tunneling) 308b9022b53STaehee Yoo virtual interfaces that provide multicast tunneling. 309b9022b53STaehee Yoo There are two roles, Gateway, and Relay. 310b9022b53STaehee Yoo Gateway Encapsulates IGMP/MLD traffic from listeners to the Relay. 311b9022b53STaehee Yoo Gateway Decapsulates multicast traffic from the Relay to Listeners. 312b9022b53STaehee Yoo Relay Encapsulates multicast traffic from Sources to Gateway. 313b9022b53STaehee Yoo Relay Decapsulates IGMP/MLD traffic from Gateway. 314b9022b53STaehee Yoo 315b9022b53STaehee Yoo To compile this drivers as a module, choose M here: the module 316b9022b53STaehee Yoo will be called amt. 317b9022b53STaehee Yoo 318c09440f7SSabrina Dubrocaconfig MACSEC 319c09440f7SSabrina Dubroca tristate "IEEE 802.1AE MAC-level encryption (MACsec)" 320ab2ed017SArnd Bergmann select CRYPTO 321c09440f7SSabrina Dubroca select CRYPTO_AES 322c09440f7SSabrina Dubroca select CRYPTO_GCM 32397e219b7SEric Dumazet select GRO_CELLS 324a7f7f624SMasahiro Yamada help 325c09440f7SSabrina Dubroca MACsec is an encryption standard for Ethernet. 326c09440f7SSabrina Dubroca 32788491d81SJeff Kirsherconfig NETCONSOLE 32888491d81SJeff Kirsher tristate "Network console logging support" 329636fd32dSArnd Bergmann depends on PRINTK 330a7f7f624SMasahiro Yamada help 33188491d81SJeff Kirsher If you want to log kernel messages over the network, enable this. 332d9d6ef25SMauro Carvalho Chehab See <file:Documentation/networking/netconsole.rst> for details. 3331da177e4SLinus Torvalds 33488491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC 33588491d81SJeff Kirsher bool "Dynamic reconfiguration of logging targets" 33688491d81SJeff Kirsher depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ 33788491d81SJeff Kirsher !(NETCONSOLE=y && CONFIGFS_FS=m) 33860325c27SBreno Leitao select PRINTK_EXECUTION_CTX 33988491d81SJeff Kirsher help 34088491d81SJeff Kirsher This option enables the ability to dynamically reconfigure target 34188491d81SJeff Kirsher parameters (interface, IP addresses, port numbers, MAC addresses) 34288491d81SJeff Kirsher at runtime through a userspace interface exported using configfs. 343d9d6ef25SMauro Carvalho Chehab See <file:Documentation/networking/netconsole.rst> for details. 3441da177e4SLinus Torvalds 345fad361a2SBreno Leitaoconfig NETCONSOLE_EXTENDED_LOG 346fad361a2SBreno Leitao bool "Set kernel extended message by default" 347fad361a2SBreno Leitao depends on NETCONSOLE 348fad361a2SBreno Leitao default n 349fad361a2SBreno Leitao help 350fad361a2SBreno Leitao Set extended log support for netconsole message. If this option is 351fad361a2SBreno Leitao set, log messages are transmitted with extended metadata header in a 352fad361a2SBreno Leitao format similar to /dev/kmsg. See 353fad361a2SBreno Leitao <file:Documentation/networking/netconsole.rst> for details. 354fad361a2SBreno Leitao 355fad361a2SBreno Leitaoconfig NETCONSOLE_PREPEND_RELEASE 356fad361a2SBreno Leitao bool "Prepend kernel release version in the message by default" 357fad361a2SBreno Leitao depends on NETCONSOLE_EXTENDED_LOG 358fad361a2SBreno Leitao default n 359fad361a2SBreno Leitao help 360fad361a2SBreno Leitao Set kernel release to be prepended to each netconsole message by 361fad361a2SBreno Leitao default. If this option is set, the kernel release is prepended into 362fad361a2SBreno Leitao the first field of every netconsole message, so, the netconsole 363fad361a2SBreno Leitao server/peer can easily identify what kernel release is logging each 364fad361a2SBreno Leitao message. See <file:Documentation/networking/netconsole.rst> for 365fad361a2SBreno Leitao details. 366fad361a2SBreno Leitao 36788491d81SJeff Kirsherconfig NETPOLL 36888491d81SJeff Kirsher def_bool NETCONSOLE 36988491d81SJeff Kirsher 37088491d81SJeff Kirsherconfig NET_POLL_CONTROLLER 37188491d81SJeff Kirsher def_bool NETPOLL 37288491d81SJeff Kirsher 373548c237cSJon Masonconfig NTB_NETDEV 374ec110bc7SAllen Hubbe tristate "Virtual Ethernet over NTB Transport" 375ec110bc7SAllen Hubbe depends on NTB_TRANSPORT 376548c237cSJon Mason 37788491d81SJeff Kirsherconfig RIONET 37888491d81SJeff Kirsher tristate "RapidIO Ethernet over messaging driver support" 37988491d81SJeff Kirsher depends on RAPIDIO 38088491d81SJeff Kirsher 38188491d81SJeff Kirsherconfig RIONET_TX_SIZE 38288491d81SJeff Kirsher int "Number of outbound queue entries" 38388491d81SJeff Kirsher depends on RIONET 38488491d81SJeff Kirsher default "128" 38588491d81SJeff Kirsher 38688491d81SJeff Kirsherconfig RIONET_RX_SIZE 38788491d81SJeff Kirsher int "Number of inbound queue entries" 38888491d81SJeff Kirsher depends on RIONET 38988491d81SJeff Kirsher default "128" 3901da177e4SLinus Torvalds 3911da177e4SLinus Torvaldsconfig TUN 3921da177e4SLinus Torvalds tristate "Universal TUN/TAP device driver support" 393de11b0e8SBen Hutchings depends on INET 3941da177e4SLinus Torvalds select CRC32 395a7f7f624SMasahiro Yamada help 3961da177e4SLinus Torvalds TUN/TAP provides packet reception and transmission for user space 3971da177e4SLinus Torvalds programs. It can be viewed as a simple Point-to-Point or Ethernet 3981da177e4SLinus Torvalds device, which instead of receiving packets from a physical media, 3991da177e4SLinus Torvalds receives them from user space program and instead of sending packets 4001da177e4SLinus Torvalds via physical media writes them to the user space program. 4011da177e4SLinus Torvalds 4021da177e4SLinus Torvalds When a program opens /dev/net/tun, driver creates and registers 4031da177e4SLinus Torvalds corresponding net device tunX or tapX. After a program closed above 4041da177e4SLinus Torvalds devices, driver will automatically delete tunXX or tapXX device and 4051da177e4SLinus Torvalds all routes corresponding to it. 4061da177e4SLinus Torvalds 407973d55e5SMauro Carvalho Chehab Please read <file:Documentation/networking/tuntap.rst> for more 4081da177e4SLinus Torvalds information. 4091da177e4SLinus Torvalds 4101da177e4SLinus Torvalds To compile this driver as a module, choose M here: the module 4111da177e4SLinus Torvalds will be called tun. 4121da177e4SLinus Torvalds 4131da177e4SLinus Torvalds If you don't know what to use this for, you don't need it. 4141da177e4SLinus Torvalds 4159a393b5dSSainath Grandhiconfig TAP 4169a393b5dSSainath Grandhi tristate 417a7f7f624SMasahiro Yamada help 4189a393b5dSSainath Grandhi This option is selected by any driver implementing tap user space 4199a393b5dSSainath Grandhi interface for a virtual interface to re-use core tap functionality. 4209a393b5dSSainath Grandhi 4218b8e658bSGreg Kurzconfig TUN_VNET_CROSS_LE 4228b8e658bSGreg Kurz bool "Support for cross-endian vnet headers on little-endian kernels" 4238b8e658bSGreg Kurz default n 424a7f7f624SMasahiro Yamada help 4258b8e658bSGreg Kurz This option allows TUN/TAP and MACVTAP device drivers in a 4268b8e658bSGreg Kurz little-endian kernel to parse vnet headers that come from a 4278b8e658bSGreg Kurz big-endian legacy virtio device. 4288b8e658bSGreg Kurz 4298b8e658bSGreg Kurz Userspace programs can control the feature using the TUNSETVNETBE 4308b8e658bSGreg Kurz and TUNGETVNETBE ioctls. 4318b8e658bSGreg Kurz 4328b8e658bSGreg Kurz Unless you have a little-endian system hosting a big-endian virtual 4338b8e658bSGreg Kurz machine with a legacy virtio NIC, you should say N. 4348b8e658bSGreg Kurz 435e314dbdcSPavel Emelyanovconfig VETH 4366a9a0250SRusty Russell tristate "Virtual ethernet pair device" 4370ebab78cSLorenzo Bianconi select PAGE_POOL 438a7f7f624SMasahiro Yamada help 4396a9a0250SRusty Russell This device is a local ethernet tunnel. Devices are created in pairs. 4406a9a0250SRusty Russell When one end receives the packet it appears on its pair and vice 4416a9a0250SRusty Russell versa. 442e314dbdcSPavel Emelyanov 44388491d81SJeff Kirsherconfig VIRTIO_NET 444bd085b93SKees Cook tristate "Virtio network driver" 445bd085b93SKees Cook depends on VIRTIO 446ba5e4426SSridhar Samudrala select NET_FAILOVER 44762087995SHeng Qi select DIMLIB 448*24fbd396SVishwanath Seshagiri select PAGE_POOL 449a7f7f624SMasahiro Yamada help 45088491d81SJeff Kirsher This is the virtual network driver for virtio. It can be used with 451ecda85e7SJuergen Gross QEMU based VMMs (like KVM or Xen). Say Y or M. 45288491d81SJeff Kirsher 453e4fc408eSDaniel Borkmannconfig NLMON 454e4fc408eSDaniel Borkmann tristate "Virtual netlink monitoring device" 455a7f7f624SMasahiro Yamada help 456e4fc408eSDaniel Borkmann This option enables a monitoring net device for netlink skbs. The 457e4fc408eSDaniel Borkmann purpose of this is to analyze netlink messages with packet sockets. 458e4fc408eSDaniel Borkmann Thus applications like tcpdump will be able to see local netlink 459e4fc408eSDaniel Borkmann messages if they tap into the netlink device, record pcaps for further 460e4fc408eSDaniel Borkmann diagnostics, etc. This is mostly intended for developers or support 461e4fc408eSDaniel Borkmann to debug netlink issues. If unsure, say N. 462e4fc408eSDaniel Borkmann 46335dfaad7SDaniel Borkmannconfig NETKIT 46435dfaad7SDaniel Borkmann bool "BPF-programmable network device" 46535dfaad7SDaniel Borkmann depends on BPF_SYSCALL 46635dfaad7SDaniel Borkmann help 46735dfaad7SDaniel Borkmann The netkit device is a virtual networking device where BPF programs 46835dfaad7SDaniel Borkmann can be attached to the device(s) transmission routine in order to 46935dfaad7SDaniel Borkmann implement the driver's internal logic. The device can be configured 47035dfaad7SDaniel Borkmann to operate in L3 or L2 mode. If unsure, say N. 47135dfaad7SDaniel Borkmann 472193125dbSDavid Ahernconfig NET_VRF 473193125dbSDavid Ahern tristate "Virtual Routing and Forwarding (Lite)" 47435402e31SDavid Ahern depends on IP_MULTIPLE_TABLES 475ee15ee5dSDavid Ahern depends on NET_L3_MASTER_DEV 47635402e31SDavid Ahern depends on IPV6_MULTIPLE_TABLES || IPV6=n 477a7f7f624SMasahiro Yamada help 478193125dbSDavid Ahern This option enables the support for mapping interfaces into VRF's. The 479193125dbSDavid Ahern support enables VRF devices. 480193125dbSDavid Ahern 4810b2e6644SGerard Garciaconfig VSOCKMON 4820b2e6644SGerard Garcia tristate "Virtual vsock monitoring device" 4830b2e6644SGerard Garcia depends on VHOST_VSOCK 484a7f7f624SMasahiro Yamada help 4850b2e6644SGerard Garcia This option enables a monitoring net device for vsock sockets. It is 4860b2e6644SGerard Garcia mostly intended for developers or support to debug vsock issues. If 4870b2e6644SGerard Garcia unsure, say N. 4880b2e6644SGerard Garcia 4893ffec6a1SLoic Poulainconfig MHI_NET 4903ffec6a1SLoic Poulain tristate "MHI network driver" 4913ffec6a1SLoic Poulain depends on MHI_BUS 4923ffec6a1SLoic Poulain help 4933ffec6a1SLoic Poulain This is the network driver for MHI bus. It can be used with 4947ffa7542SLoic Poulain QCOM based WWAN modems for IP or QMAP/rmnet protocol (like SDX55). 4957ffa7542SLoic Poulain Say Y or M. 4963ffec6a1SLoic Poulain 49788491d81SJeff Kirsherendif # NET_CORE 49888491d81SJeff Kirsher 49988491d81SJeff Kirsherconfig SUNGEM_PHY 50088491d81SJeff Kirsher tristate 50188491d81SJeff Kirsher 50288491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig" 50388491d81SJeff Kirsher 50488491d81SJeff Kirshersource "drivers/atm/Kconfig" 50588491d81SJeff Kirsher 5063b158859SBen Hutchingssource "drivers/net/dsa/Kconfig" 5073b158859SBen Hutchings 50888491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig" 50988491d81SJeff Kirsher 51088491d81SJeff Kirshersource "drivers/net/fddi/Kconfig" 51188491d81SJeff Kirsher 51208120d23SAlex Eldersource "drivers/net/ipa/Kconfig" 51308120d23SAlex Elder 51400db8189SAndy Flemingsource "drivers/net/phy/Kconfig" 51500db8189SAndy Fleming 5163114b075SOleksij Rempelsource "drivers/net/pse-pd/Kconfig" 5173114b075SOleksij Rempel 518d7786af5SVincent Mailholsource "drivers/net/can/Kconfig" 519d7786af5SVincent Mailhol 5204b2e6930SJeremy Kerrsource "drivers/net/mctp/Kconfig" 5214b2e6930SJeremy Kerr 522a9770eacSAndrew Lunnsource "drivers/net/mdio/Kconfig" 523a9770eacSAndrew Lunn 5242fa4e4b7SAndrew Lunnsource "drivers/net/pcs/Kconfig" 5252fa4e4b7SAndrew Lunn 52618e635f4SJeff Kirshersource "drivers/net/plip/Kconfig" 52718e635f4SJeff Kirsher 52888491d81SJeff Kirshersource "drivers/net/ppp/Kconfig" 52988491d81SJeff Kirsher 530b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig" 531b5451d78SJeff Kirsher 53288491d81SJeff Kirshersource "drivers/s390/net/Kconfig" 53388491d81SJeff Kirsher 53488491d81SJeff Kirshersource "drivers/net/usb/Kconfig" 53588491d81SJeff Kirsher 5361da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig" 5371da177e4SLinus Torvalds 5381da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig" 5391da177e4SLinus Torvalds 5400739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig" 5410739d643Salex.bluesman.smirnov@gmail.com 5429a44c1ccSLoic Poulainsource "drivers/net/wwan/Kconfig" 5439a44c1ccSLoic Poulain 5440d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND 5450d160211SJeremy Fitzhardinge tristate "Xen network device frontend driver" 5460d160211SJeremy Fitzhardinge depends on XEN 5477003087cSJeremy Fitzhardinge select XEN_XENBUS_FRONTEND 5486c5aa6fcSDenis Kirjanov select PAGE_POOL 5490d160211SJeremy Fitzhardinge default y 5500d160211SJeremy Fitzhardinge help 551f942dc25SIan Campbell This driver provides support for Xen paravirtual network 552f942dc25SIan Campbell devices exported by a Xen network driver domain (often 553f942dc25SIan Campbell domain 0). 554f942dc25SIan Campbell 555f942dc25SIan Campbell The corresponding Linux backend driver is enabled by the 556f942dc25SIan Campbell CONFIG_XEN_NETDEV_BACKEND option. 557f942dc25SIan Campbell 558f942dc25SIan Campbell If you are compiling a kernel for use as Xen guest, you 559f942dc25SIan Campbell should say Y here. To compile this driver as a module, chose 560f942dc25SIan Campbell M here: the module will be called xen-netfront. 561f942dc25SIan Campbell 562f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND 563f942dc25SIan Campbell tristate "Xen backend network device" 564f942dc25SIan Campbell depends on XEN_BACKEND 565f942dc25SIan Campbell help 566f942dc25SIan Campbell This driver allows the kernel to act as a Xen network driver 567f942dc25SIan Campbell domain which exports paravirtual network devices to other 568f942dc25SIan Campbell Xen domains. These devices can be accessed by any operating 569f942dc25SIan Campbell system that implements a compatible front end. 570f942dc25SIan Campbell 571f942dc25SIan Campbell The corresponding Linux frontend driver is enabled by the 572f942dc25SIan Campbell CONFIG_XEN_NETDEV_FRONTEND configuration option. 573f942dc25SIan Campbell 574f942dc25SIan Campbell The backend driver presents a standard network device 575f942dc25SIan Campbell endpoint for each paravirtual network device to the driver 576f942dc25SIan Campbell domain network stack. These can then be bridged or routed 577f942dc25SIan Campbell etc in order to provide full network connectivity. 578f942dc25SIan Campbell 579f942dc25SIan Campbell If you are compiling a kernel to run in a Xen network driver 580f942dc25SIan Campbell domain (often this is domain 0) you should say Y here. To 581f942dc25SIan Campbell compile this driver as a module, chose M here: the module 582f942dc25SIan Campbell will be called xen-netback. 5830d160211SJeremy Fitzhardinge 584d1a890faSShreyas Bhatewaraconfig VMXNET3 585d1a890faSShreyas Bhatewara tristate "VMware VMXNET3 ethernet driver" 586115924b6SShreyas Bhatewara depends on PCI && INET 58700169a92SGuenter Roeck depends on PAGE_SIZE_LESS_THAN_64KB 58854f00cceSWilliam Tu select PAGE_POOL 589d1a890faSShreyas Bhatewara help 590d1a890faSShreyas Bhatewara This driver supports VMware's vmxnet3 virtual ethernet NIC. 591d1a890faSShreyas Bhatewara To compile this driver as a module, choose M here: the 592d1a890faSShreyas Bhatewara module will be called vmxnet3. 593d1a890faSShreyas Bhatewara 594658d439bSTaku Izumiconfig FUJITSU_ES 595658d439bSTaku Izumi tristate "FUJITSU Extended Socket Network Device driver" 596658d439bSTaku Izumi depends on ACPI 597658d439bSTaku Izumi help 598658d439bSTaku Izumi This driver provides support for Extended Socket network device 599658d439bSTaku Izumi on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. 600658d439bSTaku Izumi 6010d0950a9SMika Westerbergsource "drivers/net/thunderbolt/Kconfig" 60295fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig" 60395fa0405SHaiyang Zhang 60483c9e13aSJakub Kicinskiconfig NETDEVSIM 60583c9e13aSJakub Kicinski tristate "Simulated networking device" 60683c9e13aSJakub Kicinski depends on DEBUG_FS 6071f399fc7SHongbo Yao depends on INET 608a8700c3dSIdo Schimmel depends on PSAMPLE || PSAMPLE=n 609b63e78fcSVladimir Oltean depends on PTP_1588_CLOCK_MOCK || PTP_1588_CLOCK_MOCK=n 610f6b19b35SJiri Pirko select NET_DEVLINK 61194e2a19aSJakub Kicinski select PAGE_POOL 612b3ea4164SPaolo Abeni select NET_SHAPER 61383c9e13aSJakub Kicinski help 61483c9e13aSJakub Kicinski This driver is a developer testing tool and software model that can 61583c9e13aSJakub Kicinski be used to test various control path networking APIs, especially 61683c9e13aSJakub Kicinski HW-offload related. 61783c9e13aSJakub Kicinski 61883c9e13aSJakub Kicinski To compile this driver as a module, choose M here: the module 61983c9e13aSJakub Kicinski will be called netdevsim. 62083c9e13aSJakub Kicinski 621cfc80d9aSSridhar Samudralaconfig NET_FAILOVER 622cfc80d9aSSridhar Samudrala tristate "Failover driver" 623cfc80d9aSSridhar Samudrala select FAILOVER 624cfc80d9aSSridhar Samudrala help 625cfc80d9aSSridhar Samudrala This provides an automated failover mechanism via APIs to create 626cfc80d9aSSridhar Samudrala and destroy a failover master netdev and manages a primary and 627cfc80d9aSSridhar Samudrala standby slave netdevs that get registered via the generic failover 628cfc80d9aSSridhar Samudrala infrastructure. This can be used by paravirtual drivers to enable 629cfc80d9aSSridhar Samudrala an alternate low latency datapath. It also enables live migration of 630cfc80d9aSSridhar Samudrala a VM with direct attached VF by failing over to the paravirtual 631cfc80d9aSSridhar Samudrala datapath when the VF is unplugged. 632cfc80d9aSSridhar Samudrala 633d1c0a65fSJan Engelhardtendif # NETDEVICES 634