Print this page
11554 Want TCP_CONGESTION socket option
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
*** 261,270 ****
--- 261,286 ----
first starts and restarts after an idle period.
The process must have the
.Dv PRIV_SYS_NET_CONFIG
privilege if it wants to specify a number greater than that
calculated by RFC 3390.
+ .Pp
+ The operating system also provides alternative algorithms that may be more
+ appropriate for your application, including the CUBIC congestion control
+ algorithm described in RFC 8312.
+ These can be configured system-wide using
+ .Xr ipadm 1M ,
+ or on a per-connection basis with the TCP-level socket option
+ .Dv TCP_CONGESTION ,
+ whose argument is the name of the algorithm to use
+ .Pq for example Dq cubic .
+ If the requested algorithm does not exist, then
+ .Fn setsockopt
+ will fail, and
+ .Va errno
+ will be set to
+ .Er ENOENT .
.Ss "TCP Keep-Alive"
Since TCP determines whether a remote peer is no longer reachable by timing out
waiting for acknowledgements, a host that never sends any new data may never
notice a peer that has gone away.
While consumers can avoid this problem by sending their own periodic heartbeat