xref: /openbmc/linux/drivers/net/Kconfig (revision c9b20a5e)
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
2888491d81SJeff Kirsherconfig NET_CORE
2988491d81SJeff Kirsher	default y
3088491d81SJeff Kirsher	bool "Network core driver support"
31253af423SJamal Hadi Salim	---help---
3288491d81SJeff Kirsher	  You can say N here if you do not intend to use any of the
3388491d81SJeff Kirsher	  networking core drivers (i.e. VLAN, bridging, bonding, etc.)
3488491d81SJeff Kirsher
3588491d81SJeff Kirsherif NET_CORE
3688491d81SJeff Kirsher
3788491d81SJeff Kirsherconfig BONDING
3888491d81SJeff Kirsher	tristate "Bonding driver support"
3988491d81SJeff Kirsher	depends on INET
4088491d81SJeff Kirsher	depends on IPV6 || IPV6=n
4188491d81SJeff Kirsher	---help---
4288491d81SJeff Kirsher	  Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
4388491d81SJeff Kirsher	  Channels together. This is called 'Etherchannel' by Cisco,
4488491d81SJeff Kirsher	  'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
4588491d81SJeff Kirsher
4688491d81SJeff Kirsher	  The driver supports multiple bonding modes to allow for both high
4788491d81SJeff Kirsher	  performance and high availability operation.
4888491d81SJeff Kirsher
4988491d81SJeff Kirsher	  Refer to <file:Documentation/networking/bonding.txt> for more
5088491d81SJeff Kirsher	  information.
5188491d81SJeff Kirsher
52253af423SJamal Hadi Salim	  To compile this driver as a module, choose M here: the module
5388491d81SJeff Kirsher	  will be called bonding.
54253af423SJamal Hadi Salim
551da177e4SLinus Torvaldsconfig DUMMY
561da177e4SLinus Torvalds	tristate "Dummy net driver support"
571da177e4SLinus Torvalds	---help---
581da177e4SLinus Torvalds	  This is essentially a bit-bucket device (i.e. traffic you send to
591da177e4SLinus Torvalds	  this device is consigned into oblivion) with a configurable IP
601da177e4SLinus Torvalds	  address. It is most commonly used in order to make your currently
611da177e4SLinus Torvalds	  inactive SLIP address seem like a real address for local programs.
621da177e4SLinus Torvalds	  If you use SLIP or PPP, you might want to say Y here. Since this
631da177e4SLinus Torvalds	  thing often comes in handy, the default is Y. It won't enlarge your
641da177e4SLinus Torvalds	  kernel either. What a deal. Read about it in the Network
651da177e4SLinus Torvalds	  Administrator's Guide, available from
661da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#guide>.
671da177e4SLinus Torvalds
681da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
699f486619SAlan Cox	  will be called dummy.
701da177e4SLinus Torvalds
7188491d81SJeff Kirsherconfig EQUALIZER
7288491d81SJeff Kirsher	tristate "EQL (serial line load balancing) support"
731da177e4SLinus Torvalds	---help---
7488491d81SJeff Kirsher	  If you have two serial connections to some other computer (this
7588491d81SJeff Kirsher	  usually requires two modems and two telephone lines) and you use
7688491d81SJeff Kirsher	  SLIP (the protocol for sending Internet traffic over telephone
7788491d81SJeff Kirsher	  lines) or PPP (a better SLIP) on them, you can make them behave like
7888491d81SJeff Kirsher	  one double speed connection using this driver.  Naturally, this has
7988491d81SJeff Kirsher	  to be supported at the other end as well, either with a similar EQL
8088491d81SJeff Kirsher	  Linux driver or with a Livingston Portmaster 2e.
811da177e4SLinus Torvalds
8288491d81SJeff Kirsher	  Say Y if you want this and read
8388491d81SJeff Kirsher	  <file:Documentation/networking/eql.txt>.  You may also want to read
8488491d81SJeff Kirsher	  section 6.2 of the NET-3-HOWTO, available from
8588491d81SJeff Kirsher	  <http://www.tldp.org/docs.html#howto>.
861da177e4SLinus Torvalds
871da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
8888491d81SJeff Kirsher	  will be called eql.  If unsure, say N.
8988491d81SJeff Kirsher
9088491d81SJeff Kirsherconfig NET_FC
9188491d81SJeff Kirsher	bool "Fibre Channel driver support"
9288491d81SJeff Kirsher	depends on SCSI && PCI
9388491d81SJeff Kirsher	help
9488491d81SJeff Kirsher	  Fibre Channel is a high speed serial protocol mainly used to connect
9588491d81SJeff Kirsher	  large storage devices to the computer; it is compatible with and
9688491d81SJeff Kirsher	  intended to replace SCSI.
9788491d81SJeff Kirsher
9888491d81SJeff Kirsher	  If you intend to use Fibre Channel, you need to have a Fibre channel
9988491d81SJeff Kirsher	  adaptor card in your computer; say Y here and to the driver for your
10088491d81SJeff Kirsher	  adaptor below. You also should have said Y to "SCSI support" and
10188491d81SJeff Kirsher	  "SCSI generic support".
10288491d81SJeff Kirsher
10388491d81SJeff Kirsherconfig MII
10488491d81SJeff Kirsher	tristate "Generic Media Independent Interface device support"
10588491d81SJeff Kirsher	help
10688491d81SJeff Kirsher	  Most ethernet controllers have MII transceiver either as an external
10788491d81SJeff Kirsher	  or internal device.  It is safe to say Y or M here even if your
10888491d81SJeff Kirsher	  ethernet card lacks MII.
10988491d81SJeff Kirsher
11088491d81SJeff Kirsherconfig IFB
11188491d81SJeff Kirsher	tristate "Intermediate Functional Block support"
11288491d81SJeff Kirsher	depends on NET_CLS_ACT
11388491d81SJeff Kirsher	---help---
11488491d81SJeff Kirsher	  This is an intermediate driver that allows sharing of
11588491d81SJeff Kirsher	  resources.
11688491d81SJeff Kirsher	  To compile this driver as a module, choose M here: the module
11788491d81SJeff Kirsher	  will be called ifb.  If you want to use more than one ifb
11888491d81SJeff Kirsher	  device at a time, you need to compile this driver as a module.
11988491d81SJeff Kirsher	  Instead of 'ifb', the devices will then be called 'ifb0',
12088491d81SJeff Kirsher	  'ifb1' etc.
12188491d81SJeff Kirsher	  Look at the iproute2 documentation directory for usage etc
1221da177e4SLinus Torvalds
1233d249d4cSJiri Pirkosource "drivers/net/team/Kconfig"
1243d249d4cSJiri Pirko
125b863ceb7SPatrick McHardyconfig MACVLAN
126b863ceb7SPatrick McHardy	tristate "MAC-VLAN support (EXPERIMENTAL)"
127b863ceb7SPatrick McHardy	depends on EXPERIMENTAL
128b863ceb7SPatrick McHardy	---help---
129b863ceb7SPatrick McHardy	  This allows one to create virtual interfaces that map packets to
130b863ceb7SPatrick McHardy	  or from specific MAC addresses to a particular interface.
131b863ceb7SPatrick McHardy
1323dbf8d56SPatrick McHardy	  Macvlan devices can be added using the "ip" command from the
1333dbf8d56SPatrick McHardy	  iproute2 package starting with the iproute2-2.6.23 release:
1343dbf8d56SPatrick McHardy
1353dbf8d56SPatrick McHardy	  "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
1363dbf8d56SPatrick McHardy
137b863ceb7SPatrick McHardy	  To compile this driver as a module, choose M here: the module
138b863ceb7SPatrick McHardy	  will be called macvlan.
139b863ceb7SPatrick McHardy
14020d29d7aSArnd Bergmannconfig MACVTAP
14120d29d7aSArnd Bergmann	tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
14220d29d7aSArnd Bergmann	depends on MACVLAN
14320d29d7aSArnd Bergmann	help
14420d29d7aSArnd Bergmann	  This adds a specialized tap character device driver that is based
14520d29d7aSArnd Bergmann	  on the MAC-VLAN network interface, called macvtap. A macvtap device
14620d29d7aSArnd Bergmann	  can be added in the same way as a macvlan device, using 'type
14720d29d7aSArnd Bergmann	  macvlan', and then be accessed through the tap user space interface.
14820d29d7aSArnd Bergmann
14920d29d7aSArnd Bergmann	  To compile this driver as a module, choose M here: the module
15020d29d7aSArnd Bergmann	  will be called macvtap.
15120d29d7aSArnd Bergmann
152d342894cSstephen hemmingerconfig VXLAN
153d342894cSstephen hemminger       tristate "Virtual eXtensible Local Area Network (VXLAN)"
154c9b20a5eSKees Cook       depends on INET
155d342894cSstephen hemminger       ---help---
156d342894cSstephen hemminger	  This allows one to create vxlan virtual interfaces that provide
157d342894cSstephen hemminger	  Layer 2 Networks over Layer 3 Networks. VXLAN is often used
158d342894cSstephen hemminger	  to tunnel virtual network infrastructure in virtualized environments.
159d342894cSstephen hemminger	  For more information see:
160d342894cSstephen hemminger	    http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
161d342894cSstephen hemminger
162d342894cSstephen hemminger	  To compile this driver as a module, choose M here: the module
163d342894cSstephen hemminger	  will be called vxlan.
164d342894cSstephen hemminger
16588491d81SJeff Kirsherconfig NETCONSOLE
16688491d81SJeff Kirsher	tristate "Network console logging support"
1671da177e4SLinus Torvalds	---help---
16888491d81SJeff Kirsher	If you want to log kernel messages over the network, enable this.
16988491d81SJeff Kirsher	See <file:Documentation/networking/netconsole.txt> for details.
1701da177e4SLinus Torvalds
17188491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC
17288491d81SJeff Kirsher	bool "Dynamic reconfiguration of logging targets"
17388491d81SJeff Kirsher	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
17488491d81SJeff Kirsher			!(NETCONSOLE=y && CONFIGFS_FS=m)
17588491d81SJeff Kirsher	help
17688491d81SJeff Kirsher	  This option enables the ability to dynamically reconfigure target
17788491d81SJeff Kirsher	  parameters (interface, IP addresses, port numbers, MAC addresses)
17888491d81SJeff Kirsher	  at runtime through a userspace interface exported using configfs.
17988491d81SJeff Kirsher	  See <file:Documentation/networking/netconsole.txt> for details.
1801da177e4SLinus Torvalds
18188491d81SJeff Kirsherconfig NETPOLL
18288491d81SJeff Kirsher	def_bool NETCONSOLE
18388491d81SJeff Kirsher
18488491d81SJeff Kirsherconfig NETPOLL_TRAP
18588491d81SJeff Kirsher	bool "Netpoll traffic trapping"
18688491d81SJeff Kirsher	default n
18788491d81SJeff Kirsher	depends on NETPOLL
18888491d81SJeff Kirsher
18988491d81SJeff Kirsherconfig NET_POLL_CONTROLLER
19088491d81SJeff Kirsher	def_bool NETPOLL
19188491d81SJeff Kirsher
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
23788491d81SJeff Kirsher	tristate "Virtio network driver (EXPERIMENTAL)"
23888491d81SJeff Kirsher	depends on EXPERIMENTAL && 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