xref: /openbmc/linux/drivers/net/Kconfig (revision c675e06a)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Network device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
5d1c0a65fSJan Engelhardtmenuconfig NETDEVICES
6ce2d2aedSPaolo 'Blaisorblade' Giarrusso	default y if UML
7e0009820SJan Engelhardt	depends on NET
81da177e4SLinus Torvalds	bool "Network device support"
91da177e4SLinus Torvalds	---help---
101da177e4SLinus Torvalds	  You can say N here if you don't intend to connect your Linux box to
111da177e4SLinus Torvalds	  any other computer at all.
121da177e4SLinus Torvalds
131da177e4SLinus Torvalds	  You'll have to say Y if your computer contains a network card that
141da177e4SLinus Torvalds	  you want to use under Linux. If you are going to run SLIP or PPP over
151da177e4SLinus Torvalds	  telephone line or null modem cable you need say Y here. Connecting
161da177e4SLinus Torvalds	  two machines with parallel ports using PLIP needs this, as well as
171da177e4SLinus Torvalds	  AX.25/KISS for sending Internet traffic over amateur radio links.
181da177e4SLinus Torvalds
191da177e4SLinus Torvalds	  See also "The Linux Network Administrator's Guide" by Olaf Kirch and
201da177e4SLinus Torvalds	  Terry Dawson. Available at <http://www.tldp.org/guides.html>.
211da177e4SLinus Torvalds
221da177e4SLinus Torvalds	  If unsure, say Y.
231da177e4SLinus Torvalds
241618cb0cSRandy Dunlap# All the following symbols are dependent on NETDEVICES - do not repeat
251618cb0cSRandy Dunlap# that for each of the symbols.
261618cb0cSRandy Dunlapif NETDEVICES
27cbcd2a4cSRandy Dunlap
28a1606c7dSBen Hutchingsconfig MII
29a1606c7dSBen Hutchings	tristate
30a1606c7dSBen Hutchings
3188491d81SJeff Kirsherconfig NET_CORE
3288491d81SJeff Kirsher	default y
3388491d81SJeff Kirsher	bool "Network core driver support"
34253af423SJamal Hadi Salim	---help---
3588491d81SJeff Kirsher	  You can say N here if you do not intend to use any of the
3688491d81SJeff Kirsher	  networking core drivers (i.e. VLAN, bridging, bonding, etc.)
3788491d81SJeff Kirsher
3888491d81SJeff Kirsherif NET_CORE
3988491d81SJeff Kirsher
4088491d81SJeff Kirsherconfig BONDING
4188491d81SJeff Kirsher	tristate "Bonding driver support"
4288491d81SJeff Kirsher	depends on INET
4388491d81SJeff Kirsher	depends on IPV6 || IPV6=n
4488491d81SJeff Kirsher	---help---
4588491d81SJeff Kirsher	  Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
4688491d81SJeff Kirsher	  Channels together. This is called 'Etherchannel' by Cisco,
4788491d81SJeff Kirsher	  'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
4888491d81SJeff Kirsher
4988491d81SJeff Kirsher	  The driver supports multiple bonding modes to allow for both high
5088491d81SJeff Kirsher	  performance and high availability operation.
5188491d81SJeff Kirsher
5288491d81SJeff Kirsher	  Refer to <file:Documentation/networking/bonding.txt> for more
5388491d81SJeff Kirsher	  information.
5488491d81SJeff Kirsher
55253af423SJamal Hadi Salim	  To compile this driver as a module, choose M here: the module
5688491d81SJeff Kirsher	  will be called bonding.
57253af423SJamal Hadi Salim
581da177e4SLinus Torvaldsconfig DUMMY
591da177e4SLinus Torvalds	tristate "Dummy net driver support"
601da177e4SLinus Torvalds	---help---
611da177e4SLinus Torvalds	  This is essentially a bit-bucket device (i.e. traffic you send to
621da177e4SLinus Torvalds	  this device is consigned into oblivion) with a configurable IP
631da177e4SLinus Torvalds	  address. It is most commonly used in order to make your currently
641da177e4SLinus Torvalds	  inactive SLIP address seem like a real address for local programs.
659f5db535SIvan Babrou	  If you use SLIP or PPP, you might want to say Y here. It won't
669f5db535SIvan Babrou	  enlarge your kernel. What a deal. Read about it in the Network
671da177e4SLinus Torvalds	  Administrator's Guide, available from
681da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#guide>.
691da177e4SLinus Torvalds
701da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
719f486619SAlan Cox	  will be called dummy.
721da177e4SLinus Torvalds
7388491d81SJeff Kirsherconfig EQUALIZER
7488491d81SJeff Kirsher	tristate "EQL (serial line load balancing) support"
751da177e4SLinus Torvalds	---help---
7688491d81SJeff Kirsher	  If you have two serial connections to some other computer (this
7788491d81SJeff Kirsher	  usually requires two modems and two telephone lines) and you use
7888491d81SJeff Kirsher	  SLIP (the protocol for sending Internet traffic over telephone
7988491d81SJeff Kirsher	  lines) or PPP (a better SLIP) on them, you can make them behave like
8088491d81SJeff Kirsher	  one double speed connection using this driver.  Naturally, this has
8188491d81SJeff Kirsher	  to be supported at the other end as well, either with a similar EQL
8288491d81SJeff Kirsher	  Linux driver or with a Livingston Portmaster 2e.
831da177e4SLinus Torvalds
8488491d81SJeff Kirsher	  Say Y if you want this and read
8588491d81SJeff Kirsher	  <file:Documentation/networking/eql.txt>.  You may also want to read
8688491d81SJeff Kirsher	  section 6.2 of the NET-3-HOWTO, available from
8788491d81SJeff Kirsher	  <http://www.tldp.org/docs.html#howto>.
881da177e4SLinus Torvalds
891da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
9088491d81SJeff Kirsher	  will be called eql.  If unsure, say N.
9188491d81SJeff Kirsher
9288491d81SJeff Kirsherconfig NET_FC
9388491d81SJeff Kirsher	bool "Fibre Channel driver support"
9488491d81SJeff Kirsher	depends on SCSI && PCI
9588491d81SJeff Kirsher	help
9688491d81SJeff Kirsher	  Fibre Channel is a high speed serial protocol mainly used to connect
9788491d81SJeff Kirsher	  large storage devices to the computer; it is compatible with and
9888491d81SJeff Kirsher	  intended to replace SCSI.
9988491d81SJeff Kirsher
10088491d81SJeff Kirsher	  If you intend to use Fibre Channel, you need to have a Fibre channel
10188491d81SJeff Kirsher	  adaptor card in your computer; say Y here and to the driver for your
10288491d81SJeff Kirsher	  adaptor below. You also should have said Y to "SCSI support" and
10388491d81SJeff Kirsher	  "SCSI generic support".
10488491d81SJeff Kirsher
10588491d81SJeff Kirsherconfig IFB
10688491d81SJeff Kirsher	tristate "Intermediate Functional Block support"
10788491d81SJeff Kirsher	depends on NET_CLS_ACT
10888491d81SJeff Kirsher	---help---
10988491d81SJeff Kirsher	  This is an intermediate driver that allows sharing of
11088491d81SJeff Kirsher	  resources.
11188491d81SJeff Kirsher	  To compile this driver as a module, choose M here: the module
11288491d81SJeff Kirsher	  will be called ifb.  If you want to use more than one ifb
11388491d81SJeff Kirsher	  device at a time, you need to compile this driver as a module.
11488491d81SJeff Kirsher	  Instead of 'ifb', the devices will then be called 'ifb0',
11588491d81SJeff Kirsher	  'ifb1' etc.
11688491d81SJeff Kirsher	  Look at the iproute2 documentation directory for usage etc
1171da177e4SLinus Torvalds
1183d249d4cSJiri Pirkosource "drivers/net/team/Kconfig"
1193d249d4cSJiri Pirko
120b863ceb7SPatrick McHardyconfig MACVLAN
121bd085b93SKees Cook	tristate "MAC-VLAN support"
122b863ceb7SPatrick McHardy	---help---
123b863ceb7SPatrick McHardy	  This allows one to create virtual interfaces that map packets to
124b863ceb7SPatrick McHardy	  or from specific MAC addresses to a particular interface.
125b863ceb7SPatrick McHardy
1263dbf8d56SPatrick McHardy	  Macvlan devices can be added using the "ip" command from the
1273dbf8d56SPatrick McHardy	  iproute2 package starting with the iproute2-2.6.23 release:
1283dbf8d56SPatrick McHardy
1293dbf8d56SPatrick McHardy	  "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
1303dbf8d56SPatrick McHardy
131b863ceb7SPatrick McHardy	  To compile this driver as a module, choose M here: the module
132b863ceb7SPatrick McHardy	  will be called macvlan.
133b863ceb7SPatrick McHardy
13420d29d7aSArnd Bergmannconfig MACVTAP
135bd085b93SKees Cook	tristate "MAC-VLAN based tap driver"
13620d29d7aSArnd Bergmann	depends on MACVLAN
137de11b0e8SBen Hutchings	depends on INET
1389a393b5dSSainath Grandhi	select TAP
13920d29d7aSArnd Bergmann	help
14020d29d7aSArnd Bergmann	  This adds a specialized tap character device driver that is based
14120d29d7aSArnd Bergmann	  on the MAC-VLAN network interface, called macvtap. A macvtap device
14220d29d7aSArnd Bergmann	  can be added in the same way as a macvlan device, using 'type
143c7966b52SJan Luebbe	  macvtap', and then be accessed through the tap user space interface.
14420d29d7aSArnd Bergmann
14520d29d7aSArnd Bergmann	  To compile this driver as a module, choose M here: the module
14620d29d7aSArnd Bergmann	  will be called macvtap.
14720d29d7aSArnd Bergmann
148c675e06aSDaniel Borkmannconfig IPVLAN_L3S
149c675e06aSDaniel Borkmann	depends on NETFILTER
150c675e06aSDaniel Borkmann	def_bool y
151c675e06aSDaniel Borkmann	select NET_L3_MASTER_DEV
1522ad7bf36SMahesh Bandewar
1532ad7bf36SMahesh Bandewarconfig IPVLAN
1542ad7bf36SMahesh Bandewar    tristate "IP-VLAN support"
155265de6d1SMahesh Bandewar    depends on INET
1567f897db3SArnd Bergmann    depends on IPV6 || !IPV6
1572ad7bf36SMahesh Bandewar    ---help---
1582ad7bf36SMahesh Bandewar      This allows one to create virtual devices off of a main interface
1592ad7bf36SMahesh Bandewar      and packets will be delivered based on the dest L3 (IPv6/IPv4 addr)
1602ad7bf36SMahesh Bandewar      on packets. All interfaces (including the main interface) share L2
1612ad7bf36SMahesh Bandewar      making it transparent to the connected L2 switch.
1622ad7bf36SMahesh Bandewar
1632ad7bf36SMahesh Bandewar      Ipvlan devices can be added using the "ip" command from the
164f4c2b7a0SMahesh Bandewar      iproute2 package starting with the iproute2-3.19 release:
1652ad7bf36SMahesh Bandewar
1662ad7bf36SMahesh Bandewar      "ip link add link <main-dev> [ NAME ] type ipvlan"
1672ad7bf36SMahesh Bandewar
1682ad7bf36SMahesh Bandewar      To compile this driver as a module, choose M here: the module
1692ad7bf36SMahesh Bandewar      will be called ipvlan.
1702ad7bf36SMahesh Bandewar
171235a9d89SSainath Grandhiconfig IPVTAP
172235a9d89SSainath Grandhi	tristate "IP-VLAN based tap driver"
173235a9d89SSainath Grandhi	depends on IPVLAN
174235a9d89SSainath Grandhi	depends on INET
175235a9d89SSainath Grandhi	select TAP
176235a9d89SSainath Grandhi	---help---
177235a9d89SSainath Grandhi	  This adds a specialized tap character device driver that is based
178235a9d89SSainath Grandhi	  on the IP-VLAN network interface, called ipvtap. An ipvtap device
179235a9d89SSainath Grandhi	  can be added in the same way as a ipvlan device, using 'type
180235a9d89SSainath Grandhi	  ipvtap', and then be accessed through the tap user space interface.
181235a9d89SSainath Grandhi
182235a9d89SSainath Grandhi	  To compile this driver as a module, choose M here: the module
183235a9d89SSainath Grandhi	  will be called ipvtap.
1842ad7bf36SMahesh Bandewar
185d342894cSstephen hemmingerconfig VXLAN
186d342894cSstephen hemminger       tristate "Virtual eXtensible Local Area Network (VXLAN)"
187c9b20a5eSKees Cook       depends on INET
1883ee64f39STom Herbert       select NET_UDP_TUNNEL
18997e219b7SEric Dumazet       select GRO_CELLS
190d342894cSstephen hemminger       ---help---
191d342894cSstephen hemminger	  This allows one to create vxlan virtual interfaces that provide
192d342894cSstephen hemminger	  Layer 2 Networks over Layer 3 Networks. VXLAN is often used
193d342894cSstephen hemminger	  to tunnel virtual network infrastructure in virtualized environments.
194d342894cSstephen hemminger	  For more information see:
195d342894cSstephen hemminger	    http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
196d342894cSstephen hemminger
197d342894cSstephen hemminger	  To compile this driver as a module, choose M here: the module
198d342894cSstephen hemminger	  will be called vxlan.
199d342894cSstephen hemminger
2002d07dc79SJohn W. Linvilleconfig GENEVE
201371bd106SPravin B Shelar       tristate "Generic Network Virtualization Encapsulation"
202371bd106SPravin B Shelar       depends on INET && NET_UDP_TUNNEL
203094be092STobias Regnery       depends on IPV6 || !IPV6
2042d07dc79SJohn W. Linville       select NET_IP_TUNNEL
20597e219b7SEric Dumazet       select GRO_CELLS
2062d07dc79SJohn W. Linville       ---help---
2072d07dc79SJohn W. Linville	  This allows one to create geneve virtual interfaces that provide
2082d07dc79SJohn W. Linville	  Layer 2 Networks over Layer 3 Networks. GENEVE is often used
2092d07dc79SJohn W. Linville	  to tunnel virtual network infrastructure in virtualized environments.
2102d07dc79SJohn W. Linville	  For more information see:
2112d07dc79SJohn W. Linville	    http://tools.ietf.org/html/draft-gross-geneve-02
2122d07dc79SJohn W. Linville
2132d07dc79SJohn W. Linville	  To compile this driver as a module, choose M here: the module
2142d07dc79SJohn W. Linville	  will be called geneve.
2152d07dc79SJohn W. Linville
216459aa660SPablo Neiraconfig GTP
217459aa660SPablo Neira	tristate "GPRS Tunneling Protocol datapath (GTP-U)"
218459aa660SPablo Neira	depends on INET && NET_UDP_TUNNEL
219459aa660SPablo Neira	select NET_IP_TUNNEL
220459aa660SPablo Neira	---help---
221459aa660SPablo Neira	  This allows one to create gtp virtual interfaces that provide
222459aa660SPablo Neira	  the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol
223459aa660SPablo Neira	  is used to prevent subscribers from accessing mobile carrier core
224459aa660SPablo Neira	  network infrastructure. This driver requires a userspace software that
225459aa660SPablo Neira	  implements the signaling protocol (GTP-C) to update its PDP context
226459aa660SPablo Neira	  base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This
227459aa660SPablo Neira	  tunneling protocol is implemented according to the GSM TS 09.60 and
228459aa660SPablo Neira	  3GPP TS 29.060 standards.
229459aa660SPablo Neira
230459aa660SPablo Neira	  To compile this drivers as a module, choose M here: the module
231459aa660SPablo Neira	  wil be called gtp.
232459aa660SPablo Neira
233c09440f7SSabrina Dubrocaconfig MACSEC
234c09440f7SSabrina Dubroca	tristate "IEEE 802.1AE MAC-level encryption (MACsec)"
235ab2ed017SArnd Bergmann	select CRYPTO
236c09440f7SSabrina Dubroca	select CRYPTO_AES
237c09440f7SSabrina Dubroca	select CRYPTO_GCM
23897e219b7SEric Dumazet	select GRO_CELLS
239c09440f7SSabrina Dubroca	---help---
240c09440f7SSabrina Dubroca	   MACsec is an encryption standard for Ethernet.
241c09440f7SSabrina Dubroca
24288491d81SJeff Kirsherconfig NETCONSOLE
24388491d81SJeff Kirsher	tristate "Network console logging support"
2441da177e4SLinus Torvalds	---help---
24588491d81SJeff Kirsher	If you want to log kernel messages over the network, enable this.
24688491d81SJeff Kirsher	See <file:Documentation/networking/netconsole.txt> for details.
2471da177e4SLinus Torvalds
24888491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC
24988491d81SJeff Kirsher	bool "Dynamic reconfiguration of logging targets"
25088491d81SJeff Kirsher	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
25188491d81SJeff Kirsher			!(NETCONSOLE=y && CONFIGFS_FS=m)
25288491d81SJeff Kirsher	help
25388491d81SJeff Kirsher	  This option enables the ability to dynamically reconfigure target
25488491d81SJeff Kirsher	  parameters (interface, IP addresses, port numbers, MAC addresses)
25588491d81SJeff Kirsher	  at runtime through a userspace interface exported using configfs.
25688491d81SJeff Kirsher	  See <file:Documentation/networking/netconsole.txt> for details.
2571da177e4SLinus Torvalds
25888491d81SJeff Kirsherconfig NETPOLL
25988491d81SJeff Kirsher	def_bool NETCONSOLE
26083fe27eaSPranith Kumar	select SRCU
26188491d81SJeff Kirsher
26288491d81SJeff Kirsherconfig NET_POLL_CONTROLLER
26388491d81SJeff Kirsher	def_bool NETPOLL
26488491d81SJeff Kirsher
265548c237cSJon Masonconfig NTB_NETDEV
266ec110bc7SAllen Hubbe	tristate "Virtual Ethernet over NTB Transport"
267ec110bc7SAllen Hubbe	depends on NTB_TRANSPORT
268548c237cSJon Mason
26988491d81SJeff Kirsherconfig RIONET
27088491d81SJeff Kirsher	tristate "RapidIO Ethernet over messaging driver support"
27188491d81SJeff Kirsher	depends on RAPIDIO
27288491d81SJeff Kirsher
27388491d81SJeff Kirsherconfig RIONET_TX_SIZE
27488491d81SJeff Kirsher	int "Number of outbound queue entries"
27588491d81SJeff Kirsher	depends on RIONET
27688491d81SJeff Kirsher	default "128"
27788491d81SJeff Kirsher
27888491d81SJeff Kirsherconfig RIONET_RX_SIZE
27988491d81SJeff Kirsher	int "Number of inbound queue entries"
28088491d81SJeff Kirsher	depends on RIONET
28188491d81SJeff Kirsher	default "128"
2821da177e4SLinus Torvalds
2831da177e4SLinus Torvaldsconfig TUN
2841da177e4SLinus Torvalds	tristate "Universal TUN/TAP device driver support"
285de11b0e8SBen Hutchings	depends on INET
2861da177e4SLinus Torvalds	select CRC32
2871da177e4SLinus Torvalds	---help---
2881da177e4SLinus Torvalds	  TUN/TAP provides packet reception and transmission for user space
2891da177e4SLinus Torvalds	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
2901da177e4SLinus Torvalds	  device, which instead of receiving packets from a physical media,
2911da177e4SLinus Torvalds	  receives them from user space program and instead of sending packets
2921da177e4SLinus Torvalds	  via physical media writes them to the user space program.
2931da177e4SLinus Torvalds
2941da177e4SLinus Torvalds	  When a program opens /dev/net/tun, driver creates and registers
2951da177e4SLinus Torvalds	  corresponding net device tunX or tapX.  After a program closed above
2961da177e4SLinus Torvalds	  devices, driver will automatically delete tunXX or tapXX device and
2971da177e4SLinus Torvalds	  all routes corresponding to it.
2981da177e4SLinus Torvalds
2991da177e4SLinus Torvalds	  Please read <file:Documentation/networking/tuntap.txt> for more
3001da177e4SLinus Torvalds	  information.
3011da177e4SLinus Torvalds
3021da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
3031da177e4SLinus Torvalds	  will be called tun.
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvalds	  If you don't know what to use this for, you don't need it.
3061da177e4SLinus Torvalds
3079a393b5dSSainath Grandhiconfig TAP
3089a393b5dSSainath Grandhi	tristate
3099a393b5dSSainath Grandhi	---help---
3109a393b5dSSainath Grandhi	  This option is selected by any driver implementing tap user space
3119a393b5dSSainath Grandhi	  interface for a virtual interface to re-use core tap functionality.
3129a393b5dSSainath Grandhi
3138b8e658bSGreg Kurzconfig TUN_VNET_CROSS_LE
3148b8e658bSGreg Kurz	bool "Support for cross-endian vnet headers on little-endian kernels"
3158b8e658bSGreg Kurz	default n
3168b8e658bSGreg Kurz	---help---
3178b8e658bSGreg Kurz	  This option allows TUN/TAP and MACVTAP device drivers in a
3188b8e658bSGreg Kurz	  little-endian kernel to parse vnet headers that come from a
3198b8e658bSGreg Kurz	  big-endian legacy virtio device.
3208b8e658bSGreg Kurz
3218b8e658bSGreg Kurz	  Userspace programs can control the feature using the TUNSETVNETBE
3228b8e658bSGreg Kurz	  and TUNGETVNETBE ioctls.
3238b8e658bSGreg Kurz
3248b8e658bSGreg Kurz	  Unless you have a little-endian system hosting a big-endian virtual
3258b8e658bSGreg Kurz	  machine with a legacy virtio NIC, you should say N.
3268b8e658bSGreg Kurz
327e314dbdcSPavel Emelyanovconfig VETH
3286a9a0250SRusty Russell	tristate "Virtual ethernet pair device"
329e314dbdcSPavel Emelyanov	---help---
3306a9a0250SRusty Russell	  This device is a local ethernet tunnel. Devices are created in pairs.
3316a9a0250SRusty Russell	  When one end receives the packet it appears on its pair and vice
3326a9a0250SRusty Russell	  versa.
333e314dbdcSPavel Emelyanov
33488491d81SJeff Kirsherconfig VIRTIO_NET
335bd085b93SKees Cook	tristate "Virtio network driver"
336bd085b93SKees Cook	depends on VIRTIO
337ba5e4426SSridhar Samudrala	select NET_FAILOVER
33888491d81SJeff Kirsher	---help---
33988491d81SJeff Kirsher	  This is the virtual network driver for virtio.  It can be used with
340ecda85e7SJuergen Gross	  QEMU based VMMs (like KVM or Xen).  Say Y or M.
34188491d81SJeff Kirsher
342e4fc408eSDaniel Borkmannconfig NLMON
343e4fc408eSDaniel Borkmann	tristate "Virtual netlink monitoring device"
344e4fc408eSDaniel Borkmann	---help---
345e4fc408eSDaniel Borkmann	  This option enables a monitoring net device for netlink skbs. The
346e4fc408eSDaniel Borkmann	  purpose of this is to analyze netlink messages with packet sockets.
347e4fc408eSDaniel Borkmann	  Thus applications like tcpdump will be able to see local netlink
348e4fc408eSDaniel Borkmann	  messages if they tap into the netlink device, record pcaps for further
349e4fc408eSDaniel Borkmann	  diagnostics, etc. This is mostly intended for developers or support
350e4fc408eSDaniel Borkmann	  to debug netlink issues. If unsure, say N.
351e4fc408eSDaniel Borkmann
352193125dbSDavid Ahernconfig NET_VRF
353193125dbSDavid Ahern	tristate "Virtual Routing and Forwarding (Lite)"
35435402e31SDavid Ahern	depends on IP_MULTIPLE_TABLES
355ee15ee5dSDavid Ahern	depends on NET_L3_MASTER_DEV
35635402e31SDavid Ahern	depends on IPV6 || IPV6=n
35735402e31SDavid Ahern	depends on IPV6_MULTIPLE_TABLES || IPV6=n
358193125dbSDavid Ahern	---help---
359193125dbSDavid Ahern	  This option enables the support for mapping interfaces into VRF's. The
360193125dbSDavid Ahern	  support enables VRF devices.
361193125dbSDavid Ahern
3620b2e6644SGerard Garciaconfig VSOCKMON
3630b2e6644SGerard Garcia    tristate "Virtual vsock monitoring device"
3640b2e6644SGerard Garcia    depends on VHOST_VSOCK
3650b2e6644SGerard Garcia    ---help---
3660b2e6644SGerard Garcia     This option enables a monitoring net device for vsock sockets. It is
3670b2e6644SGerard Garcia     mostly intended for developers or support to debug vsock issues. If
3680b2e6644SGerard Garcia     unsure, say N.
3690b2e6644SGerard Garcia
37088491d81SJeff Kirsherendif # NET_CORE
37188491d81SJeff Kirsher
37288491d81SJeff Kirsherconfig SUNGEM_PHY
37388491d81SJeff Kirsher	tristate
37488491d81SJeff Kirsher
37588491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig"
37688491d81SJeff Kirsher
37788491d81SJeff Kirshersource "drivers/atm/Kconfig"
37888491d81SJeff Kirsher
37988491d81SJeff Kirshersource "drivers/net/caif/Kconfig"
38088491d81SJeff Kirsher
3813b158859SBen Hutchingssource "drivers/net/dsa/Kconfig"
3823b158859SBen Hutchings
38388491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig"
38488491d81SJeff Kirsher
38588491d81SJeff Kirshersource "drivers/net/fddi/Kconfig"
38688491d81SJeff Kirsher
387fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig"
388fecc7351SPaul Bolle
3891da177e4SLinus Torvaldsconfig NET_SB1000
3901da177e4SLinus Torvalds	tristate "General Instruments Surfboard 1000"
391cbcd2a4cSRandy Dunlap	depends on PNP
3921da177e4SLinus Torvalds	---help---
3931da177e4SLinus Torvalds	  This is a driver for the General Instrument (also known as
3941da177e4SLinus Torvalds	  NextLevel) SURFboard 1000 internal
3951da177e4SLinus Torvalds	  cable modem. This is an ISA card which is used by a number of cable
3961da177e4SLinus Torvalds	  TV companies to provide cable modem access. It's a one-way
3971da177e4SLinus Torvalds	  downstream-only cable modem, meaning that your upstream net link is
3981da177e4SLinus Torvalds	  provided by your regular phone modem.
3991da177e4SLinus Torvalds
4001da177e4SLinus Torvalds	  At present this driver only compiles as a module, so say M here if
4011da177e4SLinus Torvalds	  you have this card. The module will be called sb1000. Then read
402b255e500SJakub Kicinski	  <file:Documentation/networking/device_drivers/sb1000.txt> for
403b255e500SJakub Kicinski	  information on how to use this module, as it needs special ppp
404b255e500SJakub Kicinski	  scripts for establishing a connection. Further documentation
405b255e500SJakub Kicinski	  and the necessary scripts can be found at:
4061da177e4SLinus Torvalds
4071da177e4SLinus Torvalds	  <http://www.jacksonville.net/~fventuri/>
4081da177e4SLinus Torvalds	  <http://home.adelphia.net/~siglercm/sb1000.html>
4091da177e4SLinus Torvalds	  <http://linuxpower.cx/~cable/>
4101da177e4SLinus Torvalds
4111da177e4SLinus Torvalds	  If you don't have this card, of course say N.
4121da177e4SLinus Torvalds
41300db8189SAndy Flemingsource "drivers/net/phy/Kconfig"
41400db8189SAndy Fleming
41518e635f4SJeff Kirshersource "drivers/net/plip/Kconfig"
41618e635f4SJeff Kirsher
41788491d81SJeff Kirshersource "drivers/net/ppp/Kconfig"
41888491d81SJeff Kirsher
419b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig"
420b5451d78SJeff Kirsher
42188491d81SJeff Kirshersource "drivers/s390/net/Kconfig"
42288491d81SJeff Kirsher
42388491d81SJeff Kirshersource "drivers/net/usb/Kconfig"
42488491d81SJeff Kirsher
4251da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig"
4261da177e4SLinus Torvalds
427143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig"
428143ee2d5SInaky Perez-Gonzalez
4291da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig"
4301da177e4SLinus Torvalds
4310739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig"
4320739d643Salex.bluesman.smirnov@gmail.com
4330d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND
4340d160211SJeremy Fitzhardinge	tristate "Xen network device frontend driver"
4350d160211SJeremy Fitzhardinge	depends on XEN
4367003087cSJeremy Fitzhardinge	select XEN_XENBUS_FRONTEND
4370d160211SJeremy Fitzhardinge	default y
4380d160211SJeremy Fitzhardinge	help
439f942dc25SIan Campbell	  This driver provides support for Xen paravirtual network
440f942dc25SIan Campbell	  devices exported by a Xen network driver domain (often
441f942dc25SIan Campbell	  domain 0).
442f942dc25SIan Campbell
443f942dc25SIan Campbell	  The corresponding Linux backend driver is enabled by the
444f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_BACKEND option.
445f942dc25SIan Campbell
446f942dc25SIan Campbell	  If you are compiling a kernel for use as Xen guest, you
447f942dc25SIan Campbell	  should say Y here. To compile this driver as a module, chose
448f942dc25SIan Campbell	  M here: the module will be called xen-netfront.
449f942dc25SIan Campbell
450f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND
451f942dc25SIan Campbell	tristate "Xen backend network device"
452f942dc25SIan Campbell	depends on XEN_BACKEND
453f942dc25SIan Campbell	help
454f942dc25SIan Campbell	  This driver allows the kernel to act as a Xen network driver
455f942dc25SIan Campbell	  domain which exports paravirtual network devices to other
456f942dc25SIan Campbell	  Xen domains. These devices can be accessed by any operating
457f942dc25SIan Campbell	  system that implements a compatible front end.
458f942dc25SIan Campbell
459f942dc25SIan Campbell	  The corresponding Linux frontend driver is enabled by the
460f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_FRONTEND configuration option.
461f942dc25SIan Campbell
462f942dc25SIan Campbell	  The backend driver presents a standard network device
463f942dc25SIan Campbell	  endpoint for each paravirtual network device to the driver
464f942dc25SIan Campbell	  domain network stack. These can then be bridged or routed
465f942dc25SIan Campbell	  etc in order to provide full network connectivity.
466f942dc25SIan Campbell
467f942dc25SIan Campbell	  If you are compiling a kernel to run in a Xen network driver
468f942dc25SIan Campbell	  domain (often this is domain 0) you should say Y here. To
469f942dc25SIan Campbell	  compile this driver as a module, chose M here: the module
470f942dc25SIan Campbell	  will be called xen-netback.
4710d160211SJeremy Fitzhardinge
472d1a890faSShreyas Bhatewaraconfig VMXNET3
473d1a890faSShreyas Bhatewara	tristate "VMware VMXNET3 ethernet driver"
474115924b6SShreyas Bhatewara	depends on PCI && INET
475fbdf0e28SArnd Bergmann	depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \
476fbdf0e28SArnd Bergmann		     IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \
477fbdf0e28SArnd Bergmann		     PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES)
478d1a890faSShreyas Bhatewara	help
479d1a890faSShreyas Bhatewara	  This driver supports VMware's vmxnet3 virtual ethernet NIC.
480d1a890faSShreyas Bhatewara	  To compile this driver as a module, choose M here: the
481d1a890faSShreyas Bhatewara	  module will be called vmxnet3.
482d1a890faSShreyas Bhatewara
483658d439bSTaku Izumiconfig FUJITSU_ES
484658d439bSTaku Izumi	tristate "FUJITSU Extended Socket Network Device driver"
485658d439bSTaku Izumi	depends on ACPI
486658d439bSTaku Izumi	help
487658d439bSTaku Izumi	  This driver provides support for Extended Socket network device
488658d439bSTaku Izumi          on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series.
489658d439bSTaku Izumi
490e69b6c02SAmir Levyconfig THUNDERBOLT_NET
491e69b6c02SAmir Levy	tristate "Networking over Thunderbolt cable"
492e69b6c02SAmir Levy	depends on THUNDERBOLT && INET
493e69b6c02SAmir Levy	help
494e69b6c02SAmir Levy	  Select this if you want to create network between two
495e69b6c02SAmir Levy	  computers over a Thunderbolt cable. The driver supports Apple
496e69b6c02SAmir Levy	  ThunderboltIP protocol and allows communication with any host
497e69b6c02SAmir Levy	  supporting the same protocol including Windows and macOS.
498e69b6c02SAmir Levy
499e69b6c02SAmir Levy	  To compile this driver a module, choose M here. The module will be
500e69b6c02SAmir Levy	  called thunderbolt-net.
501e69b6c02SAmir Levy
50295fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig"
50395fa0405SHaiyang Zhang
50483c9e13aSJakub Kicinskiconfig NETDEVSIM
50583c9e13aSJakub Kicinski	tristate "Simulated networking device"
50683c9e13aSJakub Kicinski	depends on DEBUG_FS
50737923ed6SDavid Ahern	depends on MAY_USE_DEVLINK
50883c9e13aSJakub Kicinski	help
50983c9e13aSJakub Kicinski	  This driver is a developer testing tool and software model that can
51083c9e13aSJakub Kicinski	  be used to test various control path networking APIs, especially
51183c9e13aSJakub Kicinski	  HW-offload related.
51283c9e13aSJakub Kicinski
51383c9e13aSJakub Kicinski	  To compile this driver as a module, choose M here: the module
51483c9e13aSJakub Kicinski	  will be called netdevsim.
51583c9e13aSJakub Kicinski
516cfc80d9aSSridhar Samudralaconfig NET_FAILOVER
517cfc80d9aSSridhar Samudrala	tristate "Failover driver"
518cfc80d9aSSridhar Samudrala	select FAILOVER
519cfc80d9aSSridhar Samudrala	help
520cfc80d9aSSridhar Samudrala	  This provides an automated failover mechanism via APIs to create
521cfc80d9aSSridhar Samudrala	  and destroy a failover master netdev and manages a primary and
522cfc80d9aSSridhar Samudrala	  standby slave netdevs that get registered via the generic failover
523cfc80d9aSSridhar Samudrala	  infrastructure. This can be used by paravirtual drivers to enable
524cfc80d9aSSridhar Samudrala	  an alternate low latency datapath. It also enables live migration of
525cfc80d9aSSridhar Samudrala	  a VM with direct attached VF by failing over to the paravirtual
526cfc80d9aSSridhar Samudrala	  datapath when the VF is unplugged.
527cfc80d9aSSridhar Samudrala
528d1c0a65fSJan Engelhardtendif # NETDEVICES
529