xref: /openbmc/linux/drivers/net/Kconfig (revision fecc7351)
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
691da177e4SLinus Torvalds	  will be called dummy.  If you want to use more than one dummy
701da177e4SLinus Torvalds	  device at a time, you need to compile this driver as a module.
711da177e4SLinus Torvalds	  Instead of 'dummy', the devices will then be called 'dummy0',
721da177e4SLinus Torvalds	  'dummy1' etc.
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 MII
10788491d81SJeff Kirsher	tristate "Generic Media Independent Interface device support"
10888491d81SJeff Kirsher	help
10988491d81SJeff Kirsher	  Most ethernet controllers have MII transceiver either as an external
11088491d81SJeff Kirsher	  or internal device.  It is safe to say Y or M here even if your
11188491d81SJeff Kirsher	  ethernet card lacks MII.
11288491d81SJeff Kirsher
11388491d81SJeff Kirshersource "drivers/ieee802154/Kconfig"
11488491d81SJeff Kirsher
11588491d81SJeff Kirsherconfig IFB
11688491d81SJeff Kirsher	tristate "Intermediate Functional Block support"
11788491d81SJeff Kirsher	depends on NET_CLS_ACT
11888491d81SJeff Kirsher	---help---
11988491d81SJeff Kirsher	  This is an intermediate driver that allows sharing of
12088491d81SJeff Kirsher	  resources.
12188491d81SJeff Kirsher	  To compile this driver as a module, choose M here: the module
12288491d81SJeff Kirsher	  will be called ifb.  If you want to use more than one ifb
12388491d81SJeff Kirsher	  device at a time, you need to compile this driver as a module.
12488491d81SJeff Kirsher	  Instead of 'ifb', the devices will then be called 'ifb0',
12588491d81SJeff Kirsher	  'ifb1' etc.
12688491d81SJeff Kirsher	  Look at the iproute2 documentation directory for usage etc
1271da177e4SLinus Torvalds
128b863ceb7SPatrick McHardyconfig MACVLAN
129b863ceb7SPatrick McHardy	tristate "MAC-VLAN support (EXPERIMENTAL)"
130b863ceb7SPatrick McHardy	depends on EXPERIMENTAL
131b863ceb7SPatrick McHardy	---help---
132b863ceb7SPatrick McHardy	  This allows one to create virtual interfaces that map packets to
133b863ceb7SPatrick McHardy	  or from specific MAC addresses to a particular interface.
134b863ceb7SPatrick McHardy
1353dbf8d56SPatrick McHardy	  Macvlan devices can be added using the "ip" command from the
1363dbf8d56SPatrick McHardy	  iproute2 package starting with the iproute2-2.6.23 release:
1373dbf8d56SPatrick McHardy
1383dbf8d56SPatrick McHardy	  "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
1393dbf8d56SPatrick McHardy
140b863ceb7SPatrick McHardy	  To compile this driver as a module, choose M here: the module
141b863ceb7SPatrick McHardy	  will be called macvlan.
142b863ceb7SPatrick McHardy
14320d29d7aSArnd Bergmannconfig MACVTAP
14420d29d7aSArnd Bergmann	tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
14520d29d7aSArnd Bergmann	depends on MACVLAN
14620d29d7aSArnd Bergmann	help
14720d29d7aSArnd Bergmann	  This adds a specialized tap character device driver that is based
14820d29d7aSArnd Bergmann	  on the MAC-VLAN network interface, called macvtap. A macvtap device
14920d29d7aSArnd Bergmann	  can be added in the same way as a macvlan device, using 'type
15020d29d7aSArnd Bergmann	  macvlan', and then be accessed through the tap user space interface.
15120d29d7aSArnd Bergmann
15220d29d7aSArnd Bergmann	  To compile this driver as a module, choose M here: the module
15320d29d7aSArnd Bergmann	  will be called macvtap.
15420d29d7aSArnd Bergmann
15588491d81SJeff Kirsherconfig NETCONSOLE
15688491d81SJeff Kirsher	tristate "Network console logging support"
1571da177e4SLinus Torvalds	---help---
15888491d81SJeff Kirsher	If you want to log kernel messages over the network, enable this.
15988491d81SJeff Kirsher	See <file:Documentation/networking/netconsole.txt> for details.
1601da177e4SLinus Torvalds
16188491d81SJeff Kirsherconfig NETCONSOLE_DYNAMIC
16288491d81SJeff Kirsher	bool "Dynamic reconfiguration of logging targets"
16388491d81SJeff Kirsher	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
16488491d81SJeff Kirsher			!(NETCONSOLE=y && CONFIGFS_FS=m)
16588491d81SJeff Kirsher	help
16688491d81SJeff Kirsher	  This option enables the ability to dynamically reconfigure target
16788491d81SJeff Kirsher	  parameters (interface, IP addresses, port numbers, MAC addresses)
16888491d81SJeff Kirsher	  at runtime through a userspace interface exported using configfs.
16988491d81SJeff Kirsher	  See <file:Documentation/networking/netconsole.txt> for details.
1701da177e4SLinus Torvalds
17188491d81SJeff Kirsherconfig NETPOLL
17288491d81SJeff Kirsher	def_bool NETCONSOLE
17388491d81SJeff Kirsher
17488491d81SJeff Kirsherconfig NETPOLL_TRAP
17588491d81SJeff Kirsher	bool "Netpoll traffic trapping"
17688491d81SJeff Kirsher	default n
17788491d81SJeff Kirsher	depends on NETPOLL
17888491d81SJeff Kirsher
17988491d81SJeff Kirsherconfig NET_POLL_CONTROLLER
18088491d81SJeff Kirsher	def_bool NETPOLL
18188491d81SJeff Kirsher
18288491d81SJeff Kirsherconfig RIONET
18388491d81SJeff Kirsher	tristate "RapidIO Ethernet over messaging driver support"
18488491d81SJeff Kirsher	depends on RAPIDIO
18588491d81SJeff Kirsher
18688491d81SJeff Kirsherconfig RIONET_TX_SIZE
18788491d81SJeff Kirsher	int "Number of outbound queue entries"
18888491d81SJeff Kirsher	depends on RIONET
18988491d81SJeff Kirsher	default "128"
19088491d81SJeff Kirsher
19188491d81SJeff Kirsherconfig RIONET_RX_SIZE
19288491d81SJeff Kirsher	int "Number of inbound queue entries"
19388491d81SJeff Kirsher	depends on RIONET
19488491d81SJeff Kirsher	default "128"
1951da177e4SLinus Torvalds
1961da177e4SLinus Torvaldsconfig TUN
1971da177e4SLinus Torvalds	tristate "Universal TUN/TAP device driver support"
1981da177e4SLinus Torvalds	select CRC32
1991da177e4SLinus Torvalds	---help---
2001da177e4SLinus Torvalds	  TUN/TAP provides packet reception and transmission for user space
2011da177e4SLinus Torvalds	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
2021da177e4SLinus Torvalds	  device, which instead of receiving packets from a physical media,
2031da177e4SLinus Torvalds	  receives them from user space program and instead of sending packets
2041da177e4SLinus Torvalds	  via physical media writes them to the user space program.
2051da177e4SLinus Torvalds
2061da177e4SLinus Torvalds	  When a program opens /dev/net/tun, driver creates and registers
2071da177e4SLinus Torvalds	  corresponding net device tunX or tapX.  After a program closed above
2081da177e4SLinus Torvalds	  devices, driver will automatically delete tunXX or tapXX device and
2091da177e4SLinus Torvalds	  all routes corresponding to it.
2101da177e4SLinus Torvalds
2111da177e4SLinus Torvalds	  Please read <file:Documentation/networking/tuntap.txt> for more
2121da177e4SLinus Torvalds	  information.
2131da177e4SLinus Torvalds
2141da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
2151da177e4SLinus Torvalds	  will be called tun.
2161da177e4SLinus Torvalds
2171da177e4SLinus Torvalds	  If you don't know what to use this for, you don't need it.
2181da177e4SLinus Torvalds
219e314dbdcSPavel Emelyanovconfig VETH
2206a9a0250SRusty Russell	tristate "Virtual ethernet pair device"
221e314dbdcSPavel Emelyanov	---help---
2226a9a0250SRusty Russell	  This device is a local ethernet tunnel. Devices are created in pairs.
2236a9a0250SRusty Russell	  When one end receives the packet it appears on its pair and vice
2246a9a0250SRusty Russell	  versa.
225e314dbdcSPavel Emelyanov
22688491d81SJeff Kirsherconfig VIRTIO_NET
22788491d81SJeff Kirsher	tristate "Virtio network driver (EXPERIMENTAL)"
22888491d81SJeff Kirsher	depends on EXPERIMENTAL && VIRTIO
22988491d81SJeff Kirsher	---help---
23088491d81SJeff Kirsher	  This is the virtual network driver for virtio.  It can be used with
23188491d81SJeff Kirsher	  lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
23288491d81SJeff Kirsher
23388491d81SJeff Kirsherendif # NET_CORE
23488491d81SJeff Kirsher
23588491d81SJeff Kirsherconfig SUNGEM_PHY
23688491d81SJeff Kirsher	tristate
23788491d81SJeff Kirsher
23888491d81SJeff Kirshersource "drivers/net/arcnet/Kconfig"
23988491d81SJeff Kirsher
24088491d81SJeff Kirshersource "drivers/atm/Kconfig"
24188491d81SJeff Kirsher
24288491d81SJeff Kirshersource "drivers/net/caif/Kconfig"
24388491d81SJeff Kirsher
24488491d81SJeff Kirshersource "drivers/net/ethernet/Kconfig"
24588491d81SJeff Kirsher
24688491d81SJeff Kirshersource "drivers/net/fddi/Kconfig"
24788491d81SJeff Kirsher
248*fecc7351SPaul Bollesource "drivers/net/hippi/Kconfig"
249*fecc7351SPaul Bolle
2501da177e4SLinus Torvaldsconfig NET_SB1000
2511da177e4SLinus Torvalds	tristate "General Instruments Surfboard 1000"
252cbcd2a4cSRandy Dunlap	depends on PNP
2531da177e4SLinus Torvalds	---help---
2541da177e4SLinus Torvalds	  This is a driver for the General Instrument (also known as
2551da177e4SLinus Torvalds	  NextLevel) SURFboard 1000 internal
2561da177e4SLinus Torvalds	  cable modem. This is an ISA card which is used by a number of cable
2571da177e4SLinus Torvalds	  TV companies to provide cable modem access. It's a one-way
2581da177e4SLinus Torvalds	  downstream-only cable modem, meaning that your upstream net link is
2591da177e4SLinus Torvalds	  provided by your regular phone modem.
2601da177e4SLinus Torvalds
2611da177e4SLinus Torvalds	  At present this driver only compiles as a module, so say M here if
2621da177e4SLinus Torvalds	  you have this card. The module will be called sb1000. Then read
2631da177e4SLinus Torvalds	  <file:Documentation/networking/README.sb1000> for information on how
2641da177e4SLinus Torvalds	  to use this module, as it needs special ppp scripts for establishing
2651da177e4SLinus Torvalds	  a connection. Further documentation and the necessary scripts can be
2661da177e4SLinus Torvalds	  found at:
2671da177e4SLinus Torvalds
2681da177e4SLinus Torvalds	  <http://www.jacksonville.net/~fventuri/>
2691da177e4SLinus Torvalds	  <http://home.adelphia.net/~siglercm/sb1000.html>
2701da177e4SLinus Torvalds	  <http://linuxpower.cx/~cable/>
2711da177e4SLinus Torvalds
2721da177e4SLinus Torvalds	  If you don't have this card, of course say N.
2731da177e4SLinus Torvalds
27400db8189SAndy Flemingsource "drivers/net/phy/Kconfig"
27500db8189SAndy Fleming
27618e635f4SJeff Kirshersource "drivers/net/plip/Kconfig"
27718e635f4SJeff Kirsher
27888491d81SJeff Kirshersource "drivers/net/ppp/Kconfig"
27988491d81SJeff Kirsher
280b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig"
281b5451d78SJeff Kirsher
28288491d81SJeff Kirshersource "drivers/s390/net/Kconfig"
28388491d81SJeff Kirsher
2841da177e4SLinus Torvaldssource "drivers/net/tokenring/Kconfig"
2851da177e4SLinus Torvalds
28688491d81SJeff Kirshersource "drivers/net/usb/Kconfig"
28788491d81SJeff Kirsher
2881da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig"
2891da177e4SLinus Torvalds
290143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig"
291143ee2d5SInaky Perez-Gonzalez
2921da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig"
2931da177e4SLinus Torvalds
2940d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND
2950d160211SJeremy Fitzhardinge	tristate "Xen network device frontend driver"
2960d160211SJeremy Fitzhardinge	depends on XEN
2977003087cSJeremy Fitzhardinge	select XEN_XENBUS_FRONTEND
2980d160211SJeremy Fitzhardinge	default y
2990d160211SJeremy Fitzhardinge	help
300f942dc25SIan Campbell	  This driver provides support for Xen paravirtual network
301f942dc25SIan Campbell	  devices exported by a Xen network driver domain (often
302f942dc25SIan Campbell	  domain 0).
303f942dc25SIan Campbell
304f942dc25SIan Campbell	  The corresponding Linux backend driver is enabled by the
305f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_BACKEND option.
306f942dc25SIan Campbell
307f942dc25SIan Campbell	  If you are compiling a kernel for use as Xen guest, you
308f942dc25SIan Campbell	  should say Y here. To compile this driver as a module, chose
309f942dc25SIan Campbell	  M here: the module will be called xen-netfront.
310f942dc25SIan Campbell
311f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND
312f942dc25SIan Campbell	tristate "Xen backend network device"
313f942dc25SIan Campbell	depends on XEN_BACKEND
314f942dc25SIan Campbell	help
315f942dc25SIan Campbell	  This driver allows the kernel to act as a Xen network driver
316f942dc25SIan Campbell	  domain which exports paravirtual network devices to other
317f942dc25SIan Campbell	  Xen domains. These devices can be accessed by any operating
318f942dc25SIan Campbell	  system that implements a compatible front end.
319f942dc25SIan Campbell
320f942dc25SIan Campbell	  The corresponding Linux frontend driver is enabled by the
321f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_FRONTEND configuration option.
322f942dc25SIan Campbell
323f942dc25SIan Campbell	  The backend driver presents a standard network device
324f942dc25SIan Campbell	  endpoint for each paravirtual network device to the driver
325f942dc25SIan Campbell	  domain network stack. These can then be bridged or routed
326f942dc25SIan Campbell	  etc in order to provide full network connectivity.
327f942dc25SIan Campbell
328f942dc25SIan Campbell	  If you are compiling a kernel to run in a Xen network driver
329f942dc25SIan Campbell	  domain (often this is domain 0) you should say Y here. To
330f942dc25SIan Campbell	  compile this driver as a module, chose M here: the module
331f942dc25SIan Campbell	  will be called xen-netback.
3320d160211SJeremy Fitzhardinge
333d1a890faSShreyas Bhatewaraconfig VMXNET3
334d1a890faSShreyas Bhatewara	tristate "VMware VMXNET3 ethernet driver"
335115924b6SShreyas Bhatewara	depends on PCI && INET
336d1a890faSShreyas Bhatewara	help
337d1a890faSShreyas Bhatewara	  This driver supports VMware's vmxnet3 virtual ethernet NIC.
338d1a890faSShreyas Bhatewara	  To compile this driver as a module, choose M here: the
339d1a890faSShreyas Bhatewara	  module will be called vmxnet3.
340d1a890faSShreyas Bhatewara
341d1c0a65fSJan Engelhardtendif # NETDEVICES
342