123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # Network device configuration
- #
- menuconfig NETDEVICES
- default y if UML
- depends on NET
- bool "Network device support"
- ---help---
- You can say N here if you don't intend to connect your Linux box to
- any other computer at all.
- You'll have to say Y if your computer contains a network card that
- you want to use under Linux. If you are going to run SLIP or PPP over
- telephone line or null modem cable you need say Y here. Connecting
- two machines with parallel ports using PLIP needs this, as well as
- AX.25/KISS for sending Internet traffic over amateur radio links.
- See also "The Linux Network Administrator's Guide" by Olaf Kirch and
- Terry Dawson. Available at <http://www.tldp.org/guides.html>.
- If unsure, say Y.
- # All the following symbols are dependent on NETDEVICES - do not repeat
- # that for each of the symbols.
- if NETDEVICES
- config MII
- tristate
- config NET_CORE
- default y
- bool "Network core driver support"
- ---help---
- You can say N here if you do not intend to use any of the
- networking core drivers (i.e. VLAN, bridging, bonding, etc.)
- if NET_CORE
- config BONDING
- tristate "Bonding driver support"
- depends on INET
- depends on IPV6 || IPV6=n
- ---help---
- Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
- Channels together. This is called 'Etherchannel' by Cisco,
- 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
- The driver supports multiple bonding modes to allow for both high
- performance and high availability operation.
- Refer to <file:Documentation/networking/bonding.txt> for more
- information.
- To compile this driver as a module, choose M here: the module
- will be called bonding.
- config DUMMY
- tristate "Dummy net driver support"
- ---help---
- This is essentially a bit-bucket device (i.e. traffic you send to
- this device is consigned into oblivion) with a configurable IP
- address. It is most commonly used in order to make your currently
- inactive SLIP address seem like a real address for local programs.
- If you use SLIP or PPP, you might want to say Y here. It won't
- enlarge your kernel. What a deal. Read about it in the Network
- Administrator's Guide, available from
- <http://www.tldp.org/docs.html#guide>.
- To compile this driver as a module, choose M here: the module
- will be called dummy.
- config EQUALIZER
- tristate "EQL (serial line load balancing) support"
- ---help---
- If you have two serial connections to some other computer (this
- usually requires two modems and two telephone lines) and you use
- SLIP (the protocol for sending Internet traffic over telephone
- lines) or PPP (a better SLIP) on them, you can make them behave like
- one double speed connection using this driver. Naturally, this has
- to be supported at the other end as well, either with a similar EQL
- Linux driver or with a Livingston Portmaster 2e.
- Say Y if you want this and read
- <file:Documentation/networking/eql.txt>. You may also want to read
- section 6.2 of the NET-3-HOWTO, available from
- <http://www.tldp.org/docs.html#howto>.
- To compile this driver as a module, choose M here: the module
- will be called eql. If unsure, say N.
- config NET_FC
- bool "Fibre Channel driver support"
- depends on SCSI && PCI
- help
- Fibre Channel is a high speed serial protocol mainly used to connect
- large storage devices to the computer; it is compatible with and
- intended to replace SCSI.
- If you intend to use Fibre Channel, you need to have a Fibre channel
- adaptor card in your computer; say Y here and to the driver for your
- adaptor below. You also should have said Y to "SCSI support" and
- "SCSI generic support".
- config IFB
- tristate "Intermediate Functional Block support"
- depends on NET_CLS_ACT
- select NET_REDIRECT
- ---help---
- This is an intermediate driver that allows sharing of
- resources.
- To compile this driver as a module, choose M here: the module
- will be called ifb. If you want to use more than one ifb
- device at a time, you need to compile this driver as a module.
- Instead of 'ifb', the devices will then be called 'ifb0',
- 'ifb1' etc.
- Look at the iproute2 documentation directory for usage etc
- source "drivers/net/team/Kconfig"
- config MACVLAN
- tristate "MAC-VLAN support"
- ---help---
- This allows one to create virtual interfaces that map packets to
- or from specific MAC addresses to a particular interface.
- Macvlan devices can be added using the "ip" command from the
- iproute2 package starting with the iproute2-2.6.23 release:
- "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
- To compile this driver as a module, choose M here: the module
- will be called macvlan.
- config MACVTAP
- tristate "MAC-VLAN based tap driver"
- depends on MACVLAN
- depends on INET
- select TAP
- help
- This adds a specialized tap character device driver that is based
- on the MAC-VLAN network interface, called macvtap. A macvtap device
- can be added in the same way as a macvlan device, using 'type
- macvtap', and then be accessed through the tap user space interface.
- To compile this driver as a module, choose M here: the module
- will be called macvtap.
- config IPVLAN_L3S
- depends on NETFILTER
- depends on IPVLAN
- def_bool y
- select NET_L3_MASTER_DEV
- config IPVLAN
- tristate "IP-VLAN support"
- depends on INET
- depends on IPV6 || !IPV6
- ---help---
- This allows one to create virtual devices off of a main interface
- and packets will be delivered based on the dest L3 (IPv6/IPv4 addr)
- on packets. All interfaces (including the main interface) share L2
- making it transparent to the connected L2 switch.
- Ipvlan devices can be added using the "ip" command from the
- iproute2 package starting with the iproute2-3.19 release:
- "ip link add link <main-dev> [ NAME ] type ipvlan"
- To compile this driver as a module, choose M here: the module
- will be called ipvlan.
- config IPVTAP
- tristate "IP-VLAN based tap driver"
- depends on IPVLAN
- depends on INET
- select TAP
- ---help---
- This adds a specialized tap character device driver that is based
- on the IP-VLAN network interface, called ipvtap. An ipvtap device
- can be added in the same way as a ipvlan device, using 'type
- ipvtap', and then be accessed through the tap user space interface.
- To compile this driver as a module, choose M here: the module
- will be called ipvtap.
- config VXLAN
- tristate "Virtual eXtensible Local Area Network (VXLAN)"
- depends on INET
- select NET_UDP_TUNNEL
- select GRO_CELLS
- ---help---
- This allows one to create vxlan virtual interfaces that provide
- Layer 2 Networks over Layer 3 Networks. VXLAN is often used
- to tunnel virtual network infrastructure in virtualized environments.
- For more information see:
- http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
- To compile this driver as a module, choose M here: the module
- will be called vxlan.
- config GENEVE
- tristate "Generic Network Virtualization Encapsulation"
- depends on INET
- depends on IPV6 || !IPV6
- select NET_UDP_TUNNEL
- select GRO_CELLS
- ---help---
- This allows one to create geneve virtual interfaces that provide
- Layer 2 Networks over Layer 3 Networks. GENEVE is often used
- to tunnel virtual network infrastructure in virtualized environments.
- For more information see:
- http://tools.ietf.org/html/draft-gross-geneve-02
- To compile this driver as a module, choose M here: the module
- will be called geneve.
- config GTP
- tristate "GPRS Tunneling Protocol datapath (GTP-U)"
- depends on INET
- select NET_UDP_TUNNEL
- ---help---
- This allows one to create gtp virtual interfaces that provide
- the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol
- is used to prevent subscribers from accessing mobile carrier core
- network infrastructure. This driver requires a userspace software that
- implements the signaling protocol (GTP-C) to update its PDP context
- base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This
- tunneling protocol is implemented according to the GSM TS 09.60 and
- 3GPP TS 29.060 standards.
- To compile this drivers as a module, choose M here: the module
- wil be called gtp.
- config MACSEC
- tristate "IEEE 802.1AE MAC-level encryption (MACsec)"
- select CRYPTO
- select CRYPTO_AES
- select CRYPTO_GCM
- select GRO_CELLS
- ---help---
- MACsec is an encryption standard for Ethernet.
- config NETCONSOLE
- tristate "Network console logging support"
- ---help---
- If you want to log kernel messages over the network, enable this.
- See <file:Documentation/networking/netconsole.txt> for details.
- config NETCONSOLE_DYNAMIC
- bool "Dynamic reconfiguration of logging targets"
- depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
- !(NETCONSOLE=y && CONFIGFS_FS=m)
- help
- This option enables the ability to dynamically reconfigure target
- parameters (interface, IP addresses, port numbers, MAC addresses)
- at runtime through a userspace interface exported using configfs.
- See <file:Documentation/networking/netconsole.txt> for details.
- config NETPOLL
- def_bool NETCONSOLE
- select SRCU
- config NET_POLL_CONTROLLER
- def_bool NETPOLL
- config NTB_NETDEV
- tristate "Virtual Ethernet over NTB Transport"
- depends on NTB_TRANSPORT
- config RIONET
- tristate "RapidIO Ethernet over messaging driver support"
- depends on RAPIDIO
- config RIONET_TX_SIZE
- int "Number of outbound queue entries"
- depends on RIONET
- default "128"
- config RIONET_RX_SIZE
- int "Number of inbound queue entries"
- depends on RIONET
- default "128"
- config TUN
- tristate "Universal TUN/TAP device driver support"
- depends on INET
- select CRC32
- ---help---
- TUN/TAP provides packet reception and transmission for user space
- programs. It can be viewed as a simple Point-to-Point or Ethernet
- device, which instead of receiving packets from a physical media,
- receives them from user space program and instead of sending packets
- via physical media writes them to the user space program.
- When a program opens /dev/net/tun, driver creates and registers
- corresponding net device tunX or tapX. After a program closed above
- devices, driver will automatically delete tunXX or tapXX device and
- all routes corresponding to it.
- Please read <file:Documentation/networking/tuntap.txt> for more
- information.
- To compile this driver as a module, choose M here: the module
- will be called tun.
- If you don't know what to use this for, you don't need it.
- config TAP
- tristate
- ---help---
- This option is selected by any driver implementing tap user space
- interface for a virtual interface to re-use core tap functionality.
- config TUN_VNET_CROSS_LE
- bool "Support for cross-endian vnet headers on little-endian kernels"
- default n
- ---help---
- This option allows TUN/TAP and MACVTAP device drivers in a
- little-endian kernel to parse vnet headers that come from a
- big-endian legacy virtio device.
- Userspace programs can control the feature using the TUNSETVNETBE
- and TUNGETVNETBE ioctls.
- Unless you have a little-endian system hosting a big-endian virtual
- machine with a legacy virtio NIC, you should say N.
- config VETH
- tristate "Virtual ethernet pair device"
- ---help---
- This device is a local ethernet tunnel. Devices are created in pairs.
- When one end receives the packet it appears on its pair and vice
- versa.
- config VIRTIO_NET
- tristate "Virtio network driver"
- depends on VIRTIO
- select NET_FAILOVER
- ---help---
- This is the virtual network driver for virtio. It can be used with
- QEMU based VMMs (like KVM or Xen). Say Y or M.
- config NLMON
- tristate "Virtual netlink monitoring device"
- ---help---
- This option enables a monitoring net device for netlink skbs. The
- purpose of this is to analyze netlink messages with packet sockets.
- Thus applications like tcpdump will be able to see local netlink
- messages if they tap into the netlink device, record pcaps for further
- diagnostics, etc. This is mostly intended for developers or support
- to debug netlink issues. If unsure, say N.
- config NET_VRF
- tristate "Virtual Routing and Forwarding (Lite)"
- depends on IP_MULTIPLE_TABLES
- depends on NET_L3_MASTER_DEV
- depends on IPV6 || IPV6=n
- depends on IPV6_MULTIPLE_TABLES || IPV6=n
- ---help---
- This option enables the support for mapping interfaces into VRF's. The
- support enables VRF devices.
- config VSOCKMON
- tristate "Virtual vsock monitoring device"
- depends on VHOST_VSOCK
- ---help---
- This option enables a monitoring net device for vsock sockets. It is
- mostly intended for developers or support to debug vsock issues. If
- unsure, say N.
- endif # NET_CORE
- config SUNGEM_PHY
- tristate
- source "drivers/net/arcnet/Kconfig"
- source "drivers/atm/Kconfig"
- source "drivers/net/caif/Kconfig"
- source "drivers/net/dsa/Kconfig"
- source "drivers/net/ethernet/Kconfig"
- source "drivers/net/fddi/Kconfig"
- source "drivers/net/hippi/Kconfig"
- config NET_SB1000
- tristate "General Instruments Surfboard 1000"
- depends on PNP
- ---help---
- This is a driver for the General Instrument (also known as
- NextLevel) SURFboard 1000 internal
- cable modem. This is an ISA card which is used by a number of cable
- TV companies to provide cable modem access. It's a one-way
- downstream-only cable modem, meaning that your upstream net link is
- provided by your regular phone modem.
- At present this driver only compiles as a module, so say M here if
- you have this card. The module will be called sb1000. Then read
- <file:Documentation/networking/device_drivers/sb1000.txt> for
- information on how to use this module, as it needs special ppp
- scripts for establishing a connection. Further documentation
- and the necessary scripts can be found at:
- <http://www.jacksonville.net/~fventuri/>
- <http://home.adelphia.net/~siglercm/sb1000.html>
- <http://linuxpower.cx/~cable/>
- If you don't have this card, of course say N.
- source "drivers/net/phy/Kconfig"
- source "drivers/net/plip/Kconfig"
- source "drivers/net/ppp/Kconfig"
- source "drivers/net/slip/Kconfig"
- source "drivers/s390/net/Kconfig"
- source "drivers/net/usb/Kconfig"
- source "drivers/net/wireless/Kconfig"
- source "drivers/net/wimax/Kconfig"
- source "drivers/net/wan/Kconfig"
- source "drivers/net/ieee802154/Kconfig"
- config XEN_NETDEV_FRONTEND
- tristate "Xen network device frontend driver"
- depends on XEN
- select XEN_XENBUS_FRONTEND
- default y
- help
- This driver provides support for Xen paravirtual network
- devices exported by a Xen network driver domain (often
- domain 0).
- The corresponding Linux backend driver is enabled by the
- CONFIG_XEN_NETDEV_BACKEND option.
- If you are compiling a kernel for use as Xen guest, you
- should say Y here. To compile this driver as a module, chose
- M here: the module will be called xen-netfront.
- config XEN_NETDEV_BACKEND
- tristate "Xen backend network device"
- depends on XEN_BACKEND
- help
- This driver allows the kernel to act as a Xen network driver
- domain which exports paravirtual network devices to other
- Xen domains. These devices can be accessed by any operating
- system that implements a compatible front end.
- The corresponding Linux frontend driver is enabled by the
- CONFIG_XEN_NETDEV_FRONTEND configuration option.
- The backend driver presents a standard network device
- endpoint for each paravirtual network device to the driver
- domain network stack. These can then be bridged or routed
- etc in order to provide full network connectivity.
- If you are compiling a kernel to run in a Xen network driver
- domain (often this is domain 0) you should say Y here. To
- compile this driver as a module, chose M here: the module
- will be called xen-netback.
- config VMXNET3
- tristate "VMware VMXNET3 ethernet driver"
- depends on PCI && INET
- depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \
- IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \
- PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES)
- help
- This driver supports VMware's vmxnet3 virtual ethernet NIC.
- To compile this driver as a module, choose M here: the
- module will be called vmxnet3.
- config FUJITSU_ES
- tristate "FUJITSU Extended Socket Network Device driver"
- depends on ACPI
- help
- This driver provides support for Extended Socket network device
- on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series.
- config THUNDERBOLT_NET
- tristate "Networking over Thunderbolt cable"
- depends on THUNDERBOLT && INET
- help
- Select this if you want to create network between two
- computers over a Thunderbolt cable. The driver supports Apple
- ThunderboltIP protocol and allows communication with any host
- supporting the same protocol including Windows and macOS.
- To compile this driver a module, choose M here. The module will be
- called thunderbolt-net.
- source "drivers/net/hyperv/Kconfig"
- config NETDEVSIM
- tristate "Simulated networking device"
- depends on DEBUG_FS
- select NET_DEVLINK
- help
- This driver is a developer testing tool and software model that can
- be used to test various control path networking APIs, especially
- HW-offload related.
- To compile this driver as a module, choose M here: the module
- will be called netdevsim.
- config NET_FAILOVER
- tristate "Failover driver"
- select FAILOVER
- help
- This provides an automated failover mechanism via APIs to create
- and destroy a failover master netdev and manages a primary and
- standby slave netdevs that get registered via the generic failover
- infrastructure. This can be used by paravirtual drivers to enable
- an alternate low latency datapath. It also enables live migration of
- a VM with direct attached VF by failing over to the paravirtual
- datapath when the VF is unplugged.
- endif # NETDEVICES
|