]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | # |
2 | # Network device configuration | |
3 | # | |
4 | ||
d1c0a65f | 5 | menuconfig NETDEVICES |
ce2d2aed | 6 | default y if UML |
e0009820 | 7 | depends on NET |
1da177e4 LT |
8 | 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 | ||
1618cb0c RD |
24 | # All the following symbols are dependent on NETDEVICES - do not repeat |
25 | # that for each of the symbols. | |
26 | if NETDEVICES | |
cbcd2a4c | 27 | |
a1606c7d BH |
28 | config MII |
29 | tristate | |
30 | ||
88491d81 JK |
31 | config NET_CORE |
32 | default y | |
33 | bool "Network core driver support" | |
253af423 | 34 | ---help--- |
88491d81 JK |
35 | You can say N here if you do not intend to use any of the |
36 | networking core drivers (i.e. VLAN, bridging, bonding, etc.) | |
37 | ||
38 | if NET_CORE | |
39 | ||
40 | config BONDING | |
41 | tristate "Bonding driver support" | |
42 | depends on INET | |
43 | depends on IPV6 || IPV6=n | |
44 | ---help--- | |
45 | Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet | |
46 | Channels together. This is called 'Etherchannel' by Cisco, | |
47 | 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. | |
48 | ||
49 | The driver supports multiple bonding modes to allow for both high | |
50 | performance and high availability operation. | |
51 | ||
52 | Refer to <file:Documentation/networking/bonding.txt> for more | |
53 | information. | |
54 | ||
253af423 | 55 | To compile this driver as a module, choose M here: the module |
88491d81 | 56 | will be called bonding. |
253af423 | 57 | |
1da177e4 LT |
58 | config DUMMY |
59 | tristate "Dummy net driver support" | |
1da177e4 LT |
60 | ---help--- |
61 | This is essentially a bit-bucket device (i.e. traffic you send to | |
62 | this device is consigned into oblivion) with a configurable IP | |
63 | address. It is most commonly used in order to make your currently | |
64 | inactive SLIP address seem like a real address for local programs. | |
9f5db535 IB |
65 | If you use SLIP or PPP, you might want to say Y here. It won't |
66 | enlarge your kernel. What a deal. Read about it in the Network | |
1da177e4 LT |
67 | Administrator's Guide, available from |
68 | <http://www.tldp.org/docs.html#guide>. | |
69 | ||
70 | To compile this driver as a module, choose M here: the module | |
9f486619 | 71 | will be called dummy. |
1da177e4 | 72 | |
88491d81 JK |
73 | config EQUALIZER |
74 | tristate "EQL (serial line load balancing) support" | |
1da177e4 | 75 | ---help--- |
88491d81 JK |
76 | If you have two serial connections to some other computer (this |
77 | usually requires two modems and two telephone lines) and you use | |
78 | SLIP (the protocol for sending Internet traffic over telephone | |
79 | lines) or PPP (a better SLIP) on them, you can make them behave like | |
80 | one double speed connection using this driver. Naturally, this has | |
81 | to be supported at the other end as well, either with a similar EQL | |
82 | Linux driver or with a Livingston Portmaster 2e. | |
1da177e4 | 83 | |
88491d81 JK |
84 | Say Y if you want this and read |
85 | <file:Documentation/networking/eql.txt>. You may also want to read | |
86 | section 6.2 of the NET-3-HOWTO, available from | |
87 | <http://www.tldp.org/docs.html#howto>. | |
1da177e4 | 88 | |
88491d81 JK |
89 | To compile this driver as a module, choose M here: the module |
90 | will be called eql. If unsure, say N. | |
91 | ||
92 | config NET_FC | |
93 | bool "Fibre Channel driver support" | |
94 | depends on SCSI && PCI | |
95 | help | |
96 | Fibre Channel is a high speed serial protocol mainly used to connect | |
97 | large storage devices to the computer; it is compatible with and | |
98 | intended to replace SCSI. | |
99 | ||
100 | If you intend to use Fibre Channel, you need to have a Fibre channel | |
101 | adaptor card in your computer; say Y here and to the driver for your | |
102 | adaptor below. You also should have said Y to "SCSI support" and | |
103 | "SCSI generic support". | |
1da177e4 | 104 | |
88491d81 JK |
105 | config IFB |
106 | tristate "Intermediate Functional Block support" | |
107 | depends on NET_CLS_ACT | |
108 | ---help--- | |
109 | This is an intermediate driver that allows sharing of | |
110 | resources. | |
1da177e4 | 111 | To compile this driver as a module, choose M here: the module |
88491d81 JK |
112 | will be called ifb. If you want to use more than one ifb |
113 | device at a time, you need to compile this driver as a module. | |
114 | Instead of 'ifb', the devices will then be called 'ifb0', | |
115 | 'ifb1' etc. | |
116 | Look at the iproute2 documentation directory for usage etc | |
1da177e4 | 117 | |
3d249d4c JP |
118 | source "drivers/net/team/Kconfig" |
119 | ||
b863ceb7 | 120 | config MACVLAN |
bd085b93 | 121 | tristate "MAC-VLAN support" |
b863ceb7 PM |
122 | ---help--- |
123 | This allows one to create virtual interfaces that map packets to | |
124 | or from specific MAC addresses to a particular interface. | |
125 | ||
3dbf8d56 PM |
126 | Macvlan devices can be added using the "ip" command from the |
127 | iproute2 package starting with the iproute2-2.6.23 release: | |
128 | ||
129 | "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" | |
130 | ||
b863ceb7 PM |
131 | To compile this driver as a module, choose M here: the module |
132 | will be called macvlan. | |
133 | ||
20d29d7a | 134 | config MACVTAP |
bd085b93 | 135 | tristate "MAC-VLAN based tap driver" |
20d29d7a | 136 | depends on MACVLAN |
de11b0e8 | 137 | depends on INET |
9a393b5d | 138 | select TAP |
20d29d7a AB |
139 | help |
140 | This adds a specialized tap character device driver that is based | |
141 | on the MAC-VLAN network interface, called macvtap. A macvtap device | |
142 | can be added in the same way as a macvlan device, using 'type | |
c7966b52 | 143 | macvtap', and then be accessed through the tap user space interface. |
20d29d7a AB |
144 | |
145 | To compile this driver as a module, choose M here: the module | |
146 | will be called macvtap. | |
147 | ||
2ad7bf36 MB |
148 | |
149 | config IPVLAN | |
150 | tristate "IP-VLAN support" | |
265de6d1 | 151 | depends on INET |
cf714ac1 | 152 | depends on NETFILTER |
4fbae7d8 | 153 | depends on NET_L3_MASTER_DEV |
2ad7bf36 MB |
154 | ---help--- |
155 | This allows one to create virtual devices off of a main interface | |
156 | and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) | |
157 | on packets. All interfaces (including the main interface) share L2 | |
158 | making it transparent to the connected L2 switch. | |
159 | ||
160 | Ipvlan devices can be added using the "ip" command from the | |
f4c2b7a0 | 161 | iproute2 package starting with the iproute2-3.19 release: |
2ad7bf36 MB |
162 | |
163 | "ip link add link <main-dev> [ NAME ] type ipvlan" | |
164 | ||
165 | To compile this driver as a module, choose M here: the module | |
166 | will be called ipvlan. | |
167 | ||
235a9d89 SG |
168 | config IPVTAP |
169 | tristate "IP-VLAN based tap driver" | |
170 | depends on IPVLAN | |
171 | depends on INET | |
172 | select TAP | |
173 | ---help--- | |
174 | This adds a specialized tap character device driver that is based | |
175 | on the IP-VLAN network interface, called ipvtap. An ipvtap device | |
176 | can be added in the same way as a ipvlan device, using 'type | |
177 | ipvtap', and then be accessed through the tap user space interface. | |
178 | ||
179 | To compile this driver as a module, choose M here: the module | |
180 | will be called ipvtap. | |
2ad7bf36 | 181 | |
d342894c | 182 | config VXLAN |
183 | tristate "Virtual eXtensible Local Area Network (VXLAN)" | |
c9b20a5e | 184 | depends on INET |
3ee64f39 | 185 | select NET_UDP_TUNNEL |
97e219b7 | 186 | select GRO_CELLS |
d342894c | 187 | ---help--- |
188 | This allows one to create vxlan virtual interfaces that provide | |
189 | Layer 2 Networks over Layer 3 Networks. VXLAN is often used | |
190 | to tunnel virtual network infrastructure in virtualized environments. | |
191 | For more information see: | |
192 | http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 | |
193 | ||
194 | To compile this driver as a module, choose M here: the module | |
195 | will be called vxlan. | |
196 | ||
2d07dc79 | 197 | config GENEVE |
371bd106 PS |
198 | tristate "Generic Network Virtualization Encapsulation" |
199 | depends on INET && NET_UDP_TUNNEL | |
2d07dc79 | 200 | select NET_IP_TUNNEL |
97e219b7 | 201 | select GRO_CELLS |
2d07dc79 JL |
202 | ---help--- |
203 | This allows one to create geneve virtual interfaces that provide | |
204 | Layer 2 Networks over Layer 3 Networks. GENEVE is often used | |
205 | to tunnel virtual network infrastructure in virtualized environments. | |
206 | For more information see: | |
207 | http://tools.ietf.org/html/draft-gross-geneve-02 | |
208 | ||
209 | To compile this driver as a module, choose M here: the module | |
210 | will be called geneve. | |
211 | ||
459aa660 PN |
212 | config GTP |
213 | tristate "GPRS Tunneling Protocol datapath (GTP-U)" | |
214 | depends on INET && NET_UDP_TUNNEL | |
215 | select NET_IP_TUNNEL | |
216 | ---help--- | |
217 | This allows one to create gtp virtual interfaces that provide | |
218 | the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol | |
219 | is used to prevent subscribers from accessing mobile carrier core | |
220 | network infrastructure. This driver requires a userspace software that | |
221 | implements the signaling protocol (GTP-C) to update its PDP context | |
222 | base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This | |
223 | tunneling protocol is implemented according to the GSM TS 09.60 and | |
224 | 3GPP TS 29.060 standards. | |
225 | ||
226 | To compile this drivers as a module, choose M here: the module | |
227 | wil be called gtp. | |
228 | ||
c09440f7 SD |
229 | config MACSEC |
230 | tristate "IEEE 802.1AE MAC-level encryption (MACsec)" | |
ab2ed017 | 231 | select CRYPTO |
c09440f7 SD |
232 | select CRYPTO_AES |
233 | select CRYPTO_GCM | |
97e219b7 | 234 | select GRO_CELLS |
c09440f7 SD |
235 | ---help--- |
236 | MACsec is an encryption standard for Ethernet. | |
237 | ||
88491d81 JK |
238 | config NETCONSOLE |
239 | tristate "Network console logging support" | |
1da177e4 | 240 | ---help--- |
88491d81 JK |
241 | If you want to log kernel messages over the network, enable this. |
242 | See <file:Documentation/networking/netconsole.txt> for details. | |
1da177e4 | 243 | |
88491d81 JK |
244 | config NETCONSOLE_DYNAMIC |
245 | bool "Dynamic reconfiguration of logging targets" | |
246 | depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ | |
247 | !(NETCONSOLE=y && CONFIGFS_FS=m) | |
248 | help | |
249 | This option enables the ability to dynamically reconfigure target | |
250 | parameters (interface, IP addresses, port numbers, MAC addresses) | |
251 | at runtime through a userspace interface exported using configfs. | |
252 | See <file:Documentation/networking/netconsole.txt> for details. | |
1da177e4 | 253 | |
88491d81 JK |
254 | config NETPOLL |
255 | def_bool NETCONSOLE | |
83fe27ea | 256 | select SRCU |
88491d81 | 257 | |
88491d81 JK |
258 | config NET_POLL_CONTROLLER |
259 | def_bool NETPOLL | |
260 | ||
548c237c | 261 | config NTB_NETDEV |
ec110bc7 AH |
262 | tristate "Virtual Ethernet over NTB Transport" |
263 | depends on NTB_TRANSPORT | |
548c237c | 264 | |
88491d81 JK |
265 | config RIONET |
266 | tristate "RapidIO Ethernet over messaging driver support" | |
267 | depends on RAPIDIO | |
268 | ||
269 | config RIONET_TX_SIZE | |
270 | int "Number of outbound queue entries" | |
271 | depends on RIONET | |
272 | default "128" | |
273 | ||
274 | config RIONET_RX_SIZE | |
275 | int "Number of inbound queue entries" | |
276 | depends on RIONET | |
277 | default "128" | |
1da177e4 LT |
278 | |
279 | config TUN | |
280 | tristate "Universal TUN/TAP device driver support" | |
de11b0e8 | 281 | depends on INET |
1da177e4 LT |
282 | select CRC32 |
283 | ---help--- | |
284 | TUN/TAP provides packet reception and transmission for user space | |
285 | programs. It can be viewed as a simple Point-to-Point or Ethernet | |
286 | device, which instead of receiving packets from a physical media, | |
287 | receives them from user space program and instead of sending packets | |
288 | via physical media writes them to the user space program. | |
289 | ||
290 | When a program opens /dev/net/tun, driver creates and registers | |
291 | corresponding net device tunX or tapX. After a program closed above | |
292 | devices, driver will automatically delete tunXX or tapXX device and | |
293 | all routes corresponding to it. | |
294 | ||
295 | Please read <file:Documentation/networking/tuntap.txt> for more | |
296 | information. | |
297 | ||
298 | To compile this driver as a module, choose M here: the module | |
299 | will be called tun. | |
300 | ||
301 | If you don't know what to use this for, you don't need it. | |
302 | ||
9a393b5d SG |
303 | config TAP |
304 | tristate | |
305 | ---help--- | |
306 | This option is selected by any driver implementing tap user space | |
307 | interface for a virtual interface to re-use core tap functionality. | |
308 | ||
8b8e658b GK |
309 | config TUN_VNET_CROSS_LE |
310 | bool "Support for cross-endian vnet headers on little-endian kernels" | |
311 | default n | |
312 | ---help--- | |
313 | This option allows TUN/TAP and MACVTAP device drivers in a | |
314 | little-endian kernel to parse vnet headers that come from a | |
315 | big-endian legacy virtio device. | |
316 | ||
317 | Userspace programs can control the feature using the TUNSETVNETBE | |
318 | and TUNGETVNETBE ioctls. | |
319 | ||
320 | Unless you have a little-endian system hosting a big-endian virtual | |
321 | machine with a legacy virtio NIC, you should say N. | |
322 | ||
e314dbdc | 323 | config VETH |
6a9a0250 | 324 | tristate "Virtual ethernet pair device" |
e314dbdc | 325 | ---help--- |
6a9a0250 RR |
326 | This device is a local ethernet tunnel. Devices are created in pairs. |
327 | When one end receives the packet it appears on its pair and vice | |
328 | versa. | |
e314dbdc | 329 | |
88491d81 | 330 | config VIRTIO_NET |
bd085b93 KC |
331 | tristate "Virtio network driver" |
332 | depends on VIRTIO | |
88491d81 JK |
333 | ---help--- |
334 | This is the virtual network driver for virtio. It can be used with | |
ecda85e7 | 335 | QEMU based VMMs (like KVM or Xen). Say Y or M. |
88491d81 | 336 | |
e4fc408e DB |
337 | config NLMON |
338 | tristate "Virtual netlink monitoring device" | |
339 | ---help--- | |
340 | This option enables a monitoring net device for netlink skbs. The | |
341 | purpose of this is to analyze netlink messages with packet sockets. | |
342 | Thus applications like tcpdump will be able to see local netlink | |
343 | messages if they tap into the netlink device, record pcaps for further | |
344 | diagnostics, etc. This is mostly intended for developers or support | |
345 | to debug netlink issues. If unsure, say N. | |
346 | ||
193125db DA |
347 | config NET_VRF |
348 | tristate "Virtual Routing and Forwarding (Lite)" | |
35402e31 | 349 | depends on IP_MULTIPLE_TABLES |
ee15ee5d | 350 | depends on NET_L3_MASTER_DEV |
35402e31 DA |
351 | depends on IPV6 || IPV6=n |
352 | depends on IPV6_MULTIPLE_TABLES || IPV6=n | |
193125db DA |
353 | ---help--- |
354 | This option enables the support for mapping interfaces into VRF's. The | |
355 | support enables VRF devices. | |
356 | ||
0b2e6644 GG |
357 | config VSOCKMON |
358 | tristate "Virtual vsock monitoring device" | |
359 | depends on VHOST_VSOCK | |
360 | ---help--- | |
361 | This option enables a monitoring net device for vsock sockets. It is | |
362 | mostly intended for developers or support to debug vsock issues. If | |
363 | unsure, say N. | |
364 | ||
88491d81 JK |
365 | endif # NET_CORE |
366 | ||
367 | config SUNGEM_PHY | |
368 | tristate | |
369 | ||
370 | source "drivers/net/arcnet/Kconfig" | |
371 | ||
372 | source "drivers/atm/Kconfig" | |
373 | ||
374 | source "drivers/net/caif/Kconfig" | |
375 | ||
3b158859 BH |
376 | source "drivers/net/dsa/Kconfig" |
377 | ||
88491d81 JK |
378 | source "drivers/net/ethernet/Kconfig" |
379 | ||
380 | source "drivers/net/fddi/Kconfig" | |
381 | ||
fecc7351 PB |
382 | source "drivers/net/hippi/Kconfig" |
383 | ||
1da177e4 LT |
384 | config NET_SB1000 |
385 | tristate "General Instruments Surfboard 1000" | |
cbcd2a4c | 386 | depends on PNP |
1da177e4 LT |
387 | ---help--- |
388 | This is a driver for the General Instrument (also known as | |
389 | NextLevel) SURFboard 1000 internal | |
390 | cable modem. This is an ISA card which is used by a number of cable | |
391 | TV companies to provide cable modem access. It's a one-way | |
392 | downstream-only cable modem, meaning that your upstream net link is | |
393 | provided by your regular phone modem. | |
394 | ||
395 | At present this driver only compiles as a module, so say M here if | |
396 | you have this card. The module will be called sb1000. Then read | |
397 | <file:Documentation/networking/README.sb1000> for information on how | |
398 | to use this module, as it needs special ppp scripts for establishing | |
399 | a connection. Further documentation and the necessary scripts can be | |
400 | found at: | |
401 | ||
402 | <http://www.jacksonville.net/~fventuri/> | |
403 | <http://home.adelphia.net/~siglercm/sb1000.html> | |
404 | <http://linuxpower.cx/~cable/> | |
405 | ||
406 | If you don't have this card, of course say N. | |
407 | ||
00db8189 AF |
408 | source "drivers/net/phy/Kconfig" |
409 | ||
18e635f4 JK |
410 | source "drivers/net/plip/Kconfig" |
411 | ||
88491d81 JK |
412 | source "drivers/net/ppp/Kconfig" |
413 | ||
b5451d78 JK |
414 | source "drivers/net/slip/Kconfig" |
415 | ||
88491d81 JK |
416 | source "drivers/s390/net/Kconfig" |
417 | ||
88491d81 JK |
418 | source "drivers/net/usb/Kconfig" |
419 | ||
1da177e4 LT |
420 | source "drivers/net/wireless/Kconfig" |
421 | ||
143ee2d5 IPG |
422 | source "drivers/net/wimax/Kconfig" |
423 | ||
1da177e4 LT |
424 | source "drivers/net/wan/Kconfig" |
425 | ||
0739d643 | 426 | source "drivers/net/ieee802154/Kconfig" |
427 | ||
0d160211 JF |
428 | config XEN_NETDEV_FRONTEND |
429 | tristate "Xen network device frontend driver" | |
430 | depends on XEN | |
7003087c | 431 | select XEN_XENBUS_FRONTEND |
0d160211 JF |
432 | default y |
433 | help | |
f942dc25 IC |
434 | This driver provides support for Xen paravirtual network |
435 | devices exported by a Xen network driver domain (often | |
436 | domain 0). | |
437 | ||
438 | The corresponding Linux backend driver is enabled by the | |
439 | CONFIG_XEN_NETDEV_BACKEND option. | |
440 | ||
441 | If you are compiling a kernel for use as Xen guest, you | |
442 | should say Y here. To compile this driver as a module, chose | |
443 | M here: the module will be called xen-netfront. | |
444 | ||
445 | config XEN_NETDEV_BACKEND | |
446 | tristate "Xen backend network device" | |
447 | depends on XEN_BACKEND | |
448 | help | |
449 | This driver allows the kernel to act as a Xen network driver | |
450 | domain which exports paravirtual network devices to other | |
451 | Xen domains. These devices can be accessed by any operating | |
452 | system that implements a compatible front end. | |
453 | ||
454 | The corresponding Linux frontend driver is enabled by the | |
455 | CONFIG_XEN_NETDEV_FRONTEND configuration option. | |
456 | ||
457 | The backend driver presents a standard network device | |
458 | endpoint for each paravirtual network device to the driver | |
459 | domain network stack. These can then be bridged or routed | |
460 | etc in order to provide full network connectivity. | |
461 | ||
462 | If you are compiling a kernel to run in a Xen network driver | |
463 | domain (often this is domain 0) you should say Y here. To | |
464 | compile this driver as a module, chose M here: the module | |
465 | will be called xen-netback. | |
0d160211 | 466 | |
d1a890fa | 467 | config VMXNET3 |
e85eb117 PDM |
468 | tristate "VMware VMXNET3 ethernet driver" |
469 | depends on PCI && INET | |
fbdf0e28 AB |
470 | depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \ |
471 | IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \ | |
472 | PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES) | |
e85eb117 PDM |
473 | help |
474 | This driver supports VMware's vmxnet3 virtual ethernet NIC. | |
475 | To compile this driver as a module, choose M here: the | |
476 | module will be called vmxnet3. | |
d1a890fa | 477 | |
658d439b TI |
478 | config FUJITSU_ES |
479 | tristate "FUJITSU Extended Socket Network Device driver" | |
480 | depends on ACPI | |
481 | help | |
482 | This driver provides support for Extended Socket network device | |
483 | on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. | |
484 | ||
e69b6c02 AL |
485 | config THUNDERBOLT_NET |
486 | tristate "Networking over Thunderbolt cable" | |
487 | depends on THUNDERBOLT && INET | |
488 | help | |
489 | Select this if you want to create network between two | |
490 | computers over a Thunderbolt cable. The driver supports Apple | |
491 | ThunderboltIP protocol and allows communication with any host | |
492 | supporting the same protocol including Windows and macOS. | |
493 | ||
494 | To compile this driver a module, choose M here. The module will be | |
495 | called thunderbolt-net. | |
496 | ||
95fa0405 HZ |
497 | source "drivers/net/hyperv/Kconfig" |
498 | ||
d1c0a65f | 499 | endif # NETDEVICES |