xref: /openbmc/linux/drivers/net/Kconfig (revision 0739d643)
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
15288491d81SJeff Kirsherconfig NETCONSOLE
15388491d81SJeff Kirsher	tristate "Network console logging support"
1541da177e4SLinus Torvalds	---help---
15588491d81SJeff Kirsher	If you want to log kernel messages over the network, enable this.
15688491d81SJeff Kirsher	See <file:Documentation/networking/netconsole.txt> for details.
1571da177e4SLinus Torvalds
15888491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC
15988491d81SJeff Kirsher	bool "Dynamic reconfiguration of logging targets"
16088491d81SJeff Kirsher	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
16188491d81SJeff Kirsher			!(NETCONSOLE=y && CONFIGFS_FS=m)
16288491d81SJeff Kirsher	help
16388491d81SJeff Kirsher	  This option enables the ability to dynamically reconfigure target
16488491d81SJeff Kirsher	  parameters (interface, IP addresses, port numbers, MAC addresses)
16588491d81SJeff Kirsher	  at runtime through a userspace interface exported using configfs.
16688491d81SJeff Kirsher	  See <file:Documentation/networking/netconsole.txt> for details.
1671da177e4SLinus Torvalds
16888491d81SJeff Kirsherconfig NETPOLL
16988491d81SJeff Kirsher	def_bool NETCONSOLE
17088491d81SJeff Kirsher
17188491d81SJeff Kirsherconfig NETPOLL_TRAP
17288491d81SJeff Kirsher	bool "Netpoll traffic trapping"
17388491d81SJeff Kirsher	default n
17488491d81SJeff Kirsher	depends on NETPOLL
17588491d81SJeff Kirsher
17688491d81SJeff Kirsherconfig NET_POLL_CONTROLLER
17788491d81SJeff Kirsher	def_bool NETPOLL
17888491d81SJeff Kirsher
17988491d81SJeff Kirsherconfig RIONET
18088491d81SJeff Kirsher	tristate "RapidIO Ethernet over messaging driver support"
18188491d81SJeff Kirsher	depends on RAPIDIO
18288491d81SJeff Kirsher
18388491d81SJeff Kirsherconfig RIONET_TX_SIZE
18488491d81SJeff Kirsher	int "Number of outbound queue entries"
18588491d81SJeff Kirsher	depends on RIONET
18688491d81SJeff Kirsher	default "128"
18788491d81SJeff Kirsher
18888491d81SJeff Kirsherconfig RIONET_RX_SIZE
18988491d81SJeff Kirsher	int "Number of inbound queue entries"
19088491d81SJeff Kirsher	depends on RIONET
19188491d81SJeff Kirsher	default "128"
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvaldsconfig TUN
1941da177e4SLinus Torvalds	tristate "Universal TUN/TAP device driver support"
1951da177e4SLinus Torvalds	select CRC32
1961da177e4SLinus Torvalds	---help---
1971da177e4SLinus Torvalds	  TUN/TAP provides packet reception and transmission for user space
1981da177e4SLinus Torvalds	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
1991da177e4SLinus Torvalds	  device, which instead of receiving packets from a physical media,
2001da177e4SLinus Torvalds	  receives them from user space program and instead of sending packets
2011da177e4SLinus Torvalds	  via physical media writes them to the user space program.
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvalds	  When a program opens /dev/net/tun, driver creates and registers
2041da177e4SLinus Torvalds	  corresponding net device tunX or tapX.  After a program closed above
2051da177e4SLinus Torvalds	  devices, driver will automatically delete tunXX or tapXX device and
2061da177e4SLinus Torvalds	  all routes corresponding to it.
2071da177e4SLinus Torvalds
2081da177e4SLinus Torvalds	  Please read <file:Documentation/networking/tuntap.txt> for more
2091da177e4SLinus Torvalds	  information.
2101da177e4SLinus Torvalds
2111da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
2121da177e4SLinus Torvalds	  will be called tun.
2131da177e4SLinus Torvalds
2141da177e4SLinus Torvalds	  If you don't know what to use this for, you don't need it.
2151da177e4SLinus Torvalds
216e314dbdcSPavel Emelyanovconfig VETH
2176a9a0250SRusty Russell	tristate "Virtual ethernet pair device"
218e314dbdcSPavel Emelyanov	---help---
2196a9a0250SRusty Russell	  This device is a local ethernet tunnel. Devices are created in pairs.
2206a9a0250SRusty Russell	  When one end receives the packet it appears on its pair and vice
2216a9a0250SRusty Russell	  versa.
222e314dbdcSPavel Emelyanov
22388491d81SJeff Kirsherconfig VIRTIO_NET
22488491d81SJeff Kirsher	tristate "Virtio network driver (EXPERIMENTAL)"
22588491d81SJeff Kirsher	depends on EXPERIMENTAL && VIRTIO
22688491d81SJeff Kirsher	---help---
22788491d81SJeff Kirsher	  This is the virtual network driver for virtio.  It can be used with
22888491d81SJeff Kirsher	  lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
22988491d81SJeff Kirsher
23088491d81SJeff Kirsherendif # NET_CORE
23188491d81SJeff Kirsher
23288491d81SJeff Kirsherconfig SUNGEM_PHY
23388491d81SJeff Kirsher	tristate
23488491d81SJeff Kirsher
23588491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig"
23688491d81SJeff Kirsher
23788491d81SJeff Kirshersource "drivers/atm/Kconfig"
23888491d81SJeff Kirsher
23988491d81SJeff Kirshersource "drivers/net/caif/Kconfig"
24088491d81SJeff Kirsher
2413b158859SBen Hutchingssource "drivers/net/dsa/Kconfig"
2423b158859SBen Hutchings
24388491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig"
24488491d81SJeff Kirsher
24588491d81SJeff Kirshersource "drivers/net/fddi/Kconfig"
24688491d81SJeff Kirsher
247fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig"
248fecc7351SPaul Bolle
2491da177e4SLinus Torvaldsconfig NET_SB1000
2501da177e4SLinus Torvalds	tristate "General Instruments Surfboard 1000"
251cbcd2a4cSRandy Dunlap	depends on PNP
2521da177e4SLinus Torvalds	---help---
2531da177e4SLinus Torvalds	  This is a driver for the General Instrument (also known as
2541da177e4SLinus Torvalds	  NextLevel) SURFboard 1000 internal
2551da177e4SLinus Torvalds	  cable modem. This is an ISA card which is used by a number of cable
2561da177e4SLinus Torvalds	  TV companies to provide cable modem access. It's a one-way
2571da177e4SLinus Torvalds	  downstream-only cable modem, meaning that your upstream net link is
2581da177e4SLinus Torvalds	  provided by your regular phone modem.
2591da177e4SLinus Torvalds
2601da177e4SLinus Torvalds	  At present this driver only compiles as a module, so say M here if
2611da177e4SLinus Torvalds	  you have this card. The module will be called sb1000. Then read
2621da177e4SLinus Torvalds	  <file:Documentation/networking/README.sb1000> for information on how
2631da177e4SLinus Torvalds	  to use this module, as it needs special ppp scripts for establishing
2641da177e4SLinus Torvalds	  a connection. Further documentation and the necessary scripts can be
2651da177e4SLinus Torvalds	  found at:
2661da177e4SLinus Torvalds
2671da177e4SLinus Torvalds	  <http://www.jacksonville.net/~fventuri/>
2681da177e4SLinus Torvalds	  <http://home.adelphia.net/~siglercm/sb1000.html>
2691da177e4SLinus Torvalds	  <http://linuxpower.cx/~cable/>
2701da177e4SLinus Torvalds
2711da177e4SLinus Torvalds	  If you don't have this card, of course say N.
2721da177e4SLinus Torvalds
27300db8189SAndy Flemingsource "drivers/net/phy/Kconfig"
27400db8189SAndy Fleming
27518e635f4SJeff Kirshersource "drivers/net/plip/Kconfig"
27618e635f4SJeff Kirsher
27788491d81SJeff Kirshersource "drivers/net/ppp/Kconfig"
27888491d81SJeff Kirsher
279b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig"
280b5451d78SJeff Kirsher
28188491d81SJeff Kirshersource "drivers/s390/net/Kconfig"
28288491d81SJeff Kirsher
28388491d81SJeff Kirshersource "drivers/net/usb/Kconfig"
28488491d81SJeff Kirsher
2851da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig"
2861da177e4SLinus Torvalds
287143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig"
288143ee2d5SInaky Perez-Gonzalez
2891da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig"
2901da177e4SLinus Torvalds
291*0739d643Salex.bluesman.smirnov@gmail.comsource "drivers/net/ieee802154/Kconfig"
292*0739d643Salex.bluesman.smirnov@gmail.com
2930d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND
2940d160211SJeremy Fitzhardinge	tristate "Xen network device frontend driver"
2950d160211SJeremy Fitzhardinge	depends on XEN
2967003087cSJeremy Fitzhardinge	select XEN_XENBUS_FRONTEND
2970d160211SJeremy Fitzhardinge	default y
2980d160211SJeremy Fitzhardinge	help
299f942dc25SIan Campbell	  This driver provides support for Xen paravirtual network
300f942dc25SIan Campbell	  devices exported by a Xen network driver domain (often
301f942dc25SIan Campbell	  domain 0).
302f942dc25SIan Campbell
303f942dc25SIan Campbell	  The corresponding Linux backend driver is enabled by the
304f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_BACKEND option.
305f942dc25SIan Campbell
306f942dc25SIan Campbell	  If you are compiling a kernel for use as Xen guest, you
307f942dc25SIan Campbell	  should say Y here. To compile this driver as a module, chose
308f942dc25SIan Campbell	  M here: the module will be called xen-netfront.
309f942dc25SIan Campbell
310f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND
311f942dc25SIan Campbell	tristate "Xen backend network device"
312f942dc25SIan Campbell	depends on XEN_BACKEND
313f942dc25SIan Campbell	help
314f942dc25SIan Campbell	  This driver allows the kernel to act as a Xen network driver
315f942dc25SIan Campbell	  domain which exports paravirtual network devices to other
316f942dc25SIan Campbell	  Xen domains. These devices can be accessed by any operating
317f942dc25SIan Campbell	  system that implements a compatible front end.
318f942dc25SIan Campbell
319f942dc25SIan Campbell	  The corresponding Linux frontend driver is enabled by the
320f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_FRONTEND configuration option.
321f942dc25SIan Campbell
322f942dc25SIan Campbell	  The backend driver presents a standard network device
323f942dc25SIan Campbell	  endpoint for each paravirtual network device to the driver
324f942dc25SIan Campbell	  domain network stack. These can then be bridged or routed
325f942dc25SIan Campbell	  etc in order to provide full network connectivity.
326f942dc25SIan Campbell
327f942dc25SIan Campbell	  If you are compiling a kernel to run in a Xen network driver
328f942dc25SIan Campbell	  domain (often this is domain 0) you should say Y here. To
329f942dc25SIan Campbell	  compile this driver as a module, chose M here: the module
330f942dc25SIan Campbell	  will be called xen-netback.
3310d160211SJeremy Fitzhardinge
332d1a890faSShreyas Bhatewaraconfig VMXNET3
333d1a890faSShreyas Bhatewara	tristate "VMware VMXNET3 ethernet driver"
334115924b6SShreyas Bhatewara	depends on PCI && INET
335d1a890faSShreyas Bhatewara	help
336d1a890faSShreyas Bhatewara	  This driver supports VMware's vmxnet3 virtual ethernet NIC.
337d1a890faSShreyas Bhatewara	  To compile this driver as a module, choose M here: the
338d1a890faSShreyas Bhatewara	  module will be called vmxnet3.
339d1a890faSShreyas Bhatewara
34095fa0405SHaiyang Zhangsource "drivers/net/hyperv/Kconfig"
34195fa0405SHaiyang Zhang
342d1c0a65fSJan Engelhardtendif # NETDEVICES
343