.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # Network device configuration |
---|
3 | 4 | # |
---|
.. | .. |
---|
6 | 7 | default y if UML |
---|
7 | 8 | depends on NET |
---|
8 | 9 | bool "Network device support" |
---|
9 | | - ---help--- |
---|
| 10 | + help |
---|
10 | 11 | You can say N here if you don't intend to connect your Linux box to |
---|
11 | 12 | any other computer at all. |
---|
12 | 13 | |
---|
.. | .. |
---|
31 | 32 | config NET_CORE |
---|
32 | 33 | default y |
---|
33 | 34 | bool "Network core driver support" |
---|
34 | | - ---help--- |
---|
| 35 | + help |
---|
35 | 36 | You can say N here if you do not intend to use any of the |
---|
36 | 37 | networking core drivers (i.e. VLAN, bridging, bonding, etc.) |
---|
37 | 38 | |
---|
.. | .. |
---|
41 | 42 | tristate "Bonding driver support" |
---|
42 | 43 | depends on INET |
---|
43 | 44 | depends on IPV6 || IPV6=n |
---|
44 | | - ---help--- |
---|
| 45 | + help |
---|
45 | 46 | Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet |
---|
46 | 47 | Channels together. This is called 'Etherchannel' by Cisco, |
---|
47 | 48 | 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. |
---|
.. | .. |
---|
49 | 50 | The driver supports multiple bonding modes to allow for both high |
---|
50 | 51 | performance and high availability operation. |
---|
51 | 52 | |
---|
52 | | - Refer to <file:Documentation/networking/bonding.txt> for more |
---|
| 53 | + Refer to <file:Documentation/networking/bonding.rst> for more |
---|
53 | 54 | information. |
---|
54 | 55 | |
---|
55 | 56 | To compile this driver as a module, choose M here: the module |
---|
.. | .. |
---|
57 | 58 | |
---|
58 | 59 | config DUMMY |
---|
59 | 60 | tristate "Dummy net driver support" |
---|
60 | | - ---help--- |
---|
| 61 | + help |
---|
61 | 62 | This is essentially a bit-bucket device (i.e. traffic you send to |
---|
62 | 63 | this device is consigned into oblivion) with a configurable IP |
---|
63 | 64 | address. It is most commonly used in order to make your currently |
---|
.. | .. |
---|
79 | 80 | select CRYPTO |
---|
80 | 81 | select CRYPTO_LIB_CURVE25519 |
---|
81 | 82 | select CRYPTO_LIB_CHACHA20POLY1305 |
---|
82 | | - select CRYPTO_LIB_BLAKE2S |
---|
83 | 83 | select CRYPTO_CHACHA20_X86_64 if X86 && 64BIT |
---|
84 | 84 | select CRYPTO_POLY1305_X86_64 if X86 && 64BIT |
---|
85 | 85 | select CRYPTO_BLAKE2S_X86 if X86 && 64BIT |
---|
86 | 86 | select CRYPTO_CURVE25519_X86 if X86 && 64BIT |
---|
87 | 87 | select ARM_CRYPTO if ARM |
---|
88 | 88 | select ARM64_CRYPTO if ARM64 |
---|
89 | | - select CRYPTO_CHACHA20_NEON if (ARM || ARM64) && KERNEL_MODE_NEON |
---|
| 89 | + select CRYPTO_CHACHA20_NEON if ARM || (ARM64 && KERNEL_MODE_NEON) |
---|
90 | 90 | select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON |
---|
91 | 91 | select CRYPTO_POLY1305_ARM if ARM |
---|
92 | 92 | select CRYPTO_BLAKE2S_ARM if ARM |
---|
93 | 93 | select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON |
---|
94 | 94 | select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 |
---|
95 | | - select CRYPTO_POLY1305_MIPS if CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
---|
| 95 | + select CRYPTO_POLY1305_MIPS if MIPS |
---|
96 | 96 | help |
---|
97 | 97 | WireGuard is a secure, fast, and easy to use replacement for IPSec |
---|
98 | 98 | that uses modern cryptography and clever networking tricks. It's |
---|
.. | .. |
---|
116 | 116 | |
---|
117 | 117 | config EQUALIZER |
---|
118 | 118 | tristate "EQL (serial line load balancing) support" |
---|
119 | | - ---help--- |
---|
| 119 | + help |
---|
120 | 120 | If you have two serial connections to some other computer (this |
---|
121 | 121 | usually requires two modems and two telephone lines) and you use |
---|
122 | 122 | SLIP (the protocol for sending Internet traffic over telephone |
---|
.. | .. |
---|
126 | 126 | Linux driver or with a Livingston Portmaster 2e. |
---|
127 | 127 | |
---|
128 | 128 | Say Y if you want this and read |
---|
129 | | - <file:Documentation/networking/eql.txt>. You may also want to read |
---|
| 129 | + <file:Documentation/networking/eql.rst>. You may also want to read |
---|
130 | 130 | section 6.2 of the NET-3-HOWTO, available from |
---|
131 | 131 | <http://www.tldp.org/docs.html#howto>. |
---|
132 | 132 | |
---|
.. | .. |
---|
148 | 148 | |
---|
149 | 149 | config IFB |
---|
150 | 150 | tristate "Intermediate Functional Block support" |
---|
151 | | - depends on NET_CLS_ACT |
---|
152 | | - ---help--- |
---|
| 151 | + depends on NET_ACT_MIRRED || NFT_FWD_NETDEV |
---|
| 152 | + select NET_REDIRECT |
---|
| 153 | + help |
---|
153 | 154 | This is an intermediate driver that allows sharing of |
---|
154 | 155 | resources. |
---|
155 | 156 | To compile this driver as a module, choose M here: the module |
---|
.. | .. |
---|
163 | 164 | |
---|
164 | 165 | config MACVLAN |
---|
165 | 166 | tristate "MAC-VLAN support" |
---|
166 | | - ---help--- |
---|
| 167 | + help |
---|
167 | 168 | This allows one to create virtual interfaces that map packets to |
---|
168 | 169 | or from specific MAC addresses to a particular interface. |
---|
169 | 170 | |
---|
.. | .. |
---|
189 | 190 | To compile this driver as a module, choose M here: the module |
---|
190 | 191 | will be called macvtap. |
---|
191 | 192 | |
---|
| 193 | +config IPVLAN_L3S |
---|
| 194 | + depends on NETFILTER |
---|
| 195 | + depends on IPVLAN |
---|
| 196 | + def_bool y |
---|
| 197 | + select NET_L3_MASTER_DEV |
---|
192 | 198 | |
---|
193 | 199 | config IPVLAN |
---|
194 | | - tristate "IP-VLAN support" |
---|
195 | | - depends on INET |
---|
196 | | - depends on IPV6 || !IPV6 |
---|
197 | | - depends on NETFILTER |
---|
198 | | - select NET_L3_MASTER_DEV |
---|
199 | | - ---help--- |
---|
200 | | - This allows one to create virtual devices off of a main interface |
---|
201 | | - and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) |
---|
202 | | - on packets. All interfaces (including the main interface) share L2 |
---|
203 | | - making it transparent to the connected L2 switch. |
---|
| 200 | + tristate "IP-VLAN support" |
---|
| 201 | + depends on INET |
---|
| 202 | + depends on IPV6 || !IPV6 |
---|
| 203 | + help |
---|
| 204 | + This allows one to create virtual devices off of a main interface |
---|
| 205 | + and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) |
---|
| 206 | + on packets. All interfaces (including the main interface) share L2 |
---|
| 207 | + making it transparent to the connected L2 switch. |
---|
204 | 208 | |
---|
205 | | - Ipvlan devices can be added using the "ip" command from the |
---|
206 | | - iproute2 package starting with the iproute2-3.19 release: |
---|
| 209 | + Ipvlan devices can be added using the "ip" command from the |
---|
| 210 | + iproute2 package starting with the iproute2-3.19 release: |
---|
207 | 211 | |
---|
208 | | - "ip link add link <main-dev> [ NAME ] type ipvlan" |
---|
| 212 | + "ip link add link <main-dev> [ NAME ] type ipvlan" |
---|
209 | 213 | |
---|
210 | | - To compile this driver as a module, choose M here: the module |
---|
211 | | - will be called ipvlan. |
---|
| 214 | + To compile this driver as a module, choose M here: the module |
---|
| 215 | + will be called ipvlan. |
---|
212 | 216 | |
---|
213 | 217 | config IPVTAP |
---|
214 | 218 | tristate "IP-VLAN based tap driver" |
---|
215 | 219 | depends on IPVLAN |
---|
216 | 220 | depends on INET |
---|
217 | 221 | select TAP |
---|
218 | | - ---help--- |
---|
| 222 | + help |
---|
219 | 223 | This adds a specialized tap character device driver that is based |
---|
220 | 224 | on the IP-VLAN network interface, called ipvtap. An ipvtap device |
---|
221 | 225 | can be added in the same way as a ipvlan device, using 'type |
---|
.. | .. |
---|
225 | 229 | will be called ipvtap. |
---|
226 | 230 | |
---|
227 | 231 | config VXLAN |
---|
228 | | - tristate "Virtual eXtensible Local Area Network (VXLAN)" |
---|
229 | | - depends on INET |
---|
230 | | - select NET_UDP_TUNNEL |
---|
231 | | - select GRO_CELLS |
---|
232 | | - ---help--- |
---|
| 232 | + tristate "Virtual eXtensible Local Area Network (VXLAN)" |
---|
| 233 | + depends on INET |
---|
| 234 | + select NET_UDP_TUNNEL |
---|
| 235 | + select GRO_CELLS |
---|
| 236 | + help |
---|
233 | 237 | This allows one to create vxlan virtual interfaces that provide |
---|
234 | 238 | Layer 2 Networks over Layer 3 Networks. VXLAN is often used |
---|
235 | 239 | to tunnel virtual network infrastructure in virtualized environments. |
---|
.. | .. |
---|
240 | 244 | will be called vxlan. |
---|
241 | 245 | |
---|
242 | 246 | config GENEVE |
---|
243 | | - tristate "Generic Network Virtualization Encapsulation" |
---|
244 | | - depends on INET |
---|
245 | | - depends on IPV6 || !IPV6 |
---|
246 | | - select NET_UDP_TUNNEL |
---|
247 | | - select GRO_CELLS |
---|
248 | | - ---help--- |
---|
| 247 | + tristate "Generic Network Virtualization Encapsulation" |
---|
| 248 | + depends on INET |
---|
| 249 | + depends on IPV6 || !IPV6 |
---|
| 250 | + select NET_UDP_TUNNEL |
---|
| 251 | + select GRO_CELLS |
---|
| 252 | + help |
---|
249 | 253 | This allows one to create geneve virtual interfaces that provide |
---|
250 | 254 | Layer 2 Networks over Layer 3 Networks. GENEVE is often used |
---|
251 | 255 | to tunnel virtual network infrastructure in virtualized environments. |
---|
.. | .. |
---|
255 | 259 | To compile this driver as a module, choose M here: the module |
---|
256 | 260 | will be called geneve. |
---|
257 | 261 | |
---|
| 262 | +config BAREUDP |
---|
| 263 | + tristate "Bare UDP Encapsulation" |
---|
| 264 | + depends on INET |
---|
| 265 | + depends on IPV6 || !IPV6 |
---|
| 266 | + select NET_UDP_TUNNEL |
---|
| 267 | + select GRO_CELLS |
---|
| 268 | + help |
---|
| 269 | + This adds a bare UDP tunnel module for tunnelling different |
---|
| 270 | + kinds of traffic like MPLS, IP, etc. inside a UDP tunnel. |
---|
| 271 | + |
---|
| 272 | + To compile this driver as a module, choose M here: the module |
---|
| 273 | + will be called bareudp. |
---|
| 274 | + |
---|
258 | 275 | config GTP |
---|
259 | 276 | tristate "GPRS Tunneling Protocol datapath (GTP-U)" |
---|
260 | 277 | depends on INET |
---|
261 | 278 | select NET_UDP_TUNNEL |
---|
262 | | - ---help--- |
---|
| 279 | + help |
---|
263 | 280 | This allows one to create gtp virtual interfaces that provide |
---|
264 | 281 | the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol |
---|
265 | 282 | is used to prevent subscribers from accessing mobile carrier core |
---|
.. | .. |
---|
278 | 295 | select CRYPTO_AES |
---|
279 | 296 | select CRYPTO_GCM |
---|
280 | 297 | select GRO_CELLS |
---|
281 | | - ---help--- |
---|
| 298 | + help |
---|
282 | 299 | MACsec is an encryption standard for Ethernet. |
---|
283 | 300 | |
---|
284 | 301 | config NETCONSOLE |
---|
285 | 302 | tristate "Network console logging support" |
---|
286 | | - ---help--- |
---|
287 | | - If you want to log kernel messages over the network, enable this. |
---|
288 | | - See <file:Documentation/networking/netconsole.txt> for details. |
---|
| 303 | + help |
---|
| 304 | + If you want to log kernel messages over the network, enable this. |
---|
| 305 | + See <file:Documentation/networking/netconsole.rst> for details. |
---|
289 | 306 | |
---|
290 | 307 | config NETCONSOLE_DYNAMIC |
---|
291 | 308 | bool "Dynamic reconfiguration of logging targets" |
---|
.. | .. |
---|
295 | 312 | This option enables the ability to dynamically reconfigure target |
---|
296 | 313 | parameters (interface, IP addresses, port numbers, MAC addresses) |
---|
297 | 314 | at runtime through a userspace interface exported using configfs. |
---|
298 | | - See <file:Documentation/networking/netconsole.txt> for details. |
---|
| 315 | + See <file:Documentation/networking/netconsole.rst> for details. |
---|
299 | 316 | |
---|
300 | 317 | config NETPOLL |
---|
301 | 318 | def_bool NETCONSOLE |
---|
.. | .. |
---|
326 | 343 | tristate "Universal TUN/TAP device driver support" |
---|
327 | 344 | depends on INET |
---|
328 | 345 | select CRC32 |
---|
329 | | - ---help--- |
---|
| 346 | + help |
---|
330 | 347 | TUN/TAP provides packet reception and transmission for user space |
---|
331 | 348 | programs. It can be viewed as a simple Point-to-Point or Ethernet |
---|
332 | 349 | device, which instead of receiving packets from a physical media, |
---|
.. | .. |
---|
338 | 355 | devices, driver will automatically delete tunXX or tapXX device and |
---|
339 | 356 | all routes corresponding to it. |
---|
340 | 357 | |
---|
341 | | - Please read <file:Documentation/networking/tuntap.txt> for more |
---|
| 358 | + Please read <file:Documentation/networking/tuntap.rst> for more |
---|
342 | 359 | information. |
---|
343 | 360 | |
---|
344 | 361 | To compile this driver as a module, choose M here: the module |
---|
.. | .. |
---|
348 | 365 | |
---|
349 | 366 | config TAP |
---|
350 | 367 | tristate |
---|
351 | | - ---help--- |
---|
| 368 | + help |
---|
352 | 369 | This option is selected by any driver implementing tap user space |
---|
353 | 370 | interface for a virtual interface to re-use core tap functionality. |
---|
354 | 371 | |
---|
355 | 372 | config TUN_VNET_CROSS_LE |
---|
356 | 373 | bool "Support for cross-endian vnet headers on little-endian kernels" |
---|
357 | 374 | default n |
---|
358 | | - ---help--- |
---|
| 375 | + help |
---|
359 | 376 | This option allows TUN/TAP and MACVTAP device drivers in a |
---|
360 | 377 | little-endian kernel to parse vnet headers that come from a |
---|
361 | 378 | big-endian legacy virtio device. |
---|
.. | .. |
---|
368 | 385 | |
---|
369 | 386 | config VETH |
---|
370 | 387 | tristate "Virtual ethernet pair device" |
---|
371 | | - ---help--- |
---|
| 388 | + help |
---|
372 | 389 | This device is a local ethernet tunnel. Devices are created in pairs. |
---|
373 | 390 | When one end receives the packet it appears on its pair and vice |
---|
374 | 391 | versa. |
---|
.. | .. |
---|
377 | 394 | tristate "Virtio network driver" |
---|
378 | 395 | depends on VIRTIO |
---|
379 | 396 | select NET_FAILOVER |
---|
380 | | - ---help--- |
---|
| 397 | + help |
---|
381 | 398 | This is the virtual network driver for virtio. It can be used with |
---|
382 | 399 | QEMU based VMMs (like KVM or Xen). Say Y or M. |
---|
383 | 400 | |
---|
384 | 401 | config NLMON |
---|
385 | 402 | tristate "Virtual netlink monitoring device" |
---|
386 | | - ---help--- |
---|
| 403 | + help |
---|
387 | 404 | This option enables a monitoring net device for netlink skbs. The |
---|
388 | 405 | purpose of this is to analyze netlink messages with packet sockets. |
---|
389 | 406 | Thus applications like tcpdump will be able to see local netlink |
---|
.. | .. |
---|
397 | 414 | depends on NET_L3_MASTER_DEV |
---|
398 | 415 | depends on IPV6 || IPV6=n |
---|
399 | 416 | depends on IPV6_MULTIPLE_TABLES || IPV6=n |
---|
400 | | - ---help--- |
---|
| 417 | + help |
---|
401 | 418 | This option enables the support for mapping interfaces into VRF's. The |
---|
402 | 419 | support enables VRF devices. |
---|
403 | 420 | |
---|
404 | 421 | config VSOCKMON |
---|
405 | | - tristate "Virtual vsock monitoring device" |
---|
406 | | - depends on VHOST_VSOCK |
---|
407 | | - ---help--- |
---|
408 | | - This option enables a monitoring net device for vsock sockets. It is |
---|
409 | | - mostly intended for developers or support to debug vsock issues. If |
---|
410 | | - unsure, say N. |
---|
| 422 | + tristate "Virtual vsock monitoring device" |
---|
| 423 | + depends on VHOST_VSOCK |
---|
| 424 | + help |
---|
| 425 | + This option enables a monitoring net device for vsock sockets. It is |
---|
| 426 | + mostly intended for developers or support to debug vsock issues. If |
---|
| 427 | + unsure, say N. |
---|
411 | 428 | |
---|
412 | 429 | endif # NET_CORE |
---|
413 | 430 | |
---|
.. | .. |
---|
428 | 445 | |
---|
429 | 446 | source "drivers/net/hippi/Kconfig" |
---|
430 | 447 | |
---|
| 448 | +source "drivers/net/ipa/Kconfig" |
---|
| 449 | + |
---|
431 | 450 | config NET_SB1000 |
---|
432 | 451 | tristate "General Instruments Surfboard 1000" |
---|
433 | 452 | depends on PNP |
---|
434 | | - ---help--- |
---|
| 453 | + help |
---|
435 | 454 | This is a driver for the General Instrument (also known as |
---|
436 | 455 | NextLevel) SURFboard 1000 internal |
---|
437 | 456 | cable modem. This is an ISA card which is used by a number of cable |
---|
.. | .. |
---|
441 | 460 | |
---|
442 | 461 | At present this driver only compiles as a module, so say M here if |
---|
443 | 462 | you have this card. The module will be called sb1000. Then read |
---|
444 | | - <file:Documentation/networking/README.sb1000> for information on how |
---|
445 | | - to use this module, as it needs special ppp scripts for establishing |
---|
446 | | - a connection. Further documentation and the necessary scripts can be |
---|
447 | | - found at: |
---|
| 463 | + <file:Documentation/networking/device_drivers/cable/sb1000.rst> for |
---|
| 464 | + information on how to use this module, as it needs special ppp |
---|
| 465 | + scripts for establishing a connection. Further documentation |
---|
| 466 | + and the necessary scripts can be found at: |
---|
448 | 467 | |
---|
449 | 468 | <http://www.jacksonville.net/~fventuri/> |
---|
450 | 469 | <http://home.adelphia.net/~siglercm/sb1000.html> |
---|
.. | .. |
---|
453 | 472 | If you don't have this card, of course say N. |
---|
454 | 473 | |
---|
455 | 474 | source "drivers/net/phy/Kconfig" |
---|
| 475 | + |
---|
| 476 | +source "drivers/net/mdio/Kconfig" |
---|
| 477 | + |
---|
| 478 | +source "drivers/net/pcs/Kconfig" |
---|
456 | 479 | |
---|
457 | 480 | source "drivers/net/plip/Kconfig" |
---|
458 | 481 | |
---|
.. | .. |
---|
476 | 499 | tristate "Xen network device frontend driver" |
---|
477 | 500 | depends on XEN |
---|
478 | 501 | select XEN_XENBUS_FRONTEND |
---|
| 502 | + select PAGE_POOL |
---|
479 | 503 | default y |
---|
480 | 504 | help |
---|
481 | 505 | This driver provides support for Xen paravirtual network |
---|
.. | .. |
---|
527 | 551 | depends on ACPI |
---|
528 | 552 | help |
---|
529 | 553 | This driver provides support for Extended Socket network device |
---|
530 | | - on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. |
---|
| 554 | + on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. |
---|
531 | 555 | |
---|
532 | | -config THUNDERBOLT_NET |
---|
533 | | - tristate "Networking over Thunderbolt cable" |
---|
534 | | - depends on THUNDERBOLT && INET |
---|
| 556 | +config USB4_NET |
---|
| 557 | + tristate "Networking over USB4 and Thunderbolt cables" |
---|
| 558 | + depends on USB4 && INET |
---|
535 | 559 | help |
---|
536 | | - Select this if you want to create network between two |
---|
537 | | - computers over a Thunderbolt cable. The driver supports Apple |
---|
| 560 | + Select this if you want to create network between two computers |
---|
| 561 | + over a USB4 and Thunderbolt cables. The driver supports Apple |
---|
538 | 562 | ThunderboltIP protocol and allows communication with any host |
---|
539 | 563 | supporting the same protocol including Windows and macOS. |
---|
540 | 564 | |
---|
.. | .. |
---|
542 | 566 | called thunderbolt-net. |
---|
543 | 567 | |
---|
544 | 568 | source "drivers/net/hyperv/Kconfig" |
---|
545 | | -source "drivers/net/lte/Kconfig" |
---|
546 | 569 | |
---|
547 | 570 | config NETDEVSIM |
---|
548 | 571 | tristate "Simulated networking device" |
---|
549 | 572 | depends on DEBUG_FS |
---|
550 | | - depends on MAY_USE_DEVLINK |
---|
| 573 | + depends on INET |
---|
| 574 | + depends on IPV6 || IPV6=n |
---|
| 575 | + select NET_DEVLINK |
---|
551 | 576 | help |
---|
552 | 577 | This driver is a developer testing tool and software model that can |
---|
553 | 578 | be used to test various control path networking APIs, especially |
---|
.. | .. |
---|
564 | 589 | and destroy a failover master netdev and manages a primary and |
---|
565 | 590 | standby slave netdevs that get registered via the generic failover |
---|
566 | 591 | infrastructure. This can be used by paravirtual drivers to enable |
---|
567 | | - an alternate low latency datapath. It alsoenables live migration of |
---|
| 592 | + an alternate low latency datapath. It also enables live migration of |
---|
568 | 593 | a VM with direct attached VF by failing over to the paravirtual |
---|
569 | 594 | datapath when the VF is unplugged. |
---|
570 | 595 | |
---|