From 5a2ff571fbaa50d445022612d9df7c115369a21a Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Thu, 20 Nov 2008 15:37:11 -0500 Subject: [PATCH] connect.2, listen.2, send.2, uname.2, cmsg.3, proc.5, arp.7, ddp.7, icmp.7, ip.7, raw.7, socket.7, tcp.7, udp.7: Global fix: eliminate mention of the obsolete sysctl(2) interface Many pages still mention use of the obsolete sysctl(2) system call, or used the term "sysctls"; rewrite these mentions to instead be in terms of /proc interfaces. Signed-off-by: Michael Kerrisk --- man2/connect.2 | 9 +++---- man2/listen.2 | 9 +++---- man2/send.2 | 8 +++--- man2/uname.2 | 4 +-- man3/cmsg.3 | 8 +++--- man5/proc.5 | 2 +- man7/arp.7 | 29 ++++++++++++--------- man7/ddp.7 | 23 +++++++--------- man7/icmp.7 | 17 ++++++------ man7/ip.7 | 30 +++++++++++---------- man7/raw.7 | 6 ++--- man7/socket.7 | 37 +++++++++++++------------- man7/tcp.7 | 71 +++++++++++++++++++++++++------------------------- man7/udp.7 | 10 ++++--- 14 files changed, 132 insertions(+), 131 deletions(-) diff --git a/man2/connect.2 b/man2/connect.2 index ec54fae98..bb3894618 100644 --- a/man2/connect.2 +++ b/man2/connect.2 @@ -62,7 +62,7 @@ .\" Modified 1998, 1999 by Andi Kleen .\" Modified 2004-06-23 by Michael Kerrisk .\" -.TH CONNECT 2 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH CONNECT 2 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME connect \- initiate a connection on a socket .SH SYNOPSIS @@ -156,11 +156,10 @@ field. No more free local ports or insufficient entries in the routing cache. For .B AF_INET -see the -.I net.ipv4.ip_local_port_range -sysctl in +see the description of +.I /proc/sys/net/ipv4/ip_local_port_range .BR ip (7) -on how to increase the number of local ports. +for information on how to increase the number of local ports. .TP .B EALREADY The socket is non-blocking and a previous connection attempt has not yet diff --git a/man2/listen.2 b/man2/listen.2 index 5cf8e09a0..8384bff66 100644 --- a/man2/listen.2 +++ b/man2/listen.2 @@ -40,7 +40,7 @@ .\" Modified 11 May 2001 by Sam Varshavchik .\" .\" -.TH LISTEN 2 2007-12-28 "Linux" "Linux Programmer's Manual" +.TH LISTEN 2 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME listen \- listen for connections on a socket .SH SYNOPSIS @@ -141,11 +141,10 @@ Now it specifies the queue length for established sockets waiting to be accepted, instead of the number of incomplete connection requests. The maximum length of the queue for incomplete sockets -can be set using the -.I tcp_max_syn_backlog -sysctl. +can be set using +.IR /proc/sys/net/ipv4/tcp_max_syn_backlog . When syncookies are enabled there is no logical maximum -length and this sysctl setting is ignored. +length and this setting is ignored. See .BR tcp (7) for more information. diff --git a/man2/send.2 b/man2/send.2 index 58ee63154..f6f48e830 100644 --- a/man2/send.2 +++ b/man2/send.2 @@ -35,7 +35,7 @@ .\" Modified Oct 2003 by aeb .\" Modified 2004-07-01 by mtk .\" -.TH SEND 2 2008-10-06 "Linux" "Linux Programmer's Manual" +.TH SEND 2 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME send, sendto, sendmsg \- send a message on a socket .SH SYNOPSIS @@ -255,9 +255,9 @@ and .I msg_controllen members. The maximum control buffer length the kernel can process is limited -per socket by the -.I net.core.optmem_max -sysctl; see +per socket by the value in +.IR /proc/sys/net/core/optmem_max ; +see .BR socket (7). .\" Still to be documented: .\" Send file descriptors and user credentials using the diff --git a/man2/uname.2 b/man2/uname.2 index 378a88f13..d1c622095 100644 --- a/man2/uname.2 +++ b/man2/uname.2 @@ -22,7 +22,7 @@ .\" .\" 2007-07-05 mtk: Added details on underlying system call interfaces .\" -.TH UNAME 2 2008-11-19 "Linux" "Linux Programmer's Manual" +.TH UNAME 2 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME uname \- get name and information about current kernel .SH SYNOPSIS @@ -119,8 +119,6 @@ idea to use any of these constants; just use sizeof(...). Often 257 is chosen in order to have room for an internet hostname. .LP Part of the utsname information is also accessible via -.BR sysctl (2) -and via .IR /proc/sys/kernel/ { ostype , .IR hostname , .IR osrelease , diff --git a/man3/cmsg.3 b/man3/cmsg.3 index 3acacbedf..101db7b81 100644 --- a/man3/cmsg.3 +++ b/man3/cmsg.3 @@ -4,7 +4,7 @@ .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" $Id: cmsg.3,v 1.8 2000/12/20 18:10:31 ak Exp $ -.TH CMSG 3 1998-10-02 "Linux" "Linux Programmer's Manual" +.TH CMSG 3 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR \- Access ancillary data .SH SYNOPSIS @@ -51,9 +51,9 @@ structures with appended data. This sequence should only be accessed using the macros described in this manual page and never directly. See the specific protocol man pages for the available control message types. -The maximum ancillary buffer size allowed per socket can be set using the -.I net.core.optmem_max -sysctl; see +The maximum ancillary buffer size allowed per socket can be set using +.IR /proc/sys/net/core/optmem_max ; +see .BR socket (7). .PP .BR CMSG_FIRSTHDR () diff --git a/man5/proc.5 b/man5/proc.5 index e6cacef51..ebe3cb023 100644 --- a/man5/proc.5 +++ b/man5/proc.5 @@ -1706,7 +1706,7 @@ See also This directory (present since 1.3.57) contains a number of files and subdirectories corresponding to kernel variables. These variables can be read and sometimes modified using -the \fI/proc\fP file system, and the +the \fI/proc\fP file system, and the (deprecated) .BR sysctl (2) system call. Presently, there are subdirectories diff --git a/man7/arp.7 b/man7/arp.7 index 2a443eb44..7f1b9f0d9 100644 --- a/man7/arp.7 +++ b/man7/arp.7 @@ -6,7 +6,7 @@ .\" of the modification is added to the header. .\" Modified June 1999 Andi Kleen .\" $Id: arp.7,v 1.10 2000/04/27 19:31:38 ak Exp $ -.TH ARP 7 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH ARP 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME arp \- Linux ARP kernel module. .SH DESCRIPTION @@ -39,10 +39,14 @@ Entries which are marked as permanent are never deleted by the garbage-collector. The cache can be directly manipulated by the use of ioctls and its behavior can be -tuned by the sysctls defined below. +tuned by the +.I /proc +interfaces described below. When there is no positive feedback for an existing mapping after some -time (see the sysctls below) a neighbor cache entry is considered stale. +time (see the +.I /proc +interfaces below) a neighbor cache entry is considered stale. Positive feedback can be gotten from a higher layer; for example from a successful TCP ACK. Other protocols can signal forward progress @@ -128,19 +132,18 @@ Linux 2.2 does not support proxy network ARP entries, so this should be set to 0xffffffff, or 0 to remove an existing proxy arp entry. .B ATF_USETRAILERS is obsolete and should not be used. -.SS Sysctls -ARP supports a sysctl interface to configure parameters on a global -or per-interface basis. -The sysctls can be accessed by reading or writing the +.SS /proc interfaces +ARP supports a range of +.I /proc +interfaces to configure parameters on a global or per-interface basis. +The interfaces can be accessed by reading or writing the .I /proc/sys/net/ipv4/neigh/*/* -files or with the -.BR sysctl (2) -interface. +files. Each interface in the system has its own directory in -/proc/sys/net/ipv4/neigh/. +.IR /proc/sys/net/ipv4/neigh/ . The setting in the "default" directory is used for all newly created devices. -Unless otherwise specified time-related sysctls are specified +Unless otherwise specified time-related interfaces are specified in seconds. .TP .I anycast_delay @@ -249,7 +252,7 @@ forwarding and proxy arp is enabled for the interface). The .I neigh/* -sysctls did not exist before Linux 2.2. +interfaces did not exist before Linux 2.2. .SH BUGS Some timer settings are specified in jiffies, which is architecture- and kernel version-dependent; see diff --git a/man7/ddp.7 b/man7/ddp.7 index f5cc6b73a..5aaf40d99 100644 --- a/man7/ddp.7 +++ b/man7/ddp.7 @@ -4,7 +4,7 @@ .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" $Id: ddp.7,v 1.3 1999/05/13 11:33:22 freitag Exp $ -.TH DDP 7 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH DDP 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME ddp \- Linux AppleTalk protocol implementation .SH SYNOPSIS @@ -114,14 +114,12 @@ local broadcast address. .\" FIXME this doesn't make sense [johnl] .SS "Socket Options" No protocol-specific socket options are supported. -.SS Sysctls -IP supports a sysctl interface to configure some global AppleTalk -parameters. -The sysctls can be accessed by reading or writing the -.I /proc/sys/net/atalk/* -files or with the -.BR sysctl (2) -interface. +.SS /proc interfaces +IP supports a set of +.I /proc +interfaces to configure some global AppleTalk parameters. +The parameters can be accessed by reading or writing files in the directory +.IR /proc/sys/net/atalk/ . .TP .I aarp-expiry-time The time interval (in seconds) before an AARP cache entry expires. @@ -141,7 +139,7 @@ changed. .SS Ioctls All ioctls described in .BR socket (7) -apply to ddp. +apply to DDP. .\" FIXME Add a section about multicasting .SH ERRORS .\" FIXME document all errors. We should really fix the kernels to @@ -218,9 +216,8 @@ The socket was unconfigured, or an unknown socket type was requested. .SH VERSIONS Appletalk is supported by Linux 2.0 or higher. The -.B sysctl -interface is -new in Linux 2.2. +.I /proc +interfaces exist since Linux 2.2. .SH NOTES Be very careful with the .B SO_BROADCAST diff --git a/man7/icmp.7 b/man7/icmp.7 index 9ab56b7c8..cdea4bd4a 100644 --- a/man7/icmp.7 +++ b/man7/icmp.7 @@ -4,7 +4,7 @@ .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" $Id: icmp.7,v 1.6 2000/08/14 08:03:45 ak Exp $ -.TH ICMP 7 1999-04-27 "Linux" "Linux Programmer's Manual" +.TH ICMP 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME icmp, IPPROTO_ICMP \- Linux IPv4 ICMP kernel module. .SH DESCRIPTION @@ -33,14 +33,13 @@ Linux limits the rate of ICMP error packets to each destination. and .B ICMP_DEST_UNREACH are also limited by the destination route of the incoming packets. -.SS Sysctls -ICMP supports a sysctl interface to configure some global IP parameters. -The sysctls can be accessed by reading or writing the -.I /proc/sys/net/ipv4/* -files or with the -.BR sysctl (2) -interface. -Most of these sysctls are rate limitations for specific ICMP types. +.SS /proc interfaces +ICMP supports a set of +.I /proc +interfaces to configure some global IP parameters. +The parameters can be accessed by reading or writing files in the directory +.IR /proc/sys/net/ipv4/ . +Most of these parameters are rate limitations for specific ICMP types. Linux 2.2 uses a token bucket filter to limit ICMPs. .\" FIXME better description needed The value is the timeout in jiffies until the token bucket filter is diff --git a/man7/ip.7 b/man7/ip.7 index 2c07faf69..d5e36030d 100644 --- a/man7/ip.7 +++ b/man7/ip.7 @@ -228,7 +228,8 @@ is established. The processing of all incoming source routing options is disabled by default and can be enabled by using the .I accept_source_route -sysctl. +.I /proc +interface. Other options like timestamps are still handled. For datagram sockets, IP options can be only set by the local user. Calling @@ -519,8 +520,8 @@ as defined in RFC\ 1191 on this socket. The don't fragment flag is set on all outgoing datagrams. The system-wide default is controlled by the -.I ip_no_pmtu_disc -sysctl for +.I /proc/sys/net/ipv4/ip_no_pmtu_disc +file for .B SOCK_STREAM sockets, and disabled on all others. For @@ -700,18 +701,17 @@ structure similar to When an invalid socket option is passed, .B ENOPROTOOPT is returned. -.SS Sysctls +.SS /proc interfaces The IP protocol -supports the sysctl interface to configure some global options. -The sysctls can be accessed by reading or writing the -.I /proc/sys/net/ipv4/* -files or using the +supports a set of +.I /proc +interfaces to configure some global parameters. +The parameters can be accessed by reading or writing files in the directory +.IR /proc/sys/net/ipv4/ . .\" FIXME As at 2.6.12, 14 Jun 2005, the following are undocumented: .\" ip_queue_maxlen .\" ip_conntrack_max -.BR sysctl (2) -interface. -Variables described as +Interfaces described as .I Boolean take an integer value, with a non-zero value ("true") meaning that the corresponding option is enabled, and a zero value ("false") @@ -818,8 +818,8 @@ bytes. .I neigh/* See .BR arp (7). -.\" FIXME Document the conf/*/* sysctls -.\" FIXME Document the route/* sysctls +.\" FIXME Document the conf/*/* interfaces +.\" FIXME Document the route/* interfaces .\" FIXME document them all .SS Ioctls All ioctls described in @@ -952,7 +952,9 @@ is new in Linux 2.2. Linux 2.0 only supported .BR ip_mreq . .PP -The sysctls were introduced with Linux 2.2. +The +.I /proc +interfaces were introduced with Linux 2.2. .SH NOTES Be very careful with the .B SO_BROADCAST diff --git a/man7/raw.7 b/man7/raw.7 index 3b08ee42a..9bd796125 100644 --- a/man7/raw.7 +++ b/man7/raw.7 @@ -6,7 +6,7 @@ .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" $Id: raw.7,v 1.6 1999/06/05 10:32:08 freitag Exp $ -.TH RAW 7 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH RAW 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME raw, SOCK_RAW \- Linux IPv4 raw sockets .SH SYNOPSIS @@ -190,8 +190,8 @@ When this happens the application should decrease the packet size. Path MTU discovery can be also turned off using the .B IP_MTU_DISCOVER socket option or the -.I ip_no_pmtu_disc -sysctl, see +.I /proc/sys/net/ipv4/ip_no_pmtu_disc +file, see .BR ip (7) for details. When turned off raw sockets will fragment outgoing packets diff --git a/man7/socket.7 b/man7/socket.7 index 7925c55f3..b0e323883 100644 --- a/man7/socket.7 +++ b/man7/socket.7 @@ -14,7 +14,7 @@ .\" Added notes on capability requirements .\" A few small grammar fixes .\" -.TH SOCKET 7 2008-08-08 Linux "Linux Programmer's Manual" +.TH SOCKET 7 2008-11-20 Linux "Linux Programmer's Manual" .SH NAME socket \- Linux socket interface .SH SYNOPSIS @@ -364,10 +364,10 @@ when it is set using and this doubled value is returned by .BR getsockopt (2). The default value is set by the -.I rmem_default -sysctl and the maximum allowed value is set by the -.I rmem_max -sysctl. +.I /proc/sys/net/core/rmem_default +file, and the maximum allowed value is set by the +.I /proc/sys/net/core/rmem_max +file. The minimum (doubled) value for this option is 256. .TP .BR SO_RCVBUFFORCE " (since Linux 2.6.14)" @@ -463,10 +463,10 @@ when it is set using and this doubled value is returned by .BR getsockopt (2). The default value is set by the -.I wmem_default -sysctl and the maximum allowed value is set by the -.I wmem_max -sysctl. +.I /proc/sys/net/core/wmem_default +file and the maximum allowed value is set by the +.I /proc/sys/net/core/wmem_max +file. The minimum (doubled) value for this option is 2048. .TP .BR SO_SNDBUFFORCE " (since Linux 2.6.14)" @@ -544,12 +544,10 @@ may have already disappeared when the process reacts to the signal. If this happens, the process should wait again because Linux will resend the signal later. .\" .SS Ancillary Messages -.SS Sysctls -The core socket networking sysctls can be accessed using the -.I /proc/sys/net/core/* -files or with the -.BR sysctl (2) -interface. +.SS /proc interfaces +The core socket networking parameters can be accessed +via files in the directory +.IR /proc/sys/net/core/ . .TP .I rmem_default contains the default setting in bytes of the socket receive buffer. @@ -678,7 +676,9 @@ The same as the was introduced in Linux 2.0.30. .B SO_PASSCRED is new in Linux 2.2. -The sysctls are new in Linux 2.2. +The +.I /proc +interfaces was introduced in Linux 2.2. .B SO_RCVTIMEO and .B SO_SNDTIMEO @@ -687,8 +687,9 @@ Earlier, timeouts were fixed to a protocol-specific setting, and could not be read or written. .SH NOTES Linux assumes that half of the send/receive buffer is used for internal -kernel structures; thus the sysctls are twice what can be observed -on the wire. +kernel structures; thus the values in the corresponding +.I /proc +files are twice what can be observed on the wire. Linux will only allow port re-use with the .B SO_REUSEADDR diff --git a/man7/tcp.7 b/man7/tcp.7 index ee4db213a..2c979c3ae 100644 --- a/man7/tcp.7 +++ b/man7/tcp.7 @@ -12,7 +12,7 @@ .\" documented: tcp_mtu_probing, tcp_base_mss, and .\" tcp_workaround_signed_windows .\" -.TH TCP 7 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH TCP 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME tcp \- TCP protocol .SH SYNOPSIS @@ -71,10 +71,10 @@ latency or bandwidth. To make use of them, the send and receive buffer sizes must be increased. They can be set globally with the -.I net.ipv4.tcp_wmem +.I /proc/sys/net/ipv4/tcp_wmem and -.I net.ipv4.tcp_rmem -sysctl variables, or on individual sockets by using the +.I /proc/sys/net/ipv4/tcp_rmem +files, or on individual sockets by using the .B SO_SNDBUF and .B SO_RCVBUF @@ -86,11 +86,11 @@ The maximum sizes for socket buffers declared via the .B SO_SNDBUF and .B SO_RCVBUF -mechanisms are limited by the global -.I net.core.rmem_max +mechanisms are limited by the values in the +.I /proc/sys/net/core/rmem_max and -.I net.core.wmem_max -sysctls. +.I /proc/sys/net/core/wmem_max +files. Note that TCP actually allocates twice the size of the buffer requested in the .BR setsockopt (2) @@ -101,7 +101,9 @@ in the .BR setsockopt (2) call. TCP uses the extra space for administrative purposes and internal -kernel structures, and the sysctl variables reflect the +kernel structures, and the +/proc +file values reflect the larger sizes compared to the actual TCP windows. On individual connections, the socket buffer size must be set prior to the @@ -161,13 +163,12 @@ apply to TCP. TCP only supports point-to-point communication; broadcasting and multicasting are not supported. -.SS Sysctls -These variables can be accessed by the -.I /proc/sys/net/ipv4/* -files or with the -.BR sysctl (2) -interface. -In addition, most IP sysctls also apply to TCP; see +.SS /proc interfaces +System-wide TCP parameter settings can be accessed by files in the directory +.IR /proc/sys/net/ipv4/ . +In addition, most IP +.I /proc +interfaces also apply to TCP; see .BR ip (7). Variables described as .I Boolean @@ -444,7 +445,7 @@ These parameters are used by TCP to regulate receive buffer sizes. TCP dynamically adjusts the size of the receive buffer from the defaults listed below, in the range -of these sysctl variables, depending on memory available +of these values, depending on memory available in the system. .RS .TP 9 @@ -606,8 +607,8 @@ TCP Reno in wired networks and throughput over wireless links. This is a vector of 3 integers: [min, default, max]. These parameters are used by TCP to regulate send buffer sizes. TCP dynamically adjusts the size of the send buffer from the -default values listed below, in the range of these sysctl -variables, depending on memory available. +default values listed below, in the range of these values, +depending on memory available. .I min - minimum size of the send buffer used by each TCP socket. @@ -629,15 +630,15 @@ defined for all protocols. The default value is 16K bytes. If larger send buffer sizes are desired, this value should be increased (to affect all sockets). -To employ large TCP windows, the sysctl variable -.I net.ipv4.tcp_window_scaling -must be enabled (default). +To employ large TCP windows, the +.I /proc/sys/net/ipv4/tcp_window_scaling +must be set to a non-zero value (default). .I max - the maximum size of the send buffer used by each TCP socket. -This value does not override the global -.IR net.core.wmem_max . +This value does not override the value in +.IR /proc/sys/net/core/wmem_max . This is not used to limit the size of the send buffer declared using .B SO_SNDBUF @@ -715,9 +716,9 @@ portable. .TP .B TCP_LINGER2 The lifetime of orphaned FIN_WAIT2 state sockets. -This option can be used to override the system wide sysctl -.I tcp_fin_timeout -on this socket. +This option can be used to override the system-wide setting in the file +.I /proc/sys/net/ipv4/tcp_fin_timeout +for this socket. This is not to be confused with the .BR socket (7) level option @@ -882,11 +883,13 @@ Support for Explicit Congestion Notification, zero-copy reordering support and some SACK extensions (DSACK) were introduced in 2.4. Support for forward acknowledgement (FACK), TIME_WAIT recycling, -per connection keepalive socket options and sysctls -were introduced in 2.3. +per connection keepalive socket options and the +.I /proc +interfaces were introduced in 2.3. -The default values and descriptions for the sysctl variables -given above are applicable for the 2.4 kernel. +The default values and descriptions for the +.I /proc +files given above are applicable for the 2.4 kernel. .SH NOTES TCP has no real out-of-band data; it has urgent data. In Linux this means if the other end sends newer out-of-band @@ -900,9 +903,8 @@ Linux uses the BSD compatible interpretation of the urgent pointer field by default. This violates RFC\ 1122, but is required for interoperability with other stacks. -It can be changed by the -.I tcp_stdurg -sysctl. +It can be changed via +.IR /proc/sys/net/ipv4/tcp_stdurg . .SH BUGS Not all errors are documented. .br @@ -925,7 +927,6 @@ IPv6 is not described. .BR sendfile (2), .BR sendmsg (2), .BR socket (2), -.BR sysctl (2), .BR ip (7), .BR socket (7) .sp diff --git a/man7/udp.7 b/man7/udp.7 index 83cf30f0c..0824f0e4a 100644 --- a/man7/udp.7 +++ b/man7/udp.7 @@ -5,7 +5,7 @@ .\" of the modification is added to the header. .\" $Id: udp.7,v 1.7 2000/01/22 01:55:05 freitag Exp $ .\" -.TH UDP 7 2008-08-08 "Linux" "Linux Programmer's Manual" +.TH UDP 7 2008-11-20 "Linux" "Linux Programmer's Manual" .SH NAME udp \- User Datagram Protocol for IPv4 .SH SYNOPSIS @@ -60,7 +60,9 @@ is not supported. IP options may be sent or received using the socket options described in .BR ip (7). -They are only processed by the kernel when the appropriate sysctl +They are only processed by the kernel when the appropriate +/proc +parameter is enabled (but still passed to the user even when it is turned off). See .BR ip (7). @@ -79,8 +81,8 @@ When this happens the application should decrease the packet size. Path MTU discovery can be also turned off using the .B IP_MTU_DISCOVER socket option or the -.I ip_no_pmtu_disc -sysctl, see +.I /proc/sys/net/ipv4/ip_no_pmtu_disc +file; see .BR ip (7) for details. When turned off UDP will fragment outgoing UDP packets