blob: 3f72686e18041de2b3b8accbba550612fc0c1d6a [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
Jeff Kirsher18e635f2011-08-03 03:01:58 -0700200source "drivers/net/plip/Kconfig"
201
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202source "drivers/net/tokenring/Kconfig"
203
204source "drivers/net/wireless/Kconfig"
205
Inaky Perez-Gonzalez143ee2d2008-12-23 16:18:48 -0800206source "drivers/net/wimax/Kconfig"
207
Jeff Garzik5b2fc492007-05-09 21:31:55 -0400208source "drivers/net/usb/Kconfig"
209
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210source "drivers/net/pcmcia/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211
Jeff Kirsher224cf5a2011-07-31 02:38:19 -0700212source "drivers/net/ppp/Kconfig"
213
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214source "drivers/net/wan/Kconfig"
215
216source "drivers/atm/Kconfig"
217
Sergey Lapin84594642009-06-08 12:18:51 +0000218source "drivers/ieee802154/Kconfig"
219
Linus Torvalds1da177e2005-04-16 15:20:36 -0700220source "drivers/s390/net/Kconfig"
221
Sjur Braendeland9b271052010-03-30 13:56:30 +0000222source "drivers/net/caif/Kconfig"
223
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700224config XEN_NETDEV_FRONTEND
225 tristate "Xen network device frontend driver"
226 depends on XEN
Jeremy Fitzhardinge70030872009-03-27 16:28:34 -0700227 select XEN_XENBUS_FRONTEND
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700228 default y
229 help
Ian Campbellf942dc22011-03-15 00:06:18 +0000230 This driver provides support for Xen paravirtual network
231 devices exported by a Xen network driver domain (often
232 domain 0).
233
234 The corresponding Linux backend driver is enabled by the
235 CONFIG_XEN_NETDEV_BACKEND option.
236
237 If you are compiling a kernel for use as Xen guest, you
238 should say Y here. To compile this driver as a module, chose
239 M here: the module will be called xen-netfront.
240
241config XEN_NETDEV_BACKEND
242 tristate "Xen backend network device"
243 depends on XEN_BACKEND
244 help
245 This driver allows the kernel to act as a Xen network driver
246 domain which exports paravirtual network devices to other
247 Xen domains. These devices can be accessed by any operating
248 system that implements a compatible front end.
249
250 The corresponding Linux frontend driver is enabled by the
251 CONFIG_XEN_NETDEV_FRONTEND configuration option.
252
253 The backend driver presents a standard network device
254 endpoint for each paravirtual network device to the driver
255 domain network stack. These can then be bridged or routed
256 etc in order to provide full network connectivity.
257
258 If you are compiling a kernel to run in a Xen network driver
259 domain (often this is domain 0) you should say Y here. To
260 compile this driver as a module, chose M here: the module
261 will be called xen-netback.
Jeremy Fitzhardinge0d160212007-07-17 18:37:06 -0700262
Matt Porterf89efd52005-09-09 12:10:10 -0700263config RIONET
264 tristate "RapidIO Ethernet over messaging driver support"
Randy Dunlapa81c52a2006-11-01 21:18:58 -0800265 depends on RAPIDIO
Matt Porterf89efd52005-09-09 12:10:10 -0700266
267config RIONET_TX_SIZE
268 int "Number of outbound queue entries"
269 depends on RIONET
270 default "128"
271
272config RIONET_RX_SIZE
273 int "Number of inbound queue entries"
274 depends on RIONET
275 default "128"
276
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277config SLIP
278 tristate "SLIP (serial line) support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279 ---help---
280 Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
281 connect to your Internet service provider or to connect to some
282 other local Unix box or if you want to configure your Linux box as a
283 Slip/CSlip server for other people to dial in. SLIP (Serial Line
284 Internet Protocol) is a protocol used to send Internet traffic over
285 serial connections such as telephone lines or null modem cables;
286 nowadays, the protocol PPP is more commonly used for this same
287 purpose.
288
289 Normally, your access provider has to support SLIP in order for you
290 to be able to use it, but there is now a SLIP emulator called SLiRP
291 around (available from
292 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
293 allows you to use SLIP over a regular dial up shell connection. If
294 you plan to use SLiRP, make sure to say Y to CSLIP, below. The
295 NET-3-HOWTO, available from
296 <http://www.tldp.org/docs.html#howto>, explains how to
297 configure SLIP. Note that you don't need this option if you just
298 want to run term (term is a program which gives you almost full
299 Internet connectivity if you have a regular dial up shell account on
300 some Internet connected Unix computer. Read
301 <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP
302 support will enlarge your kernel by about 4 KB. If unsure, say N.
303
Adrian Bunk57ce45d2007-11-12 21:03:58 -0800304 To compile this driver as a module, choose M here. The module
305 will be called slip.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700306
307config SLIP_COMPRESSED
308 bool "CSLIP compressed headers"
309 depends on SLIP
Ralf Baechleb6e37e52006-07-14 12:15:40 +0100310 select SLHC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700311 ---help---
312 This protocol is faster than SLIP because it uses compression on the
313 TCP/IP headers (not on the data itself), but it has to be supported
314 on both ends. Ask your access provider if you are not sure and
315 answer Y, just in case. You will still be able to use plain SLIP. If
316 you plan to use SLiRP, the SLIP emulator (available from
317 <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
318 allows you to use SLIP over a regular dial up shell connection, you
319 definitely want to say Y here. The NET-3-HOWTO, available from
320 <http://www.tldp.org/docs.html#howto>, explains how to configure
321 CSLIP. This won't enlarge your kernel.
322
Ralf Baechleb6e37e52006-07-14 12:15:40 +0100323config SLHC
324 tristate
325 help
326 This option enables Van Jacobsen serial line header compression
327 routines.
328
Linus Torvalds1da177e2005-04-16 15:20:36 -0700329config SLIP_SMART
330 bool "Keepalive and linefill"
331 depends on SLIP
332 help
333 Adds additional capabilities to the SLIP driver to support the
334 RELCOM line fill and keepalive monitoring. Ideal on poor quality
335 analogue lines.
336
337config SLIP_MODE_SLIP6
338 bool "Six bit SLIP encapsulation"
339 depends on SLIP
340 help
341 Just occasionally you may need to run IP over hostile serial
342 networks that don't pass all control characters or are only seven
343 bit. Saying Y here adds an extra mode you can use with SLIP:
344 "slip6". In this mode, SLIP will only send normal ASCII symbols over
345 the serial device. Naturally, this has to be supported at the other
346 end of the link as well. It's good enough, for example, to run IP
347 over the async ports of a Camtec JNT Pad. If unsure, say N.
348
349config NET_FC
350 bool "Fibre Channel driver support"
Randy Dunlapcbcd2a42005-07-27 13:04:35 -0700351 depends on SCSI && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352 help
353 Fibre Channel is a high speed serial protocol mainly used to connect
354 large storage devices to the computer; it is compatible with and
355 intended to replace SCSI.
356
357 If you intend to use Fibre Channel, you need to have a Fibre channel
358 adaptor card in your computer; say Y here and to the driver for your
359 adaptor below. You also should have said Y to "SCSI support" and
360 "SCSI generic support".
361
Linus Torvalds1da177e2005-04-16 15:20:36 -0700362config NETCONSOLE
Amerigo Wangecbacf82010-03-21 23:59:23 +0000363 tristate "Network console logging support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364 ---help---
365 If you want to log kernel messages over the network, enable this.
366 See <file:Documentation/networking/netconsole.txt> for details.
367
Satyam Sharma0bcc1812007-08-10 15:35:05 -0700368config NETCONSOLE_DYNAMIC
Amerigo Wangecbacf82010-03-21 23:59:23 +0000369 bool "Dynamic reconfiguration of logging targets"
Randy Dunlap58fa4592011-06-21 08:01:20 +0000370 depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
371 !(NETCONSOLE=y && CONFIGFS_FS=m)
Satyam Sharma0bcc1812007-08-10 15:35:05 -0700372 help
373 This option enables the ability to dynamically reconfigure target
374 parameters (interface, IP addresses, port numbers, MAC addresses)
375 at runtime through a userspace interface exported using configfs.
376 See <file:Documentation/networking/netconsole.txt> for details.
377
Randy Dunlap54208992005-07-18 13:45:12 -0700378config NETPOLL
379 def_bool NETCONSOLE
380
Randy Dunlap54208992005-07-18 13:45:12 -0700381config NETPOLL_TRAP
382 bool "Netpoll traffic trapping"
383 default n
384 depends on NETPOLL
385
386config NET_POLL_CONTROLLER
387 def_bool NETPOLL
388
Rusty Russell296f96f2007-10-22 11:03:37 +1000389config VIRTIO_NET
390 tristate "Virtio network driver (EXPERIMENTAL)"
391 depends on EXPERIMENTAL && VIRTIO
392 ---help---
Anthony Liguori0ad07ec2007-11-07 20:46:31 -0600393 This is the virtual network driver for virtio. It can be used with
Philippe De Muytere85eb112010-11-11 12:31:21 +0000394 lguest or QEMU based VMMs (like KVM or Xen). Say Y or M.
Rusty Russell296f96f2007-10-22 11:03:37 +1000395
Shreyas Bhatewarad1a890fa2009-10-13 00:15:51 -0700396config VMXNET3
Philippe De Muytere85eb112010-11-11 12:31:21 +0000397 tristate "VMware VMXNET3 ethernet driver"
398 depends on PCI && INET
399 help
400 This driver supports VMware's vmxnet3 virtual ethernet NIC.
401 To compile this driver as a module, choose M here: the
402 module will be called vmxnet3.
Shreyas Bhatewarad1a890fa2009-10-13 00:15:51 -0700403
Jan Engelhardtd1c0a652007-06-13 12:48:53 -0700404endif # NETDEVICES