Available on crate feature
socket
only.Expand description
Socket options as used by setsockopt
and getsockopt
.
Structs
Returns a value indicating whether or not this socket has been marked to
accept connections with
listen(2)
.Bind this socket to a particular device like “eth0”.
Set or get the broadcast flag.
Set or get the don’t route flag.
Join a multicast group
Leave a multicast group.
IpFreebind
net
If enabled, this boolean option allows binding to an IP address that
is nonlocal or does not (yet) exist.
Fetch the current system-estimated Path MTU.
Set or read a boolean integer argument that determines whether sent
multicast packets should be looped back to the local sockets.
Set or read the time-to-live value of outgoing multicast packets for
this socket.
IpTos
net
Set or receive the Type-Of-Service (TOS) field that is
sent with every IP packet originating from this socket
Setting this boolean option enables transparent proxying on this socket.
The
recvmsg(2)
call will return the destination IP address for a UDP
datagram.Pass an
IP_PKTINFO
ancillary message that contains a pktinfo
structure that supplies some information about the incoming packet.Enable extended reliable error message passing.
Set or retrieve the current time-to-live field that is used in every
packet sent from this socket.
Join an IPv6 multicast group.
Set “don’t fragment packet” flag on the IPv6 packet.
Leave an IPv6 multicast group.
The
recvmsg(2)
call will return the destination IP address for a UDP
datagram.Control receiving of asynchronous error options.
Set delivery of the
IPV6_PKTINFO
control message on incoming
datagrams.Ipv6TClass
net
Traffic class associated with outgoing packets
Set the unicast hop limit for the socket.
Ipv6V6Only
net
The socket is restricted to sending and receiving IPv6 packets only.
Enable sending of keep-alive messages on connection-oriented sockets.
When enabled, a close(2) or shutdown(2) will not return until all
queued messages for the socket have been successfully sent or the
linger timeout has been reached.
Set the mark for each packet sent through this socket (similar to the
netfilter MARK target but socket-based).
If this option is enabled, out-of-band data is directly placed into
the receive data stream.
OriginalDst
net
Enable or disable the receiving of the
SCM_CREDENTIALS
control
message.Return the credentials of the foreign process connected to this socket.
Priority
net
Set the protocol-defined priority for all packets to be
sent on this socket
Sets or gets the maximum socket receive buffer in bytes.
Using this socket option, a privileged (
CAP_NET_ADMIN
) process can
perform the same task as SO_RCVBUF
, but the rmem_max limit
can be
overridden.Specify the receiving timeout until reporting an error.
Enable or disable the receiving of the
SO_TIMESTAMP
control message.Enable or disable the receiving of the
SO_TIMESTAMPNS
control message.Enables local address reuse
Permits multiple AF_INET or AF_INET6 sockets to be bound to an
identical socket address.
Indicates that an unsigned 32-bit value ancillary message (cmsg) should
be attached to received skbs indicating the number of packets dropped by
the socket since its creation.
Specify the sending timeout until reporting an error.
Sets or gets the maximum socket send buffer in bytes.
Using this socket option, a privileged (
CAP_NET_ADMIN
) process can
perform the same task as SO_SNDBUF
, but the wmem_max
limit can be
overridden.Gets the socket type as an integer.
Get and clear the pending socket error.
This option allows the caller to set the TCP congestion control
algorithm to be used, on a per-socket basis.
TcpKeepCount
net
The maximum number of keepalive probes TCP should send before
dropping the connection.
TcpKeepIdle
net
The time (in seconds) the connection needs to remain idle before TCP
starts sending keepalive probes
The time (in seconds) between individual keepalive probes.
The maximum segment size for outgoing TCP packets.
TcpNoDelay
net
Under most circumstances, TCP sends data when it is presented; when
outstanding data has not yet been acknowledged, it gathers small amounts
of output to be sent in a single packet once an acknowledgement is
received. For a small number of clients, such as window systems that
send a stream of mouse events which receive no replies, this
packetization may cause significant delays. The boolean option
TCP_NODELAY defeats this algorithm.
Specifies the maximum amount of time in milliseconds that transmitted
data may remain unacknowledged before TCP will forcibly close the
corresponding connection
Specifies exact type of timestamping information collected by the kernel
Further reading
Configures the behavior of time-based transmission of packets, for use
with the
TxTime
control message.