#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages/man7/tcp.7:76 #, no-wrap msgid "TCP" msgstr "" #. type: TH #: man-pages/man7/tcp.7:76 #, no-wrap msgid "2014-03-31" msgstr "" #. type: TH #: man-pages/man7/tcp.7:76 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: man-pages/man7/tcp.7:76 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: man-pages/man7/tcp.7:77 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:79 msgid "tcp - TCP protocol" msgstr "" #. type: SH #: man-pages/man7/tcp.7:79 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:81 msgid "B<#include Esys/socket.hE>" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:83 msgid "B<#include Enetinet/in.hE>" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:85 msgid "B<#include Enetinet/tcp.hE>" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:87 msgid "B" msgstr "" #. type: SH #: man-pages/man7/tcp.7:87 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:100 msgid "" "This is an implementation of the TCP protocol defined in RFC\\ 793, RFC\\ " "1122 and RFC\\ 2001 with the NewReno and SACK extensions. It provides a " "reliable, stream-oriented, full-duplex connection between two sockets on top " "of B(7), for both v4 and v6 versions. TCP guarantees that the data " "arrives in order and retransmits lost packets. It generates and checks a " "per-packet checksum to catch transmission errors. TCP does not preserve " "record boundaries." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:119 msgid "" "A newly created TCP socket has no remote or local address and is not fully " "specified. To create an outgoing TCP connection use B(2) to " "establish a connection to another TCP socket. To receive new incoming " "connections, first B(2) the socket to a local address and port and " "then call B(2) to put the socket into the listening state. After " "that a new socket for each incoming connection can be accepted using " "B(2). A socket which has had B(2) or B(2) " "successfully called on it is fully specified and may transmit data. Data " "cannot be transmitted on listening or not yet connected sockets." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:139 msgid "" "Linux supports RFC\\ 1323 TCP high performance extensions. These include " "Protection Against Wrapped Sequence Numbers (PAWS), Window Scaling and " "Timestamps. Window scaling allows the use of large (E 64K) TCP windows " "in order to support links with high 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 and I files, or on individual sockets by using the B and " "B socket options with the B(2) call." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:170 msgid "" "The maximum sizes for socket buffers declared via the B and " "B mechanisms are limited by the values in the I and I files. Note that TCP " "actually allocates twice the size of the buffer requested in the " "B(2) call, and so a succeeding B(2) call will not " "return the same size of buffer as requested in the B(2) call. " "TCP uses the extra space for administrative purposes and internal kernel " "structures, and the I 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 B(2) or B(2) calls in order " "to have it take effect. See B(7) for more information." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:202 msgid "" "TCP supports urgent data. Urgent data is used to signal the receiver that " "some important message is part of the data stream and that it should be " "processed as soon as possible. To send urgent data specify the B " "option to B(2). When urgent data is received, the kernel sends a " "B signal to the process or process group that has been set as the " "socket \"owner\" using the B or B ioctls (or the POSIX." "1-2001-specified B(2) B operation). When the " "B socket option is enabled, urgent data is put into the normal " "data stream (a program can test for its location using the B " "ioctl described below), otherwise it can be received only when the " "B flag is set for B(2) or B(2)." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:210 msgid "" "Linux 2.4 introduced a number of changes for improved throughput and " "scaling, as well as enhanced functionality. Some of these features include " "support for zero-copy B(2), Explicit Congestion Notification, new " "management of TIME_WAIT sockets, keep-alive socket options and support for " "Duplicate SACK extensions." msgstr "" #. type: SS #: man-pages/man7/tcp.7:210 #, no-wrap msgid "Address formats" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:219 msgid "" "TCP is built on top of IP (see B(7)). The address formats defined by " "B(7) apply to TCP. TCP supports point-to-point communication only; " "broadcasting and multicasting are not supported." msgstr "" #. type: SS #: man-pages/man7/tcp.7:219 #, no-wrap msgid "/proc interfaces" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:231 msgid "" "System-wide TCP parameter settings can be accessed by files in the directory " "I. In addition, most IP I interfaces also apply " "to TCP; see B(7). Variables described as I take an integer " "value, with a nonzero value (\"true\") meaning that the corresponding option " "is enabled, and a zero value (\"false\") meaning that the option is " "disabled." msgstr "" #. type: TP #: man-pages/man7/tcp.7:231 #, no-wrap msgid "I (Integer; default: 0; since Linux 2.6.15)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:239 msgid "" "Control the Appropriate Byte Count (ABC), defined in RFC 3465. ABC is a way " "of increasing the congestion window (I) more slowly in response to " "partial acknowledgments. Possible values are:" msgstr "" #. type: IP #: man-pages/man7/tcp.7:240 man-pages/man7/tcp.7:428 man-pages/man7/tcp.7:449 man-pages/man7/tcp.7:593 #, no-wrap msgid "0" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:244 msgid "increase I once per acknowledgment (no ABC)" msgstr "" #. type: IP #: man-pages/man7/tcp.7:244 man-pages/man7/tcp.7:430 man-pages/man7/tcp.7:456 man-pages/man7/tcp.7:595 #, no-wrap msgid "1" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:248 msgid "increase I once per acknowledgment of full sized segment" msgstr "" #. type: IP #: man-pages/man7/tcp.7:248 man-pages/man7/tcp.7:432 man-pages/man7/tcp.7:463 man-pages/man7/tcp.7:597 #, no-wrap msgid "2" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:253 msgid "" "allow increase I by two if acknowledgment is of two segments to " "compensate for delayed acknowledgments." msgstr "" #. type: TP #: man-pages/man7/tcp.7:254 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.4)" msgstr "" #. Since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:266 msgid "" "Enable resetting connections if the listening service is too slow and unable " "to keep up and accept them. It means that if overflow occurred due to a " "burst, the connection will recover. Enable this option I if you are " "really sure that the listening daemon cannot be tuned to accept connections " "faster. Enabling this option can harm the clients of your server." msgstr "" #. type: TP #: man-pages/man7/tcp.7:266 #, no-wrap msgid "I (integer; default: 2; since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:278 msgid "" "Count buffering overhead as I, if " "I is greater than 0; or I, if I is less than or equal to zero." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:291 msgid "" "The socket receive buffer space is shared between the application and kernel." " TCP maintains part of the buffer as the TCP window, this is the size of " "the receive window advertised to the other end. The rest of the space is " "used as the \"application\" buffer, used to isolate the network from " "scheduling and application latencies. The I default " "value of 2 implies that the space used for the application buffer is one " "fourth that of the total." msgstr "" #. type: TP #: man-pages/man7/tcp.7:291 #, no-wrap msgid "" "I (String; default: see text; since Linux 2." "4.20)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:304 msgid "" "Show/set the congestion control algorithm choices available to unprivileged " "processes (see the description of the B socket option). The " "items in the list are separated by white space and terminated by a newline " "character. The list is a subset of those listed in " "I. The default value for this list is " "\"reno\" plus the default setting of I." msgstr "" #. type: TP #: man-pages/man7/tcp.7:304 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 3.14)" msgstr "" #. commit f54b311142a92ea2e42598e347b84e1655caf8e3 #. Text heavily based on Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:321 msgid "" "If this option is enabled, the kernel tries to coalesce small writes (from " "consecutive B(2) and B(2) calls) as much as possible, in " "order to decrease the total number of sent packets. Coalescing is done if " "at least one prior packet for the flow is waiting in Qdisc queues or device " "transmit queue. Applications can still use the B socket option to " "obtain optimal behavior when they know how/when to uncork their sockets." msgstr "" #. type: TP #: man-pages/man7/tcp.7:321 #, no-wrap msgid "" "I (String; read-only; since Linux 2.4.20)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:332 msgid "" "Show a list of the congestion-control algorithms that are registered. The " "items in the list are separated by white space and terminated by a newline " "character. This list is a limiting set for the list in " "I. More congestion-control algorithms may " "be available as modules, but not loaded." msgstr "" #. type: TP #: man-pages/man7/tcp.7:332 #, no-wrap msgid "I (integer; default: 31; since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:337 msgid "" "This variable defines how many bytes of the TCP window are reserved for " "buffering overhead." msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:343 msgid "" "A maximum of (I, mss) bytes in the window are reserved " "for the application buffer. A value of 0 implies that no amount is reserved." "" msgstr "" #. type: TP #: man-pages/man7/tcp.7:343 #, no-wrap msgid "I (Integer; default: 512; since Linux 2.6.17)" msgstr "" #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:352 msgid "" "The initial value of I to be used by the packetization layer " "Path MTU discovery (MTU probing). If MTU probing is enabled, this is the " "initial MSS used by the connection." msgstr "" #. type: TP #: man-pages/man7/tcp.7:352 #, no-wrap msgid "I (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)" msgstr "" #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:366 msgid "" "Enable BIC TCP congestion control algorithm. 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." msgstr "" #. type: TP #: man-pages/man7/tcp.7:366 #, no-wrap msgid "" "I (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)" msgstr "" #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:373 msgid "" "Set the threshold window (in packets) where BIC TCP starts to adjust the " "congestion window. Below this threshold BIC TCP behaves the same as the " "default TCP Reno." msgstr "" #. type: TP #: man-pages/man7/tcp.7:373 #, no-wrap msgid "" "I (Boolean; default: enabled; Linux 2.4.27/2.6.6 " "to 2.6.13)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:377 msgid "" "Force BIC TCP to more quickly respond to changes in congestion window. " "Allows two flows sharing the same connection to converge more rapidly." msgstr "" #. type: TP #: man-pages/man7/tcp.7:377 #, no-wrap msgid "" "I (String; default: see text; since Linux 2.4.13)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:384 msgid "" "Set the default congestion-control algorithm to be used for new connections. " " The algorithm \"reno\" is always available, but additional choices may be " "available depending on kernel configuration. The default value for this " "file is set as part of kernel configuration." msgstr "" #. type: TP #: man-pages/man7/tcp.7:384 #, no-wrap msgid "I (integer; default: 4096; since Linux 2.6.24)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:391 msgid "" "Lower limit, in bytes, of the size of socket reads that will be offloaded to " "a DMA copy engine, if one is present in the system and the kernel was " "configured with the B option." msgstr "" #. type: TP #: man-pages/man7/tcp.7:391 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:395 msgid "Enable RFC\\ 2883 TCP Duplicate SACK support." msgstr "" #. type: TP #: man-pages/man7/tcp.7:395 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:402 msgid "" "Enable RFC\\ 2884 Explicit Congestion Notification. When enabled, " "connectivity to some destinations could be affected due to older, " "misbehaving routers along the path causing connections to be dropped." msgstr "" #. type: TP #: man-pages/man7/tcp.7:402 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.2)" msgstr "" #. Since 2.1.92 #. type: Plain text #: man-pages/man7/tcp.7:406 msgid "Enable TCP Forward Acknowledgement support." msgstr "" #. type: TP #: man-pages/man7/tcp.7:406 #, no-wrap msgid "I (integer; default: 60; since Linux 2.2)" msgstr "" #. Since 2.1.53 #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:416 msgid "" "This specifies how many seconds to wait for a final FIN packet before the " "socket is forcibly closed. This is strictly a violation of the TCP " "specification, but required to prevent denial-of-service attacks. In Linux " "2.2, the default value was 180." msgstr "" #. type: TP #: man-pages/man7/tcp.7:416 #, no-wrap msgid "I (integer; default: 0; since Linux 2.4.21/2.6)" msgstr "" #. Since 2.4.21/2.5.43 #. type: Plain text #: man-pages/man7/tcp.7:425 msgid "" "Enable F-RTO, an enhanced recovery algorithm for TCP retransmission timeouts " "(RTOs). It is particularly beneficial in wireless environments where packet " "loss is typically due to random radio interference rather than intermediate " "router congestion. See RFC 4138 for more details." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:427 msgid "This file can have one of the following values:" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:430 msgid "Disabled." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:432 msgid "The basic version F-RTO algorithm is enabled." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:437 msgid "" "Enable SACK-enhanced F-RTO if flow uses SACK. The basic version can be used " "also when SACK is in use though in that case scenario(s) exists where F-RTO " "interacts badly with the packet counting of the SACK-enabled TCP flow." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:441 msgid "" "Before Linux 2.6.22, this parameter was a Boolean value, supporting just " "values 0 and 1 above." msgstr "" #. type: TP #: man-pages/man7/tcp.7:441 #, no-wrap msgid "I (integer; default: 0; since Linux 2.6.22)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:448 msgid "" "When F-RTO has detected that a TCP retransmission timeout was spurious (i.e, " "the timeout would have been avoided had TCP set a longer retransmission " "timeout), TCP has several options concerning what to do next. Possible " "values are:" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:456 msgid "" "Rate halving based; a smooth and conservative response, results in halved " "congestion window (I) and slow-start threshold (I) after " "one RTT." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:463 msgid "" "Very conservative response; not recommended because even though being valid, " "it interacts poorly with the rest of Linux TCP; halves I and " "I immediately." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:472 msgid "" "Aggressive response; undoes congestion-control measures that are now known " "to be unnecessary (ignoring the possibility of a lost retransmission that " "would require TCP to be more cautious); I and I are restored " "to the values prior to timeout." msgstr "" #. type: TP #: man-pages/man7/tcp.7:473 #, no-wrap msgid "I (integer; default: 75; since Linux 2.4)" msgstr "" #. Since 2.3.18 #. type: Plain text #: man-pages/man7/tcp.7:477 msgid "The number of seconds between TCP keep-alive probes." msgstr "" #. type: TP #: man-pages/man7/tcp.7:477 #, no-wrap msgid "I (integer; default: 9; since Linux 2.2)" msgstr "" #. Since 2.1.43 #. type: Plain text #: man-pages/man7/tcp.7:483 msgid "" "The maximum number of TCP keep-alive probes to send before giving up and " "killing the connection if no response is obtained from the other end." msgstr "" #. type: TP #: man-pages/man7/tcp.7:483 #, no-wrap msgid "I (integer; default: 7200; since Linux 2.2)" msgstr "" #. Since 2.1.43 #. type: Plain text #: man-pages/man7/tcp.7:495 msgid "" "The number of seconds a connection needs to be idle before TCP begins " "sending out keep-alive probes. Keep-alives are sent only when the " "B socket option is enabled. The default value is 7200 seconds " "(2 hours). An idle connection is terminated after approximately an " "additional 11 minutes (9 probes an interval of 75 seconds apart) when keep-" "alive is enabled." msgstr "" #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:500 msgid "" "Note that underlying connection tracking mechanisms and application timeouts " "may be much shorter." msgstr "" #. type: TP #: man-pages/man7/tcp.7:500 #, no-wrap msgid "" "I (Boolean; default: disabled; since Linux 2.4.21/2.6)" msgstr "" #. Since 2.4.21/2.5.60 #. type: Plain text #: man-pages/man7/tcp.7:508 msgid "" "If enabled, the TCP stack makes decisions that prefer lower latency as " "opposed to higher throughput. It this option is disabled, then higher " "throughput is preferred. An example of an application where this default " "should be changed would be a Beowulf compute cluster." msgstr "" #. type: TP #: man-pages/man7/tcp.7:508 #, no-wrap msgid "I (integer; default: see below; since Linux 2.4)" msgstr "" #. Since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:522 msgid "" "The maximum number of orphaned (not attached to any user file handle) TCP " "sockets allowed in the system. When this number is exceeded, the orphaned " "connection is reset and a warning is printed. This limit exists only to " "prevent simple denial-of-service attacks. Lowering this limit is not " "recommended. Network conditions might require you to increase the number of " "orphans allowed, but note that each orphan can eat up to ~64K of unswappable " "memory. The default initial value is set equal to the kernel parameter " "NR_FILE. This initial default is adjusted depending on the memory in the " "system." msgstr "" #. type: TP #: man-pages/man7/tcp.7:522 #, no-wrap msgid "I (integer; default: see below; since Linux 2.2)" msgstr "" #. Since 2.1.53 #. type: Plain text #: man-pages/man7/tcp.7:539 msgid "" "The maximum number of queued connection requests which have still not " "received an acknowledgement from the connecting client. If this number is " "exceeded, the kernel will begin dropping requests. The default value of 256 " "is increased to 1024 when the memory present in the system is adequate or " "greater (E= 128Mb), and reduced to 128 for those systems with very low " "memory (E= 32Mb). It is recommended that if this needs to be increased " "above 1024, TCP_SYNQ_HSIZE in I be modified to keep " "TCP_SYNQ_HSIZE*16E=tcp_max_syn_backlog, and the kernel be recompiled." msgstr "" #. type: TP #: man-pages/man7/tcp.7:539 #, no-wrap msgid "I (integer; default: see below; since Linux 2.4)" msgstr "" #. Since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:549 msgid "" "The maximum number of sockets in TIME_WAIT state allowed in the system. " "This limit exists only to prevent simple denial-of-service attacks. The " "default value of NR_FILE*2 is adjusted depending on the memory in the system." " If this number is exceeded, the socket is closed and a warning is printed." msgstr "" #. type: TP #: man-pages/man7/tcp.7:549 #, no-wrap msgid "" "I (Boolean; default: enabled; since Linux 2.4.17/2.6.7)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:556 msgid "" "If enabled, TCP performs receive buffer auto-tuning, attempting to " "automatically size the buffer (no greater than I) to match the " "size required by the path for full throughput." msgstr "" #. type: TP #: man-pages/man7/tcp.7:556 #, no-wrap msgid "I (since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:568 msgid "" "This is a vector of 3 integers: [low, pressure, high]. These bounds, " "measured in units of the system page size, are used by TCP to track its " "memory usage. The defaults are calculated at boot time from the amount of " "available memory. (TCP can only use I for this, which is " "limited to around 900 megabytes on 32-bit systems. 64-bit systems do not " "suffer this limitation.)" msgstr "" #. type: TP #: man-pages/man7/tcp.7:569 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:573 msgid "" "TCP doesn't regulate its memory allocation when the number of pages it has " "allocated globally is below this number." msgstr "" #. type: TP #: man-pages/man7/tcp.7:573 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:582 msgid "" "When the amount of memory allocated by TCP exceeds this number of pages, TCP " "moderates its memory consumption. This memory pressure state is exited once " "the number of pages allocated falls below the I mark." msgstr "" #. type: TP #: man-pages/man7/tcp.7:582 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:586 msgid "" "The maximum number of pages, globally, that TCP will allocate. This value " "overrides any other limits imposed by the kernel." msgstr "" #. type: TP #: man-pages/man7/tcp.7:587 #, no-wrap msgid "I (integer; default: 0; since Linux 2.6.17)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:592 msgid "" "This parameter controls TCP Packetization-Layer Path MTU Discovery. The " "following values may be assigned to the file:" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:595 msgid "Disabled" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:597 msgid "Disabled by default, enabled when an ICMP black hole detected" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:600 msgid "Always enabled, use initial MSS of I." msgstr "" #. type: TP #: man-pages/man7/tcp.7:601 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.6.6)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:612 msgid "" "By default, TCP saves various connection metrics in the route cache when the " "connection closes, so that connections established in the near future can " "use these to set initial conditions. Usually, this increases overall " "performance, but it may sometimes cause performance degradation. If " "I is enabled, TCP will not cache metrics on closing " "connections." msgstr "" #. type: TP #: man-pages/man7/tcp.7:612 #, no-wrap msgid "I (integer; default: 8; since Linux 2.4)" msgstr "" #. Since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:617 msgid "" "The maximum number of attempts made to probe the other end of a connection " "which has been closed by our end." msgstr "" #. type: TP #: man-pages/man7/tcp.7:617 #, no-wrap msgid "I (integer; default: 3; since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:626 msgid "" "The maximum a packet can be reordered in a TCP packet stream without TCP " "assuming packet loss and going into slow start. It is not advisable to " "change this number. This is a packet reordering detection metric designed " "to minimize unnecessary back off and retransmits provoked by reordering of " "packets on a connection." msgstr "" #. type: TP #: man-pages/man7/tcp.7:626 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.2)" msgstr "" #. Since 2.1.96 #. type: Plain text #: man-pages/man7/tcp.7:630 msgid "Try to send full-sized packets during retransmit." msgstr "" #. type: TP #: man-pages/man7/tcp.7:630 #, no-wrap msgid "I (integer; default: 3; since Linux 2.2)" msgstr "" #. Since 2.1.43 #. type: Plain text #: man-pages/man7/tcp.7:640 msgid "" "The number of times TCP will attempt to retransmit a packet on an " "established connection normally, without the extra effort of getting the " "network layers involved. Once we exceed this number of retransmits, we " "first have the network layer update the route if possible before each new " "retransmit. The default is the RFC specified minimum of 3." msgstr "" #. type: TP #: man-pages/man7/tcp.7:640 #, no-wrap msgid "I (integer; default: 15; since Linux 2.2)" msgstr "" #. Since 2.1.43 #. type: Plain text #: man-pages/man7/tcp.7:650 msgid "" "The maximum number of times a TCP packet is retransmitted in established " "state before giving up. The default value is 15, which corresponds to a " "duration of approximately between 13 to 30 minutes, depending on the " "retransmission timeout. The RFC\\ 1122 specified minimum limit of 100 " "seconds is typically deemed too short." msgstr "" #. type: TP #: man-pages/man7/tcp.7:650 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.2)" msgstr "" #. Since 2.1.90 #. type: Plain text #: man-pages/man7/tcp.7:658 msgid "" "Enable TCP behavior conformant with RFC\\ 1337. When disabled, if a RST is " "received in TIME_WAIT state, we close the socket immediately without waiting " "for the end of the TIME_WAIT period." msgstr "" #. type: TP #: man-pages/man7/tcp.7:658 #, no-wrap msgid "I (since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:666 msgid "" "This is a vector of 3 integers: [min, default, max]. 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 values, depending on memory available in the system." msgstr "" #. type: TP #: man-pages/man7/tcp.7:667 man-pages/man7/tcp.7:843 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:682 msgid "" "minimum size of the receive buffer used by each TCP socket. The default " "value is the system page size. (On Linux 2.4, the default value is 4K, " "lowered to B bytes in low-memory systems.) This value is used to " "ensure that in memory pressure mode, allocations below this size will still " "succeed. This is not used to bound the size of the receive buffer declared " "using B on a socket." msgstr "" #. type: TP #: man-pages/man7/tcp.7:682 man-pages/man7/tcp.7:853 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:696 msgid "" "the default size of the receive buffer for a TCP socket. This value " "overwrites the initial default buffer size from the generic global I defined for all protocols. The default value is 87380 " "bytes. (On Linux 2.4, this will be lowered to 43689 in low-memory systems.) " " If larger receive buffer sizes are desired, this value should be increased " "(to affect all sockets). To employ large TCP windows, the I must be enabled (default)." msgstr "" #. type: TP #: man-pages/man7/tcp.7:696 man-pages/man7/tcp.7:867 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:705 msgid "" "the maximum size of the receive buffer used by each TCP socket. This value " "does not override the global I. This is not used to " "limit the size of the receive buffer declared using B on a socket." " The default value is calculated using the formula" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:707 #, no-wrap msgid " max(87380, min(4MB, I[1]*PAGE_SIZE/128))\n" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:710 msgid "" "(On Linux 2.4, the default is 87380*2 bytes, lowered to 87380 in low-memory " "systems)." msgstr "" #. type: TP #: man-pages/man7/tcp.7:711 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.2)" msgstr "" #. Since 2.1.36 #. type: Plain text #: man-pages/man7/tcp.7:715 msgid "Enable RFC\\ 2018 TCP Selective Acknowledgements." msgstr "" #. type: TP #: man-pages/man7/tcp.7:715 #, no-wrap msgid "" "I (Boolean; default: enabled; since Linux 2.6.18)" msgstr "" #. The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:723 msgid "" "If enabled, provide RFC 2861 behavior and time out the congestion window " "after an idle period. An idle period is defined as the current RTO " "(retransmission timeout). If disabled, the congestion window will not be " "timed out after an idle period." msgstr "" #. type: TP #: man-pages/man7/tcp.7:723 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.2)" msgstr "" #. Since 2.1.44 #. RFC 793 was ambiguous in its specification of the meaning of the #. urgent pointer. RFC 1122 (and RFC 961) fixed on a particular #. resolution of this ambiguity (unfortunately the "wrong" one). #. type: Plain text #: man-pages/man7/tcp.7:737 msgid "" "If this option is enabled, then use the RFC\\ 1122 interpretation of the TCP " "urgent-pointer field. According to this interpretation, the urgent pointer " "points to the last byte of urgent data. If this option is disabled, then " "use the BSD-compatible interpretation of the urgent pointer: the urgent " "pointer points to the first byte after the urgent data. Enabling this " "option may lead to interoperability problems." msgstr "" #. type: TP #: man-pages/man7/tcp.7:737 #, no-wrap msgid "I (integer; default: 5; since Linux 2.2)" msgstr "" #. Since 2.1.38 #. type: Plain text #: man-pages/man7/tcp.7:744 msgid "" "The maximum number of times initial SYNs for an active TCP connection " "attempt will be retransmitted. This value should not be higher than 255. " "The default value is 5, which corresponds to approximately 180 seconds." msgstr "" #. type: TP #: man-pages/man7/tcp.7:744 #, no-wrap msgid "I (integer; default: 5; since Linux 2.2)" msgstr "" #. Since 2.1.38 #. type: Plain text #: man-pages/man7/tcp.7:750 msgid "" "The maximum number of times a SYN/ACK segment for a passive TCP connection " "will be retransmitted. This number should not be higher than 255." msgstr "" #. type: TP #: man-pages/man7/tcp.7:750 #, no-wrap msgid "I (Boolean; since Linux 2.2)" msgstr "" #. Since 2.1.43 #. type: Plain text #: man-pages/man7/tcp.7:770 msgid "" "Enable TCP syncookies. The kernel must be compiled with " "B. Send out syncookies when the syn backlog queue of a " "socket overflows. The syncookies feature attempts to protect a socket from " "a SYN flood attack. This should be used as a last resort, if at all. This " "is a violation of the TCP protocol, and conflicts with other areas of TCP " "such as TCP extensions. It can cause problems for clients and relays. It " "is not recommended as a tuning mechanism for heavily loaded servers to help " "with overloaded or misconfigured conditions. For recommended alternatives " "see I, I, and " "I." msgstr "" #. type: TP #: man-pages/man7/tcp.7:770 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.2)" msgstr "" #. Since 2.1.36 #. type: Plain text #: man-pages/man7/tcp.7:774 msgid "Enable RFC\\ 1323 TCP timestamps." msgstr "" #. type: TP #: man-pages/man7/tcp.7:774 #, no-wrap msgid "I (integer; default: 3; since Linux 2.6.9)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:780 msgid "" "This parameter controls what percentage of the congestion window can be " "consumed by a single TCP Segmentation Offload (TSO) frame. The setting of " "this parameter is a tradeoff between burstiness and building larger TSO " "frames." msgstr "" #. type: TP #: man-pages/man7/tcp.7:780 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.4)" msgstr "" #. Since 2.3.15 #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:789 msgid "" "Enable fast recycling of TIME_WAIT sockets. Enabling this option is not " "recommended since this causes problems when working with NAT (Network " "Address Translation)." msgstr "" #. type: TP #: man-pages/man7/tcp.7:789 #, no-wrap msgid "I (Boolean; default: disabled; since Linux 2.4.19/2.6)" msgstr "" #. Since 2.4.19/2.5.43 #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:797 msgid "" "Allow to reuse TIME_WAIT sockets for new connections when it is safe from " "protocol viewpoint. It should not be changed without advice/request of " "technical experts." msgstr "" #. type: TP #: man-pages/man7/tcp.7:797 #, no-wrap msgid "" "I (Boolean; default: disabled; Linux 2.2 to 2.6.13)" msgstr "" #. Since 2.1.8; removed in 2.6.13 #. The following is from 2.6.12: Documentation/networking/ip-sysctl.txt #. type: Plain text #: man-pages/man7/tcp.7:808 msgid "" "Enable TCP Vegas congestion avoidance algorithm. TCP Vegas is a sender-side " "only change to TCP that anticipates the onset of congestion by estimating " "the bandwidth. TCP Vegas adjusts the sending rate by modifying the " "congestion window. TCP Vegas should provide less packet loss, but it is not " "as aggressive as TCP Reno." msgstr "" #. type: TP #: man-pages/man7/tcp.7:808 #, no-wrap msgid "" "I (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:820 msgid "" "Enable TCP Westwood+ congestion control algorithm. TCP Westwood+ is a " "sender-side only modification of the TCP Reno protocol stack that optimizes " "the performance of TCP congestion control. It is based on end-to-end " "bandwidth estimation to set congestion window and slow start threshold after " "a congestion episode. Using this estimation, TCP Westwood+ adaptively sets " "a slow start threshold and a congestion window which takes into account the " "bandwidth used at the time congestion is experienced. TCP Westwood+ " "significantly increases fairness with respect to TCP Reno in wired networks " "and throughput over wireless links." msgstr "" #. type: TP #: man-pages/man7/tcp.7:820 #, no-wrap msgid "I (Boolean; default: enabled; since Linux 2.2)" msgstr "" #. Since 2.1.36 #. type: Plain text #: man-pages/man7/tcp.7:834 msgid "" "Enable RFC\\ 1323 TCP window scaling. This feature allows the use of a " "large window (E 64K) on a TCP connection, should the other end support " "it. Normally, the 16 bit window length field in the TCP header limits the " "window size to less than 64K bytes. If larger windows are desired, " "applications can increase the size of their socket buffers and the window " "scaling option will be employed. If I is disabled, TCP " "will not negotiate the use of window scaling with the other end during " "connection setup." msgstr "" #. type: TP #: man-pages/man7/tcp.7:834 #, no-wrap msgid "I (since Linux 2.4)" msgstr "" #. Since 2.4.0-test7 #. type: Plain text #: man-pages/man7/tcp.7:842 msgid "" "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 values, depending on memory available." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:853 msgid "" "Minimum size of the send buffer used by each TCP socket. The default value " "is the system page size. (On Linux 2.4, the default value is 4K bytes.) " "This value is used to ensure that in memory pressure mode, allocations below " "this size will still succeed. This is not used to bound the size of the " "send buffer declared using B on a socket." msgstr "" #. True in Linux 2.4 and 2.6 #. type: Plain text #: man-pages/man7/tcp.7:867 msgid "" "The default size of the send buffer for a TCP socket. This value overwrites " "the initial default buffer size from the generic global I 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 I must be set to a nonzero value (default)." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:876 msgid "" "The maximum size of the send buffer used by each TCP socket. This value " "does not override the value in I. This is not " "used to limit the size of the send buffer declared using B on a " "socket. The default value is calculated using the formula" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:878 #, no-wrap msgid " max(65536, min(4MB, I[1]*PAGE_SIZE/128))\n" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:881 msgid "" "(On Linux 2.4, the default value is 128K bytes, lowered 64K depending on low-" "memory systems.)" msgstr "" #. type: TP #: man-pages/man7/tcp.7:882 #, no-wrap msgid "" "I (Boolean; default: disabled; since Linux 2." "6.26)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:888 msgid "" "If enabled, assume that no receipt of a window-scaling option means that the " "remote TCP is broken and treats the window as a signed quantity. If " "disabled, assume that the remote TCP is not broken even if we do not receive " "a window scaling option from it." msgstr "" #. type: SS #: man-pages/man7/tcp.7:888 #, no-wrap msgid "Socket options" msgstr "" #. or SOL_TCP on Linux #. type: Plain text #: man-pages/man7/tcp.7:906 msgid "" "To set or get a TCP socket option, call B(2) to read or " "B(2) to write the option with the option level argument set to " "B. Unless otherwise noted, I is a pointer to an I." " In addition, most B socket options are valid on TCP sockets. " "For more information see B(7)." msgstr "" #. type: TP #: man-pages/man7/tcp.7:906 #, no-wrap msgid "B (since Linux 2.6.13)" msgstr "" #. commit 5f8ef48d240963093451bcf83df89f1a1364f51d #. Author: Stephen Hemminger #. type: Plain text #: man-pages/man7/tcp.7:922 msgid "" "The argument for this option is a string. This option allows the caller to " "set the TCP congestion control algorithm to be used, on a per-socket basis. " "Unprivileged processes are restricted to choosing one of the algorithms in " "I (described above). Privileged processes " "(B) can choose from any of the available congestion-control " "algorithms (see the description of I " "above)." msgstr "" #. type: TP #: man-pages/man7/tcp.7:922 #, no-wrap msgid "B (since Linux 2.2)" msgstr "" #. precisely: since 2.1.127 #. type: Plain text #: man-pages/man7/tcp.7:938 msgid "" "If set, don't send out partial frames. All queued partial frames are sent " "when the option is cleared again. This is useful for prepending headers " "before calling B(2), or for throughput optimization. As currently " "implemented, there is a 200 millisecond ceiling on the time for which output " "is corked by B. If this ceiling is reached, then queued data is " "automatically transmitted. This option can be combined with B " "only since Linux 2.5.71. This option should not be used in code intended to " "be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:938 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.38 #. Useful references: #. http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/ #. http://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept #. type: Plain text #: man-pages/man7/tcp.7:949 msgid "" "Allow a listener to be awakened only when data arrives on the socket. Takes " "an integer value (seconds), this can bound the maximum number of attempts " "TCP will make to complete the connection. This option should not be used in " "code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:949 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:955 msgid "" "Used to collect information about this socket. The kernel returns a " "I as defined in the file I. This " "option should not be used in code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:955 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.18 #. type: Plain text #: man-pages/man7/tcp.7:962 msgid "" "The maximum number of keepalive probes TCP should send before dropping the " "connection. This option should not be used in code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:962 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.18 #. type: Plain text #: man-pages/man7/tcp.7:971 msgid "" "The time (in seconds) the connection needs to remain idle before TCP starts " "sending keepalive probes, if the socket option B has been set " "on this socket. This option should not be used in code intended to be " "portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:971 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.18 #. type: Plain text #: man-pages/man7/tcp.7:976 msgid "" "The time (in seconds) between individual keepalive probes. This option " "should not be used in code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:976 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:988 msgid "" "The lifetime of orphaned FIN_WAIT2 state sockets. This option can be used " "to override the system-wide setting in the file I for this socket. This is not to be confused with the " "B(7) level option B. This option should not be used in " "code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:988 #, no-wrap msgid "B" msgstr "" #. Present in Linux 1.0 #. type: Plain text #: man-pages/man7/tcp.7:998 msgid "" "The maximum segment size for outgoing TCP packets. In Linux 2.2 and " "earlier, and in Linux 2.6.28 and later, if this option is set before " "connection establishment, it also changes the MSS value announced to the " "other end in the initial packet. Values greater than the (eventual) " "interface MTU have no effect. TCP will also impose its minimum and maximum " "bounds over the value provided." msgstr "" #. type: TP #: man-pages/man7/tcp.7:998 #, no-wrap msgid "B" msgstr "" #. Present in Linux 1.0 #. type: Plain text #: man-pages/man7/tcp.7:1015 msgid "" "If set, disable the Nagle algorithm. This means that segments are always " "sent as soon as possible, even if there is only a small amount of data. " "When not set, data is buffered until there is a sufficient amount to send " "out, thereby avoiding the frequent sending of small packets, which results " "in poor utilization of the network. This option is overridden by " "B; however, setting this option forces an explicit flush of " "pending output, even if B is currently set." msgstr "" #. type: TP #: man-pages/man7/tcp.7:1015 #, no-wrap msgid "B (since Linux 2.4.4)" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1030 msgid "" "Enable quickack mode if set or disable quickack mode if cleared. In " "quickack mode, acks are sent immediately, rather than delayed if needed in " "accordance to normal TCP operation. This flag is not permanent, it only " "enables a switch to or from quickack mode. Subsequent operation of the TCP " "protocol will once again enter/leave quickack mode depending on internal " "protocol processing and factors such as delayed ack timeouts occurring and " "data transfer. This option should not be used in code intended to be " "portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:1030 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.18 #. type: Plain text #: man-pages/man7/tcp.7:1037 msgid "" "Set the number of SYN retransmits that TCP should send before aborting the " "attempt to connect. It cannot exceed 255. This option should not be used " "in code intended to be portable." msgstr "" #. type: TP #: man-pages/man7/tcp.7:1037 #, no-wrap msgid "B (since Linux 2.6.37)" msgstr "" #. commit dca43c75e7e545694a9dd6288553f55c53e2a3a3 #. Author: Jerry Chu #. The following text taken nearly verbatim from Jerry Chu's (excellent) #. commit message. #. type: Plain text #: man-pages/man7/tcp.7:1055 msgid "" "This option takes an I as an argument. When the value is " "greater than 0, it specifies the maximum amount of time in milliseconds that " "transmitted data may remain unacknowledged before TCP will forcibly close " "the corresponding connection and return B to the application. If " "the option value is specified as 0, TCP will to use the system default." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1062 msgid "" "Increasing user timeouts allows a TCP connection to survive extended periods " "without end-to-end connectivity. Decreasing user timeouts allows " "applications to \"fail fast\", if so desired. Otherwise, failure may take " "up to 20 minutes with the current system defaults in a normal WAN " "environment." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1072 msgid "" "This option can be set during any state of a TCP connection, but is only " "effective during the synchronized states of a connection (ESTABLISHED, FIN-" "WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK). Moreover, when used " "with the TCP keepalive (B) option, B will " "override keepalive to determine when to close a connection due to keepalive " "failure." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1075 msgid "" "The option has no effect on when TCP retransmits a packet, nor when a " "keepalive probe is sent." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1079 msgid "" "This option, like many others, will be inherited by the socket returned by " "B(2), if it was set on the listening socket." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1082 msgid "" "Further details on the user timeout feature can be found in RFC\\ 793 and " "RFC\\ 5482 (\"TCP User Timeout Option\")." msgstr "" #. type: TP #: man-pages/man7/tcp.7:1082 #, no-wrap msgid "B (since Linux 2.4)" msgstr "" #. Precisely: since 2.3.41 #. type: Plain text #: man-pages/man7/tcp.7:1089 msgid "" "Bound the size of the advertised window to this value. The kernel imposes a " "minimum size of SOCK_MIN_RCVBUF/2. This option should not be used in code " "intended to be portable." msgstr "" #. type: SS #: man-pages/man7/tcp.7:1089 #, no-wrap msgid "Sockets API" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1098 msgid "" "TCP provides limited support for out-of-band data, in the form of (a single " "byte of) urgent data. In Linux this means if the other end sends newer out-" "of-band data the older urgent data is inserted as normal data into the " "stream (even when B is not set). This differs from BSD-based " "stacks." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1105 msgid "" "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 via I." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1110 msgid "" "It is possible to peek at out-of-band data using the B(2) B " "flag." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1126 msgid "" "Since version 2.4, Linux supports the use of B in the I " "argument of B(2) (and B(2)). This flag causes the received " "bytes of data to be discarded, rather than passed back in a caller-supplied " "buffer. Since Linux 2.4.4, B also has this effect when used in " "conjunction with B to receive out-of-band data." msgstr "" #. type: SS #: man-pages/man7/tcp.7:1126 #, no-wrap msgid "Ioctls" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1132 msgid "" "The following B(2) calls return information in I. The " "correct syntax is:" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1137 #, no-wrap msgid "" "BI< value>B<;>\n" "IB< = ioctl(>IB<, >IB<, &>IB<);>\n" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1142 msgid "I is one of the following:" msgstr "" #. type: TP #: man-pages/man7/tcp.7:1142 #, no-wrap msgid "B" msgstr "" #. FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002, #. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers #. type: Plain text #: man-pages/man7/tcp.7:1158 msgid "" "Returns the amount of queued unread data in the receive buffer. The socket " "must not be in LISTEN state, otherwise an error (B) is returned. " "B is defined in Ilinux/sockios.hE>. Alternatively, you " "can use the synonymous B, defined in Isys/ioctl.hE>." msgstr "" #. type: TP #: man-pages/man7/tcp.7:1158 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1163 msgid "" "Returns true (i.e., I is nonzero) if the inbound data stream is at " "the urgent mark." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1179 msgid "" "If the B socket option is set, and B returns true, " "then the next read from the socket will return the urgent data. If the " "B socket option is not set, and B returns true, " "then the next read from the socket will return the bytes following the " "urgent data (to actually read the urgent data requires the B " "flag)." msgstr "" #. type: Plain text #: man-pages/man7/tcp.7:1193 msgid "" "Note that a read never reads across the urgent mark. If an application is " "informed of the presence of urgent data via B