18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Network configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig NET 78c2ecf20Sopenharmony_ci bool "Networking support" 88c2ecf20Sopenharmony_ci select NLATTR 98c2ecf20Sopenharmony_ci select GENERIC_NET_UTILS 108c2ecf20Sopenharmony_ci select BPF 118c2ecf20Sopenharmony_ci help 128c2ecf20Sopenharmony_ci Unless you really know what you are doing, you should say Y here. 138c2ecf20Sopenharmony_ci The reason is that some programs need kernel networking support even 148c2ecf20Sopenharmony_ci when running on a stand-alone machine that isn't connected to any 158c2ecf20Sopenharmony_ci other computer. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci If you are upgrading from an older kernel, you 188c2ecf20Sopenharmony_ci should consider updating your networking tools too because changes 198c2ecf20Sopenharmony_ci in the kernel and the tools often go hand in hand. The tools are 208c2ecf20Sopenharmony_ci contained in the package net-tools, the location and version number 218c2ecf20Sopenharmony_ci of which are given in <file:Documentation/Changes>. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci For a general introduction to Linux networking, it is highly 248c2ecf20Sopenharmony_ci recommended to read the NET-HOWTO, available from 258c2ecf20Sopenharmony_ci <http://www.tldp.org/docs.html#howto>. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciif NET 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig WANT_COMPAT_NETLINK_MESSAGES 308c2ecf20Sopenharmony_ci bool 318c2ecf20Sopenharmony_ci help 328c2ecf20Sopenharmony_ci This option can be selected by other options that need compat 338c2ecf20Sopenharmony_ci netlink messages. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig COMPAT_NETLINK_MESSAGES 368c2ecf20Sopenharmony_ci def_bool y 378c2ecf20Sopenharmony_ci depends on COMPAT 388c2ecf20Sopenharmony_ci depends on WEXT_CORE || WANT_COMPAT_NETLINK_MESSAGES 398c2ecf20Sopenharmony_ci help 408c2ecf20Sopenharmony_ci This option makes it possible to send different netlink messages 418c2ecf20Sopenharmony_ci to tasks depending on whether the task is a compat task or not. To 428c2ecf20Sopenharmony_ci achieve this, you need to set skb_shinfo(skb)->frag_list to the 438c2ecf20Sopenharmony_ci compat skb before sending the skb, the netlink code will sort out 448c2ecf20Sopenharmony_ci which message to actually pass to the task. 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci Newly written code should NEVER need this option but do 478c2ecf20Sopenharmony_ci compat-independent messages instead! 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciconfig NET_INGRESS 508c2ecf20Sopenharmony_ci bool 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig NET_EGRESS 538c2ecf20Sopenharmony_ci bool 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciconfig NET_REDIRECT 568c2ecf20Sopenharmony_ci bool 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciconfig SKB_EXTENSIONS 598c2ecf20Sopenharmony_ci bool 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_cimenu "Networking options" 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_cisource "net/packet/Kconfig" 648c2ecf20Sopenharmony_cisource "net/unix/Kconfig" 658c2ecf20Sopenharmony_cisource "net/tls/Kconfig" 668c2ecf20Sopenharmony_cisource "net/xfrm/Kconfig" 678c2ecf20Sopenharmony_cisource "net/iucv/Kconfig" 688c2ecf20Sopenharmony_cisource "net/smc/Kconfig" 698c2ecf20Sopenharmony_cisource "net/xdp/Kconfig" 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig INET 728c2ecf20Sopenharmony_ci bool "TCP/IP networking" 738c2ecf20Sopenharmony_ci help 748c2ecf20Sopenharmony_ci These are the protocols used on the Internet and on most local 758c2ecf20Sopenharmony_ci Ethernets. It is highly recommended to say Y here (this will enlarge 768c2ecf20Sopenharmony_ci your kernel by about 400 KB), since some programs (e.g. the X window 778c2ecf20Sopenharmony_ci system) use TCP/IP even if your machine is not connected to any 788c2ecf20Sopenharmony_ci other computer. You will get the so-called loopback device which 798c2ecf20Sopenharmony_ci allows you to ping yourself (great fun, that!). 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci For an excellent introduction to Linux networking, please read the 828c2ecf20Sopenharmony_ci Linux Networking HOWTO, available from 838c2ecf20Sopenharmony_ci <http://www.tldp.org/docs.html#howto>. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci If you say Y here and also to "/proc file system support" and 868c2ecf20Sopenharmony_ci "Sysctl support" below, you can change various aspects of the 878c2ecf20Sopenharmony_ci behavior of the TCP/IP code by writing to the (virtual) files in 888c2ecf20Sopenharmony_ci /proc/sys/net/ipv4/*; the options are explained in the file 898c2ecf20Sopenharmony_ci <file:Documentation/networking/ip-sysctl.rst>. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci Short answer: say Y. 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciif INET 948c2ecf20Sopenharmony_cisource "net/ipv4/Kconfig" 958c2ecf20Sopenharmony_cisource "net/ipv6/Kconfig" 968c2ecf20Sopenharmony_cisource "net/netlabel/Kconfig" 978c2ecf20Sopenharmony_cisource "net/mptcp/Kconfig" 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciendif # if INET 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciconfig NETWORK_SECMARK 1028c2ecf20Sopenharmony_ci bool "Security Marking" 1038c2ecf20Sopenharmony_ci help 1048c2ecf20Sopenharmony_ci This enables security marking of network packets, similar 1058c2ecf20Sopenharmony_ci to nfmark, but designated for security purposes. 1068c2ecf20Sopenharmony_ci If you are unsure how to answer this question, answer N. 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciconfig NET_PTP_CLASSIFY 1098c2ecf20Sopenharmony_ci def_bool n 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig NETWORK_PHY_TIMESTAMPING 1128c2ecf20Sopenharmony_ci bool "Timestamping in PHY devices" 1138c2ecf20Sopenharmony_ci select NET_PTP_CLASSIFY 1148c2ecf20Sopenharmony_ci help 1158c2ecf20Sopenharmony_ci This allows timestamping of network packets by PHYs (or 1168c2ecf20Sopenharmony_ci other MII bus snooping devices) with hardware timestamping 1178c2ecf20Sopenharmony_ci capabilities. This option adds some overhead in the transmit 1188c2ecf20Sopenharmony_ci and receive paths. 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci If you are unsure how to answer this question, answer N. 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_cimenuconfig NETFILTER 1238c2ecf20Sopenharmony_ci bool "Network packet filtering framework (Netfilter)" 1248c2ecf20Sopenharmony_ci help 1258c2ecf20Sopenharmony_ci Netfilter is a framework for filtering and mangling network packets 1268c2ecf20Sopenharmony_ci that pass through your Linux box. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci The most common use of packet filtering is to run your Linux box as 1298c2ecf20Sopenharmony_ci a firewall protecting a local network from the Internet. The type of 1308c2ecf20Sopenharmony_ci firewall provided by this kernel support is called a "packet 1318c2ecf20Sopenharmony_ci filter", which means that it can reject individual network packets 1328c2ecf20Sopenharmony_ci based on type, source, destination etc. The other kind of firewall, 1338c2ecf20Sopenharmony_ci a "proxy-based" one, is more secure but more intrusive and more 1348c2ecf20Sopenharmony_ci bothersome to set up; it inspects the network traffic much more 1358c2ecf20Sopenharmony_ci closely, modifies it and has knowledge about the higher level 1368c2ecf20Sopenharmony_ci protocols, which a packet filter lacks. Moreover, proxy-based 1378c2ecf20Sopenharmony_ci firewalls often require changes to the programs running on the local 1388c2ecf20Sopenharmony_ci clients. Proxy-based firewalls don't need support by the kernel, but 1398c2ecf20Sopenharmony_ci they are often combined with a packet filter, which only works if 1408c2ecf20Sopenharmony_ci you say Y here. 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci You should also say Y here if you intend to use your Linux box as 1438c2ecf20Sopenharmony_ci the gateway to the Internet for a local network of machines without 1448c2ecf20Sopenharmony_ci globally valid IP addresses. This is called "masquerading": if one 1458c2ecf20Sopenharmony_ci of the computers on your local network wants to send something to 1468c2ecf20Sopenharmony_ci the outside, your box can "masquerade" as that computer, i.e. it 1478c2ecf20Sopenharmony_ci forwards the traffic to the intended outside destination, but 1488c2ecf20Sopenharmony_ci modifies the packets to make it look like they came from the 1498c2ecf20Sopenharmony_ci firewall box itself. It works both ways: if the outside host 1508c2ecf20Sopenharmony_ci replies, the Linux box will silently forward the traffic to the 1518c2ecf20Sopenharmony_ci correct local computer. This way, the computers on your local net 1528c2ecf20Sopenharmony_ci are completely invisible to the outside world, even though they can 1538c2ecf20Sopenharmony_ci reach the outside and can receive replies. It is even possible to 1548c2ecf20Sopenharmony_ci run globally visible servers from within a masqueraded local network 1558c2ecf20Sopenharmony_ci using a mechanism called portforwarding. Masquerading is also often 1568c2ecf20Sopenharmony_ci called NAT (Network Address Translation). 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci Another use of Netfilter is in transparent proxying: if a machine on 1598c2ecf20Sopenharmony_ci the local network tries to connect to an outside host, your Linux 1608c2ecf20Sopenharmony_ci box can transparently forward the traffic to a local server, 1618c2ecf20Sopenharmony_ci typically a caching proxy server. 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci Yet another use of Netfilter is building a bridging firewall. Using 1648c2ecf20Sopenharmony_ci a bridge with Network packet filtering enabled makes iptables "see" 1658c2ecf20Sopenharmony_ci the bridged traffic. For filtering on the lower network and Ethernet 1668c2ecf20Sopenharmony_ci protocols over the bridge, use ebtables (under bridge netfilter 1678c2ecf20Sopenharmony_ci configuration). 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci Various modules exist for netfilter which replace the previous 1708c2ecf20Sopenharmony_ci masquerading (ipmasqadm), packet filtering (ipchains), transparent 1718c2ecf20Sopenharmony_ci proxying, and portforwarding mechanisms. Please see 1728c2ecf20Sopenharmony_ci <file:Documentation/Changes> under "iptables" for the location of 1738c2ecf20Sopenharmony_ci these packages. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ciif NETFILTER 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciconfig NETFILTER_ADVANCED 1788c2ecf20Sopenharmony_ci bool "Advanced netfilter configuration" 1798c2ecf20Sopenharmony_ci depends on NETFILTER 1808c2ecf20Sopenharmony_ci default y 1818c2ecf20Sopenharmony_ci help 1828c2ecf20Sopenharmony_ci If you say Y here you can select between all the netfilter modules. 1838c2ecf20Sopenharmony_ci If you say N the more unusual ones will not be shown and the 1848c2ecf20Sopenharmony_ci basic ones needed by most people will default to 'M'. 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci If unsure, say Y. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciconfig BRIDGE_NETFILTER 1898c2ecf20Sopenharmony_ci tristate "Bridged IP/ARP packets filtering" 1908c2ecf20Sopenharmony_ci depends on BRIDGE 1918c2ecf20Sopenharmony_ci depends on NETFILTER && INET 1928c2ecf20Sopenharmony_ci depends on NETFILTER_ADVANCED 1938c2ecf20Sopenharmony_ci select NETFILTER_FAMILY_BRIDGE 1948c2ecf20Sopenharmony_ci select SKB_EXTENSIONS 1958c2ecf20Sopenharmony_ci help 1968c2ecf20Sopenharmony_ci Enabling this option will let arptables resp. iptables see bridged 1978c2ecf20Sopenharmony_ci ARP resp. IP traffic. If you want a bridging firewall, you probably 1988c2ecf20Sopenharmony_ci want this option enabled. 1998c2ecf20Sopenharmony_ci Enabling or disabling this option doesn't enable or disable 2008c2ecf20Sopenharmony_ci ebtables. 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci If unsure, say N. 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_cisource "net/netfilter/Kconfig" 2058c2ecf20Sopenharmony_cisource "net/ipv4/netfilter/Kconfig" 2068c2ecf20Sopenharmony_cisource "net/ipv6/netfilter/Kconfig" 2078c2ecf20Sopenharmony_cisource "net/bridge/netfilter/Kconfig" 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ciendif 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_cisource "net/bpfilter/Kconfig" 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_cisource "net/dccp/Kconfig" 2148c2ecf20Sopenharmony_cisource "net/sctp/Kconfig" 2158c2ecf20Sopenharmony_cisource "net/rds/Kconfig" 2168c2ecf20Sopenharmony_cisource "net/tipc/Kconfig" 2178c2ecf20Sopenharmony_cisource "net/atm/Kconfig" 2188c2ecf20Sopenharmony_cisource "net/l2tp/Kconfig" 2198c2ecf20Sopenharmony_cisource "net/802/Kconfig" 2208c2ecf20Sopenharmony_cisource "net/bridge/Kconfig" 2218c2ecf20Sopenharmony_cisource "net/dsa/Kconfig" 2228c2ecf20Sopenharmony_cisource "net/8021q/Kconfig" 2238c2ecf20Sopenharmony_cisource "net/llc/Kconfig" 2248c2ecf20Sopenharmony_cisource "drivers/net/appletalk/Kconfig" 2258c2ecf20Sopenharmony_cisource "net/x25/Kconfig" 2268c2ecf20Sopenharmony_cisource "net/lapb/Kconfig" 2278c2ecf20Sopenharmony_cisource "net/phonet/Kconfig" 2288c2ecf20Sopenharmony_cisource "net/6lowpan/Kconfig" 2298c2ecf20Sopenharmony_cisource "net/ieee802154/Kconfig" 2308c2ecf20Sopenharmony_cisource "net/mac802154/Kconfig" 2318c2ecf20Sopenharmony_cisource "net/sched/Kconfig" 2328c2ecf20Sopenharmony_cisource "net/dcb/Kconfig" 2338c2ecf20Sopenharmony_cisource "net/dns_resolver/Kconfig" 2348c2ecf20Sopenharmony_cisource "net/batman-adv/Kconfig" 2358c2ecf20Sopenharmony_cisource "net/openvswitch/Kconfig" 2368c2ecf20Sopenharmony_cisource "net/vmw_vsock/Kconfig" 2378c2ecf20Sopenharmony_cisource "net/netlink/Kconfig" 2388c2ecf20Sopenharmony_cisource "net/mpls/Kconfig" 2398c2ecf20Sopenharmony_cisource "net/nsh/Kconfig" 2408c2ecf20Sopenharmony_cisource "net/hsr/Kconfig" 2418c2ecf20Sopenharmony_cisource "net/switchdev/Kconfig" 2428c2ecf20Sopenharmony_cisource "net/l3mdev/Kconfig" 2438c2ecf20Sopenharmony_cisource "net/qrtr/Kconfig" 2448c2ecf20Sopenharmony_cisource "net/ncsi/Kconfig" 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ciconfig RPS 2478c2ecf20Sopenharmony_ci bool 2488c2ecf20Sopenharmony_ci depends on SMP && SYSFS 2498c2ecf20Sopenharmony_ci default y 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ciconfig RFS_ACCEL 2528c2ecf20Sopenharmony_ci bool 2538c2ecf20Sopenharmony_ci depends on RPS 2548c2ecf20Sopenharmony_ci select CPU_RMAP 2558c2ecf20Sopenharmony_ci default y 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ciconfig XPS 2588c2ecf20Sopenharmony_ci bool 2598c2ecf20Sopenharmony_ci depends on SMP 2608c2ecf20Sopenharmony_ci default y 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ciconfig HWBM 2638c2ecf20Sopenharmony_ci bool 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ciconfig CGROUP_NET_PRIO 2668c2ecf20Sopenharmony_ci bool "Network priority cgroup" 2678c2ecf20Sopenharmony_ci depends on CGROUPS 2688c2ecf20Sopenharmony_ci select SOCK_CGROUP_DATA 2698c2ecf20Sopenharmony_ci help 2708c2ecf20Sopenharmony_ci Cgroup subsystem for use in assigning processes to network priorities on 2718c2ecf20Sopenharmony_ci a per-interface basis. 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ciconfig CGROUP_NET_CLASSID 2748c2ecf20Sopenharmony_ci bool "Network classid cgroup" 2758c2ecf20Sopenharmony_ci depends on CGROUPS 2768c2ecf20Sopenharmony_ci select SOCK_CGROUP_DATA 2778c2ecf20Sopenharmony_ci help 2788c2ecf20Sopenharmony_ci Cgroup subsystem for use as general purpose socket classid marker that is 2798c2ecf20Sopenharmony_ci being used in cls_cgroup and for netfilter matching. 2808c2ecf20Sopenharmony_ci 2818c2ecf20Sopenharmony_ciconfig NET_RX_BUSY_POLL 2828c2ecf20Sopenharmony_ci bool 2838c2ecf20Sopenharmony_ci default y 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ciconfig BQL 2868c2ecf20Sopenharmony_ci bool 2878c2ecf20Sopenharmony_ci depends on SYSFS 2888c2ecf20Sopenharmony_ci select DQL 2898c2ecf20Sopenharmony_ci default y 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ciconfig BPF_JIT 2928c2ecf20Sopenharmony_ci bool "enable BPF Just In Time compiler" 2938c2ecf20Sopenharmony_ci depends on HAVE_CBPF_JIT || HAVE_EBPF_JIT 2948c2ecf20Sopenharmony_ci depends on MODULES 2958c2ecf20Sopenharmony_ci help 2968c2ecf20Sopenharmony_ci Berkeley Packet Filter filtering capabilities are normally handled 2978c2ecf20Sopenharmony_ci by an interpreter. This option allows kernel to generate a native 2988c2ecf20Sopenharmony_ci code when filter is loaded in memory. This should speedup 2998c2ecf20Sopenharmony_ci packet sniffing (libpcap/tcpdump). 3008c2ecf20Sopenharmony_ci 3018c2ecf20Sopenharmony_ci Note, admin should enable this feature changing: 3028c2ecf20Sopenharmony_ci /proc/sys/net/core/bpf_jit_enable 3038c2ecf20Sopenharmony_ci /proc/sys/net/core/bpf_jit_harden (optional) 3048c2ecf20Sopenharmony_ci /proc/sys/net/core/bpf_jit_kallsyms (optional) 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ciconfig BPF_STREAM_PARSER 3078c2ecf20Sopenharmony_ci bool "enable BPF STREAM_PARSER" 3088c2ecf20Sopenharmony_ci depends on INET 3098c2ecf20Sopenharmony_ci depends on BPF_SYSCALL 3108c2ecf20Sopenharmony_ci depends on CGROUP_BPF 3118c2ecf20Sopenharmony_ci select STREAM_PARSER 3128c2ecf20Sopenharmony_ci select NET_SOCK_MSG 3138c2ecf20Sopenharmony_ci help 3148c2ecf20Sopenharmony_ci Enabling this allows a stream parser to be used with 3158c2ecf20Sopenharmony_ci BPF_MAP_TYPE_SOCKMAP. 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_ci BPF_MAP_TYPE_SOCKMAP provides a map type to use with network sockets. 3188c2ecf20Sopenharmony_ci It can be used to enforce socket policy, implement socket redirects, 3198c2ecf20Sopenharmony_ci etc. 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ciconfig NET_FLOW_LIMIT 3228c2ecf20Sopenharmony_ci bool 3238c2ecf20Sopenharmony_ci depends on RPS 3248c2ecf20Sopenharmony_ci default y 3258c2ecf20Sopenharmony_ci help 3268c2ecf20Sopenharmony_ci The network stack has to drop packets when a receive processing CPU's 3278c2ecf20Sopenharmony_ci backlog reaches netdev_max_backlog. If a few out of many active flows 3288c2ecf20Sopenharmony_ci generate the vast majority of load, drop their traffic earlier to 3298c2ecf20Sopenharmony_ci maintain capacity for the other flows. This feature provides servers 3308c2ecf20Sopenharmony_ci with many clients some protection against DoS by a single (spoofed) 3318c2ecf20Sopenharmony_ci flow that greatly exceeds average workload. 3328c2ecf20Sopenharmony_ci 3338c2ecf20Sopenharmony_cimenu "Network testing" 3348c2ecf20Sopenharmony_ci 3358c2ecf20Sopenharmony_ciconfig NET_PKTGEN 3368c2ecf20Sopenharmony_ci tristate "Packet Generator (USE WITH CAUTION)" 3378c2ecf20Sopenharmony_ci depends on INET && PROC_FS 3388c2ecf20Sopenharmony_ci help 3398c2ecf20Sopenharmony_ci This module will inject preconfigured packets, at a configurable 3408c2ecf20Sopenharmony_ci rate, out of a given interface. It is used for network interface 3418c2ecf20Sopenharmony_ci stress testing and performance analysis. If you don't understand 3428c2ecf20Sopenharmony_ci what was just said, you don't need it: say N. 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ci Documentation on how to use the packet generator can be found 3458c2ecf20Sopenharmony_ci at <file:Documentation/networking/pktgen.rst>. 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_ci To compile this code as a module, choose M here: the 3488c2ecf20Sopenharmony_ci module will be called pktgen. 3498c2ecf20Sopenharmony_ci 3508c2ecf20Sopenharmony_ciconfig NET_DROP_MONITOR 3518c2ecf20Sopenharmony_ci tristate "Network packet drop alerting service" 3528c2ecf20Sopenharmony_ci depends on INET && TRACEPOINTS 3538c2ecf20Sopenharmony_ci help 3548c2ecf20Sopenharmony_ci This feature provides an alerting service to userspace in the 3558c2ecf20Sopenharmony_ci event that packets are discarded in the network stack. Alerts 3568c2ecf20Sopenharmony_ci are broadcast via netlink socket to any listening user space 3578c2ecf20Sopenharmony_ci process. If you don't need network drop alerts, or if you are ok 3588c2ecf20Sopenharmony_ci just checking the various proc files and other utilities for 3598c2ecf20Sopenharmony_ci drop statistics, say N here. 3608c2ecf20Sopenharmony_ci 3618c2ecf20Sopenharmony_ciendmenu 3628c2ecf20Sopenharmony_ci 3638c2ecf20Sopenharmony_ciendmenu 3648c2ecf20Sopenharmony_ci 3658c2ecf20Sopenharmony_cisource "net/ax25/Kconfig" 3668c2ecf20Sopenharmony_cisource "net/can/Kconfig" 3678c2ecf20Sopenharmony_cisource "net/bluetooth/Kconfig" 3688c2ecf20Sopenharmony_cisource "net/rxrpc/Kconfig" 3698c2ecf20Sopenharmony_cisource "net/kcm/Kconfig" 3708c2ecf20Sopenharmony_cisource "net/strparser/Kconfig" 3718c2ecf20Sopenharmony_ci 3728c2ecf20Sopenharmony_ciconfig FIB_RULES 3738c2ecf20Sopenharmony_ci bool 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_cimenuconfig WIRELESS 3768c2ecf20Sopenharmony_ci bool "Wireless" 3778c2ecf20Sopenharmony_ci depends on !S390 3788c2ecf20Sopenharmony_ci default y 3798c2ecf20Sopenharmony_ci 3808c2ecf20Sopenharmony_ciif WIRELESS 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_cisource "net/wireless/Kconfig" 3838c2ecf20Sopenharmony_cisource "net/mac80211/Kconfig" 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ciendif # WIRELESS 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_cisource "net/wimax/Kconfig" 3888c2ecf20Sopenharmony_ci 3898c2ecf20Sopenharmony_cisource "net/rfkill/Kconfig" 3908c2ecf20Sopenharmony_cisource "net/9p/Kconfig" 3918c2ecf20Sopenharmony_cisource "net/caif/Kconfig" 3928c2ecf20Sopenharmony_cisource "net/ceph/Kconfig" 3938c2ecf20Sopenharmony_cisource "net/nfc/Kconfig" 3948c2ecf20Sopenharmony_cisource "net/psample/Kconfig" 3958c2ecf20Sopenharmony_cisource "net/ife/Kconfig" 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ciconfig LWTUNNEL 3988c2ecf20Sopenharmony_ci bool "Network light weight tunnels" 3998c2ecf20Sopenharmony_ci help 4008c2ecf20Sopenharmony_ci This feature provides an infrastructure to support light weight 4018c2ecf20Sopenharmony_ci tunnels like mpls. There is no netdevice associated with a light 4028c2ecf20Sopenharmony_ci weight tunnel endpoint. Tunnel encapsulation parameters are stored 4038c2ecf20Sopenharmony_ci with light weight tunnel state associated with fib routes. 4048c2ecf20Sopenharmony_ci 4058c2ecf20Sopenharmony_ciconfig LWTUNNEL_BPF 4068c2ecf20Sopenharmony_ci bool "Execute BPF program as route nexthop action" 4078c2ecf20Sopenharmony_ci depends on LWTUNNEL && INET 4088c2ecf20Sopenharmony_ci default y if LWTUNNEL=y 4098c2ecf20Sopenharmony_ci help 4108c2ecf20Sopenharmony_ci Allows to run BPF programs as a nexthop action following a route 4118c2ecf20Sopenharmony_ci lookup for incoming and outgoing packets. 4128c2ecf20Sopenharmony_ci 4138c2ecf20Sopenharmony_ciconfig DST_CACHE 4148c2ecf20Sopenharmony_ci bool 4158c2ecf20Sopenharmony_ci default n 4168c2ecf20Sopenharmony_ci 4178c2ecf20Sopenharmony_ciconfig GRO_CELLS 4188c2ecf20Sopenharmony_ci bool 4198c2ecf20Sopenharmony_ci default n 4208c2ecf20Sopenharmony_ci 4218c2ecf20Sopenharmony_ciconfig SOCK_VALIDATE_XMIT 4228c2ecf20Sopenharmony_ci bool 4238c2ecf20Sopenharmony_ci 4248c2ecf20Sopenharmony_ciconfig NET_SOCK_MSG 4258c2ecf20Sopenharmony_ci bool 4268c2ecf20Sopenharmony_ci default n 4278c2ecf20Sopenharmony_ci help 4288c2ecf20Sopenharmony_ci The NET_SOCK_MSG provides a framework for plain sockets (e.g. TCP) or 4298c2ecf20Sopenharmony_ci ULPs (upper layer modules, e.g. TLS) to process L7 application data 4308c2ecf20Sopenharmony_ci with the help of BPF programs. 4318c2ecf20Sopenharmony_ci 4328c2ecf20Sopenharmony_ciconfig NET_DEVLINK 4338c2ecf20Sopenharmony_ci bool 4348c2ecf20Sopenharmony_ci default n 4358c2ecf20Sopenharmony_ci 4368c2ecf20Sopenharmony_ciconfig PAGE_POOL 4378c2ecf20Sopenharmony_ci bool 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_ciconfig FAILOVER 4408c2ecf20Sopenharmony_ci tristate "Generic failover module" 4418c2ecf20Sopenharmony_ci help 4428c2ecf20Sopenharmony_ci The failover module provides a generic interface for paravirtual 4438c2ecf20Sopenharmony_ci drivers to register a netdev and a set of ops with a failover 4448c2ecf20Sopenharmony_ci instance. The ops are used as event handlers that get called to 4458c2ecf20Sopenharmony_ci handle netdev register/unregister/link change/name change events 4468c2ecf20Sopenharmony_ci on slave pci ethernet devices with the same mac address as the 4478c2ecf20Sopenharmony_ci failover netdev. This enables paravirtual drivers to use a 4488c2ecf20Sopenharmony_ci VF as an accelerated low latency datapath. It also allows live 4498c2ecf20Sopenharmony_ci migration of VMs with direct attached VFs by failing over to the 4508c2ecf20Sopenharmony_ci paravirtual datapath when the VF is unplugged. 4518c2ecf20Sopenharmony_ci 4528c2ecf20Sopenharmony_ciconfig ETHTOOL_NETLINK 4538c2ecf20Sopenharmony_ci bool "Netlink interface for ethtool" 4548c2ecf20Sopenharmony_ci default y 4558c2ecf20Sopenharmony_ci help 4568c2ecf20Sopenharmony_ci An alternative userspace interface for ethtool based on generic 4578c2ecf20Sopenharmony_ci netlink. It provides better extensibility and some new features, 4588c2ecf20Sopenharmony_ci e.g. notification messages. 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_cisource "net/newip/Kconfig" 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_ciconfig TCP_NATA_URC 4638c2ecf20Sopenharmony_ci bool "Nata Ultra-Reliable Connection Feature" 4648c2ecf20Sopenharmony_ci default n 4658c2ecf20Sopenharmony_ci help 4668c2ecf20Sopenharmony_ci This option enables the Nata Ultra-Reliable Connection feature. 4678c2ecf20Sopenharmony_ci When enabled, the kernel will include support for CONFIG_TCP_NATA_URC. 4688c2ecf20Sopenharmony_ci 4698c2ecf20Sopenharmony_ciconfig TCP_NATA_STL 4708c2ecf20Sopenharmony_ci bool "Nata Satellite Connection Feature" 4718c2ecf20Sopenharmony_ci default n 4728c2ecf20Sopenharmony_ci help 4738c2ecf20Sopenharmony_ci This option enables the Nata Satellite Connection feature. 4748c2ecf20Sopenharmony_ci When enabled, the kernel will include support for CONFIG_TCP_NATA_STL. 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_ciconfig LOWPOWER_PROTOCOL 4778c2ecf20Sopenharmony_ci bool "lowpower protocol" 4788c2ecf20Sopenharmony_ci default n 4798c2ecf20Sopenharmony_ci help 4808c2ecf20Sopenharmony_ci This option enables the lowpower protocol feature. 4818c2ecf20Sopenharmony_ci When enabled, the kernel will include support for CONFIG_LOWPOWER_PROTOCOL. 4828c2ecf20Sopenharmony_ci 4838c2ecf20Sopenharmony_ciconfig TCP_SOCK_DESTROY 4848c2ecf20Sopenharmony_ci bool "TCP socket destroy feature" 4858c2ecf20Sopenharmony_ci default n 4868c2ecf20Sopenharmony_ci help 4878c2ecf20Sopenharmony_ci This option enables the tcp sock destroy feature. 4888c2ecf20Sopenharmony_ci When enabled, the kernel will include support for CONFIG_TCP_SOCK_DESTROY. 4898c2ecf20Sopenharmony_ci 4908c2ecf20Sopenharmony_ciendif # if NET 4918c2ecf20Sopenharmony_ci 4928c2ecf20Sopenharmony_ci# Used by archs to tell that they support BPF JIT compiler plus which flavour. 4938c2ecf20Sopenharmony_ci# Only one of the two can be selected for a specific arch since eBPF JIT supersedes 4948c2ecf20Sopenharmony_ci# the cBPF JIT. 4958c2ecf20Sopenharmony_ci 4968c2ecf20Sopenharmony_ci# Classic BPF JIT (cBPF) 4978c2ecf20Sopenharmony_ciconfig HAVE_CBPF_JIT 4988c2ecf20Sopenharmony_ci bool 4998c2ecf20Sopenharmony_ci 5008c2ecf20Sopenharmony_ci# Extended BPF JIT (eBPF) 5018c2ecf20Sopenharmony_ciconfig HAVE_EBPF_JIT 5028c2ecf20Sopenharmony_ci bool 503