768 lines · 26.7 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0-only## IP configuration#config IP_MULTICAST	bool "IP: multicasting"	help	  This is code for addressing several networked computers at once,	  enlarging your kernel by about 2 KB. You need multicasting if you	  intend to participate in the MBONE, a high bandwidth network on top	  of the Internet which carries audio and video broadcasts. More	  information about the MBONE is on the WWW at	  <https://www.savetz.com/mbone/>. For most people, it's safe to say N. config IP_ADVANCED_ROUTER	bool "IP: advanced router"	help	  If you intend to run your Linux box mostly as a router, i.e. as a	  computer that forwards and redistributes network packets, say Y; you	  will then be presented with several options that allow more precise	  control about the routing process. 	  The answer to this question won't directly affect the kernel:	  answering N will just cause the configurator to skip all the	  questions about advanced routing. 	  Note that your box can only act as a router if you enable IP	  forwarding in your kernel; you can do that by saying Y to "/proc	  file system support" and "Sysctl support" below and executing the	  line 	  echo "1" > /proc/sys/net/ipv4/ip_forward 	  at boot time after the /proc file system has been mounted. 	  If you turn on IP forwarding, you should consider the rp_filter, which	  automatically rejects incoming packets if the routing table entry	  for their source address doesn't match the network interface they're	  arriving on. This has security advantages because it prevents the	  so-called IP spoofing, however it can pose problems if you use	  asymmetric routing (packets from you to a host take a different path	  than packets from that host to you) or if you operate a non-routing	  host which has several IP addresses on different interfaces. To turn	  rp_filter on use: 	  echo 1 > /proc/sys/net/ipv4/conf/<device>/rp_filter	   or	  echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter 	  Note that some distributions enable it in startup scripts.	  For details about rp_filter strict and loose mode read	  <file:Documentation/networking/ip-sysctl.rst>. 	  If unsure, say N here. config IP_FIB_TRIE_STATS	bool "FIB TRIE statistics"	depends on IP_ADVANCED_ROUTER	help	  Keep track of statistics on structure of FIB TRIE table.	  Useful for testing and measuring TRIE performance. config IP_MULTIPLE_TABLES	bool "IP: policy routing"	depends on IP_ADVANCED_ROUTER	select FIB_RULES	help	  Normally, a router decides what to do with a received packet based	  solely on the packet's final destination address. If you say Y here,	  the Linux router will also be able to take the packet's source	  address into account. Furthermore, the TOS (Type-Of-Service) field	  of the packet can be used for routing decisions as well. 	  If you need more information, see the Linux Advanced	  Routing and Traffic Control documentation at	  <https://lartc.org/howto/lartc.rpdb.html> 	  If unsure, say N. config IP_ROUTE_MULTIPATH	bool "IP: equal cost multipath"	depends on IP_ADVANCED_ROUTER	help	  Normally, the routing tables specify a single action to be taken in	  a deterministic manner for a given packet. If you say Y here	  however, it becomes possible to attach several actions to a packet	  pattern, in effect specifying several alternative paths to travel	  for those packets. The router considers all these paths to be of	  equal "cost" and chooses one of them in a non-deterministic fashion	  if a matching packet arrives. config IP_ROUTE_VERBOSE	bool "IP: verbose route monitoring"	depends on IP_ADVANCED_ROUTER	help	  If you say Y here, which is recommended, then the kernel will print	  verbose messages regarding the routing, for example warnings about	  received packets which look strange and could be evidence of an	  attack or a misconfigured system somewhere. The information is	  handled by the klogd daemon which is responsible for kernel messages	  ("man klogd"). config IP_ROUTE_CLASSID	bool config IP_PNP	bool "IP: kernel level autoconfiguration"	help	  This enables automatic configuration of IP addresses of devices and	  of the routing table during kernel boot, based on either information	  supplied on the kernel command line or by BOOTP or RARP protocols.	  You need to say Y only for diskless machines requiring network	  access to boot (in which case you want to say Y to "Root file system	  on NFS" as well), because all other machines configure the network	  in their startup scripts. config IP_PNP_DHCP	bool "IP: DHCP support"	depends on IP_PNP	help	  If you want your Linux box to mount its whole root file system (the	  one containing the directory /) from some other computer over the	  net via NFS and you want the IP address of your computer to be	  discovered automatically at boot time using the DHCP protocol (a	  special protocol designed for doing this job), say Y here. In case	  the boot ROM of your network card was designed for booting Linux and	  does DHCP itself, providing all necessary information on the kernel	  command line, you can say N here. 	  If unsure, say Y. Note that if you want to use DHCP, a DHCP server	  must be operating on your network.  Read	  <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. config IP_PNP_BOOTP	bool "IP: BOOTP support"	depends on IP_PNP	help	  If you want your Linux box to mount its whole root file system (the	  one containing the directory /) from some other computer over the	  net via NFS and you want the IP address of your computer to be	  discovered automatically at boot time using the BOOTP protocol (a	  special protocol designed for doing this job), say Y here. In case	  the boot ROM of your network card was designed for booting Linux and	  does BOOTP itself, providing all necessary information on the kernel	  command line, you can say N here. If unsure, say Y. Note that if you	  want to use BOOTP, a BOOTP server must be operating on your network.	  Read <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. config IP_PNP_RARP	bool "IP: RARP support"	depends on IP_PNP	help	  If you want your Linux box to mount its whole root file system (the	  one containing the directory /) from some other computer over the	  net via NFS and you want the IP address of your computer to be	  discovered automatically at boot time using the RARP protocol (an	  older protocol which is being obsoleted by BOOTP and DHCP), say Y	  here. Note that if you want to use RARP, a RARP server must be	  operating on your network. Read	  <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. config NET_IPIP	tristate "IP: tunneling"	select INET_TUNNEL	select NET_IP_TUNNEL	help	  Tunneling means encapsulating data of one protocol type within	  another protocol and sending it over a channel that understands the	  encapsulating protocol. This particular tunneling driver implements	  encapsulation of IP within IP, which sounds kind of pointless, but	  can be useful if you want to make your (or some other) machine	  appear on a different network than it physically is, or to use	  mobile-IP facilities (allowing laptops to seamlessly move between	  networks without changing their IP addresses). 	  Saying Y to this option will produce two modules ( = code which can	  be inserted in and removed from the running kernel whenever you	  want). Most people won't need this and can say N. config NET_IPGRE_DEMUX	tristate "IP: GRE demultiplexer"	help	  This is helper module to demultiplex GRE packets on GRE version field criteria.	  Required by ip_gre and pptp modules. config NET_IP_TUNNEL	tristate	select DST_CACHE	select GRO_CELLS	default n config NET_IPGRE	tristate "IP: GRE tunnels over IP"	depends on NET_IPGRE_DEMUX	select NET_IP_TUNNEL	help	  Tunneling means encapsulating data of one protocol type within	  another protocol and sending it over a channel that understands the	  encapsulating protocol. This particular tunneling driver implements	  GRE (Generic Routing Encapsulation) and at this time allows	  encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure.	  This driver is useful if the other endpoint is a Cisco router: Cisco	  likes GRE much better than the other Linux tunneling driver ("IP	  tunneling" above). In addition, GRE allows multicast redistribution	  through the tunnel. config NET_IPGRE_BROADCAST	bool "IP: broadcast GRE over IP"	depends on IP_MULTICAST && NET_IPGRE	help	  One application of GRE/IP is to construct a broadcast WAN (Wide Area	  Network), which looks like a normal Ethernet LAN (Local Area	  Network), but can be distributed all over the Internet. If you want	  to do that, say Y here and to "IP multicast routing" below. config IP_MROUTE_COMMON	bool	depends on IP_MROUTE || IPV6_MROUTE config IP_MROUTE	bool "IP: multicast routing"	depends on IP_MULTICAST	select IP_MROUTE_COMMON	help	  This is used if you want your machine to act as a router for IP	  packets that have several destination addresses. It is needed on the	  MBONE, a high bandwidth network on top of the Internet which carries	  audio and video broadcasts. In order to do that, you would most	  likely run the program mrouted. If you haven't heard about it, you	  don't need it. config IP_MROUTE_MULTIPLE_TABLES	bool "IP: multicast policy routing"	depends on IP_MROUTE && IP_ADVANCED_ROUTER	select FIB_RULES	help	  Normally, a multicast router runs a userspace daemon and decides	  what to do with a multicast packet based on the source and	  destination addresses. If you say Y here, the multicast router	  will also be able to take interfaces and packet marks into	  account and run multiple instances of userspace daemons	  simultaneously, each one handling a single table. 	  If unsure, say N. config IP_PIMSM_V1	bool "IP: PIM-SM version 1 support"	depends on IP_MROUTE	help	  Kernel side support for Sparse Mode PIM (Protocol Independent	  Multicast) version 1. This multicast routing protocol is used widely	  because Cisco supports it. You need special software to use it	  (pimd-v1). Please see <http://netweb.usc.edu/pim/> for more	  information about PIM. 	  Say Y if you want to use PIM-SM v1. Note that you can say N here if	  you just want to use Dense Mode PIM. config IP_PIMSM_V2	bool "IP: PIM-SM version 2 support"	depends on IP_MROUTE	help	  Kernel side support for Sparse Mode PIM version 2. In order to use	  this, you need an experimental routing daemon supporting it (pimd or	  gated-5). This routing protocol is not used widely, so say N unless	  you want to play with it. config SYN_COOKIES	bool "IP: TCP syncookie support"	help	  Normal TCP/IP networking is open to an attack known as "SYN	  flooding". This denial-of-service attack prevents legitimate remote	  users from being able to connect to your computer during an ongoing	  attack and requires very little work from the attacker, who can	  operate from anywhere on the Internet. 	  SYN cookies provide protection against this type of attack. If you	  say Y here, the TCP/IP stack will use a cryptographic challenge	  protocol known as "SYN cookies" to enable legitimate users to	  continue to connect, even when your machine is under attack. There	  is no need for the legitimate users to change their TCP/IP software;	  SYN cookies work transparently to them. For technical information	  about SYN cookies, check out <https://cr.yp.to/syncookies.html>. 	  If you are SYN flooded, the source address reported by the kernel is	  likely to have been forged by the attacker; it is only reported as	  an aid in tracing the packets to their actual source and should not	  be taken as absolute truth. 	  SYN cookies may prevent correct error reporting on clients when the	  server is really overloaded. If this happens frequently better turn	  them off. 	  If you say Y here, you can disable SYN cookies at run time by	  saying Y to "/proc file system support" and	  "Sysctl support" below and executing the command 	  echo 0 > /proc/sys/net/ipv4/tcp_syncookies 	  after the /proc file system has been mounted. 	  If unsure, say N. config NET_IPVTI	tristate "Virtual (secure) IP: tunneling"	select INET_TUNNEL	select NET_IP_TUNNEL	select XFRM	help	  Tunneling means encapsulating data of one protocol type within	  another protocol and sending it over a channel that understands the	  encapsulating protocol. This can be used with xfrm mode tunnel to give	  the notion of a secure tunnel for IPSEC and then use routing protocol	  on top. config NET_UDP_TUNNEL	tristate	select NET_IP_TUNNEL	default n config NET_FOU	tristate "IP: Foo (IP protocols) over UDP"	select NET_UDP_TUNNEL	help	  Foo over UDP allows any IP protocol to be directly encapsulated	  over UDP include tunnels (IPIP, GRE, SIT). By encapsulating in UDP	  network mechanisms and optimizations for UDP (such as ECMP	  and RSS) can be leveraged to provide better service. config NET_FOU_IP_TUNNELS	bool "IP: FOU encapsulation of IP tunnels"	depends on NET_IPIP || NET_IPGRE || IPV6_SIT	select NET_FOU	help	  Allow configuration of FOU or GUE encapsulation for IP tunnels.	  When this option is enabled IP tunnels can be configured to use	  FOU or GUE encapsulation. config INET_AH	tristate "IP: AH transformation"	select XFRM_AH	help	  Support for IPsec AH (Authentication Header). 	  AH can be used with various authentication algorithms.  Besides	  enabling AH support itself, this option enables the generic	  implementations of the algorithms that RFC 8221 lists as MUST be	  implemented.  If you need any other algorithms, you'll need to enable	  them in the crypto API.  You should also enable accelerated	  implementations of any needed algorithms when available. 	  If unsure, say Y. config INET_ESP	tristate "IP: ESP transformation"	select XFRM_ESP	help	  Support for IPsec ESP (Encapsulating Security Payload). 	  ESP can be used with various encryption and authentication algorithms.	  Besides enabling ESP support itself, this option enables the generic	  implementations of the algorithms that RFC 8221 lists as MUST be	  implemented.  If you need any other algorithms, you'll need to enable	  them in the crypto API.  You should also enable accelerated	  implementations of any needed algorithms when available. 	  If unsure, say Y. config INET_ESP_OFFLOAD	tristate "IP: ESP transformation offload"	depends on INET_ESP	select XFRM_OFFLOAD	default n	help	  Support for ESP transformation offload. This makes sense	  only if this system really does IPsec and want to do it	  with high throughput. A typical desktop system does not	  need it, even if it does IPsec. 	  If unsure, say N. config INET_ESPINTCP	bool "IP: ESP in TCP encapsulation (RFC 8229)"	depends on XFRM && INET_ESP	select STREAM_PARSER	select NET_SOCK_MSG	select XFRM_ESPINTCP	help	  Support for RFC 8229 encapsulation of ESP and IKE over	  TCP/IPv4 sockets. 	  If unsure, say N. config INET_IPCOMP	tristate "IP: IPComp transformation"	select INET_XFRM_TUNNEL	select XFRM_IPCOMP	help	  Support for IP Payload Compression Protocol (IPComp) (RFC3173),	  typically needed for IPsec. 	  If unsure, say Y. config INET_TABLE_PERTURB_ORDER	int "INET: Source port perturbation table size (as power of 2)" if EXPERT	default 16	help	  Source port perturbation table size (as power of 2) for	  RFC 6056 3.3.4.  Algorithm 4: Double-Hash Port Selection Algorithm. 	  The default is almost always what you want.	  Only change this if you know what you are doing. config INET_XFRM_TUNNEL	tristate	select INET_TUNNEL	default n config INET_TUNNEL	tristate	default n config INET_DIAG	tristate "INET: socket monitoring interface"	default y	help	  Support for INET (TCP, UDP, etc) socket monitoring interface used by	  native Linux tools such as ss. ss is included in iproute2, currently	  downloadable at: 	    http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 	  If unsure, say Y. config INET_TCP_DIAG	depends on INET_DIAG	def_tristate INET_DIAG config INET_UDP_DIAG	tristate "UDP: socket monitoring interface"	depends on INET_DIAG	default n	help	  Support for UDP socket monitoring interface used by the ss tool.	  If unsure, say Y. config INET_RAW_DIAG	tristate "RAW: socket monitoring interface"	depends on INET_DIAG	default n	help	  Support for RAW socket monitoring interface used by the ss tool.	  If unsure, say Y. config INET_DIAG_DESTROY	bool "INET: allow privileged process to administratively close sockets"	depends on INET_DIAG	default n	help	  Provides a SOCK_DESTROY operation that allows privileged processes	  (e.g., a connection manager or a network administration tool such as	  ss) to close sockets opened by other processes. Closing a socket in	  this way interrupts any blocking read/write/connect operations on	  the socket and causes future socket calls to behave as if the socket	  had been disconnected.	  If unsure, say N. menuconfig TCP_CONG_ADVANCED	bool "TCP: advanced congestion control"	help	  Support for selection of various TCP congestion control	  modules. 	  Nearly all users can safely say no here, and a safe default	  selection will be made (CUBIC with new Reno as a fallback). 	  If unsure, say N. if TCP_CONG_ADVANCED config TCP_CONG_BIC	tristate "Binary Increase Congestion (BIC) control"	default m	help	  BIC-TCP is a sender-side only change that ensures a linear RTT	  fairness under large windows while offering both scalability and	  bounded TCP-friendliness. The protocol combines two schemes	  called additive increase and binary search increase. When the	  congestion window is large, additive increase with a large	  increment ensures linear RTT fairness as well as good	  scalability. Under small congestion windows, binary search	  increase provides TCP friendliness.	  See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ config TCP_CONG_CUBIC	tristate "CUBIC TCP"	default y	help	  This is version 2.0 of BIC-TCP which uses a cubic growth function	  among other techniques.

Lines 1–500 of 768.