xref: /openbmc/linux/drivers/net/Kconfig (revision b5451d78)
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
28253af423SJamal Hadi Salimconfig IFB
29253af423SJamal Hadi Salim	tristate "Intermediate Functional Block support"
30253af423SJamal Hadi Salim	depends on NET_CLS_ACT
31253af423SJamal Hadi Salim	---help---
323cb2fcccSMatt LaPlante	  This is an intermediate driver that allows sharing of
33253af423SJamal Hadi Salim	  resources.
34253af423SJamal Hadi Salim	  To compile this driver as a module, choose M here: the module
35253af423SJamal Hadi Salim	  will be called ifb.  If you want to use more than one ifb
36253af423SJamal Hadi Salim	  device at a time, you need to compile this driver as a module.
37253af423SJamal Hadi Salim	  Instead of 'ifb', the devices will then be called 'ifb0',
38253af423SJamal Hadi Salim	  'ifb1' etc.
39253af423SJamal Hadi Salim	  Look at the iproute2 documentation directory for usage etc
40253af423SJamal Hadi Salim
411da177e4SLinus Torvaldsconfig DUMMY
421da177e4SLinus Torvalds	tristate "Dummy net driver support"
431da177e4SLinus Torvalds	---help---
441da177e4SLinus Torvalds	  This is essentially a bit-bucket device (i.e. traffic you send to
451da177e4SLinus Torvalds	  this device is consigned into oblivion) with a configurable IP
461da177e4SLinus Torvalds	  address. It is most commonly used in order to make your currently
471da177e4SLinus Torvalds	  inactive SLIP address seem like a real address for local programs.
481da177e4SLinus Torvalds	  If you use SLIP or PPP, you might want to say Y here. Since this
491da177e4SLinus Torvalds	  thing often comes in handy, the default is Y. It won't enlarge your
501da177e4SLinus Torvalds	  kernel either. What a deal. Read about it in the Network
511da177e4SLinus Torvalds	  Administrator's Guide, available from
521da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#guide>.
531da177e4SLinus Torvalds
541da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
551da177e4SLinus Torvalds	  will be called dummy.  If you want to use more than one dummy
561da177e4SLinus Torvalds	  device at a time, you need to compile this driver as a module.
571da177e4SLinus Torvalds	  Instead of 'dummy', the devices will then be called 'dummy0',
581da177e4SLinus Torvalds	  'dummy1' etc.
591da177e4SLinus Torvalds
601da177e4SLinus Torvaldsconfig BONDING
611da177e4SLinus Torvalds	tristate "Bonding driver support"
621da177e4SLinus Torvalds	depends on INET
63305d552aSBrian Haley	depends on IPV6 || IPV6=n
641da177e4SLinus Torvalds	---help---
651da177e4SLinus Torvalds	  Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
661da177e4SLinus Torvalds	  Channels together. This is called 'Etherchannel' by Cisco,
671da177e4SLinus Torvalds	  'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
681da177e4SLinus Torvalds
691da177e4SLinus Torvalds	  The driver supports multiple bonding modes to allow for both high
7047c51431SJon Mason	  performance and high availability operation.
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	  Refer to <file:Documentation/networking/bonding.txt> for more
731da177e4SLinus Torvalds	  information.
741da177e4SLinus Torvalds
751da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
761da177e4SLinus Torvalds	  will be called bonding.
771da177e4SLinus Torvalds
78b863ceb7SPatrick McHardyconfig MACVLAN
79b863ceb7SPatrick McHardy	tristate "MAC-VLAN support (EXPERIMENTAL)"
80b863ceb7SPatrick McHardy	depends on EXPERIMENTAL
81b863ceb7SPatrick McHardy	---help---
82b863ceb7SPatrick McHardy	  This allows one to create virtual interfaces that map packets to
83b863ceb7SPatrick McHardy	  or from specific MAC addresses to a particular interface.
84b863ceb7SPatrick McHardy
853dbf8d56SPatrick McHardy	  Macvlan devices can be added using the "ip" command from the
863dbf8d56SPatrick McHardy	  iproute2 package starting with the iproute2-2.6.23 release:
873dbf8d56SPatrick McHardy
883dbf8d56SPatrick McHardy	  "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
893dbf8d56SPatrick McHardy
90b863ceb7SPatrick McHardy	  To compile this driver as a module, choose M here: the module
91b863ceb7SPatrick McHardy	  will be called macvlan.
92b863ceb7SPatrick McHardy
9320d29d7aSArnd Bergmannconfig MACVTAP
9420d29d7aSArnd Bergmann	tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
9520d29d7aSArnd Bergmann	depends on MACVLAN
9620d29d7aSArnd Bergmann	help
9720d29d7aSArnd Bergmann	  This adds a specialized tap character device driver that is based
9820d29d7aSArnd Bergmann	  on the MAC-VLAN network interface, called macvtap. A macvtap device
9920d29d7aSArnd Bergmann	  can be added in the same way as a macvlan device, using 'type
10020d29d7aSArnd Bergmann	  macvlan', and then be accessed through the tap user space interface.
10120d29d7aSArnd Bergmann
10220d29d7aSArnd Bergmann	  To compile this driver as a module, choose M here: the module
10320d29d7aSArnd Bergmann	  will be called macvtap.
10420d29d7aSArnd Bergmann
1051da177e4SLinus Torvaldsconfig EQUALIZER
1061da177e4SLinus Torvalds	tristate "EQL (serial line load balancing) support"
1071da177e4SLinus Torvalds	---help---
1081da177e4SLinus Torvalds	  If you have two serial connections to some other computer (this
1091da177e4SLinus Torvalds	  usually requires two modems and two telephone lines) and you use
1101da177e4SLinus Torvalds	  SLIP (the protocol for sending Internet traffic over telephone
1111da177e4SLinus Torvalds	  lines) or PPP (a better SLIP) on them, you can make them behave like
1121da177e4SLinus Torvalds	  one double speed connection using this driver.  Naturally, this has
1131da177e4SLinus Torvalds	  to be supported at the other end as well, either with a similar EQL
1141da177e4SLinus Torvalds	  Linux driver or with a Livingston Portmaster 2e.
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvalds	  Say Y if you want this and read
1171da177e4SLinus Torvalds	  <file:Documentation/networking/eql.txt>.  You may also want to read
1181da177e4SLinus Torvalds	  section 6.2 of the NET-3-HOWTO, available from
1191da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
1221da177e4SLinus Torvalds	  will be called eql.  If unsure, say N.
1231da177e4SLinus Torvalds
1241da177e4SLinus Torvaldsconfig TUN
1251da177e4SLinus Torvalds	tristate "Universal TUN/TAP device driver support"
1261da177e4SLinus Torvalds	select CRC32
1271da177e4SLinus Torvalds	---help---
1281da177e4SLinus Torvalds	  TUN/TAP provides packet reception and transmission for user space
1291da177e4SLinus Torvalds	  programs.  It can be viewed as a simple Point-to-Point or Ethernet
1301da177e4SLinus Torvalds	  device, which instead of receiving packets from a physical media,
1311da177e4SLinus Torvalds	  receives them from user space program and instead of sending packets
1321da177e4SLinus Torvalds	  via physical media writes them to the user space program.
1331da177e4SLinus Torvalds
1341da177e4SLinus Torvalds	  When a program opens /dev/net/tun, driver creates and registers
1351da177e4SLinus Torvalds	  corresponding net device tunX or tapX.  After a program closed above
1361da177e4SLinus Torvalds	  devices, driver will automatically delete tunXX or tapXX device and
1371da177e4SLinus Torvalds	  all routes corresponding to it.
1381da177e4SLinus Torvalds
1391da177e4SLinus Torvalds	  Please read <file:Documentation/networking/tuntap.txt> for more
1401da177e4SLinus Torvalds	  information.
1411da177e4SLinus Torvalds
1421da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the module
1431da177e4SLinus Torvalds	  will be called tun.
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvalds	  If you don't know what to use this for, you don't need it.
1461da177e4SLinus Torvalds
147e314dbdcSPavel Emelyanovconfig VETH
1486a9a0250SRusty Russell	tristate "Virtual ethernet pair device"
149e314dbdcSPavel Emelyanov	---help---
1506a9a0250SRusty Russell	  This device is a local ethernet tunnel. Devices are created in pairs.
1516a9a0250SRusty Russell	  When one end receives the packet it appears on its pair and vice
1526a9a0250SRusty Russell	  versa.
153e314dbdcSPavel Emelyanov
1541da177e4SLinus Torvaldsconfig NET_SB1000
1551da177e4SLinus Torvalds	tristate "General Instruments Surfboard 1000"
156cbcd2a4cSRandy Dunlap	depends on PNP
1571da177e4SLinus Torvalds	---help---
1581da177e4SLinus Torvalds	  This is a driver for the General Instrument (also known as
1591da177e4SLinus Torvalds	  NextLevel) SURFboard 1000 internal
1601da177e4SLinus Torvalds	  cable modem. This is an ISA card which is used by a number of cable
1611da177e4SLinus Torvalds	  TV companies to provide cable modem access. It's a one-way
1621da177e4SLinus Torvalds	  downstream-only cable modem, meaning that your upstream net link is
1631da177e4SLinus Torvalds	  provided by your regular phone modem.
1641da177e4SLinus Torvalds
1651da177e4SLinus Torvalds	  At present this driver only compiles as a module, so say M here if
1661da177e4SLinus Torvalds	  you have this card. The module will be called sb1000. Then read
1671da177e4SLinus Torvalds	  <file:Documentation/networking/README.sb1000> for information on how
1681da177e4SLinus Torvalds	  to use this module, as it needs special ppp scripts for establishing
1691da177e4SLinus Torvalds	  a connection. Further documentation and the necessary scripts can be
1701da177e4SLinus Torvalds	  found at:
1711da177e4SLinus Torvalds
1721da177e4SLinus Torvalds	  <http://www.jacksonville.net/~fventuri/>
1731da177e4SLinus Torvalds	  <http://home.adelphia.net/~siglercm/sb1000.html>
1741da177e4SLinus Torvalds	  <http://linuxpower.cx/~cable/>
1751da177e4SLinus Torvalds
1761da177e4SLinus Torvalds	  If you don't have this card, of course say N.
1771da177e4SLinus Torvalds
1781da177e4SLinus Torvaldssource "drivers/net/arcnet/Kconfig"
1791da177e4SLinus Torvalds
18081ccb499SRandy Dunlapconfig MII
18181ccb499SRandy Dunlap	tristate "Generic Media Independent Interface device support"
18281ccb499SRandy Dunlap	help
18381ccb499SRandy Dunlap	  Most ethernet controllers have MII transceiver either as an external
18481ccb499SRandy Dunlap	  or internal device.  It is safe to say Y or M here even if your
18581ccb499SRandy Dunlap	  ethernet card lacks MII.
18681ccb499SRandy Dunlap
18700db8189SAndy Flemingsource "drivers/net/phy/Kconfig"
18800db8189SAndy Fleming
18919e2f6feSDavid S. Millerconfig SUNGEM_PHY
19019e2f6feSDavid S. Miller	tristate
19119e2f6feSDavid S. Miller
1921da177e4SLinus Torvalds#
1931da177e4SLinus Torvalds#	Ethernet
1941da177e4SLinus Torvalds#
1951da177e4SLinus Torvalds
196c1abc95bSJeff Kirshersource "drivers/net/ethernet/Kconfig"
197c1abc95bSJeff Kirsher
19833f810b2SJeff Kirshersource "drivers/net/fddi/Kconfig"
19933f810b2SJeff Kirsher
20018e635f4SJeff Kirshersource "drivers/net/plip/Kconfig"
20118e635f4SJeff Kirsher
202*b5451d78SJeff Kirshersource "drivers/net/slip/Kconfig"
203*b5451d78SJeff Kirsher
2041da177e4SLinus Torvaldssource "drivers/net/tokenring/Kconfig"
2051da177e4SLinus Torvalds
2061da177e4SLinus Torvaldssource "drivers/net/wireless/Kconfig"
2071da177e4SLinus Torvalds
208143ee2d5SInaky Perez-Gonzalezsource "drivers/net/wimax/Kconfig"
209143ee2d5SInaky Perez-Gonzalez
2105b2fc499SJeff Garziksource "drivers/net/usb/Kconfig"
2115b2fc499SJeff Garzik
2121da177e4SLinus Torvaldssource "drivers/net/pcmcia/Kconfig"
2131da177e4SLinus Torvalds
214224cf5adSJeff Kirshersource "drivers/net/ppp/Kconfig"
215224cf5adSJeff Kirsher
2161da177e4SLinus Torvaldssource "drivers/net/wan/Kconfig"
2171da177e4SLinus Torvalds
2181da177e4SLinus Torvaldssource "drivers/atm/Kconfig"
2191da177e4SLinus Torvalds
2208459464fSSergey Lapinsource "drivers/ieee802154/Kconfig"
2218459464fSSergey Lapin
2221da177e4SLinus Torvaldssource "drivers/s390/net/Kconfig"
2231da177e4SLinus Torvalds
2249b27105bSSjur Braendelandsource "drivers/net/caif/Kconfig"
2259b27105bSSjur Braendeland
2260d160211SJeremy Fitzhardingeconfig XEN_NETDEV_FRONTEND
2270d160211SJeremy Fitzhardinge	tristate "Xen network device frontend driver"
2280d160211SJeremy Fitzhardinge	depends on XEN
2297003087cSJeremy Fitzhardinge	select XEN_XENBUS_FRONTEND
2300d160211SJeremy Fitzhardinge	default y
2310d160211SJeremy Fitzhardinge	help
232f942dc25SIan Campbell	  This driver provides support for Xen paravirtual network
233f942dc25SIan Campbell	  devices exported by a Xen network driver domain (often
234f942dc25SIan Campbell	  domain 0).
235f942dc25SIan Campbell
236f942dc25SIan Campbell	  The corresponding Linux backend driver is enabled by the
237f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_BACKEND option.
238f942dc25SIan Campbell
239f942dc25SIan Campbell	  If you are compiling a kernel for use as Xen guest, you
240f942dc25SIan Campbell	  should say Y here. To compile this driver as a module, chose
241f942dc25SIan Campbell	  M here: the module will be called xen-netfront.
242f942dc25SIan Campbell
243f942dc25SIan Campbellconfig XEN_NETDEV_BACKEND
244f942dc25SIan Campbell	tristate "Xen backend network device"
245f942dc25SIan Campbell	depends on XEN_BACKEND
246f942dc25SIan Campbell	help
247f942dc25SIan Campbell	  This driver allows the kernel to act as a Xen network driver
248f942dc25SIan Campbell	  domain which exports paravirtual network devices to other
249f942dc25SIan Campbell	  Xen domains. These devices can be accessed by any operating
250f942dc25SIan Campbell	  system that implements a compatible front end.
251f942dc25SIan Campbell
252f942dc25SIan Campbell	  The corresponding Linux frontend driver is enabled by the
253f942dc25SIan Campbell	  CONFIG_XEN_NETDEV_FRONTEND configuration option.
254f942dc25SIan Campbell
255f942dc25SIan Campbell	  The backend driver presents a standard network device
256f942dc25SIan Campbell	  endpoint for each paravirtual network device to the driver
257f942dc25SIan Campbell	  domain network stack. These can then be bridged or routed
258f942dc25SIan Campbell	  etc in order to provide full network connectivity.
259f942dc25SIan Campbell
260f942dc25SIan Campbell	  If you are compiling a kernel to run in a Xen network driver
261f942dc25SIan Campbell	  domain (often this is domain 0) you should say Y here. To
262f942dc25SIan Campbell	  compile this driver as a module, chose M here: the module
263f942dc25SIan Campbell	  will be called xen-netback.
2640d160211SJeremy Fitzhardinge
265f89efd52SMatt Porterconfig RIONET
266f89efd52SMatt Porter	tristate "RapidIO Ethernet over messaging driver support"
267a81c52a8SRandy Dunlap	depends on RAPIDIO
268f89efd52SMatt Porter
269f89efd52SMatt Porterconfig RIONET_TX_SIZE
270f89efd52SMatt Porter	int "Number of outbound queue entries"
271f89efd52SMatt Porter	depends on RIONET
272f89efd52SMatt Porter	default "128"
273f89efd52SMatt Porter
274f89efd52SMatt Porterconfig RIONET_RX_SIZE
275f89efd52SMatt Porter	int "Number of inbound queue entries"
276f89efd52SMatt Porter	depends on RIONET
277f89efd52SMatt Porter	default "128"
278f89efd52SMatt Porter
2791da177e4SLinus Torvaldsconfig NET_FC
2801da177e4SLinus Torvalds	bool "Fibre Channel driver support"
281cbcd2a4cSRandy Dunlap	depends on SCSI && PCI
2821da177e4SLinus Torvalds	help
2831da177e4SLinus Torvalds	  Fibre Channel is a high speed serial protocol mainly used to connect
2841da177e4SLinus Torvalds	  large storage devices to the computer; it is compatible with and
2851da177e4SLinus Torvalds	  intended to replace SCSI.
2861da177e4SLinus Torvalds
2871da177e4SLinus Torvalds	  If you intend to use Fibre Channel, you need to have a Fibre channel
2881da177e4SLinus Torvalds	  adaptor card in your computer; say Y here and to the driver for your
2891da177e4SLinus Torvalds	  adaptor below. You also should have said Y to "SCSI support" and
2901da177e4SLinus Torvalds	  "SCSI generic support".
2911da177e4SLinus Torvalds
2921da177e4SLinus Torvaldsconfig NETCONSOLE
293ecbacf8dSAmerigo Wang	tristate "Network console logging support"
2941da177e4SLinus Torvalds	---help---
2951da177e4SLinus Torvalds	If you want to log kernel messages over the network, enable this.
2961da177e4SLinus Torvalds	See <file:Documentation/networking/netconsole.txt> for details.
2971da177e4SLinus Torvalds
2980bcc1816SSatyam Sharmaconfig NETCONSOLE_DYNAMIC
299ecbacf8dSAmerigo Wang	bool "Dynamic reconfiguration of logging targets"
30058fa4597SRandy Dunlap	depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
30158fa4597SRandy Dunlap			!(NETCONSOLE=y && CONFIGFS_FS=m)
3020bcc1816SSatyam Sharma	help
3030bcc1816SSatyam Sharma	  This option enables the ability to dynamically reconfigure target
3040bcc1816SSatyam Sharma	  parameters (interface, IP addresses, port numbers, MAC addresses)
3050bcc1816SSatyam Sharma	  at runtime through a userspace interface exported using configfs.
3060bcc1816SSatyam Sharma	  See <file:Documentation/networking/netconsole.txt> for details.
3070bcc1816SSatyam Sharma
30854208991SRandy Dunlapconfig NETPOLL
30954208991SRandy Dunlap	def_bool NETCONSOLE
31054208991SRandy Dunlap
31154208991SRandy Dunlapconfig NETPOLL_TRAP
31254208991SRandy Dunlap	bool "Netpoll traffic trapping"
31354208991SRandy Dunlap	default n
31454208991SRandy Dunlap	depends on NETPOLL
31554208991SRandy Dunlap
31654208991SRandy Dunlapconfig NET_POLL_CONTROLLER
31754208991SRandy Dunlap	def_bool NETPOLL
31854208991SRandy Dunlap
319296f96fcSRusty Russellconfig VIRTIO_NET
320296f96fcSRusty Russell	tristate "Virtio network driver (EXPERIMENTAL)"
321296f96fcSRusty Russell	depends on EXPERIMENTAL && VIRTIO
322296f96fcSRusty Russell	---help---
3230ad07ec1SAnthony Liguori	  This is the virtual network driver for virtio.  It can be used with
3240ad07ec1SAnthony Liguori	  lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
325296f96fcSRusty Russell
326d1a890faSShreyas Bhatewaraconfig VMXNET3
327d1a890faSShreyas Bhatewara	tristate "VMware VMXNET3 ethernet driver"
328115924b6SShreyas Bhatewara	depends on PCI && INET
329d1a890faSShreyas Bhatewara	help
330d1a890faSShreyas Bhatewara	  This driver supports VMware's vmxnet3 virtual ethernet NIC.
331d1a890faSShreyas Bhatewara	  To compile this driver as a module, choose M here: the
332d1a890faSShreyas Bhatewara	  module will be called vmxnet3.
333d1a890faSShreyas Bhatewara
334d1c0a65fSJan Engelhardtendif # NETDEVICES
335