xref: /openbmc/linux/drivers/net/Kconfig (revision a1606c7d)
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.
651da177e4SLinus Torvalds	  If you use SLIP or PPP, you might want to say Y here. Since this
661da177e4SLinus Torvalds	  thing often comes in handy, the default is Y. It won't enlarge your
671da177e4SLinus Torvalds	  kernel either. 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
7488491d81SJeff Kirsherconfig EQUALIZER
7588491d81SJeff Kirsher	tristate "EQL (serial line load balancing) support"
761da177e4SLinus Torvalds	---help---
7788491d81SJeff Kirsher	  If you have two serial connections to some other computer (this
7888491d81SJeff Kirsher	  usually requires two modems and two telephone lines) and you use
7988491d81SJeff Kirsher	  SLIP (the protocol for sending Internet traffic over telephone
8088491d81SJeff Kirsher	  lines) or PPP (a better SLIP) on them, you can make them behave like
8188491d81SJeff Kirsher	  one double speed connection using this driver.  Naturally, this has
8288491d81SJeff Kirsher	  to be supported at the other end as well, either with a similar EQL
8388491d81SJeff Kirsher	  Linux driver or with a Livingston Portmaster 2e.
841da177e4SLinus Torvalds
8588491d81SJeff Kirsher	  Say Y if you want this and read
8688491d81SJeff Kirsher	  <file:Documentation/networking/eql.txt>.  You may also want to read
8788491d81SJeff Kirsher	  section 6.2 of the NET-3-HOWTO, available from
8888491d81SJeff Kirsher	  <http://www.tldp.org/docs.html#howto>.
891da177e4SLinus Torvalds
901da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
9188491d81SJeff Kirsher	  will be called eql.  If unsure, say N.
9288491d81SJeff Kirsher
9388491d81SJeff Kirsherconfig NET_FC
9488491d81SJeff Kirsher	bool "Fibre Channel driver support"
9588491d81SJeff Kirsher	depends on SCSI && PCI
9688491d81SJeff Kirsher	help
9788491d81SJeff Kirsher	  Fibre Channel is a high speed serial protocol mainly used to connect
9888491d81SJeff Kirsher	  large storage devices to the computer; it is compatible with and
9988491d81SJeff Kirsher	  intended to replace SCSI.
10088491d81SJeff Kirsher
10188491d81SJeff Kirsher	  If you intend to use Fibre Channel, you need to have a Fibre channel
10288491d81SJeff Kirsher	  adaptor card in your computer; say Y here and to the driver for your
10388491d81SJeff Kirsher	  adaptor below. You also should have said Y to "SCSI support" and
10488491d81SJeff Kirsher	  "SCSI generic support".
10588491d81SJeff Kirsher
10688491d81SJeff Kirsherconfig IFB
10788491d81SJeff Kirsher	tristate "Intermediate Functional Block support"
10888491d81SJeff Kirsher	depends on NET_CLS_ACT
10988491d81SJeff Kirsher	---help---
11088491d81SJeff Kirsher	  This is an intermediate driver that allows sharing of
11188491d81SJeff Kirsher	  resources.
11288491d81SJeff Kirsher	  To compile this driver as a module, choose M here: the module
11388491d81SJeff Kirsher	  will be called ifb.  If you want to use more than one ifb
11488491d81SJeff Kirsher	  device at a time, you need to compile this driver as a module.
11588491d81SJeff Kirsher	  Instead of 'ifb', the devices will then be called 'ifb0',
11688491d81SJeff Kirsher	  'ifb1' etc.
11788491d81SJeff Kirsher	  Look at the iproute2 documentation directory for usage etc
1181da177e4SLinus Torvalds
1193d249d4cSJiri Pirkosource "drivers/net/team/Kconfig"
1203d249d4cSJiri Pirko
121b863ceb7SPatrick McHardyconfig MACVLAN
122bd085b93SKees Cook	tristate "MAC-VLAN support"
123b863ceb7SPatrick McHardy	---help---
124b863ceb7SPatrick McHardy	  This allows one to create virtual interfaces that map packets to
125b863ceb7SPatrick McHardy	  or from specific MAC addresses to a particular interface.
126b863ceb7SPatrick McHardy
1273dbf8d56SPatrick McHardy	  Macvlan devices can be added using the "ip" command from the
1283dbf8d56SPatrick McHardy	  iproute2 package starting with the iproute2-2.6.23 release:
1293dbf8d56SPatrick McHardy
1303dbf8d56SPatrick McHardy	  "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
1313dbf8d56SPatrick McHardy
132b863ceb7SPatrick McHardy	  To compile this driver as a module, choose M here: the module
133b863ceb7SPatrick McHardy	  will be called macvlan.
134b863ceb7SPatrick McHardy
13520d29d7aSArnd Bergmannconfig MACVTAP
136bd085b93SKees Cook	tristate "MAC-VLAN based tap driver"
13720d29d7aSArnd Bergmann	depends on MACVLAN
13820d29d7aSArnd Bergmann	help
13920d29d7aSArnd Bergmann	  This adds a specialized tap character device driver that is based
14020d29d7aSArnd Bergmann	  on the MAC-VLAN network interface, called macvtap. A macvtap device
14120d29d7aSArnd Bergmann	  can be added in the same way as a macvlan device, using 'type
14220d29d7aSArnd Bergmann	  macvlan', and then be accessed through the tap user space interface.
14320d29d7aSArnd Bergmann
14420d29d7aSArnd Bergmann	  To compile this driver as a module, choose M here: the module
14520d29d7aSArnd Bergmann	  will be called macvtap.
14620d29d7aSArnd Bergmann
147d342894cSstephen hemmingerconfig VXLAN
148d342894cSstephen hemminger       tristate "Virtual eXtensible Local Area Network (VXLAN)"
149c9b20a5eSKees Cook       depends on INET
150e8171045SPravin B Shelar       select NET_IP_TUNNEL
151d342894cSstephen hemminger       ---help---
152d342894cSstephen hemminger	  This allows one to create vxlan virtual interfaces that provide
153d342894cSstephen hemminger	  Layer 2 Networks over Layer 3 Networks. VXLAN is often used
154d342894cSstephen hemminger	  to tunnel virtual network infrastructure in virtualized environments.
155d342894cSstephen hemminger	  For more information see:
156d342894cSstephen hemminger	    http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
157d342894cSstephen hemminger
158d342894cSstephen hemminger	  To compile this driver as a module, choose M here: the module
159d342894cSstephen hemminger	  will be called vxlan.
160d342894cSstephen hemminger
16188491d81SJeff Kirsherconfig NETCONSOLE
16288491d81SJeff Kirsher	tristate "Network console logging support"
1631da177e4SLinus Torvalds	---help---
16488491d81SJeff Kirsher	If you want to log kernel messages over the network, enable this.
16588491d81SJeff Kirsher	See <file:Documentation/networking/netconsole.txt> for details.
1661da177e4SLinus Torvalds
16788491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC
16888491d81SJeff Kirsher	bool "Dynamic reconfiguration of logging targets"
16988491d81SJeff Kirsher	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
17088491d81SJeff Kirsher			!(NETCONSOLE=y && CONFIGFS_FS=m)
17188491d81SJeff Kirsher	help
17288491d81SJeff Kirsher	  This option enables the ability to dynamically reconfigure target
17388491d81SJeff Kirsher	  parameters (interface, IP addresses, port numbers, MAC addresses)
17488491d81SJeff Kirsher	  at runtime through a userspace interface exported using configfs.
17588491d81SJeff Kirsher	  See <file:Documentation/networking/netconsole.txt> for details.
1761da177e4SLinus Torvalds
17788491d81SJeff Kirsherconfig NETPOLL
17888491d81SJeff Kirsher	def_bool NETCONSOLE
17988491d81SJeff Kirsher
18088491d81SJeff Kirsherconfig NETPOLL_TRAP
18188491d81SJeff Kirsher	bool "Netpoll traffic trapping"
18288491d81SJeff Kirsher	default n
18388491d81SJeff Kirsher	depends on NETPOLL
18488491d81SJeff Kirsher
18588491d81SJeff Kirsherconfig NET_POLL_CONTROLLER
18688491d81SJeff Kirsher	def_bool NETPOLL
18788491d81SJeff Kirsher
188548c237cSJon Masonconfig NTB_NETDEV
189548c237cSJon Mason	tristate "Virtual Ethernet over NTB"
190548c237cSJon Mason	depends on NTB
191548c237cSJon Mason
19288491d81SJeff Kirsherconfig RIONET
19388491d81SJeff Kirsher	tristate "RapidIO Ethernet over messaging driver support"
19488491d81SJeff Kirsher	depends on RAPIDIO
19588491d81SJeff Kirsher
19688491d81SJeff Kirsherconfig RIONET_TX_SIZE
19788491d81SJeff Kirsher	int "Number of outbound queue entries"
19888491d81SJeff Kirsher	depends on RIONET
19988491d81SJeff Kirsher	default "128"
20088491d81SJeff Kirsher
20188491d81SJeff Kirsherconfig RIONET_RX_SIZE
20288491d81SJeff Kirsher	int "Number of inbound queue entries"
20388491d81SJeff Kirsher	depends on RIONET
20488491d81SJeff Kirsher	default "128"
2051da177e4SLinus Torvalds
2061da177e4SLinus Torvaldsconfig TUN
2071da177e4SLinus Torvalds	tristate "Universal TUN/TAP device driver support"
2081da177e4SLinus Torvalds	select CRC32
2091da177e4SLinus Torvalds	---help---
2101da177e4SLinus Torvalds	  TUN/TAP provides packet reception and transmission for user space
2111da177e4SLinus Torvalds	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
2121da177e4SLinus Torvalds	  device, which instead of receiving packets from a physical media,
2131da177e4SLinus Torvalds	  receives them from user space program and instead of sending packets
2141da177e4SLinus Torvalds	  via physical media writes them to the user space program.
2151da177e4SLinus Torvalds
2161da177e4SLinus Torvalds	  When a program opens /dev/net/tun, driver creates and registers
2171da177e4SLinus Torvalds	  corresponding net device tunX or tapX.  After a program closed above
2181da177e4SLinus Torvalds	  devices, driver will automatically delete tunXX or tapXX device and
2191da177e4SLinus Torvalds	  all routes corresponding to it.
2201da177e4SLinus Torvalds
2211da177e4SLinus Torvalds	  Please read <file:Documentation/networking/tuntap.txt> for more
2221da177e4SLinus Torvalds	  information.
2231da177e4SLinus Torvalds
2241da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
2251da177e4SLinus Torvalds	  will be called tun.
2261da177e4SLinus Torvalds
2271da177e4SLinus Torvalds	  If you don't know what to use this for, you don't need it.
2281da177e4SLinus Torvalds
229e314dbdcSPavel Emelyanovconfig VETH
2306a9a0250SRusty Russell	tristate "Virtual ethernet pair device"
231e314dbdcSPavel Emelyanov	---help---
2326a9a0250SRusty Russell	  This device is a local ethernet tunnel. Devices are created in pairs.
2336a9a0250SRusty Russell	  When one end receives the packet it appears on its pair and vice
2346a9a0250SRusty Russell	  versa.
235e314dbdcSPavel Emelyanov
23688491d81SJeff Kirsherconfig VIRTIO_NET
237bd085b93SKees Cook	tristate "Virtio network driver"
238bd085b93SKees Cook	depends on VIRTIO
23988491d81SJeff Kirsher	---help---
24088491d81SJeff Kirsher	  This is the virtual network driver for virtio.  It can be used with
24188491d81SJeff Kirsher	  lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
24288491d81SJeff Kirsher
24388491d81SJeff Kirsherendif # NET_CORE
24488491d81SJeff Kirsher
24588491d81SJeff Kirsherconfig SUNGEM_PHY
24688491d81SJeff Kirsher	tristate
24788491d81SJeff Kirsher
24888491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig"
24988491d81SJeff Kirsher
25088491d81SJeff Kirshersource "drivers/atm/Kconfig"
25188491d81SJeff Kirsher
25288491d81SJeff Kirshersource "drivers/net/caif/Kconfig"
25388491d81SJeff Kirsher
2543b158859SBen Hutchingssource "drivers/net/dsa/Kconfig"
2553b158859SBen Hutchings
25688491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig"
25788491d81SJeff Kirsher
25888491d81SJeff Kirshersource "drivers/net/fddi/Kconfig"
25988491d81SJeff Kirsher
260fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig"
261fecc7351SPaul Bolle
2621da177e4SLinus Torvaldsconfig NET_SB1000
2631da177e4SLinus Torvalds	tristate "General Instruments Surfboard 1000"
264cbcd2a4cSRandy Dunlap	depends on PNP
2651da177e4SLinus Torvalds	---help---
2661da177e4SLinus Torvalds	  This is a driver for the General Instrument (also known as
2671da177e4SLinus Torvalds	  NextLevel) SURFboard 1000 internal
2681da177e4SLinus Torvalds	  cable modem. This is an ISA card which is used by a number of cable
2691da177e4SLinus Torvalds	  TV companies to provide cable modem access. It's a one-way
2701da177e4SLinus Torvalds	  downstream-only cable modem, meaning that your upstream net link is
2711da177e4SLinus Torvalds	  provided by your regular phone modem.
2721da177e4SLinus Torvalds
2731da177e4SLinus Torvalds	  At present this driver only compiles as a module, so say M here if
2741da177e4SLinus Torvalds	  you have this card. The module will be called sb1000. Then read
2751da177e4SLinus Torvalds	  <file:Documentation/networking/README.sb1000> for information on how
2761da177e4SLinus Torvalds	  to use this module, as it needs special ppp scripts for establishing
2771da177e4SLinus Torvalds	  a connection. Further documentation and the necessary scripts can be
2781da177e4SLinus Torvalds	  found at:
2791da177e4SLinus Torvalds
2801da177e4SLinus Torvalds	  <http://www.jacksonville.net/~fventuri/>
2811da177e4SLinus Torvalds	  <http://home.adelphia.net/~siglercm/sb1000.html>
2821da177e4SLinus Torvalds	  <http://linuxpower.cx/~cable/>
2831da177e4SLinus Torvalds
2841da177e4SLinus Torvalds	  If you don't have this card, of course say N.
2851da177e4SLinus Torvalds
28600db8189SAndy Flemingsource "drivers/net/phy/Kconfig"
28700db8189SAndy Fleming
28818e635f4SJeff Kirshersource "drivers/net/plip/Kconfig"
28918e635f4SJeff Kirsher
29088491d81SJeff Kirshersource "drivers/net/ppp/Kconfig"
29188491d81SJeff Kirsher
292b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig"
293b5451d78SJeff Kirsher
29488491d81SJeff Kirshersource "drivers/s390/net/Kconfig"
29588491d81SJeff Kirsher
29688491d81SJeff Kirshersource "drivers/net/usb/Kconfig"
29788491d81SJeff Kirsher
2981da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig"
2991da177e4SLinus Torvalds
300143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig"
301143ee2d5SInaky Perez-Gonzalez
3021da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig"
3031da177e4SLinus Torvalds
3040739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig"
3050739d643Salex.bluesman.smirnov@gmail.com
3060d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND
3070d160211SJeremy Fitzhardinge	tristate "Xen network device frontend driver"
3080d160211SJeremy Fitzhardinge	depends on XEN
3097003087cSJeremy Fitzhardinge	select XEN_XENBUS_FRONTEND
3100d160211SJeremy Fitzhardinge	default y
3110d160211SJeremy Fitzhardinge	help
312f942dc25SIan Campbell	  This driver provides support for Xen paravirtual network
313f942dc25SIan Campbell	  devices exported by a Xen network driver domain (often
314f942dc25SIan Campbell	  domain 0).
315f942dc25SIan Campbell
316f942dc25SIan Campbell	  The corresponding Linux backend driver is enabled by the
317f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_BACKEND option.
318f942dc25SIan Campbell
319f942dc25SIan Campbell	  If you are compiling a kernel for use as Xen guest, you
320f942dc25SIan Campbell	  should say Y here. To compile this driver as a module, chose
321f942dc25SIan Campbell	  M here: the module will be called xen-netfront.
322f942dc25SIan Campbell
323f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND
324f942dc25SIan Campbell	tristate "Xen backend network device"
325f942dc25SIan Campbell	depends on XEN_BACKEND
326f942dc25SIan Campbell	help
327f942dc25SIan Campbell	  This driver allows the kernel to act as a Xen network driver
328f942dc25SIan Campbell	  domain which exports paravirtual network devices to other
329f942dc25SIan Campbell	  Xen domains. These devices can be accessed by any operating
330f942dc25SIan Campbell	  system that implements a compatible front end.
331f942dc25SIan Campbell
332f942dc25SIan Campbell	  The corresponding Linux frontend driver is enabled by the
333f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_FRONTEND configuration option.
334f942dc25SIan Campbell
335f942dc25SIan Campbell	  The backend driver presents a standard network device
336f942dc25SIan Campbell	  endpoint for each paravirtual network device to the driver
337f942dc25SIan Campbell	  domain network stack. These can then be bridged or routed
338f942dc25SIan Campbell	  etc in order to provide full network connectivity.
339f942dc25SIan Campbell
340f942dc25SIan Campbell	  If you are compiling a kernel to run in a Xen network driver
341f942dc25SIan Campbell	  domain (often this is domain 0) you should say Y here. To
342f942dc25SIan Campbell	  compile this driver as a module, chose M here: the module
343f942dc25SIan Campbell	  will be called xen-netback.
3440d160211SJeremy Fitzhardinge
345d1a890faSShreyas Bhatewaraconfig VMXNET3
346d1a890faSShreyas Bhatewara	tristate "VMware VMXNET3 ethernet driver"
347115924b6SShreyas Bhatewara	depends on PCI && INET
348d1a890faSShreyas Bhatewara	help
349d1a890faSShreyas Bhatewara	  This driver supports VMware's vmxnet3 virtual ethernet NIC.
350d1a890faSShreyas Bhatewara	  To compile this driver as a module, choose M here: the
351d1a890faSShreyas Bhatewara	  module will be called vmxnet3.
352d1a890faSShreyas Bhatewara
35395fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig"
35495fa0405SHaiyang Zhang
355d1c0a65fSJan Engelhardtendif # NETDEVICES
356