hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # Network configuration
34 #
....@@ -7,7 +8,7 @@
78 select NLATTR
89 select GENERIC_NET_UTILS
910 select BPF
10
- ---help---
11
+ help
1112 Unless you really know what you are doing, you should say Y here.
1213 The reason is that some programs need kernel networking support even
1314 when running on a stand-alone machine that isn't connected to any
....@@ -51,6 +52,12 @@
5152 config NET_EGRESS
5253 bool
5354
55
+config NET_REDIRECT
56
+ bool
57
+
58
+config SKB_EXTENSIONS
59
+ bool
60
+
5461 menu "Networking options"
5562
5663 source "net/packet/Kconfig"
....@@ -63,9 +70,7 @@
6370
6471 config INET
6572 bool "TCP/IP networking"
66
- select CRYPTO
67
- select CRYPTO_AES
68
- ---help---
73
+ help
6974 These are the protocols used on the Internet and on most local
7075 Ethernets. It is highly recommended to say Y here (this will enlarge
7176 your kernel by about 400 KB), since some programs (e.g. the X window
....@@ -81,7 +86,7 @@
8186 "Sysctl support" below, you can change various aspects of the
8287 behavior of the TCP/IP code by writing to the (virtual) files in
8388 /proc/sys/net/ipv4/*; the options are explained in the file
84
- <file:Documentation/networking/ip-sysctl.txt>.
89
+ <file:Documentation/networking/ip-sysctl.rst>.
8590
8691 Short answer: say Y.
8792
....@@ -89,6 +94,7 @@
8994 source "net/ipv4/Kconfig"
9095 source "net/ipv6/Kconfig"
9196 source "net/netlabel/Kconfig"
97
+source "net/mptcp/Kconfig"
9298
9399 endif # if INET
94100
....@@ -106,15 +112,16 @@
106112 bool "Timestamping in PHY devices"
107113 select NET_PTP_CLASSIFY
108114 help
109
- This allows timestamping of network packets by PHYs with
110
- hardware timestamping capabilities. This option adds some
111
- overhead in the transmit and receive paths.
115
+ This allows timestamping of network packets by PHYs (or
116
+ other MII bus snooping devices) with hardware timestamping
117
+ capabilities. This option adds some overhead in the transmit
118
+ and receive paths.
112119
113120 If you are unsure how to answer this question, answer N.
114121
115122 menuconfig NETFILTER
116123 bool "Network packet filtering framework (Netfilter)"
117
- ---help---
124
+ help
118125 Netfilter is a framework for filtering and mangling network packets
119126 that pass through your Linux box.
120127
....@@ -184,7 +191,8 @@
184191 depends on NETFILTER && INET
185192 depends on NETFILTER_ADVANCED
186193 select NETFILTER_FAMILY_BRIDGE
187
- ---help---
194
+ select SKB_EXTENSIONS
195
+ help
188196 Enabling this option will let arptables resp. iptables see bridged
189197 ARP resp. IP traffic. If you want a bridging firewall, you probably
190198 want this option enabled.
....@@ -196,7 +204,6 @@
196204 source "net/netfilter/Kconfig"
197205 source "net/ipv4/netfilter/Kconfig"
198206 source "net/ipv6/netfilter/Kconfig"
199
-source "net/decnet/netfilter/Kconfig"
200207 source "net/bridge/netfilter/Kconfig"
201208
202209 endif
....@@ -213,7 +220,6 @@
213220 source "net/bridge/Kconfig"
214221 source "net/dsa/Kconfig"
215222 source "net/8021q/Kconfig"
216
-source "net/decnet/Kconfig"
217223 source "net/llc/Kconfig"
218224 source "drivers/net/appletalk/Kconfig"
219225 source "net/x25/Kconfig"
....@@ -254,13 +260,13 @@
254260 default y
255261
256262 config HWBM
257
- bool
263
+ bool
258264
259265 config CGROUP_NET_PRIO
260266 bool "Network priority cgroup"
261267 depends on CGROUPS
262268 select SOCK_CGROUP_DATA
263
- ---help---
269
+ help
264270 Cgroup subsystem for use in assigning processes to network priorities on
265271 a per-interface basis.
266272
....@@ -268,7 +274,7 @@
268274 bool "Network classid cgroup"
269275 depends on CGROUPS
270276 select SOCK_CGROUP_DATA
271
- ---help---
277
+ help
272278 Cgroup subsystem for use as general purpose socket classid marker that is
273279 being used in cls_cgroup and for netfilter matching.
274280
....@@ -286,7 +292,7 @@
286292 bool "enable BPF Just In Time compiler"
287293 depends on HAVE_CBPF_JIT || HAVE_EBPF_JIT
288294 depends on MODULES
289
- ---help---
295
+ help
290296 Berkeley Packet Filter filtering capabilities are normally handled
291297 by an interpreter. This option allows kernel to generate a native
292298 code when filter is loaded in memory. This should speedup
....@@ -299,35 +305,24 @@
299305
300306 config BPF_STREAM_PARSER
301307 bool "enable BPF STREAM_PARSER"
308
+ depends on INET
302309 depends on BPF_SYSCALL
310
+ depends on CGROUP_BPF
303311 select STREAM_PARSER
304
- ---help---
305
- Enabling this allows a stream parser to be used with
306
- BPF_MAP_TYPE_SOCKMAP.
307
-
308
- BPF_MAP_TYPE_SOCKMAP provides a map type to use with network sockets.
309
- It can be used to enforce socket policy, implement socket redirects,
310
- etc.
311
-
312
-config ETHTOOL
313
- bool "enable ethtool"
314
- default y
312
+ select NET_SOCK_MSG
315313 help
316
- This selects ethtool function, default is Y. If say N, ethtool function
317
- is not implemented.
314
+ Enabling this allows a stream parser to be used with
315
+ BPF_MAP_TYPE_SOCKMAP.
318316
319
-config FILTER
320
- bool "enable filter"
321
- default y
322
- help
323
- This selects filter function, default is Y. If say N, filter function
324
- is not implemented.
317
+ BPF_MAP_TYPE_SOCKMAP provides a map type to use with network sockets.
318
+ It can be used to enforce socket policy, implement socket redirects,
319
+ etc.
325320
326321 config NET_FLOW_LIMIT
327322 bool
328323 depends on RPS
329324 default y
330
- ---help---
325
+ help
331326 The network stack has to drop packets when a receive processing CPU's
332327 backlog reaches netdev_max_backlog. If a few out of many active flows
333328 generate the vast majority of load, drop their traffic earlier to
....@@ -340,14 +335,14 @@
340335 config NET_PKTGEN
341336 tristate "Packet Generator (USE WITH CAUTION)"
342337 depends on INET && PROC_FS
343
- ---help---
338
+ help
344339 This module will inject preconfigured packets, at a configurable
345340 rate, out of a given interface. It is used for network interface
346341 stress testing and performance analysis. If you don't understand
347342 what was just said, you don't need it: say N.
348343
349344 Documentation on how to use the packet generator can be found
350
- at <file:Documentation/networking/pktgen.txt>.
345
+ at <file:Documentation/networking/pktgen.rst>.
351346
352347 To compile this code as a module, choose M here: the
353348 module will be called pktgen.
....@@ -355,13 +350,13 @@
355350 config NET_DROP_MONITOR
356351 tristate "Network packet drop alerting service"
357352 depends on INET && TRACEPOINTS
358
- ---help---
359
- This feature provides an alerting service to userspace in the
360
- event that packets are discarded in the network stack. Alerts
361
- are broadcast via netlink socket to any listening user space
362
- process. If you don't need network drop alerts, or if you are ok
363
- just checking the various proc files and other utilities for
364
- drop statistics, say N here.
353
+ help
354
+ This feature provides an alerting service to userspace in the
355
+ event that packets are discarded in the network stack. Alerts
356
+ are broadcast via netlink socket to any listening user space
357
+ process. If you don't need network drop alerts, or if you are ok
358
+ just checking the various proc files and other utilities for
359
+ drop statistics, say N here.
365360
366361 endmenu
367362
....@@ -401,7 +396,7 @@
401396
402397 config LWTUNNEL
403398 bool "Network light weight tunnels"
404
- ---help---
399
+ help
405400 This feature provides an infrastructure to support light weight
406401 tunnels like mpls. There is no netdevice associated with a light
407402 weight tunnel endpoint. Tunnel encapsulation parameters are stored
....@@ -409,9 +404,9 @@
409404
410405 config LWTUNNEL_BPF
411406 bool "Execute BPF program as route nexthop action"
412
- depends on LWTUNNEL
407
+ depends on LWTUNNEL && INET
413408 default y if LWTUNNEL=y
414
- ---help---
409
+ help
415410 Allows to run BPF programs as a nexthop action following a route
416411 lookup for incoming and outgoing packets.
417412
....@@ -426,24 +421,20 @@
426421 config SOCK_VALIDATE_XMIT
427422 bool
428423
429
-config NET_DEVLINK
430
- tristate "Network physical/parent device Netlink interface"
424
+config NET_SOCK_MSG
425
+ bool
426
+ default n
431427 help
432
- Network physical/parent device Netlink interface provides
433
- infrastructure to support access to physical chip-wide config and
434
- monitoring.
428
+ The NET_SOCK_MSG provides a framework for plain sockets (e.g. TCP) or
429
+ ULPs (upper layer modules, e.g. TLS) to process L7 application data
430
+ with the help of BPF programs.
435431
436
-config MAY_USE_DEVLINK
437
- tristate
438
- default m if NET_DEVLINK=m
439
- default y if NET_DEVLINK=y || NET_DEVLINK=n
440
- help
441
- Drivers using the devlink infrastructure should have a dependency
442
- on MAY_USE_DEVLINK to ensure they do not cause link errors when
443
- devlink is a loadable module and the driver using it is built-in.
432
+config NET_DEVLINK
433
+ bool
434
+ default n
444435
445436 config PAGE_POOL
446
- bool
437
+ bool
447438
448439 config FAILOVER
449440 tristate "Generic failover module"
....@@ -458,6 +449,14 @@
458449 migration of VMs with direct attached VFs by failing over to the
459450 paravirtual datapath when the VF is unplugged.
460451
452
+config ETHTOOL_NETLINK
453
+ bool "Netlink interface for ethtool"
454
+ default y
455
+ help
456
+ An alternative userspace interface for ethtool based on generic
457
+ netlink. It provides better extensibility and some new features,
458
+ e.g. notification messages.
459
+
461460 endif # if NET
462461
463462 # Used by archs to tell that they support BPF JIT compiler plus which flavour.