blob: c5e2a3871dc5ba86868c8cf210242acccbfb7306 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Network device configuration
3#
4
Jan Engelhardtd1c0a652007-06-13 12:48:53 -07005menuconfig NETDEVICES
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -08006 default y if UML
Jan Engelhardte0009822007-07-21 19:11:35 -07007 depends on NET
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 bool "Network device support"
9 ---help---
10 You can say N here if you don't intend to connect your Linux box to
11 any other computer at all.
12
13 You'll have to say Y if your computer contains a network card that
14 you want to use under Linux. If you are going to run SLIP or PPP over
15 telephone line or null modem cable you need say Y here. Connecting
16 two machines with parallel ports using PLIP needs this, as well as
17 AX.25/KISS for sending Internet traffic over amateur radio links.
18
19 See also "The Linux Network Administrator's Guide" by Olaf Kirch and
20 Terry Dawson. Available at <http://www.tldp.org/guides.html>.
21
22 If unsure, say Y.
23
Randy Dunlap1618cb02006-09-25 23:11:21 -070024# All the following symbols are dependent on NETDEVICES - do not repeat
25# that for each of the symbols.
26if NETDEVICES
Randy Dunlapcbcd2a42005-07-27 13:04:35 -070027
Jamal Hadi Salim253af422006-01-08 22:34:25 -080028config IFB
29 tristate "Intermediate Functional Block support"
30 depends on NET_CLS_ACT
31 ---help---
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +010032 This is an intermediate driver that allows sharing of
Jamal Hadi Salim253af422006-01-08 22:34:25 -080033 resources.
34 To compile this driver as a module, choose M here: the module
35 will be called ifb. If you want to use more than one ifb
36 device at a time, you need to compile this driver as a module.
37 Instead of 'ifb', the devices will then be called 'ifb0',
38 'ifb1' etc.
39 Look at the iproute2 documentation directory for usage etc
40
Linus Torvalds1da177e2005-04-16 15:20:36 -070041config DUMMY
42 tristate "Dummy net driver support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070043 ---help---
44 This is essentially a bit-bucket device (i.e. traffic you send to
45 this device is consigned into oblivion) with a configurable IP
46 address. It is most commonly used in order to make your currently
47 inactive SLIP address seem like a real address for local programs.
48 If you use SLIP or PPP, you might want to say Y here. Since this
49 thing often comes in handy, the default is Y. It won't enlarge your
50 kernel either. What a deal. Read about it in the Network
51 Administrator's Guide, available from
52 <http://www.tldp.org/docs.html#guide>.
53
54 To compile this driver as a module, choose M here: the module
55 will be called dummy. If you want to use more than one dummy
56 device at a time, you need to compile this driver as a module.
57 Instead of 'dummy', the devices will then be called 'dummy0',
58 'dummy1' etc.
59
60config BONDING
61 tristate "Bonding driver support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070062 depends on INET
Brian Haley305d5522008-11-04 17:51:14 -080063 depends on IPV6 || IPV6=n
Linus Torvalds1da177e2005-04-16 15:20:36 -070064 ---help---
65 Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
66 Channels together. This is called 'Etherchannel' by Cisco,
67 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
68
69 The driver supports multiple bonding modes to allow for both high
Jon Mason47c51432006-02-12 11:53:04 -060070 performance and high availability operation.
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
72 Refer to <file:Documentation/networking/bonding.txt> for more
73 information.
74
75 To compile this driver as a module, choose M here: the module
76 will be called bonding.
77
Patrick McHardyb863ceb2007-07-14 18:55:06 -070078config MACVLAN
79 tristate "MAC-VLAN support (EXPERIMENTAL)"
80 depends on EXPERIMENTAL
81 ---help---
82 This allows one to create virtual interfaces that map packets to
83 or from specific MAC addresses to a particular interface.
84
Patrick McHardy3dbf8d52008-02-26 17:52:05 -080085 Macvlan devices can be added using the "ip" command from the
86 iproute2 package starting with the iproute2-2.6.23 release:
87
88 "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
89
Patrick McHardyb863ceb2007-07-14 18:55:06 -070090 To compile this driver as a module, choose M here: the module
91 will be called macvlan.
92
Arnd Bergmann20d29d72010-01-30 12:24:26 +000093config MACVTAP
94 tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
95 depends on MACVLAN
96 help
97 This adds a specialized tap character device driver that is based
98 on the MAC-VLAN network interface, called macvtap. A macvtap device
99 can be added in the same way as a macvlan device, using 'type
100 macvlan', and then be accessed through the tap user space interface.
101
102 To compile this driver as a module, choose M here: the module
103 will be called macvtap.
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105config EQUALIZER
106 tristate "EQL (serial line load balancing) support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 ---help---
108 If you have two serial connections to some other computer (this
109 usually requires two modems and two telephone lines) and you use
110 SLIP (the protocol for sending Internet traffic over telephone
111 lines) or PPP (a better SLIP) on them, you can make them behave like
112 one double speed connection using this driver. Naturally, this has
113 to be supported at the other end as well, either with a similar EQL
114 Linux driver or with a Livingston Portmaster 2e.
115
116 Say Y if you want this and read
117 <file:Documentation/networking/eql.txt>. You may also want to read
118 section 6.2 of the NET-3-HOWTO, available from
119 <http://www.tldp.org/docs.html#howto>.
120
121 To compile this driver as a module, choose M here: the module
122 will be called eql. If unsure, say N.
123
124config TUN
125 tristate "Universal TUN/TAP device driver support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126 select CRC32
127 ---help---
128 TUN/TAP provides packet reception and transmission for user space
129 programs. It can be viewed as a simple Point-to-Point or Ethernet
130 device, which instead of receiving packets from a physical media,
131 receives them from user space program and instead of sending packets
132 via physical media writes them to the user space program.
133
134 When a program opens /dev/net/tun, driver creates and registers
135 corresponding net device tunX or tapX. After a program closed above
136 devices, driver will automatically delete tunXX or tapXX device and
137 all routes corresponding to it.
138
139 Please read <file:Documentation/networking/tuntap.txt> for more
140 information.
141
142 To compile this driver as a module, choose M here: the module
143 will be called tun.
144
145 If you don't know what to use this for, you don't need it.
146
Pavel Emelyanove314dbd2007-09-25 16:14:46 -0700147config VETH
Rusty Russell6a9a0252007-11-06 20:35:55 -0800148 tristate "Virtual ethernet pair device"
Pavel Emelyanove314dbd2007-09-25 16:14:46 -0700149 ---help---
Rusty Russell6a9a0252007-11-06 20:35:55 -0800150 This device is a local ethernet tunnel. Devices are created in pairs.
151 When one end receives the packet it appears on its pair and vice
152 versa.
Pavel Emelyanove314dbd2007-09-25 16:14:46 -0700153
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154config NET_SB1000
155 tristate "General Instruments Surfboard 1000"
Randy Dunlapcbcd2a42005-07-27 13:04:35 -0700156 depends on PNP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157 ---help---
158 This is a driver for the General Instrument (also known as
159 NextLevel) SURFboard 1000 internal
160 cable modem. This is an ISA card which is used by a number of cable
161 TV companies to provide cable modem access. It's a one-way
162 downstream-only cable modem, meaning that your upstream net link is
163 provided by your regular phone modem.
164
165 At present this driver only compiles as a module, so say M here if
166 you have this card. The module will be called sb1000. Then read
167 <file:Documentation/networking/README.sb1000> for information on how
168 to use this module, as it needs special ppp scripts for establishing
169 a connection. Further documentation and the necessary scripts can be
170 found at:
171
172 <http://www.jacksonville.net/~fventuri/>
173 <http://home.adelphia.net/~siglercm/sb1000.html>
174 <http://linuxpower.cx/~cable/>
175
176 If you don't have this card, of course say N.
177
Adrian Bunkf65fd8f2006-01-05 22:45:41 -0800178source "drivers/net/arcnet/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179
Randy Dunlap81ccb492010-10-13 15:18:59 +0000180config MII
181 tristate "Generic Media Independent Interface device support"
182 help
183 Most ethernet controllers have MII transceiver either as an external
184 or internal device. It is safe to say Y or M here even if your
185 ethernet card lacks MII.
186
Andy Fleming00db8182005-07-30 19:31:23 -0400187source "drivers/net/phy/Kconfig"
188
David S. Miller19e2f6f2011-08-15 23:10:39 -0700189config SUNGEM_PHY
190 tristate
191
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192#
193# Ethernet
194#
195
Jeff Kirsherc1abc952011-03-29 18:25:21 -0700196source "drivers/net/ethernet/Kconfig"
197
Jeff Kirsher33f810b2011-07-31 00:06:29 -0700198source "drivers/net/fddi/Kconfig"
199
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200source "drivers/net/tokenring/Kconfig"
201
202source "drivers/net/wireless/Kconfig"
203
Inaky Perez-Gonzalez143ee2d2008-12-23 16:18:48 -0800204source "drivers/net/wimax/Kconfig"
205
Jeff Garzik5b2fc492007-05-09 21:31:55 -0400206source "drivers/net/usb/Kconfig"
207
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208source "drivers/net/pcmcia/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209
Jeff Kirsher224cf5a2011-07-31 02:38:19 -0700210source "drivers/net/ppp/Kconfig"
211
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212source "drivers/net/wan/Kconfig"
213
214source "drivers/atm/Kconfig"
215
Sergey Lapin84594642009-06-08 12:18:51 +0000216source "drivers/ieee802154/Kconfig"
217
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218source "drivers/s390/net/Kconfig"
219
Sjur Braendeland9b271052010-03-30 13:56:30 +0000220source "drivers/net/caif/Kconfig"
221
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700222config XEN_NETDEV_FRONTEND
223 tristate "Xen network device frontend driver"
224 depends on XEN
Jeremy Fitzhardinge70030872009-03-27 16:28:34 -0700225 select XEN_XENBUS_FRONTEND
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700226 default y
227 help
Ian Campbellf942dc22011-03-15 00:06:18 +0000228 This driver provides support for Xen paravirtual network
229 devices exported by a Xen network driver domain (often
230 domain 0).
231
232 The corresponding Linux backend driver is enabled by the
233 CONFIG_XEN_NETDEV_BACKEND option.
234
235 If you are compiling a kernel for use as Xen guest, you
236 should say Y here. To compile this driver as a module, chose
237 M here: the module will be called xen-netfront.
238
239config XEN_NETDEV_BACKEND
240 tristate "Xen backend network device"
241 depends on XEN_BACKEND
242 help
243 This driver allows the kernel to act as a Xen network driver
244 domain which exports paravirtual network devices to other
245 Xen domains. These devices can be accessed by any operating
246 system that implements a compatible front end.
247
248 The corresponding Linux frontend driver is enabled by the
249 CONFIG_XEN_NETDEV_FRONTEND configuration option.
250
251 The backend driver presents a standard network device
252 endpoint for each paravirtual network device to the driver
253 domain network stack. These can then be bridged or routed
254 etc in order to provide full network connectivity.
255
256 If you are compiling a kernel to run in a Xen network driver
257 domain (often this is domain 0) you should say Y here. To
258 compile this driver as a module, chose M here: the module
259 will be called xen-netback.
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700260
Matt Porterf89efd52005-09-09 12:10:10 -0700261config RIONET
262 tristate "RapidIO Ethernet over messaging driver support"
Randy Dunlapa81c52a2006-11-01 21:18:58 -0800263 depends on RAPIDIO
Matt Porterf89efd52005-09-09 12:10:10 -0700264
265config RIONET_TX_SIZE
266 int "Number of outbound queue entries"
267 depends on RIONET
268 default "128"
269
270config RIONET_RX_SIZE
271 int "Number of inbound queue entries"
272 depends on RIONET
273 default "128"
274
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275config HIPPI
276 bool "HIPPI driver support (EXPERIMENTAL)"
Randy Dunlapcbcd2a42005-07-27 13:04:35 -0700277 depends on EXPERIMENTAL && INET && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700278 help
279 HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
280 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
281 can run over copper (25m) or fiber (300m on multi-mode or 10km on
282 single-mode). HIPPI networks are commonly used for clusters and to
283 connect to super computers. If you are connected to a HIPPI network
284 and have a HIPPI network card in your computer that you want to use
285 under Linux, say Y here (you must also remember to enable the driver
286 for your HIPPI card below). Most people will say N here.
287
288config ROADRUNNER
289 tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)"
290 depends on HIPPI && PCI
291 help
292 Say Y here if this is your PCI HIPPI network card.
293
294 To compile this driver as a module, choose M here: the module
295 will be called rrunner. If unsure, say N.
296
297config ROADRUNNER_LARGE_RINGS
298 bool "Use large TX/RX rings (EXPERIMENTAL)"
299 depends on ROADRUNNER
300 help
301 If you say Y here, the RoadRunner driver will preallocate up to 2 MB
302 of additional memory to allow for fastest operation, both for
303 transmitting and receiving. This memory cannot be used by any other
304 kernel code or by user space programs. Say Y here only if you have
305 the memory.
306
307config PLIP
308 tristate "PLIP (parallel port) support"
Randy Dunlapcbcd2a42005-07-27 13:04:35 -0700309 depends on PARPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700310 ---help---
311 PLIP (Parallel Line Internet Protocol) is used to create a
312 reasonably fast mini network consisting of two (or, rarely, more)
313 local machines. A PLIP link from a Linux box is a popular means to
314 install a Linux distribution on a machine which doesn't have a
315 CD-ROM drive (a minimal system has to be transferred with floppies
316 first). The kernels on both machines need to have this PLIP option
317 enabled for this to work.
318
319 The PLIP driver has two modes, mode 0 and mode 1. The parallel
320 ports (the connectors at the computers with 25 holes) are connected
321 with "null printer" or "Turbo Laplink" cables which can transmit 4
322 bits at a time (mode 0) or with special PLIP cables, to be used on
323 bidirectional parallel ports only, which can transmit 8 bits at a
324 time (mode 1); you can find the wiring of these cables in
325 <file:Documentation/networking/PLIP.txt>. The cables can be up to
326 15m long. Mode 0 works also if one of the machines runs DOS/Windows
327 and has some PLIP software installed, e.g. the Crynwr PLIP packet
328 driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>)
329 and winsock or NCSA's telnet.
330
331 If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well
332 as the NET-3-HOWTO, both available from
333 <http://www.tldp.org/docs.html#howto>. Note that the PLIP
334 protocol has been changed and this PLIP driver won't work together
335 with the PLIP support in Linux versions 1.0.x. This option enlarges
336 your kernel by about 8 KB.
337
Adrian Bunk57ce45d2007-11-12 21:03:58 -0800338 To compile this driver as a module, choose M here. The module
339 will be called plip. If unsure, say Y or M, in case you buy
340 a laptop later.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700341
Linus Torvalds1da177e2005-04-16 15:20:36 -0700342config SLIP
343 tristate "SLIP (serial line) support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 ---help---
345 Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
346 connect to your Internet service provider or to connect to some
347 other local Unix box or if you want to configure your Linux box as a
348 Slip/CSlip server for other people to dial in. SLIP (Serial Line
349 Internet Protocol) is a protocol used to send Internet traffic over
350 serial connections such as telephone lines or null modem cables;
351 nowadays, the protocol PPP is more commonly used for this same
352 purpose.
353
354 Normally, your access provider has to support SLIP in order for you
355 to be able to use it, but there is now a SLIP emulator called SLiRP
356 around (available from
357 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
358 allows you to use SLIP over a regular dial up shell connection. If
359 you plan to use SLiRP, make sure to say Y to CSLIP, below. The
360 NET-3-HOWTO, available from
361 <http://www.tldp.org/docs.html#howto>, explains how to
362 configure SLIP. Note that you don't need this option if you just
363 want to run term (term is a program which gives you almost full
364 Internet connectivity if you have a regular dial up shell account on
365 some Internet connected Unix computer. Read
366 <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP
367 support will enlarge your kernel by about 4 KB. If unsure, say N.
368
Adrian Bunk57ce45d2007-11-12 21:03:58 -0800369 To compile this driver as a module, choose M here. The module
370 will be called slip.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700371
372config SLIP_COMPRESSED
373 bool "CSLIP compressed headers"
374 depends on SLIP
Ralf Baechleb6e37e52006-07-14 12:15:40 +0100375 select SLHC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700376 ---help---
377 This protocol is faster than SLIP because it uses compression on the
378 TCP/IP headers (not on the data itself), but it has to be supported
379 on both ends. Ask your access provider if you are not sure and
380 answer Y, just in case. You will still be able to use plain SLIP. If
381 you plan to use SLiRP, the SLIP emulator (available from
382 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
383 allows you to use SLIP over a regular dial up shell connection, you
384 definitely want to say Y here. The NET-3-HOWTO, available from
385 <http://www.tldp.org/docs.html#howto>, explains how to configure
386 CSLIP. This won't enlarge your kernel.
387
Ralf Baechleb6e37e52006-07-14 12:15:40 +0100388config SLHC
389 tristate
390 help
391 This option enables Van Jacobsen serial line header compression
392 routines.
393
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394config SLIP_SMART
395 bool "Keepalive and linefill"
396 depends on SLIP
397 help
398 Adds additional capabilities to the SLIP driver to support the
399 RELCOM line fill and keepalive monitoring. Ideal on poor quality
400 analogue lines.
401
402config SLIP_MODE_SLIP6
403 bool "Six bit SLIP encapsulation"
404 depends on SLIP
405 help
406 Just occasionally you may need to run IP over hostile serial
407 networks that don't pass all control characters or are only seven
408 bit. Saying Y here adds an extra mode you can use with SLIP:
409 "slip6". In this mode, SLIP will only send normal ASCII symbols over
410 the serial device. Naturally, this has to be supported at the other
411 end of the link as well. It's good enough, for example, to run IP
412 over the async ports of a Camtec JNT Pad. If unsure, say N.
413
414config NET_FC
415 bool "Fibre Channel driver support"
Randy Dunlapcbcd2a42005-07-27 13:04:35 -0700416 depends on SCSI && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700417 help
418 Fibre Channel is a high speed serial protocol mainly used to connect
419 large storage devices to the computer; it is compatible with and
420 intended to replace SCSI.
421
422 If you intend to use Fibre Channel, you need to have a Fibre channel
423 adaptor card in your computer; say Y here and to the driver for your
424 adaptor below. You also should have said Y to "SCSI support" and
425 "SCSI generic support".
426
Linus Torvalds1da177e2005-04-16 15:20:36 -0700427config NETCONSOLE
Amerigo Wangecbacf82010-03-21 23:59:23 +0000428 tristate "Network console logging support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700429 ---help---
430 If you want to log kernel messages over the network, enable this.
431 See <file:Documentation/networking/netconsole.txt> for details.
432
Satyam Sharma0bcc1812007-08-10 15:35:05 -0700433config NETCONSOLE_DYNAMIC
Amerigo Wangecbacf82010-03-21 23:59:23 +0000434 bool "Dynamic reconfiguration of logging targets"
Randy Dunlap58fa4592011-06-21 08:01:20 +0000435 depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
436 !(NETCONSOLE=y && CONFIGFS_FS=m)
Satyam Sharma0bcc1812007-08-10 15:35:05 -0700437 help
438 This option enables the ability to dynamically reconfigure target
439 parameters (interface, IP addresses, port numbers, MAC addresses)
440 at runtime through a userspace interface exported using configfs.
441 See <file:Documentation/networking/netconsole.txt> for details.
442
Randy Dunlap54208992005-07-18 13:45:12 -0700443config NETPOLL
444 def_bool NETCONSOLE
445
Randy Dunlap54208992005-07-18 13:45:12 -0700446config NETPOLL_TRAP
447 bool "Netpoll traffic trapping"
448 default n
449 depends on NETPOLL
450
451config NET_POLL_CONTROLLER
452 def_bool NETPOLL
453
Rusty Russell296f96f2007-10-22 11:03:37 +1000454config VIRTIO_NET
455 tristate "Virtio network driver (EXPERIMENTAL)"
456 depends on EXPERIMENTAL && VIRTIO
457 ---help---
Anthony Liguori0ad07ec2007-11-07 20:46:31 -0600458 This is the virtual network driver for virtio. It can be used with
Philippe De Muytere85eb112010-11-11 12:31:21 +0000459 lguest or QEMU based VMMs (like KVM or Xen). Say Y or M.
Rusty Russell296f96f2007-10-22 11:03:37 +1000460
Shreyas Bhatewarad1a890fa2009-10-13 00:15:51 -0700461config VMXNET3
Philippe De Muytere85eb112010-11-11 12:31:21 +0000462 tristate "VMware VMXNET3 ethernet driver"
463 depends on PCI && INET
464 help
465 This driver supports VMware's vmxnet3 virtual ethernet NIC.
466 To compile this driver as a module, choose M here: the
467 module will be called vmxnet3.
Shreyas Bhatewarad1a890fa2009-10-13 00:15:51 -0700468
Jan Engelhardtd1c0a652007-06-13 12:48:53 -0700469endif # NETDEVICES