xref: /linux/Documentation/admin-guide/sysctl/net.rst (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
153b95375SMauro Carvalho Chehab================================
253b95375SMauro Carvalho ChehabDocumentation for /proc/sys/net/
353b95375SMauro Carvalho Chehab================================
4760df93eSShen Feng
553b95375SMauro Carvalho ChehabCopyright
6760df93eSShen Feng
753b95375SMauro Carvalho ChehabCopyright (c) 1999
853b95375SMauro Carvalho Chehab
953b95375SMauro Carvalho Chehab	- Terrehon Bowden <terrehon@pacbell.net>
1053b95375SMauro Carvalho Chehab	- Bodo Bauer <bb@ricochet.net>
1153b95375SMauro Carvalho Chehab
1253b95375SMauro Carvalho ChehabCopyright (c) 2000
1353b95375SMauro Carvalho Chehab
1453b95375SMauro Carvalho Chehab	- Jorge Nerin <comandante@zaralinux.com>
1553b95375SMauro Carvalho Chehab
1653b95375SMauro Carvalho ChehabCopyright (c) 2009
1753b95375SMauro Carvalho Chehab
1853b95375SMauro Carvalho Chehab	- Shen Feng <shen@cn.fujitsu.com>
1953b95375SMauro Carvalho Chehab
2053b95375SMauro Carvalho ChehabFor general info and legal blurb, please look in index.rst.
2153b95375SMauro Carvalho Chehab
2253b95375SMauro Carvalho Chehab------------------------------------------------------------------------------
23760df93eSShen Feng
24760df93eSShen FengThis file contains the documentation for the sysctl files in
25faa5273cSPaul Gortmaker/proc/sys/net
26760df93eSShen Feng
27760df93eSShen FengThe interface  to  the  networking  parts  of  the  kernel  is  located  in
28760df93eSShen Feng/proc/sys/net. The following table shows all possible subdirectories.  You may
29760df93eSShen Fengsee only some of them, depending on your kernel's configuration.
30760df93eSShen Feng
31760df93eSShen Feng
32760df93eSShen FengTable : Subdirectories in /proc/sys/net
3353b95375SMauro Carvalho Chehab
3453b95375SMauro Carvalho Chehab ========= =================== = ========== ==================
35760df93eSShen Feng Directory Content               Directory  Content
3653b95375SMauro Carvalho Chehab ========= =================== = ========== ==================
37760df93eSShen Feng core      General parameter     appletalk  Appletalk protocol
38760df93eSShen Feng unix      Unix domain sockets   netrom     NET/ROM
39760df93eSShen Feng 802       E802 protocol         ax25       AX25
40760df93eSShen Feng ethernet  Ethernet protocol     rose       X.25 PLP layer
41760df93eSShen Feng ipv4      IP version 4          x25        X.25 protocol
42760df93eSShen Feng bridge    Bridging              decnet     DEC net
43cc79dd1bSYing Xue ipv6      IP version 6          tipc       TIPC
4453b95375SMauro Carvalho Chehab ========= =================== = ========== ==================
45760df93eSShen Feng
46760df93eSShen Feng1. /proc/sys/net/core - Network core options
4753b95375SMauro Carvalho Chehab============================================
48760df93eSShen Feng
490a14842fSEric Dumazetbpf_jit_enable
500a14842fSEric Dumazet--------------
510a14842fSEric Dumazet
522110ba58SDaniel BorkmannThis enables the BPF Just in Time (JIT) compiler. BPF is a flexible
532110ba58SDaniel Borkmannand efficient infrastructure allowing to execute bytecode at various
542110ba58SDaniel Borkmannhook points. It is used in a number of Linux kernel subsystems such
552110ba58SDaniel Borkmannas networking (e.g. XDP, tc), tracing (e.g. kprobes, uprobes, tracepoints)
562110ba58SDaniel Borkmannand security (e.g. seccomp). LLVM has a BPF back end that can compile
572110ba58SDaniel Borkmannrestricted C into a sequence of BPF instructions. After program load
582110ba58SDaniel Borkmannthrough bpf(2) and passing a verifier in the kernel, a JIT will then
592110ba58SDaniel Borkmanntranslate these BPF proglets into native CPU instructions. There are
602110ba58SDaniel Borkmanntwo flavors of JITs, the newer eBPF JIT currently supported on:
6153b95375SMauro Carvalho Chehab
62014cd0a3SMichael Ellerman  - x86_64
6303f5781bSWang YanQing  - x86_32
64014cd0a3SMichael Ellerman  - arm64
65d2aaa3dcSShubham Bansal  - arm32
66014cd0a3SMichael Ellerman  - ppc64
6751c66ad8SChristophe Leroy  - ppc32
68014cd0a3SMichael Ellerman  - sparc64
69014cd0a3SMichael Ellerman  - mips64
70d4dd2d75SDaniel Borkmann  - s390x
7106b74152SLuke Nelson  - riscv64
7206b74152SLuke Nelson  - riscv32
73014cd0a3SMichael Ellerman
742110ba58SDaniel BorkmannAnd the older cBPF JIT supported on the following archs:
7553b95375SMauro Carvalho Chehab
76014cd0a3SMichael Ellerman  - mips
77014cd0a3SMichael Ellerman  - sparc
78014cd0a3SMichael Ellerman
792110ba58SDaniel BorkmanneBPF JITs are a superset of cBPF JITs, meaning the kernel will
802110ba58SDaniel Borkmannmigrate cBPF instructions into eBPF instructions and then JIT
812110ba58SDaniel Borkmanncompile them transparently. Older cBPF JITs can only translate
822110ba58SDaniel Borkmanntcpdump filters, seccomp rules, etc, but not mentioned eBPF
832110ba58SDaniel Borkmannprograms loaded through bpf(2).
84014cd0a3SMichael Ellerman
850a14842fSEric DumazetValues:
8653b95375SMauro Carvalho Chehab
8753b95375SMauro Carvalho Chehab	- 0 - disable the JIT (default value)
8853b95375SMauro Carvalho Chehab	- 1 - enable the JIT
8953b95375SMauro Carvalho Chehab	- 2 - enable the JIT and ask the compiler to emit traces on kernel log.
900a14842fSEric Dumazet
914f3446bbSDaniel Borkmannbpf_jit_harden
924f3446bbSDaniel Borkmann--------------
934f3446bbSDaniel Borkmann
942110ba58SDaniel BorkmannThis enables hardening for the BPF JIT compiler. Supported are eBPF
952110ba58SDaniel BorkmannJIT backends. Enabling hardening trades off performance, but can
962110ba58SDaniel Borkmannmitigate JIT spraying.
9753b95375SMauro Carvalho Chehab
984f3446bbSDaniel BorkmannValues:
9953b95375SMauro Carvalho Chehab
10053b95375SMauro Carvalho Chehab	- 0 - disable JIT hardening (default value)
10153b95375SMauro Carvalho Chehab	- 1 - enable JIT hardening for unprivileged users only
10253b95375SMauro Carvalho Chehab	- 2 - enable JIT hardening for all users
1034f3446bbSDaniel Borkmann
10474451e66SDaniel Borkmannbpf_jit_kallsyms
10574451e66SDaniel Borkmann----------------
10674451e66SDaniel Borkmann
1072110ba58SDaniel BorkmannWhen BPF JIT compiler is enabled, then compiled images are unknown
1082110ba58SDaniel Borkmannaddresses to the kernel, meaning they neither show up in traces nor
1092110ba58SDaniel Borkmannin /proc/kallsyms. This enables export of these addresses, which can
1102110ba58SDaniel Borkmannbe used for debugging/tracing. If bpf_jit_harden is enabled, this
1112110ba58SDaniel Borkmannfeature is disabled.
11253b95375SMauro Carvalho Chehab
11374451e66SDaniel BorkmannValues :
11453b95375SMauro Carvalho Chehab
11553b95375SMauro Carvalho Chehab	- 0 - disable JIT kallsyms export (default value)
11653b95375SMauro Carvalho Chehab	- 1 - enable JIT kallsyms export for privileged users only
11774451e66SDaniel Borkmann
118ede95a63SDaniel Borkmannbpf_jit_limit
119ede95a63SDaniel Borkmann-------------
120ede95a63SDaniel Borkmann
121ede95a63SDaniel BorkmannThis enforces a global limit for memory allocations to the BPF JIT
122ede95a63SDaniel Borkmanncompiler in order to reject unprivileged JIT requests once it has
123ede95a63SDaniel Borkmannbeen surpassed. bpf_jit_limit contains the value of the global limit
124ede95a63SDaniel Borkmannin bytes.
125ede95a63SDaniel Borkmann
126c60f6aa8SShan Weidev_weight
12753b95375SMauro Carvalho Chehab----------
128c60f6aa8SShan Wei
129c60f6aa8SShan WeiThe maximum number of packets that kernel can handle on a NAPI interrupt,
13097bbf662SMichael Chanit's a Per-CPU variable. For drivers that support LRO or GRO_HW, a hardware
13197bbf662SMichael Chanaggregated packet is counted as one packet in this context.
13297bbf662SMichael Chan
133c60f6aa8SShan WeiDefault: 64
134c60f6aa8SShan Wei
1353d48b53fSMatthias Tafelmeierdev_weight_rx_bias
13653b95375SMauro Carvalho Chehab------------------
1373d48b53fSMatthias Tafelmeier
1383d48b53fSMatthias TafelmeierRPS (e.g. RFS, aRFS) processing is competing with the registered NAPI poll function
1393d48b53fSMatthias Tafelmeierof the driver for the per softirq cycle netdev_budget. This parameter influences
1403d48b53fSMatthias Tafelmeierthe proportion of the configured netdev_budget that is spent on RPS based packet
1413d48b53fSMatthias Tafelmeierprocessing during RX softirq cycles. It is further meant for making current
1423d48b53fSMatthias Tafelmeierdev_weight adaptable for asymmetric CPU needs on RX/TX side of the network stack.
1433d48b53fSMatthias Tafelmeier(see dev_weight_tx_bias) It is effective on a per CPU basis. Determination is based
1443d48b53fSMatthias Tafelmeieron dev_weight and is calculated multiplicative (dev_weight * dev_weight_rx_bias).
14553b95375SMauro Carvalho Chehab
1463d48b53fSMatthias TafelmeierDefault: 1
1473d48b53fSMatthias Tafelmeier
1483d48b53fSMatthias Tafelmeierdev_weight_tx_bias
14953b95375SMauro Carvalho Chehab------------------
1503d48b53fSMatthias Tafelmeier
1513d48b53fSMatthias TafelmeierScales the maximum number of packets that can be processed during a TX softirq cycle.
1523d48b53fSMatthias TafelmeierEffective on a per CPU basis. Allows scaling of current dev_weight for asymmetric
1533d48b53fSMatthias Tafelmeiernet stack processing needs. Be careful to avoid making TX softirq processing a CPU hog.
15453b95375SMauro Carvalho Chehab
1553d48b53fSMatthias TafelmeierCalculation is based on dev_weight (dev_weight * dev_weight_tx_bias).
15653b95375SMauro Carvalho Chehab
1573d48b53fSMatthias TafelmeierDefault: 1
1583d48b53fSMatthias Tafelmeier
1596da7c8fcSstephen hemmingerdefault_qdisc
16053b95375SMauro Carvalho Chehab-------------
1616da7c8fcSstephen hemminger
1626da7c8fcSstephen hemmingerThe default queuing discipline to use for network devices. This allows
1632e64126bSPhil Sutteroverriding the default of pfifo_fast with an alternative. Since the default
1642e64126bSPhil Sutterqueuing discipline is created without additional parameters so is best suited
1652e64126bSPhil Sutterto queuing disciplines that work well without configuration like stochastic
1662e64126bSPhil Sutterfair queue (sfq), CoDel (codel) or fair queue CoDel (fq_codel). Don't use
1672e64126bSPhil Sutterqueuing disciplines like Hierarchical Token Bucket or Deficit Round Robin
1682e64126bSPhil Sutterwhich require setting up classes and bandwidths. Note that physical multiqueue
1692e64126bSPhil Sutterinterfaces still use mq as root qdisc, which in turn uses this default for its
1702e64126bSPhil Sutterleaves. Virtual devices (like e.g. lo or veth) ignore this setting and instead
1712e64126bSPhil Sutterdefault to noqueue.
17253b95375SMauro Carvalho Chehab
1736da7c8fcSstephen hemmingerDefault: pfifo_fast
1746da7c8fcSstephen hemminger
17564b0dc51SEliezer Tamirbusy_read
17653b95375SMauro Carvalho Chehab---------
17753b95375SMauro Carvalho Chehab
178e0d1095aSCong WangLow latency busy poll timeout for socket reads. (needs CONFIG_NET_RX_BUSY_POLL)
179cbf55001SEliezer TamirApproximate time in us to busy loop waiting for packets on the device queue.
18064b0dc51SEliezer TamirThis sets the default value of the SO_BUSY_POLL socket option.
18164b0dc51SEliezer TamirCan be set or overridden per socket by setting socket option SO_BUSY_POLL,
18264b0dc51SEliezer Tamirwhich is the preferred method of enabling. If you need to enable the feature
18364b0dc51SEliezer Tamirglobally via sysctl, a value of 50 is recommended.
18453b95375SMauro Carvalho Chehab
185cbf55001SEliezer TamirWill increase power usage.
18653b95375SMauro Carvalho Chehab
1872d48d67fSEliezer TamirDefault: 0 (off)
1882d48d67fSEliezer Tamir
18964b0dc51SEliezer Tamirbusy_poll
19006021292SEliezer Tamir----------------
191e0d1095aSCong WangLow latency busy poll timeout for poll and select. (needs CONFIG_NET_RX_BUSY_POLL)
192cbf55001SEliezer TamirApproximate time in us to busy loop waiting for events.
1932d48d67fSEliezer TamirRecommended value depends on the number of sockets you poll on.
1942d48d67fSEliezer TamirFor several sockets 50, for several hundreds 100.
1952d48d67fSEliezer TamirFor more than that you probably want to use epoll.
19664b0dc51SEliezer TamirNote that only sockets with SO_BUSY_POLL set will be busy polled,
19764b0dc51SEliezer Tamirso you want to either selectively set SO_BUSY_POLL on those sockets or set
19864b0dc51SEliezer Tamirsysctl.net.busy_read globally.
19953b95375SMauro Carvalho Chehab
200cbf55001SEliezer TamirWill increase power usage.
20153b95375SMauro Carvalho Chehab
20206021292SEliezer TamirDefault: 0 (off)
20306021292SEliezer Tamir
204760df93eSShen Fengrmem_default
205760df93eSShen Feng------------
206760df93eSShen Feng
207760df93eSShen FengThe default setting of the socket receive buffer in bytes.
208760df93eSShen Feng
209760df93eSShen Fengrmem_max
210760df93eSShen Feng--------
211760df93eSShen Feng
212760df93eSShen FengThe maximum receive socket buffer size in bytes.
213760df93eSShen Feng
214b245be1fSWillem de Bruijntstamp_allow_data
215b245be1fSWillem de Bruijn-----------------
216b245be1fSWillem de BruijnAllow processes to receive tx timestamps looped together with the original
217b245be1fSWillem de Bruijnpacket contents. If disabled, transmit timestamp requests from unprivileged
218b245be1fSWillem de Bruijnprocesses are dropped unless socket option SOF_TIMESTAMPING_OPT_TSONLY is set.
21953b95375SMauro Carvalho Chehab
220b245be1fSWillem de BruijnDefault: 1 (on)
221b245be1fSWillem de Bruijn
222b245be1fSWillem de Bruijn
223760df93eSShen Fengwmem_default
224760df93eSShen Feng------------
225760df93eSShen Feng
226760df93eSShen FengThe default setting (in bytes) of the socket send buffer.
227760df93eSShen Feng
228760df93eSShen Fengwmem_max
229760df93eSShen Feng--------
230760df93eSShen Feng
231760df93eSShen FengThe maximum send socket buffer size in bytes.
232760df93eSShen Feng
233760df93eSShen Fengmessage_burst and message_cost
234760df93eSShen Feng------------------------------
235760df93eSShen Feng
236760df93eSShen FengThese parameters  are used to limit the warning messages written to the kernel
237760df93eSShen Fenglog from  the  networking  code.  They  enforce  a  rate  limit  to  make  a
238760df93eSShen Fengdenial-of-service attack  impossible. A higher message_cost factor, results in
239760df93eSShen Fengfewer messages that will be written. Message_burst controls when messages will
240760df93eSShen Fengbe dropped.  The  default  settings  limit  warning messages to one every five
241760df93eSShen Fengseconds.
242760df93eSShen Feng
243760df93eSShen Fengwarnings
244760df93eSShen Feng--------
245760df93eSShen Feng
246ba7a46f1SJoe PerchesThis sysctl is now unused.
247ba7a46f1SJoe Perches
248ba7a46f1SJoe PerchesThis was used to control console messages from the networking stack that
249ba7a46f1SJoe Perchesoccur because of problems on the network like duplicate address or bad
250ba7a46f1SJoe Percheschecksums.
251ba7a46f1SJoe Perches
252ba7a46f1SJoe PerchesThese messages are now emitted at KERN_DEBUG and can generally be enabled
253ba7a46f1SJoe Perchesand controlled by the dynamic_debug facility.
254760df93eSShen Feng
255760df93eSShen Fengnetdev_budget
256760df93eSShen Feng-------------
257760df93eSShen Feng
258760df93eSShen FengMaximum number of packets taken from all interfaces in one polling cycle (NAPI
259760df93eSShen Fengpoll). In one polling cycle interfaces which are registered to polling are
2607acf8a1eSMatthew Whiteheadprobed in a round-robin manner. Also, a polling cycle may not exceed
2617acf8a1eSMatthew Whiteheadnetdev_budget_usecs microseconds, even if netdev_budget has not been
2627acf8a1eSMatthew Whiteheadexhausted.
2637acf8a1eSMatthew Whitehead
2647acf8a1eSMatthew Whiteheadnetdev_budget_usecs
2657acf8a1eSMatthew Whitehead---------------------
2667acf8a1eSMatthew Whitehead
2677acf8a1eSMatthew WhiteheadMaximum number of microseconds in one NAPI polling cycle. Polling
2687acf8a1eSMatthew Whiteheadwill exit when either netdev_budget_usecs have elapsed during the
2697acf8a1eSMatthew Whiteheadpoll cycle or the number of packets processed reaches netdev_budget.
270760df93eSShen Feng
271760df93eSShen Fengnetdev_max_backlog
272760df93eSShen Feng------------------
273760df93eSShen Feng
274760df93eSShen FengMaximum number  of  packets,  queued  on  the  INPUT  side, when the interface
275760df93eSShen Fengreceives packets faster than kernel can process them.
276760df93eSShen Feng
277960fb622SEric Dumazetnetdev_rss_key
278960fb622SEric Dumazet--------------
279960fb622SEric Dumazet
280960fb622SEric DumazetRSS (Receive Side Scaling) enabled drivers use a 40 bytes host key that is
281960fb622SEric Dumazetrandomly generated.
282960fb622SEric DumazetSome user space might need to gather its content even if drivers do not
283960fb622SEric Dumazetprovide ethtool -x support yet.
284960fb622SEric Dumazet
28553b95375SMauro Carvalho Chehab::
28653b95375SMauro Carvalho Chehab
287960fb622SEric Dumazet  myhost:~# cat /proc/sys/net/core/netdev_rss_key
288960fb622SEric Dumazet  84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8: ... (52 bytes total)
289960fb622SEric Dumazet
290960fb622SEric DumazetFile contains nul bytes if no driver ever called netdev_rss_key_fill() function.
29153b95375SMauro Carvalho Chehab
292960fb622SEric DumazetNote:
293960fb622SEric Dumazet  /proc/sys/net/core/netdev_rss_key contains 52 bytes of key,
294960fb622SEric Dumazet  but most drivers only use 40 bytes of it.
295960fb622SEric Dumazet
29653b95375SMauro Carvalho Chehab::
29753b95375SMauro Carvalho Chehab
298960fb622SEric Dumazet  myhost:~# ethtool -x eth0
299960fb622SEric Dumazet  RX flow hash indirection table for eth0 with 8 RX ring(s):
300960fb622SEric Dumazet      0:    0     1     2     3     4     5     6     7
301960fb622SEric Dumazet  RSS hash key:
302960fb622SEric Dumazet  84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8:43:e3:c9:0c:fd:17:55:c2:3a:4d:69:ed:f1:42:89
3032644ccefSMauro Carvalho Chehab
3043b098e2dSEric Dumazetnetdev_tstamp_prequeue
3053b098e2dSEric Dumazet----------------------
3063b098e2dSEric Dumazet
3073b098e2dSEric DumazetIf set to 0, RX packet timestamps can be sampled after RPS processing, when
3083b098e2dSEric Dumazetthe target CPU processes packets. It might give some delay on timestamps, but
3093b098e2dSEric Dumazetpermit to distribute the load on several cpus.
3103b098e2dSEric Dumazet
3113b098e2dSEric DumazetIf set to 1 (default), timestamps are sampled as soon as possible, before
3123b098e2dSEric Dumazetqueueing.
3133b098e2dSEric Dumazet
3145aa3afe1SDmitry Vyukovnetdev_unregister_timeout_secs
3155aa3afe1SDmitry Vyukov------------------------------
3165aa3afe1SDmitry Vyukov
3175aa3afe1SDmitry VyukovUnregister network device timeout in seconds.
3185aa3afe1SDmitry VyukovThis option controls the timeout (in seconds) used to issue a warning while
3195aa3afe1SDmitry Vyukovwaiting for a network device refcount to drop to 0 during device
3205aa3afe1SDmitry Vyukovunregistration. A lower value may be useful during bisection to detect
3215aa3afe1SDmitry Vyukova leaked reference faster. A larger value may be useful to prevent false
3225aa3afe1SDmitry Vyukovwarnings on slow/loaded systems.
3236c996e19SDmitry VyukovDefault value is 10, minimum 1, maximum 3600.
3245aa3afe1SDmitry Vyukov
325760df93eSShen Fengoptmem_max
326760df93eSShen Feng----------
327760df93eSShen Feng
328760df93eSShen FengMaximum ancillary buffer size allowed per socket. Ancillary data is a sequence
329760df93eSShen Fengof struct cmsghdr structures with appended data.
330760df93eSShen Feng
33179134e6cSEric Dumazetfb_tunnels_only_for_init_net
33279134e6cSEric Dumazet----------------------------
33379134e6cSEric Dumazet
33479134e6cSEric DumazetControls if fallback tunnels (like tunl0, gre0, gretap0, erspan0,
335316cdaa1SMahesh Bandewarsit0, ip6tnl0, ip6gre0) are automatically created. There are 3 possibilities
336316cdaa1SMahesh Bandewar(a) value = 0; respective fallback tunnels are created when module is
337316cdaa1SMahesh Bandewarloaded in every net namespaces (backward compatible behavior).
338316cdaa1SMahesh Bandewar(b) value = 1; [kcmd value: initns] respective fallback tunnels are
339316cdaa1SMahesh Bandewarcreated only in init net namespace and every other net namespace will
340316cdaa1SMahesh Bandewarnot have them.
341316cdaa1SMahesh Bandewar(c) value = 2; [kcmd value: none] fallback tunnels are not created
342316cdaa1SMahesh Bandewarwhen a module is loaded in any of the net namespace. Setting value to
343316cdaa1SMahesh Bandewar"2" is pointless after boot if these modules are built-in, so there is
344316cdaa1SMahesh Bandewara kernel command-line option that can change this default. Please refer to
345316cdaa1SMahesh BandewarDocumentation/admin-guide/kernel-parameters.txt for additional details.
346316cdaa1SMahesh Bandewar
347316cdaa1SMahesh BandewarNot creating fallback tunnels gives control to userspace to create
348316cdaa1SMahesh Bandewarwhatever is needed only and avoid creating devices which are redundant.
34979134e6cSEric Dumazet
35079134e6cSEric DumazetDefault : 0  (for compatibility reasons)
35179134e6cSEric Dumazet
352856c395cSCong Wangdevconf_inherit_init_net
35353b95375SMauro Carvalho Chehab------------------------
354856c395cSCong Wang
355856c395cSCong WangControls if a new network namespace should inherit all current
356856c395cSCong Wangsettings under /proc/sys/net/{ipv4,ipv6}/conf/{all,default}/. By
357856c395cSCong Wangdefault, we keep the current behavior: for IPv4 we inherit all current
358856c395cSCong Wangsettings from init_net and for IPv6 we reset all settings to default.
359856c395cSCong Wang
360856c395cSCong WangIf set to 1, both IPv4 and IPv6 settings are forced to inherit from
361856c395cSCong Wangcurrent ones in init_net. If set to 2, both IPv4 and IPv6 settings are
3629efd6a3cSNicolas Dichtelforced to reset to their default values. If set to 3, both IPv4 and IPv6
3639efd6a3cSNicolas Dichtelsettings are forced to inherit from current ones in the netns where this
3649efd6a3cSNicolas Dichtelnew netns has been created.
365856c395cSCong Wang
366856c395cSCong WangDefault : 0  (for compatibility reasons)
367856c395cSCong Wang
3682127324aSAkhmat Karakotovtxrehash
3692127324aSAkhmat Karakotov--------
3702127324aSAkhmat Karakotov
3712127324aSAkhmat KarakotovControls default hash rethink behaviour on listening socket when SO_TXREHASH
3722127324aSAkhmat Karakotovoption is set to SOCK_TXREHASH_DEFAULT (i. e. not overridden by setsockopt).
3732127324aSAkhmat Karakotov
3742127324aSAkhmat KarakotovIf set to 1 (default), hash rethink is performed on listening socket.
3752127324aSAkhmat KarakotovIf set to 0, hash rethink is not performed.
3762127324aSAkhmat Karakotov
377760df93eSShen Feng2. /proc/sys/net/unix - Parameters for Unix domain sockets
37853b95375SMauro Carvalho Chehab----------------------------------------------------------
379760df93eSShen Feng
38045dad7bdSLi XiaodongThere is only one file in this directory.
38145dad7bdSLi Xiaodongunix_dgram_qlen limits the max number of datagrams queued in Unix domain
382ca8b9950SLi Zefansocket's buffer. It will not take effect unless PF_UNIX flag is specified.
383760df93eSShen Feng
384760df93eSShen Feng
385760df93eSShen Feng3. /proc/sys/net/ipv4 - IPV4 settings
38653b95375SMauro Carvalho Chehab-------------------------------------
38782a07bf3SMauro Carvalho ChehabPlease see: Documentation/networking/ip-sysctl.rst and
38882a07bf3SMauro Carvalho ChehabDocumentation/admin-guide/sysctl/net.rst for descriptions of these entries.
389760df93eSShen Feng
390760df93eSShen Feng
391760df93eSShen Feng4. Appletalk
39253b95375SMauro Carvalho Chehab------------
393760df93eSShen Feng
394760df93eSShen FengThe /proc/sys/net/appletalk  directory  holds the Appletalk configuration data
395760df93eSShen Fengwhen Appletalk is loaded. The configurable parameters are:
396760df93eSShen Feng
397760df93eSShen Fengaarp-expiry-time
398760df93eSShen Feng----------------
399760df93eSShen Feng
400760df93eSShen FengThe amount  of  time  we keep an ARP entry before expiring it. Used to age out
401760df93eSShen Fengold hosts.
402760df93eSShen Feng
403760df93eSShen Fengaarp-resolve-time
404760df93eSShen Feng-----------------
405760df93eSShen Feng
406760df93eSShen FengThe amount of time we will spend trying to resolve an Appletalk address.
407760df93eSShen Feng
408760df93eSShen Fengaarp-retransmit-limit
409760df93eSShen Feng---------------------
410760df93eSShen Feng
411760df93eSShen FengThe number of times we will retransmit a query before giving up.
412760df93eSShen Feng
413760df93eSShen Fengaarp-tick-time
414760df93eSShen Feng--------------
415760df93eSShen Feng
416760df93eSShen FengControls the rate at which expires are checked.
417760df93eSShen Feng
418760df93eSShen FengThe directory  /proc/net/appletalk  holds the list of active Appletalk sockets
419760df93eSShen Fengon a machine.
420760df93eSShen Feng
421760df93eSShen FengThe fields  indicate  the DDP type, the local address (in network:node format)
422760df93eSShen Fengthe remote  address,  the  size of the transmit pending queue, the size of the
423760df93eSShen Fengreceived queue  (bytes waiting for applications to read) the state and the uid
424760df93eSShen Fengowning the socket.
425760df93eSShen Feng
426760df93eSShen Feng/proc/net/atalk_iface lists  all  the  interfaces  configured for appletalk.It
427760df93eSShen Fengshows the  name  of the interface, its Appletalk address, the network range on
428760df93eSShen Fengthat address  (or  network number for phase 1 networks), and the status of the
429760df93eSShen Fenginterface.
430760df93eSShen Feng
431760df93eSShen Feng/proc/net/atalk_route lists  each  known  network  route.  It lists the target
432760df93eSShen Feng(network) that the route leads to, the router (may be directly connected), the
433760df93eSShen Fengroute flags, and the device the route is using.
434760df93eSShen Feng
4357e7c076eSStephen Hemminger5. TIPC
43653b95375SMauro Carvalho Chehab-------
437cc79dd1bSYing Xue
438a5325ae5SErik Hugnetipc_rmem
43953b95375SMauro Carvalho Chehab---------
440a5325ae5SErik Hugne
441cc79dd1bSYing XueThe TIPC protocol now has a tunable for the receive memory, similar to the
442cc79dd1bSYing Xuetcp_rmem - i.e. a vector of 3 INTEGERs: (min, default, max)
443cc79dd1bSYing Xue
44453b95375SMauro Carvalho Chehab::
44553b95375SMauro Carvalho Chehab
446cc79dd1bSYing Xue    # cat /proc/sys/net/tipc/tipc_rmem
447cc79dd1bSYing Xue    4252725 34021800        68043600
448cc79dd1bSYing Xue    #
449cc79dd1bSYing Xue
450cc79dd1bSYing XueThe max value is set to CONN_OVERLOAD_LIMIT, and the default and min values
451cc79dd1bSYing Xueare scaled (shifted) versions of that same value.  Note that the min value
452cc79dd1bSYing Xueis not at this point in time used in any meaningful way, but the triplet is
453cc79dd1bSYing Xuepreserved in order to be consistent with things like tcp_rmem.
454a5325ae5SErik Hugne
455a5325ae5SErik Hugnenamed_timeout
45653b95375SMauro Carvalho Chehab-------------
457a5325ae5SErik Hugne
458a5325ae5SErik HugneTIPC name table updates are distributed asynchronously in a cluster, without
459a5325ae5SErik Hugneany form of transaction handling. This means that different race scenarios are
460a5325ae5SErik Hugnepossible. One such is that a name withdrawal sent out by one node and received
461a5325ae5SErik Hugneby another node may arrive after a second, overlapping name publication already
462a5325ae5SErik Hugnehas been accepted from a third node, although the conflicting updates
463a5325ae5SErik Hugneoriginally may have been issued in the correct sequential order.
464a5325ae5SErik HugneIf named_timeout is nonzero, failed topology updates will be placed on a defer
465a5325ae5SErik Hugnequeue until another event arrives that clears the error, or until the timeout
466a5325ae5SErik Hugneexpires. Value is in milliseconds.
467