Module sockopt

Source
Expand description

Socket options as used by setsockopt and getsockopt.

Structs§

AcceptConn
Returns a value indicating whether or not this socket has been marked to accept connections with listen(2).
AlgSetAeadAuthSize
AlgSetKey
BindToDevice
Bind this socket to a particular device like “eth0”.
Broadcast
Set or get the broadcast flag.
DontRoute
Set or get the don’t route flag.
Ip6tOriginalDst
IpAddMembership
Join a multicast group
IpBindAddressNoPort
If enabled, the kernel will not reserve an ephemeral port when binding socket with a port number of 0. The port will later be automatically chosen at connect time, in a way that allows sharing a source port as long as the 4-tuple is unique.
IpDropMembership
Leave a multicast group.
IpFreebind
If enabled, this boolean option allows binding to an IP address that is nonlocal or does not (yet) exist.
IpMtu
Fetch the current system-estimated Path MTU.
IpMulticastLoop
Set or read a boolean integer argument that determines whether sent multicast packets should be looped back to the local sockets.
IpMulticastTtl
Set or read the time-to-live value of outgoing multicast packets for this socket.
IpTos
Set or receive the Type-Of-Service (TOS) field that is sent with every IP packet originating from this socket
IpTransparent
Setting this boolean option enables transparent proxying on this socket.
Ipv4OrigDstAddr
The recvmsg(2) call will return the destination IP address for a UDP datagram.
Ipv4PacketInfo
Pass an IP_PKTINFO ancillary message that contains a pktinfo structure that supplies some information about the incoming packet.
Ipv4RecvErr
Enable extended reliable error message passing.
Ipv4Ttl
Set or retrieve the current time-to-live field that is used in every packet sent from this socket.
Ipv6AddMembership
Join an IPv6 multicast group.
Ipv6DontFrag
Set “don’t fragment packet” flag on the IPv6 packet.
Ipv6DropMembership
Leave an IPv6 multicast group.
Ipv6MulticastHops
Set or read the hop limit value of outgoing IPv6 multicast packets for this socket.
Ipv6OrigDstAddr
The recvmsg(2) call will return the destination IP address for a UDP datagram.
Ipv6RecvErr
Control receiving of asynchronous error options.
Ipv6RecvPacketInfo
Set delivery of the IPV6_PKTINFO control message on incoming datagrams.
Ipv6TClass
Traffic class associated with outgoing packets
Ipv6Ttl
Set the unicast hop limit for the socket.
Ipv6V6Only
The socket is restricted to sending and receiving IPv6 packets only.
KeepAlive
Enable sending of keep-alive messages on connection-oriented sockets.
Linger
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.
Mark
Set the mark for each packet sent through this socket (similar to the netfilter MARK target but socket-based).
OobInline
If this option is enabled, out-of-band data is directly placed into the receive data stream.
OriginalDst
PassCred
Enable or disable the receiving of the SCM_CREDENTIALS control message.
PeerCredentials
Return the credentials of the foreign process connected to this socket.
Priority
Set the protocol-defined priority for all packets to be sent on this socket
RcvBuf
Sets or gets the maximum socket receive buffer in bytes.
RcvBufForce
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.
ReceiveTimeout
Specify the receiving timeout until reporting an error.
ReceiveTimestamp
Enable or disable the receiving of the SO_TIMESTAMP control message.
ReceiveTimestampns
Enable or disable the receiving of the SO_TIMESTAMPNS control message.
ReuseAddr
Enables local address reuse
ReusePort
Permits multiple AF_INET or AF_INET6 sockets to be bound to an identical socket address.
RxqOvfl
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.
SendTimeout
Specify the sending timeout until reporting an error.
SndBuf
Sets or gets the maximum socket send buffer in bytes.
SndBufForce
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.
SockType
Gets the socket type as an integer.
SocketError
Get and clear the pending socket error.
TcpCongestion
This option allows the caller to set the TCP congestion control algorithm to be used, on a per-socket basis.
TcpFastOpenConnect
Enables TCP Fast Open (RFC 7413) on a connecting socket. If a fast open cookie is not available (first attempt to connect), connect syscall will behave as usual, except for internally trying to solicit a cookie from remote peer. When cookie is available, the next connect syscall will immediately succeed without actually establishing TCP connection. The connection establishment will be defered till the next write or sendmsg syscalls on the socket, allowing TCP prtocol to establish connection and send data in the same packets. Note: calling read right after connect without write on the socket will cause the blocking socket to be blocked forever.
TcpKeepCount
The maximum number of keepalive probes TCP should send before dropping the connection.
TcpKeepIdle
The time (in seconds) the connection needs to remain idle before TCP starts sending keepalive probes
TcpKeepInterval
The time (in seconds) between individual keepalive probes.
TcpMaxSeg
The maximum segment size for outgoing TCP packets.
TcpNoDelay
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.
TcpRepair
TcpTlsRx
Set the Kernel TLS read parameters on the TCP socket.
TcpTlsTx
Set the Kernel TLS write parameters on the TCP socket.
TcpUlp
Set the Upper Layer Protocol (ULP) on the TCP socket.
TcpUserTimeout
Specifies the maximum amount of time in milliseconds that transmitted data may remain unacknowledged before TCP will forcibly close the corresponding connection
Timestamping
Specifies exact type of timestamping information collected by the kernel Further reading
TxTime
Configures the behavior of time-based transmission of packets, for use with the TxTime control message.
UdpGroSegment
UdpGsoSegment

Enums§

TlsCryptoInfo
Value used with the TcpTlsTx and TcpTlsRx socket options.