18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Network device configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig NETDEVICES 78c2ecf20Sopenharmony_ci default y if UML 88c2ecf20Sopenharmony_ci depends on NET 98c2ecf20Sopenharmony_ci bool "Network device support" 108c2ecf20Sopenharmony_ci help 118c2ecf20Sopenharmony_ci You can say N here if you don't intend to connect your Linux box to 128c2ecf20Sopenharmony_ci any other computer at all. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci You'll have to say Y if your computer contains a network card that 158c2ecf20Sopenharmony_ci you want to use under Linux. If you are going to run SLIP or PPP over 168c2ecf20Sopenharmony_ci telephone line or null modem cable you need say Y here. Connecting 178c2ecf20Sopenharmony_ci two machines with parallel ports using PLIP needs this, as well as 188c2ecf20Sopenharmony_ci AX.25/KISS for sending Internet traffic over amateur radio links. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci See also "The Linux Network Administrator's Guide" by Olaf Kirch and 218c2ecf20Sopenharmony_ci Terry Dawson. Available at <http://www.tldp.org/guides.html>. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci If unsure, say Y. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci# All the following symbols are dependent on NETDEVICES - do not repeat 268c2ecf20Sopenharmony_ci# that for each of the symbols. 278c2ecf20Sopenharmony_ciif NETDEVICES 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig MII 308c2ecf20Sopenharmony_ci tristate 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig NET_CORE 338c2ecf20Sopenharmony_ci default y 348c2ecf20Sopenharmony_ci bool "Network core driver support" 358c2ecf20Sopenharmony_ci help 368c2ecf20Sopenharmony_ci You can say N here if you do not intend to use any of the 378c2ecf20Sopenharmony_ci networking core drivers (i.e. VLAN, bridging, bonding, etc.) 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciif NET_CORE 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig BONDING 428c2ecf20Sopenharmony_ci tristate "Bonding driver support" 438c2ecf20Sopenharmony_ci depends on INET 448c2ecf20Sopenharmony_ci depends on IPV6 || IPV6=n 458c2ecf20Sopenharmony_ci help 468c2ecf20Sopenharmony_ci Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet 478c2ecf20Sopenharmony_ci Channels together. This is called 'Etherchannel' by Cisco, 488c2ecf20Sopenharmony_ci 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci The driver supports multiple bonding modes to allow for both high 518c2ecf20Sopenharmony_ci performance and high availability operation. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci Refer to <file:Documentation/networking/bonding.rst> for more 548c2ecf20Sopenharmony_ci information. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 578c2ecf20Sopenharmony_ci will be called bonding. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciconfig DUMMY 608c2ecf20Sopenharmony_ci tristate "Dummy net driver support" 618c2ecf20Sopenharmony_ci help 628c2ecf20Sopenharmony_ci This is essentially a bit-bucket device (i.e. traffic you send to 638c2ecf20Sopenharmony_ci this device is consigned into oblivion) with a configurable IP 648c2ecf20Sopenharmony_ci address. It is most commonly used in order to make your currently 658c2ecf20Sopenharmony_ci inactive SLIP address seem like a real address for local programs. 668c2ecf20Sopenharmony_ci If you use SLIP or PPP, you might want to say Y here. It won't 678c2ecf20Sopenharmony_ci enlarge your kernel. What a deal. Read about it in the Network 688c2ecf20Sopenharmony_ci Administrator's Guide, available from 698c2ecf20Sopenharmony_ci <http://www.tldp.org/docs.html#guide>. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 728c2ecf20Sopenharmony_ci will be called dummy. 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ciconfig WIREGUARD 758c2ecf20Sopenharmony_ci tristate "WireGuard secure network tunnel" 768c2ecf20Sopenharmony_ci depends on NET && INET 778c2ecf20Sopenharmony_ci depends on IPV6 || !IPV6 788c2ecf20Sopenharmony_ci select NET_UDP_TUNNEL 798c2ecf20Sopenharmony_ci select DST_CACHE 808c2ecf20Sopenharmony_ci select CRYPTO 818c2ecf20Sopenharmony_ci select CRYPTO_LIB_CURVE25519 828c2ecf20Sopenharmony_ci select CRYPTO_LIB_CHACHA20POLY1305 838c2ecf20Sopenharmony_ci select CRYPTO_CHACHA20_X86_64 if X86 && 64BIT 848c2ecf20Sopenharmony_ci select CRYPTO_POLY1305_X86_64 if X86 && 64BIT 858c2ecf20Sopenharmony_ci select CRYPTO_BLAKE2S_X86 if X86 && 64BIT 868c2ecf20Sopenharmony_ci select CRYPTO_CURVE25519_X86 if X86 && 64BIT 878c2ecf20Sopenharmony_ci select ARM_CRYPTO if ARM 888c2ecf20Sopenharmony_ci select ARM64_CRYPTO if ARM64 898c2ecf20Sopenharmony_ci select CRYPTO_CHACHA20_NEON if ARM || (ARM64 && KERNEL_MODE_NEON) 908c2ecf20Sopenharmony_ci select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON 918c2ecf20Sopenharmony_ci select CRYPTO_POLY1305_ARM if ARM 928c2ecf20Sopenharmony_ci select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON 938c2ecf20Sopenharmony_ci select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 948c2ecf20Sopenharmony_ci select CRYPTO_POLY1305_MIPS if MIPS 958c2ecf20Sopenharmony_ci help 968c2ecf20Sopenharmony_ci WireGuard is a secure, fast, and easy to use replacement for IPSec 978c2ecf20Sopenharmony_ci that uses modern cryptography and clever networking tricks. It's 988c2ecf20Sopenharmony_ci designed to be fairly general purpose and abstract enough to fit most 998c2ecf20Sopenharmony_ci use cases, while at the same time remaining extremely simple to 1008c2ecf20Sopenharmony_ci configure. See www.wireguard.com for more info. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci It's safe to say Y or M here, as the driver is very lightweight and 1038c2ecf20Sopenharmony_ci is only in use when an administrator chooses to add an interface. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciconfig WIREGUARD_DEBUG 1068c2ecf20Sopenharmony_ci bool "Debugging checks and verbose messages" 1078c2ecf20Sopenharmony_ci depends on WIREGUARD 1088c2ecf20Sopenharmony_ci help 1098c2ecf20Sopenharmony_ci This will write log messages for handshake and other events 1108c2ecf20Sopenharmony_ci that occur for a WireGuard interface. It will also perform some 1118c2ecf20Sopenharmony_ci extra validation checks and unit tests at various points. This is 1128c2ecf20Sopenharmony_ci only useful for debugging. 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci Say N here unless you know what you're doing. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig EQUALIZER 1178c2ecf20Sopenharmony_ci tristate "EQL (serial line load balancing) support" 1188c2ecf20Sopenharmony_ci help 1198c2ecf20Sopenharmony_ci If you have two serial connections to some other computer (this 1208c2ecf20Sopenharmony_ci usually requires two modems and two telephone lines) and you use 1218c2ecf20Sopenharmony_ci SLIP (the protocol for sending Internet traffic over telephone 1228c2ecf20Sopenharmony_ci lines) or PPP (a better SLIP) on them, you can make them behave like 1238c2ecf20Sopenharmony_ci one double speed connection using this driver. Naturally, this has 1248c2ecf20Sopenharmony_ci to be supported at the other end as well, either with a similar EQL 1258c2ecf20Sopenharmony_ci Linux driver or with a Livingston Portmaster 2e. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci Say Y if you want this and read 1288c2ecf20Sopenharmony_ci <file:Documentation/networking/eql.rst>. You may also want to read 1298c2ecf20Sopenharmony_ci section 6.2 of the NET-3-HOWTO, available from 1308c2ecf20Sopenharmony_ci <http://www.tldp.org/docs.html#howto>. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 1338c2ecf20Sopenharmony_ci will be called eql. If unsure, say N. 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ciconfig NET_FC 1368c2ecf20Sopenharmony_ci bool "Fibre Channel driver support" 1378c2ecf20Sopenharmony_ci depends on SCSI && PCI 1388c2ecf20Sopenharmony_ci help 1398c2ecf20Sopenharmony_ci Fibre Channel is a high speed serial protocol mainly used to connect 1408c2ecf20Sopenharmony_ci large storage devices to the computer; it is compatible with and 1418c2ecf20Sopenharmony_ci intended to replace SCSI. 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci If you intend to use Fibre Channel, you need to have a Fibre channel 1448c2ecf20Sopenharmony_ci adaptor card in your computer; say Y here and to the driver for your 1458c2ecf20Sopenharmony_ci adaptor below. You also should have said Y to "SCSI support" and 1468c2ecf20Sopenharmony_ci "SCSI generic support". 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciconfig IFB 1498c2ecf20Sopenharmony_ci tristate "Intermediate Functional Block support" 1508c2ecf20Sopenharmony_ci depends on NET_ACT_MIRRED || NFT_FWD_NETDEV 1518c2ecf20Sopenharmony_ci select NET_REDIRECT 1528c2ecf20Sopenharmony_ci help 1538c2ecf20Sopenharmony_ci This is an intermediate driver that allows sharing of 1548c2ecf20Sopenharmony_ci resources. 1558c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 1568c2ecf20Sopenharmony_ci will be called ifb. If you want to use more than one ifb 1578c2ecf20Sopenharmony_ci device at a time, you need to compile this driver as a module. 1588c2ecf20Sopenharmony_ci Instead of 'ifb', the devices will then be called 'ifb0', 1598c2ecf20Sopenharmony_ci 'ifb1' etc. 1608c2ecf20Sopenharmony_ci Look at the iproute2 documentation directory for usage etc 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_cisource "drivers/net/team/Kconfig" 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciconfig MACVLAN 1658c2ecf20Sopenharmony_ci tristate "MAC-VLAN support" 1668c2ecf20Sopenharmony_ci help 1678c2ecf20Sopenharmony_ci This allows one to create virtual interfaces that map packets to 1688c2ecf20Sopenharmony_ci or from specific MAC addresses to a particular interface. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci Macvlan devices can be added using the "ip" command from the 1718c2ecf20Sopenharmony_ci iproute2 package starting with the iproute2-2.6.23 release: 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 1768c2ecf20Sopenharmony_ci will be called macvlan. 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ciconfig MACVTAP 1798c2ecf20Sopenharmony_ci tristate "MAC-VLAN based tap driver" 1808c2ecf20Sopenharmony_ci depends on MACVLAN 1818c2ecf20Sopenharmony_ci depends on INET 1828c2ecf20Sopenharmony_ci select TAP 1838c2ecf20Sopenharmony_ci help 1848c2ecf20Sopenharmony_ci This adds a specialized tap character device driver that is based 1858c2ecf20Sopenharmony_ci on the MAC-VLAN network interface, called macvtap. A macvtap device 1868c2ecf20Sopenharmony_ci can be added in the same way as a macvlan device, using 'type 1878c2ecf20Sopenharmony_ci macvtap', and then be accessed through the tap user space interface. 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 1908c2ecf20Sopenharmony_ci will be called macvtap. 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ciconfig IPVLAN_L3S 1938c2ecf20Sopenharmony_ci depends on NETFILTER 1948c2ecf20Sopenharmony_ci depends on IPVLAN 1958c2ecf20Sopenharmony_ci def_bool y 1968c2ecf20Sopenharmony_ci select NET_L3_MASTER_DEV 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ciconfig IPVLAN 1998c2ecf20Sopenharmony_ci tristate "IP-VLAN support" 2008c2ecf20Sopenharmony_ci depends on INET 2018c2ecf20Sopenharmony_ci depends on IPV6 || !IPV6 2028c2ecf20Sopenharmony_ci help 2038c2ecf20Sopenharmony_ci This allows one to create virtual devices off of a main interface 2048c2ecf20Sopenharmony_ci and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) 2058c2ecf20Sopenharmony_ci on packets. All interfaces (including the main interface) share L2 2068c2ecf20Sopenharmony_ci making it transparent to the connected L2 switch. 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci Ipvlan devices can be added using the "ip" command from the 2098c2ecf20Sopenharmony_ci iproute2 package starting with the iproute2-3.19 release: 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci "ip link add link <main-dev> [ NAME ] type ipvlan" 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 2148c2ecf20Sopenharmony_ci will be called ipvlan. 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ciconfig IPVTAP 2178c2ecf20Sopenharmony_ci tristate "IP-VLAN based tap driver" 2188c2ecf20Sopenharmony_ci depends on IPVLAN 2198c2ecf20Sopenharmony_ci depends on INET 2208c2ecf20Sopenharmony_ci select TAP 2218c2ecf20Sopenharmony_ci help 2228c2ecf20Sopenharmony_ci This adds a specialized tap character device driver that is based 2238c2ecf20Sopenharmony_ci on the IP-VLAN network interface, called ipvtap. An ipvtap device 2248c2ecf20Sopenharmony_ci can be added in the same way as a ipvlan device, using 'type 2258c2ecf20Sopenharmony_ci ipvtap', and then be accessed through the tap user space interface. 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 2288c2ecf20Sopenharmony_ci will be called ipvtap. 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ciconfig VXLAN 2318c2ecf20Sopenharmony_ci tristate "Virtual eXtensible Local Area Network (VXLAN)" 2328c2ecf20Sopenharmony_ci depends on INET 2338c2ecf20Sopenharmony_ci select NET_UDP_TUNNEL 2348c2ecf20Sopenharmony_ci select GRO_CELLS 2358c2ecf20Sopenharmony_ci help 2368c2ecf20Sopenharmony_ci This allows one to create vxlan virtual interfaces that provide 2378c2ecf20Sopenharmony_ci Layer 2 Networks over Layer 3 Networks. VXLAN is often used 2388c2ecf20Sopenharmony_ci to tunnel virtual network infrastructure in virtualized environments. 2398c2ecf20Sopenharmony_ci For more information see: 2408c2ecf20Sopenharmony_ci http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 2438c2ecf20Sopenharmony_ci will be called vxlan. 2448c2ecf20Sopenharmony_ci 2458c2ecf20Sopenharmony_ciconfig GENEVE 2468c2ecf20Sopenharmony_ci tristate "Generic Network Virtualization Encapsulation" 2478c2ecf20Sopenharmony_ci depends on INET 2488c2ecf20Sopenharmony_ci depends on IPV6 || !IPV6 2498c2ecf20Sopenharmony_ci select NET_UDP_TUNNEL 2508c2ecf20Sopenharmony_ci select GRO_CELLS 2518c2ecf20Sopenharmony_ci help 2528c2ecf20Sopenharmony_ci This allows one to create geneve virtual interfaces that provide 2538c2ecf20Sopenharmony_ci Layer 2 Networks over Layer 3 Networks. GENEVE is often used 2548c2ecf20Sopenharmony_ci to tunnel virtual network infrastructure in virtualized environments. 2558c2ecf20Sopenharmony_ci For more information see: 2568c2ecf20Sopenharmony_ci http://tools.ietf.org/html/draft-gross-geneve-02 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 2598c2ecf20Sopenharmony_ci will be called geneve. 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ciconfig BAREUDP 2628c2ecf20Sopenharmony_ci tristate "Bare UDP Encapsulation" 2638c2ecf20Sopenharmony_ci depends on INET 2648c2ecf20Sopenharmony_ci depends on IPV6 || !IPV6 2658c2ecf20Sopenharmony_ci select NET_UDP_TUNNEL 2668c2ecf20Sopenharmony_ci select GRO_CELLS 2678c2ecf20Sopenharmony_ci help 2688c2ecf20Sopenharmony_ci This adds a bare UDP tunnel module for tunnelling different 2698c2ecf20Sopenharmony_ci kinds of traffic like MPLS, IP, etc. inside a UDP tunnel. 2708c2ecf20Sopenharmony_ci 2718c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 2728c2ecf20Sopenharmony_ci will be called bareudp. 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ciconfig GTP 2758c2ecf20Sopenharmony_ci tristate "GPRS Tunneling Protocol datapath (GTP-U)" 2768c2ecf20Sopenharmony_ci depends on INET 2778c2ecf20Sopenharmony_ci select NET_UDP_TUNNEL 2788c2ecf20Sopenharmony_ci help 2798c2ecf20Sopenharmony_ci This allows one to create gtp virtual interfaces that provide 2808c2ecf20Sopenharmony_ci the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol 2818c2ecf20Sopenharmony_ci is used to prevent subscribers from accessing mobile carrier core 2828c2ecf20Sopenharmony_ci network infrastructure. This driver requires a userspace software that 2838c2ecf20Sopenharmony_ci implements the signaling protocol (GTP-C) to update its PDP context 2848c2ecf20Sopenharmony_ci base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This 2858c2ecf20Sopenharmony_ci tunneling protocol is implemented according to the GSM TS 09.60 and 2868c2ecf20Sopenharmony_ci 3GPP TS 29.060 standards. 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci To compile this drivers as a module, choose M here: the module 2898c2ecf20Sopenharmony_ci wil be called gtp. 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ciconfig MACSEC 2928c2ecf20Sopenharmony_ci tristate "IEEE 802.1AE MAC-level encryption (MACsec)" 2938c2ecf20Sopenharmony_ci select CRYPTO 2948c2ecf20Sopenharmony_ci select CRYPTO_AES 2958c2ecf20Sopenharmony_ci select CRYPTO_GCM 2968c2ecf20Sopenharmony_ci select GRO_CELLS 2978c2ecf20Sopenharmony_ci help 2988c2ecf20Sopenharmony_ci MACsec is an encryption standard for Ethernet. 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ciconfig NETCONSOLE 3018c2ecf20Sopenharmony_ci tristate "Network console logging support" 3028c2ecf20Sopenharmony_ci help 3038c2ecf20Sopenharmony_ci If you want to log kernel messages over the network, enable this. 3048c2ecf20Sopenharmony_ci See <file:Documentation/networking/netconsole.rst> for details. 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ciconfig NETCONSOLE_DYNAMIC 3078c2ecf20Sopenharmony_ci bool "Dynamic reconfiguration of logging targets" 3088c2ecf20Sopenharmony_ci depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ 3098c2ecf20Sopenharmony_ci !(NETCONSOLE=y && CONFIGFS_FS=m) 3108c2ecf20Sopenharmony_ci help 3118c2ecf20Sopenharmony_ci This option enables the ability to dynamically reconfigure target 3128c2ecf20Sopenharmony_ci parameters (interface, IP addresses, port numbers, MAC addresses) 3138c2ecf20Sopenharmony_ci at runtime through a userspace interface exported using configfs. 3148c2ecf20Sopenharmony_ci See <file:Documentation/networking/netconsole.rst> for details. 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ciconfig NETPOLL 3178c2ecf20Sopenharmony_ci def_bool NETCONSOLE 3188c2ecf20Sopenharmony_ci select SRCU 3198c2ecf20Sopenharmony_ci 3208c2ecf20Sopenharmony_ciconfig NET_POLL_CONTROLLER 3218c2ecf20Sopenharmony_ci def_bool NETPOLL 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_ciconfig NTB_NETDEV 3248c2ecf20Sopenharmony_ci tristate "Virtual Ethernet over NTB Transport" 3258c2ecf20Sopenharmony_ci depends on NTB_TRANSPORT 3268c2ecf20Sopenharmony_ci 3278c2ecf20Sopenharmony_ciconfig RIONET 3288c2ecf20Sopenharmony_ci tristate "RapidIO Ethernet over messaging driver support" 3298c2ecf20Sopenharmony_ci depends on RAPIDIO 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ciconfig RIONET_TX_SIZE 3328c2ecf20Sopenharmony_ci int "Number of outbound queue entries" 3338c2ecf20Sopenharmony_ci depends on RIONET 3348c2ecf20Sopenharmony_ci default "128" 3358c2ecf20Sopenharmony_ci 3368c2ecf20Sopenharmony_ciconfig RIONET_RX_SIZE 3378c2ecf20Sopenharmony_ci int "Number of inbound queue entries" 3388c2ecf20Sopenharmony_ci depends on RIONET 3398c2ecf20Sopenharmony_ci default "128" 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_ciconfig TUN 3428c2ecf20Sopenharmony_ci tristate "Universal TUN/TAP device driver support" 3438c2ecf20Sopenharmony_ci depends on INET 3448c2ecf20Sopenharmony_ci select CRC32 3458c2ecf20Sopenharmony_ci help 3468c2ecf20Sopenharmony_ci TUN/TAP provides packet reception and transmission for user space 3478c2ecf20Sopenharmony_ci programs. It can be viewed as a simple Point-to-Point or Ethernet 3488c2ecf20Sopenharmony_ci device, which instead of receiving packets from a physical media, 3498c2ecf20Sopenharmony_ci receives them from user space program and instead of sending packets 3508c2ecf20Sopenharmony_ci via physical media writes them to the user space program. 3518c2ecf20Sopenharmony_ci 3528c2ecf20Sopenharmony_ci When a program opens /dev/net/tun, driver creates and registers 3538c2ecf20Sopenharmony_ci corresponding net device tunX or tapX. After a program closed above 3548c2ecf20Sopenharmony_ci devices, driver will automatically delete tunXX or tapXX device and 3558c2ecf20Sopenharmony_ci all routes corresponding to it. 3568c2ecf20Sopenharmony_ci 3578c2ecf20Sopenharmony_ci Please read <file:Documentation/networking/tuntap.rst> for more 3588c2ecf20Sopenharmony_ci information. 3598c2ecf20Sopenharmony_ci 3608c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 3618c2ecf20Sopenharmony_ci will be called tun. 3628c2ecf20Sopenharmony_ci 3638c2ecf20Sopenharmony_ci If you don't know what to use this for, you don't need it. 3648c2ecf20Sopenharmony_ci 3658c2ecf20Sopenharmony_ciconfig TAP 3668c2ecf20Sopenharmony_ci tristate 3678c2ecf20Sopenharmony_ci help 3688c2ecf20Sopenharmony_ci This option is selected by any driver implementing tap user space 3698c2ecf20Sopenharmony_ci interface for a virtual interface to re-use core tap functionality. 3708c2ecf20Sopenharmony_ci 3718c2ecf20Sopenharmony_ciconfig TUN_VNET_CROSS_LE 3728c2ecf20Sopenharmony_ci bool "Support for cross-endian vnet headers on little-endian kernels" 3738c2ecf20Sopenharmony_ci default n 3748c2ecf20Sopenharmony_ci help 3758c2ecf20Sopenharmony_ci This option allows TUN/TAP and MACVTAP device drivers in a 3768c2ecf20Sopenharmony_ci little-endian kernel to parse vnet headers that come from a 3778c2ecf20Sopenharmony_ci big-endian legacy virtio device. 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci Userspace programs can control the feature using the TUNSETVNETBE 3808c2ecf20Sopenharmony_ci and TUNGETVNETBE ioctls. 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_ci Unless you have a little-endian system hosting a big-endian virtual 3838c2ecf20Sopenharmony_ci machine with a legacy virtio NIC, you should say N. 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ciconfig VETH 3868c2ecf20Sopenharmony_ci tristate "Virtual ethernet pair device" 3878c2ecf20Sopenharmony_ci help 3888c2ecf20Sopenharmony_ci This device is a local ethernet tunnel. Devices are created in pairs. 3898c2ecf20Sopenharmony_ci When one end receives the packet it appears on its pair and vice 3908c2ecf20Sopenharmony_ci versa. 3918c2ecf20Sopenharmony_ci 3928c2ecf20Sopenharmony_ciconfig VIRTIO_NET 3938c2ecf20Sopenharmony_ci tristate "Virtio network driver" 3948c2ecf20Sopenharmony_ci depends on VIRTIO 3958c2ecf20Sopenharmony_ci select NET_FAILOVER 3968c2ecf20Sopenharmony_ci help 3978c2ecf20Sopenharmony_ci This is the virtual network driver for virtio. It can be used with 3988c2ecf20Sopenharmony_ci QEMU based VMMs (like KVM or Xen). Say Y or M. 3998c2ecf20Sopenharmony_ci 4008c2ecf20Sopenharmony_ciconfig NLMON 4018c2ecf20Sopenharmony_ci tristate "Virtual netlink monitoring device" 4028c2ecf20Sopenharmony_ci help 4038c2ecf20Sopenharmony_ci This option enables a monitoring net device for netlink skbs. The 4048c2ecf20Sopenharmony_ci purpose of this is to analyze netlink messages with packet sockets. 4058c2ecf20Sopenharmony_ci Thus applications like tcpdump will be able to see local netlink 4068c2ecf20Sopenharmony_ci messages if they tap into the netlink device, record pcaps for further 4078c2ecf20Sopenharmony_ci diagnostics, etc. This is mostly intended for developers or support 4088c2ecf20Sopenharmony_ci to debug netlink issues. If unsure, say N. 4098c2ecf20Sopenharmony_ci 4108c2ecf20Sopenharmony_ciconfig NET_VRF 4118c2ecf20Sopenharmony_ci tristate "Virtual Routing and Forwarding (Lite)" 4128c2ecf20Sopenharmony_ci depends on IP_MULTIPLE_TABLES 4138c2ecf20Sopenharmony_ci depends on NET_L3_MASTER_DEV 4148c2ecf20Sopenharmony_ci depends on IPV6 || IPV6=n 4158c2ecf20Sopenharmony_ci depends on IPV6_MULTIPLE_TABLES || IPV6=n 4168c2ecf20Sopenharmony_ci help 4178c2ecf20Sopenharmony_ci This option enables the support for mapping interfaces into VRF's. The 4188c2ecf20Sopenharmony_ci support enables VRF devices. 4198c2ecf20Sopenharmony_ci 4208c2ecf20Sopenharmony_ciconfig VSOCKMON 4218c2ecf20Sopenharmony_ci tristate "Virtual vsock monitoring device" 4228c2ecf20Sopenharmony_ci depends on VHOST_VSOCK 4238c2ecf20Sopenharmony_ci help 4248c2ecf20Sopenharmony_ci This option enables a monitoring net device for vsock sockets. It is 4258c2ecf20Sopenharmony_ci mostly intended for developers or support to debug vsock issues. If 4268c2ecf20Sopenharmony_ci unsure, say N. 4278c2ecf20Sopenharmony_ci 4288c2ecf20Sopenharmony_ciendif # NET_CORE 4298c2ecf20Sopenharmony_ci 4308c2ecf20Sopenharmony_ciconfig SUNGEM_PHY 4318c2ecf20Sopenharmony_ci tristate 4328c2ecf20Sopenharmony_ci 4338c2ecf20Sopenharmony_cisource "drivers/net/arcnet/Kconfig" 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_cisource "drivers/atm/Kconfig" 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_cisource "drivers/net/caif/Kconfig" 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_cisource "drivers/net/dsa/Kconfig" 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_cisource "drivers/net/ethernet/Kconfig" 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_cisource "drivers/net/fddi/Kconfig" 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_cisource "drivers/net/hippi/Kconfig" 4468c2ecf20Sopenharmony_ci 4478c2ecf20Sopenharmony_cisource "drivers/net/ipa/Kconfig" 4488c2ecf20Sopenharmony_ci 4498c2ecf20Sopenharmony_ciconfig NET_SB1000 4508c2ecf20Sopenharmony_ci tristate "General Instruments Surfboard 1000" 4518c2ecf20Sopenharmony_ci depends on PNP 4528c2ecf20Sopenharmony_ci help 4538c2ecf20Sopenharmony_ci This is a driver for the General Instrument (also known as 4548c2ecf20Sopenharmony_ci NextLevel) SURFboard 1000 internal 4558c2ecf20Sopenharmony_ci cable modem. This is an ISA card which is used by a number of cable 4568c2ecf20Sopenharmony_ci TV companies to provide cable modem access. It's a one-way 4578c2ecf20Sopenharmony_ci downstream-only cable modem, meaning that your upstream net link is 4588c2ecf20Sopenharmony_ci provided by your regular phone modem. 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_ci At present this driver only compiles as a module, so say M here if 4618c2ecf20Sopenharmony_ci you have this card. The module will be called sb1000. Then read 4628c2ecf20Sopenharmony_ci <file:Documentation/networking/device_drivers/cable/sb1000.rst> for 4638c2ecf20Sopenharmony_ci information on how to use this module, as it needs special ppp 4648c2ecf20Sopenharmony_ci scripts for establishing a connection. Further documentation 4658c2ecf20Sopenharmony_ci and the necessary scripts can be found at: 4668c2ecf20Sopenharmony_ci 4678c2ecf20Sopenharmony_ci <http://www.jacksonville.net/~fventuri/> 4688c2ecf20Sopenharmony_ci <http://home.adelphia.net/~siglercm/sb1000.html> 4698c2ecf20Sopenharmony_ci <http://linuxpower.cx/~cable/> 4708c2ecf20Sopenharmony_ci 4718c2ecf20Sopenharmony_ci If you don't have this card, of course say N. 4728c2ecf20Sopenharmony_ci 4738c2ecf20Sopenharmony_cisource "drivers/net/phy/Kconfig" 4748c2ecf20Sopenharmony_ci 4758c2ecf20Sopenharmony_cisource "drivers/net/mdio/Kconfig" 4768c2ecf20Sopenharmony_ci 4778c2ecf20Sopenharmony_cisource "drivers/net/pcs/Kconfig" 4788c2ecf20Sopenharmony_ci 4798c2ecf20Sopenharmony_cisource "drivers/net/plip/Kconfig" 4808c2ecf20Sopenharmony_ci 4818c2ecf20Sopenharmony_cisource "drivers/net/ppp/Kconfig" 4828c2ecf20Sopenharmony_ci 4838c2ecf20Sopenharmony_cisource "drivers/net/slip/Kconfig" 4848c2ecf20Sopenharmony_ci 4858c2ecf20Sopenharmony_cisource "drivers/s390/net/Kconfig" 4868c2ecf20Sopenharmony_ci 4878c2ecf20Sopenharmony_cisource "drivers/net/usb/Kconfig" 4888c2ecf20Sopenharmony_ci 4898c2ecf20Sopenharmony_cisource "drivers/net/wireless/Kconfig" 4908c2ecf20Sopenharmony_ci 4918c2ecf20Sopenharmony_cisource "drivers/net/wimax/Kconfig" 4928c2ecf20Sopenharmony_ci 4938c2ecf20Sopenharmony_cisource "drivers/net/wan/Kconfig" 4948c2ecf20Sopenharmony_ci 4958c2ecf20Sopenharmony_cisource "drivers/net/ieee802154/Kconfig" 4968c2ecf20Sopenharmony_ci 4978c2ecf20Sopenharmony_ciconfig XEN_NETDEV_FRONTEND 4988c2ecf20Sopenharmony_ci tristate "Xen network device frontend driver" 4998c2ecf20Sopenharmony_ci depends on XEN 5008c2ecf20Sopenharmony_ci select XEN_XENBUS_FRONTEND 5018c2ecf20Sopenharmony_ci select PAGE_POOL 5028c2ecf20Sopenharmony_ci default y 5038c2ecf20Sopenharmony_ci help 5048c2ecf20Sopenharmony_ci This driver provides support for Xen paravirtual network 5058c2ecf20Sopenharmony_ci devices exported by a Xen network driver domain (often 5068c2ecf20Sopenharmony_ci domain 0). 5078c2ecf20Sopenharmony_ci 5088c2ecf20Sopenharmony_ci The corresponding Linux backend driver is enabled by the 5098c2ecf20Sopenharmony_ci CONFIG_XEN_NETDEV_BACKEND option. 5108c2ecf20Sopenharmony_ci 5118c2ecf20Sopenharmony_ci If you are compiling a kernel for use as Xen guest, you 5128c2ecf20Sopenharmony_ci should say Y here. To compile this driver as a module, chose 5138c2ecf20Sopenharmony_ci M here: the module will be called xen-netfront. 5148c2ecf20Sopenharmony_ci 5158c2ecf20Sopenharmony_ciconfig XEN_NETDEV_BACKEND 5168c2ecf20Sopenharmony_ci tristate "Xen backend network device" 5178c2ecf20Sopenharmony_ci depends on XEN_BACKEND 5188c2ecf20Sopenharmony_ci help 5198c2ecf20Sopenharmony_ci This driver allows the kernel to act as a Xen network driver 5208c2ecf20Sopenharmony_ci domain which exports paravirtual network devices to other 5218c2ecf20Sopenharmony_ci Xen domains. These devices can be accessed by any operating 5228c2ecf20Sopenharmony_ci system that implements a compatible front end. 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_ci The corresponding Linux frontend driver is enabled by the 5258c2ecf20Sopenharmony_ci CONFIG_XEN_NETDEV_FRONTEND configuration option. 5268c2ecf20Sopenharmony_ci 5278c2ecf20Sopenharmony_ci The backend driver presents a standard network device 5288c2ecf20Sopenharmony_ci endpoint for each paravirtual network device to the driver 5298c2ecf20Sopenharmony_ci domain network stack. These can then be bridged or routed 5308c2ecf20Sopenharmony_ci etc in order to provide full network connectivity. 5318c2ecf20Sopenharmony_ci 5328c2ecf20Sopenharmony_ci If you are compiling a kernel to run in a Xen network driver 5338c2ecf20Sopenharmony_ci domain (often this is domain 0) you should say Y here. To 5348c2ecf20Sopenharmony_ci compile this driver as a module, chose M here: the module 5358c2ecf20Sopenharmony_ci will be called xen-netback. 5368c2ecf20Sopenharmony_ci 5378c2ecf20Sopenharmony_ciconfig VMXNET3 5388c2ecf20Sopenharmony_ci tristate "VMware VMXNET3 ethernet driver" 5398c2ecf20Sopenharmony_ci depends on PCI && INET 5408c2ecf20Sopenharmony_ci depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \ 5418c2ecf20Sopenharmony_ci IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \ 5428c2ecf20Sopenharmony_ci PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES) 5438c2ecf20Sopenharmony_ci help 5448c2ecf20Sopenharmony_ci This driver supports VMware's vmxnet3 virtual ethernet NIC. 5458c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 5468c2ecf20Sopenharmony_ci module will be called vmxnet3. 5478c2ecf20Sopenharmony_ci 5488c2ecf20Sopenharmony_ciconfig FUJITSU_ES 5498c2ecf20Sopenharmony_ci tristate "FUJITSU Extended Socket Network Device driver" 5508c2ecf20Sopenharmony_ci depends on ACPI 5518c2ecf20Sopenharmony_ci help 5528c2ecf20Sopenharmony_ci This driver provides support for Extended Socket network device 5538c2ecf20Sopenharmony_ci on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. 5548c2ecf20Sopenharmony_ci 5558c2ecf20Sopenharmony_ciconfig USB4_NET 5568c2ecf20Sopenharmony_ci tristate "Networking over USB4 and Thunderbolt cables" 5578c2ecf20Sopenharmony_ci depends on USB4 && INET 5588c2ecf20Sopenharmony_ci help 5598c2ecf20Sopenharmony_ci Select this if you want to create network between two computers 5608c2ecf20Sopenharmony_ci over a USB4 and Thunderbolt cables. The driver supports Apple 5618c2ecf20Sopenharmony_ci ThunderboltIP protocol and allows communication with any host 5628c2ecf20Sopenharmony_ci supporting the same protocol including Windows and macOS. 5638c2ecf20Sopenharmony_ci 5648c2ecf20Sopenharmony_ci To compile this driver a module, choose M here. The module will be 5658c2ecf20Sopenharmony_ci called thunderbolt-net. 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_cisource "drivers/net/hyperv/Kconfig" 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_ciconfig NETDEVSIM 5708c2ecf20Sopenharmony_ci tristate "Simulated networking device" 5718c2ecf20Sopenharmony_ci depends on DEBUG_FS 5728c2ecf20Sopenharmony_ci depends on INET 5738c2ecf20Sopenharmony_ci depends on IPV6 || IPV6=n 5748c2ecf20Sopenharmony_ci select NET_DEVLINK 5758c2ecf20Sopenharmony_ci help 5768c2ecf20Sopenharmony_ci This driver is a developer testing tool and software model that can 5778c2ecf20Sopenharmony_ci be used to test various control path networking APIs, especially 5788c2ecf20Sopenharmony_ci HW-offload related. 5798c2ecf20Sopenharmony_ci 5808c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 5818c2ecf20Sopenharmony_ci will be called netdevsim. 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ciconfig NET_FAILOVER 5848c2ecf20Sopenharmony_ci tristate "Failover driver" 5858c2ecf20Sopenharmony_ci select FAILOVER 5868c2ecf20Sopenharmony_ci help 5878c2ecf20Sopenharmony_ci This provides an automated failover mechanism via APIs to create 5888c2ecf20Sopenharmony_ci and destroy a failover master netdev and manages a primary and 5898c2ecf20Sopenharmony_ci standby slave netdevs that get registered via the generic failover 5908c2ecf20Sopenharmony_ci infrastructure. This can be used by paravirtual drivers to enable 5918c2ecf20Sopenharmony_ci an alternate low latency datapath. It also enables live migration of 5928c2ecf20Sopenharmony_ci a VM with direct attached VF by failing over to the paravirtual 5938c2ecf20Sopenharmony_ci datapath when the VF is unplugged. 5948c2ecf20Sopenharmony_ci 5958c2ecf20Sopenharmony_ciendif # NETDEVICES 596