# module Socket::Constants

`Socket::Constants` provides socket-related constants. All possible socket constants are listed in the documentation but they may not all be present on your platform.

If the underlying platform doesn’t define a constant the corresponding Ruby constant is not defined.

### Constants

AF_ALG

  Interface to kernel crypto API

AF_APPLETALK

  AppleTalk protocol

AF_ATM

  Asynchronous Transfer Mode

AF_AX25

  AX.25 protocol

AF_BLUETOOTH

  Bluetooth low-level socket protocol

AF_CAN

  Controller Area Network automotive bus protocol

AF_CCITT

  CCITT (now ITU-T) protocols

AF_CHAOS

  MIT CHAOS protocols

AF_CNT

  Computer Network Technology

AF_COIP

  Connection-oriented IP

AF_DATAKIT

  Datakit protocol

AF_DEC

  DECnet protocol

AF_DECnet

  DECnet protocol

AF_DLI

  DEC Direct Data Link Interface protocol

AF_E164

  CCITT (ITU-T) E.164 recommendation

AF_ECMA

  European Computer Manufacturers protocols

AF_HYLINK

  NSC Hyperchannel protocol

AF_IB

  InfiniBand native addressing

AF_IMPLINK

  ARPANET IMP protocol

AF_INET

  IPv4 protocol

AF_INET6

  IPv6 protocol

AF_IPX

  IPX protocol

AF_ISDN

  Integrated Services Digital Network

AF_ISO

  ISO Open Systems Interconnection protocols

AF_KCM

  KCM (kernel connection multiplexor) interface

AF_KEY

  Key management protocol, originally developed for usage with IPsec

AF_LAT

  Local Area Transport protocol

AF_LINK

  Link layer interface

AF_LLC

  Logical link control (IEEE 802.2 LLC) protocol

AF_LOCAL

  Host-internal protocols

AF_MAX

  Maximum address family for this platform

AF_MPLS

  Multiprotocol Label Switching

AF_NATM

  Native ATM access

AF_NDRV

  Network driver raw access

AF_NETBIOS

  NetBIOS

AF_NETGRAPH

  Netgraph sockets

AF_NETLINK

  Kernel user interface device

AF_NS

  XEROX NS protocols

AF_OSI

  ISO Open Systems Interconnection protocols

AF_PACKET

  Direct link-layer access

AF_PPP

  Point-to-Point Protocol

AF_PPPOX

  Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)

AF_PUP

  PARC Universal Packet protocol

AF_RDS

  Reliable Datagram Sockets (RDS) protocol

AF_ROUTE

  Internal routing protocol

AF_SIP

  Simple Internet Protocol

AF_SNA

  IBM SNA protocol

AF_SYSTEM

  Kernel event messages

AF_TIPC

  TIPC, “cluster domain sockets” protocol

AF_UNIX

  UNIX sockets

AF_UNSPEC

  Unspecified protocol, any supported address family

AF_VSOCK

  VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication

AF_XDP

  XDP (express data path) interface

AI_ADDRCONFIG

  Accept only if any address is assigned

AI_ALL

  Allow all addresses

AI_CANONNAME

  Fill in the canonical name

AI_DEFAULT

  Default flags for getaddrinfo

AI_MASK

  Valid flag mask for getaddrinfo (not for application use)

AI_NUMERICHOST

  Prevent host name resolution

AI_NUMERICSERV

  Prevent service name resolution

AI_PASSIVE

  Get address to use with bind()

AI_V4MAPPED

  Accept IPv4-mapped IPv6 addresses

AI_V4MAPPED_CFG

  Accept IPv4 mapped addresses if the kernel supports it

EAI_ADDRFAMILY

  Address family for hostname not supported

EAI_AGAIN

  Temporary failure in name resolution

EAI_BADFLAGS

  Invalid flags

EAI_BADHINTS

  Invalid value for hints

EAI_FAIL

  Non-recoverable failure in name resolution

EAI_FAMILY

  Address family not supported

EAI_MAX

  Maximum error code from getaddrinfo

EAI_MEMORY

  Memory allocation failure

EAI_NODATA

  No address associated with hostname

EAI_NONAME

  Hostname nor servname, or not known

EAI_OVERFLOW

  Argument buffer overflow

EAI_PROTOCOL

  Resolved protocol is unknown

EAI_SERVICE

  Servname not supported for socket type

EAI_SOCKTYPE

  Socket type not supported

EAI_SYSTEM

  System error returned in errno

IFF_802_1Q_VLAN

  802.1Q VLAN device

IFF_ALLMULTI

  receive all multicast packets

IFF_ALTPHYS

  use alternate physical connection

IFF_AUTOMEDIA

  auto media select active

IFF_BONDING

  bonding master or slave

IFF_BRIDGE_PORT

  device used as bridge port

IFF_BROADCAST

  broadcast address valid

IFF_CANTCHANGE

  flags not changeable

IFF_CANTCONFIG

  unconfigurable using ioctl(2)

IFF_DEBUG

  turn on debugging

IFF_DISABLE_NETPOLL

  disable netpoll at run-time

IFF_DONT_BRIDGE

  disallow bridging this ether dev

IFF_DORMANT

  driver signals dormant

IFF_DRV_OACTIVE

  tx hardware queue is full

IFF_DRV_RUNNING

  resources allocated

IFF_DYING

  interface is winding down

IFF_DYNAMIC

  dialup device with changing addresses

IFF_EBRIDGE

  ethernet bridging device

IFF_ECHO

  echo sent packets

IFF_ISATAP

  ISATAP interface (RFC4214)

IFF_LINK0

  per link layer defined bit 0

IFF_LINK1

  per link layer defined bit 1

IFF_LINK2

  per link layer defined bit 2

IFF_LIVE_ADDR_CHANGE

  hardware address change when it’s running

IFF_LOOPBACK

  loopback net

IFF_LOWER_UP

  driver signals L1 up

IFF_MACVLAN_PORT

  device used as macvlan port

IFF_MASTER

  master of a load balancer

IFF_MASTER_8023AD

  bonding master, 802.3ad.

IFF_MASTER_ALB

  bonding master, balance-alb.

IFF_MASTER_ARPMON

  bonding master, ARP mon in use

IFF_MONITOR

  user-requested monitor mode

IFF_MULTICAST

  supports multicast

IFF_NOARP

  no address resolution protocol

IFF_NOTRAILERS

  avoid use of trailers

IFF_OACTIVE

  transmission in progress

IFF_OVS_DATAPATH

  device used as Open vSwitch datapath port

IFF_POINTOPOINT

  point-to-point link

IFF_PORTSEL

  can set media type

IFF_PPROMISC

  user-requested promisc mode

IFF_PROMISC

  receive all packets

IFF_RENAMING

  interface is being renamed

IFF_ROUTE

  routing entry installed

IFF_RUNNING

  resources allocated

IFF_SIMPLEX

  can’t hear own transmissions

IFF_SLAVE

  slave of a load balancer

IFF_SLAVE_INACTIVE

  bonding slave not the curr. active

IFF_SLAVE_NEEDARP

  need ARPs for validation

IFF_SMART

  interface manages own routes

IFF_STATICARP

  static ARP

IFF_SUPP_NOFCS

  sending custom FCS

IFF_TEAM_PORT

  used as team port

IFF_TX_SKB_SHARING

  sharing skbs on transmit

IFF_UNICAST_FLT

  unicast filtering

IFF_UP

  interface is up

IFF_VOLATILE

  volatile flags

IFF_WAN_HDLC

  WAN HDLC device

IFF_XMIT_DST_RELEASE

  dev_hard_start_xmit() is allowed to release skb->dst

IFNAMSIZ

  Maximum interface name size

IF_NAMESIZE

  Maximum interface name size

INADDR_ALLHOSTS_GROUP

  Multicast group for all systems on this subset

INADDR_ANY

  A socket bound to `INADDR_ANY` receives packets from all interfaces and sends from the default IP address

INADDR_BROADCAST

  The network broadcast address

INADDR_LOOPBACK

  The loopback address

INADDR_MAX_LOCAL_GROUP

  The last local network multicast group

INADDR_NONE

  A bitmask for matching no valid IP address

INADDR_UNSPEC_GROUP

  The reserved multicast group

INET6_ADDRSTRLEN

  Maximum length of an IPv6 address string

INET_ADDRSTRLEN

  Maximum length of an IPv4 address string

IPPORT_RESERVED

  Default minimum address for bind or connect

IPPORT_USERRESERVED

  Default maximum address for bind or connect

IPPROTO_AH

  IP6 auth header

IPPROTO_BIP

  `IPPROTO_BIP`

IPPROTO_DSTOPTS

  IP6 destination option

IPPROTO_EGP

  Exterior Gateway Protocol

IPPROTO_EON

  ISO cnlp

IPPROTO_ESP

  IP6 Encapsulated Security Payload

IPPROTO_FRAGMENT

  IP6 fragmentation header

IPPROTO_GGP

  Gateway to Gateway Protocol

IPPROTO_HELLO

  “hello” routing protocol

IPPROTO_HOPOPTS

  IP6 hop-by-hop options

IPPROTO_ICMP

  Control message protocol

IPPROTO_ICMPV6

  ICMP6

IPPROTO_IDP

  XNS IDP

IPPROTO_IGMP

  Group Management Protocol

IPPROTO_IP

  Dummy protocol for IP

IPPROTO_IPV6

  IP6 header

IPPROTO_MAX

  Maximum IPPROTO constant

IPPROTO_ND

  Sun net disk protocol

IPPROTO_NONE

  IP6 no next header

IPPROTO_PUP

  PARC Universal Packet protocol

IPPROTO_RAW

  Raw IP packet

IPPROTO_ROUTING

  IP6 routing header

IPPROTO_TCP

  TCP

IPPROTO_TP

  ISO transport protocol class 4

IPPROTO_UDP

  UDP

IPPROTO_XTP

  Xpress Transport Protocol

IPV6_CHECKSUM

  Checksum offset for raw sockets

IPV6_DONTFRAG

  Don’t fragment packets

IPV6_DSTOPTS

  Destination option

IPV6_HOPLIMIT

  Hop limit

IPV6_HOPOPTS

  Hop-by-hop option

IPV6_JOIN_GROUP

  Join a group membership

IPV6_LEAVE_GROUP

  Leave a group membership

IPV6_MTU_DISCOVER

  Path MTU discovery

IPV6_MULTICAST_HOPS

  IP6 multicast hops

IPV6_MULTICAST_IF

  IP6 multicast interface

IPV6_MULTICAST_LOOP

  IP6 multicast loopback

IPV6_NEXTHOP

  Next hop address

IPV6_PATHMTU

  Retrieve current path MTU

IPV6_PKTINFO

  Receive packet information with datagram

IPV6_RECVDSTOPTS

  Receive all IP6 options for response

IPV6_RECVERR

  Enable extended reliable error message passing

IPV6_RECVHOPLIMIT

  Receive hop limit with datagram

IPV6_RECVHOPOPTS

  Receive hop-by-hop options

IPV6_RECVPATHMTU

  Receive current path MTU with datagram

IPV6_RECVPKTINFO

  Receive destination IP address and incoming interface

IPV6_RECVRTHDR

  Receive routing header

IPV6_RECVTCLASS

  Receive traffic class

IPV6_RTHDR

  Allows removal of sticky routing headers

IPV6_RTHDRDSTOPTS

  Allows removal of sticky destination options header

IPV6_RTHDR_TYPE_0

  Routing header type 0

IPV6_TCLASS

  Specify the traffic class

IPV6_UNICAST_HOPS

  IP6 unicast hops

IPV6_USE_MIN_MTU

  Use the minimum MTU size

IPV6_V6ONLY

  Only bind IPv6 with a wildcard bind

IPX_TYPE

  `IPX_TYPE`

IP_ADD_MEMBERSHIP

  Add a multicast group membership

IP_ADD_SOURCE_MEMBERSHIP

  Add a multicast group membership

IP_BLOCK_SOURCE

  Block IPv4 multicast packets with a give source address

IP_DEFAULT_MULTICAST_LOOP

  Default multicast loopback

IP_DEFAULT_MULTICAST_TTL

  Default multicast TTL

IP_DONTFRAG

  Don’t fragment packets

IP_DROP_MEMBERSHIP

  Drop a multicast group membership

IP_DROP_SOURCE_MEMBERSHIP

  Drop a multicast group membership

IP_FREEBIND

  Allow binding to nonexistent IP addresses

IP_HDRINCL

  Header is included with data

IP_IPSEC_POLICY

  IPsec security policy

IP_MAX_MEMBERSHIPS

  Maximum number multicast groups a socket can join

IP_MINTTL

  Minimum TTL allowed for received packets

IP_MSFILTER

  Multicast source filtering

IP_MTU

  The Maximum Transmission Unit of the socket

IP_MTU_DISCOVER

  Path MTU discovery

IP_MULTICAST_IF

  IP multicast interface

IP_MULTICAST_LOOP

  IP multicast loopback

IP_MULTICAST_TTL

  IP multicast TTL

IP_ONESBCAST

  Force outgoing broadcast datagrams to have the undirected broadcast address

IP_OPTIONS

  IP options to be included in packets

IP_PASSSEC

  Retrieve security context with datagram

IP_PKTINFO

  Receive packet information with datagrams

IP_PKTOPTIONS

  Receive packet options with datagrams

IP_PMTUDISC_DO

  Always send DF frames

IP_PMTUDISC_DONT

  Never send DF frames

IP_PMTUDISC_WANT

  Use per-route hints

IP_PORTRANGE

  Set the port range for sockets with unspecified port numbers

IP_RECVDSTADDR

  Receive IP destination address with datagram

IP_RECVERR

  Enable extended reliable error message passing

IP_RECVIF

  Receive interface information with datagrams

IP_RECVOPTS

  Receive all IP options with datagram

IP_RECVRETOPTS

  Receive all IP options for response

IP_RECVSLLA

  Receive link-layer address with datagrams

IP_RECVTOS

  Receive TOS with incoming packets

IP_RECVTTL

  Receive IP TTL with datagrams

IP_RETOPTS

  IP options to be included in datagrams

IP_ROUTER_ALERT

  Notify transit routers to more closely examine the contents of an IP packet

IP_SENDSRCADDR

  Source address for outgoing UDP datagrams

IP_TOS

  IP type-of-service

IP_TRANSPARENT

  Transparent proxy

IP_TTL

  IP time-to-live

IP_UNBLOCK_SOURCE

  Unblock IPv4 multicast packets with a give source address

IP_XFRM_POLICY

  `IP_XFRM_POLICY`

LOCAL_CONNWAIT

  Connect blocks until accepted

LOCAL_CREDS

  Pass credentials to receiver

LOCAL_PEERCRED

  Retrieve peer credentials

MCAST_BLOCK_SOURCE

  Block multicast packets from this source

MCAST_EXCLUDE

  Exclusive multicast source filter

MCAST_INCLUDE

  Inclusive multicast source filter

MCAST_JOIN_GROUP

  Join a multicast group

MCAST_JOIN_SOURCE_GROUP

  Join a multicast source group

MCAST_LEAVE_GROUP

  Leave a multicast group

MCAST_LEAVE_SOURCE_GROUP

  Leave a multicast source group

MCAST_MSFILTER

  Multicast source filtering

MCAST_UNBLOCK_SOURCE

  Unblock multicast packets from this source

MSG_COMPAT

  End of record

MSG_CONFIRM

  Confirm path validity

MSG_CTRUNC

  Control data lost before delivery

MSG_DONTROUTE

  Send without using the routing tables

MSG_DONTWAIT

  This message should be non-blocking

MSG_EOF

  Data completes connection

MSG_EOR

  Data completes record

MSG_ERRQUEUE

  Fetch message from error queue

MSG_FASTOPEN

  Reduce step of the handshake process

MSG_FIN

  `MSG_FIN`

MSG_FLUSH

  Start of a hold sequence. Dumps to so_temp

MSG_HAVEMORE

  Data ready to be read

MSG_HOLD

  Hold fragment in so_temp

MSG_MORE

  Sender will send more

MSG_NOSIGNAL

  Do not generate SIGPIPE

MSG_OOB

  Process out-of-band data

MSG_PEEK

  Peek at incoming message

MSG_PROXY

  Wait for full request

MSG_RCVMORE

  Data remains in the current packet

MSG_RST

  `MSG_RST`

MSG_SEND

  Send the packet in so_temp

MSG_SYN

  `MSG_SYN`

MSG_TRUNC

  Data discarded before delivery

MSG_WAITALL

  Wait for full request or error

NI_DGRAM

  The service specified is a datagram service (looks up UDP ports)

NI_MAXHOST

  Maximum length of a hostname

NI_MAXSERV

  Maximum length of a service name

NI_NAMEREQD

  A name is required

NI_NOFQDN

  An FQDN is not required for local hosts, return only the local part

NI_NUMERICHOST

  Return a numeric address

NI_NUMERICSERV

  Return the service name as a digit string

PF_ALG

  Interface to kernel crypto API

PF_APPLETALK

  AppleTalk protocol

PF_ATM

  Asynchronous Transfer Mode

PF_AX25

  AX.25 protocol

PF_BLUETOOTH

  Bluetooth low-level socket protocol

PF_CAN

  Controller Area Network automotive bus protocol

PF_CCITT

  CCITT (now ITU-T) protocols

PF_CHAOS

  MIT CHAOS protocols

PF_CNT

  Computer Network Technology

PF_COIP

  Connection-oriented IP

PF_DATAKIT

  Datakit protocol

PF_DEC

  DECnet protocol

PF_DECnet

  DECnet protocol

PF_DLI

  DEC Direct Data Link Interface protocol

PF_ECMA

  European Computer Manufacturers protocols

PF_HYLINK

  NSC Hyperchannel protocol

PF_IB

  InfiniBand native addressing

PF_IMPLINK

  ARPANET IMP protocol

PF_INET

  IPv4 protocol

PF_INET6

  IPv6 protocol

PF_IPX

  IPX protocol

PF_ISDN

  Integrated Services Digital Network

PF_ISO

  ISO Open Systems Interconnection protocols

PF_KCM

  KCM (kernel connection multiplexor) interface

PF_KEY

  Key management protocol, originally developed for usage with IPsec

PF_LAT

  Local Area Transport protocol

PF_LINK

  Link layer interface

PF_LLC

  Logical link control (IEEE 802.2 LLC) protocol

PF_LOCAL

  Host-internal protocols

PF_MAX

  Maximum address family for this platform

PF_MPLS

  Multiprotocol Label Switching

PF_NATM

  Native ATM access

PF_NDRV

  Network driver raw access

PF_NETBIOS

  NetBIOS

PF_NETGRAPH

  Netgraph sockets

PF_NETLINK

  Kernel user interface device

PF_NS

  XEROX NS protocols

PF_OSI

  ISO Open Systems Interconnection protocols

PF_PACKET

  Direct link-layer access

PF_PIP

  Help Identify PIP packets

PF_PPP

  Point-to-Point Protocol

PF_PPPOX

  Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)

PF_PUP

  PARC Universal Packet protocol

PF_RDS

  Reliable Datagram Sockets (RDS) protocol

PF_ROUTE

  Internal routing protocol

PF_RTIP

  Help Identify RTIP packets

PF_SIP

  Simple Internet Protocol

PF_SNA

  IBM SNA protocol

PF_SYSTEM

  Kernel event messages

PF_TIPC

  TIPC, “cluster domain sockets” protocol

PF_UNIX

  UNIX sockets

PF_UNSPEC

  Unspecified protocol, any supported address family

PF_VSOCK

  VSOCK (originally “VMWare VSockets”) protocol for hypervisor-guest communication

PF_XDP

  XDP (express data path) interface

PF_XTP

  eXpress Transfer Protocol

SCM_BINTIME

  Timestamp (bintime)

SCM_CREDENTIALS

  The sender’s credentials

SCM_CREDS

  Process credentials

SCM_RIGHTS

  Access rights

SCM_TIMESTAMP

  Timestamp (timeval)

SCM_TIMESTAMPING

  Timestamp (timespec list) (Linux 2.6.30)

SCM_TIMESTAMPNS

  Timespec (timespec)

SCM_UCRED

  User credentials

SCM_WIFI_STATUS

  Wifi status (Linux 3.3)

SHUT_RD

  Shut down the reading side of the socket

SHUT_RDWR

  Shut down the both sides of the socket

SHUT_WR

  Shut down the writing side of the socket

SOCK_CLOEXEC

  Set the close-on-exec (FD_CLOEXEC) flag on the new file descriptor.

SOCK_DGRAM

  A datagram socket provides connectionless, unreliable messaging

SOCK_NONBLOCK

  Set the O_NONBLOCK file status flag on the open file description (see open(2)) referred to by the new file descriptor.

SOCK_PACKET

  Device-level packet access

SOCK_RAW

  A raw socket provides low-level access for direct access or implementing network protocols

SOCK_RDM

  A reliable datagram socket provides reliable delivery of messages

SOCK_SEQPACKET

  A sequential packet socket provides sequenced, reliable two-way connection for datagrams

SOCK_STREAM

  A stream socket provides a sequenced, reliable two-way connection for a byte stream

SOL_ATALK

  AppleTalk socket options

SOL_AX25

  AX.25 socket options

SOL_IP

  IP socket options

SOL_IPX

  IPX socket options

SOL_SOCKET

  Socket-level options

SOL_TCP

  TCP socket options

SOL_UDP

  UDP socket options

SOMAXCONN

  Maximum connection requests that may be queued for a socket

SOPRI_BACKGROUND

  Background socket priority

SOPRI_INTERACTIVE

  Interactive socket priority

SOPRI_NORMAL

  Normal socket priority

SO_ACCEPTCONN

  Socket has had listen() called on it

SO_ACCEPTFILTER

  There is an accept filter

SO_ALLZONES

  Bypass zone boundaries

SO_ATTACH_FILTER

  Attach an accept filter

SO_BINDTODEVICE

  Only send packets from the given interface

SO_BINTIME

  Receive timestamp with datagrams (bintime)

SO_BPF_EXTENSIONS

  Query supported BPF extensions (Linux 3.14)

SO_BROADCAST

  Permit sending of broadcast messages

SO_BUSY_POLL

  Set the threshold in microseconds for low latency polling (Linux 3.11)

SO_CONNECT_TIME

  Returns the number of seconds a socket has been connected. This option is only valid for connection-oriented protocols (Windows)

SO_DEBUG

  Debug info recording

SO_DETACH_FILTER

  Detach an accept filter

SO_DOMAIN

  Domain given for socket() (Linux 2.6.32)

SO_DONTROUTE

  Use interface addresses

SO_DONTTRUNC

  Retain unread data

SO_ERROR

  Get and clear the error status

SO_GET_FILTER

  Obtain filter set by `SO_ATTACH_FILTER` (Linux 3.8)

SO_INCOMING_CPU

  Receive the cpu attached to the socket (Linux 3.19)

SO_INCOMING_NAPI_ID

  Receive the napi ID attached to a RX queue (Linux 4.12)

SO_KEEPALIVE

  Keep connections alive

SO_LINGER

  Linger on close if data is present

SO_LOCK_FILTER

  Lock the filter attached to a socket (Linux 3.9)

SO_MAC_EXEMPT

  Mandatory Access Control exemption for unlabeled peers

SO_MARK

  Set the mark for mark-based routing (Linux 2.6.25)

SO_MAX_PACING_RATE

  Cap the rate computed by transport layer. [bytes per second] (Linux 3.13)

SO_NKE

  Install socket-level Network Kernel Extension

SO_NOFCS

  Set netns of a socket (Linux 3.4)

SO_NOSIGPIPE

  Don’t SIGPIPE on EPIPE

SO_NO_CHECK

  Disable checksums

SO_NREAD

  Get first packet byte count

SO_OOBINLINE

  Leave received out-of-band data in-line

SO_PASSCRED

  Receive `SCM_CREDENTIALS` messages

SO_PASSSEC

  Toggle security context passing (Linux 2.6.18)

SO_PEEK_OFF

  Set the peek offset (Linux 3.4)

SO_PEERCRED

  The credentials of the foreign process connected to this socket

SO_PEERNAME

  Name of the connecting user

SO_PEERSEC

  Obtain the security credentials (Linux 2.6.2)

SO_PRIORITY

  The protocol-defined priority for all packets on this socket

SO_PROTOCOL

  Protocol given for socket() (Linux 2.6.32)

SO_RCVBUF

  Receive buffer size

SO_RCVBUFFORCE

  Receive buffer size without rmem_max limit (Linux 2.6.14)

SO_RCVLOWAT

  Receive low-water mark

SO_RCVTIMEO

  Receive timeout

SO_RECVUCRED

  Receive user credentials with datagram

SO_REUSEADDR

  Allow local address reuse

SO_REUSEPORT

  Allow local address and port reuse

SO_RTABLE

  Set the routing table for this socket (OpenBSD)

SO_RXQ_OVFL

  Toggle cmsg for number of packets dropped (Linux 2.6.33)

SO_SECURITY_AUTHENTICATION

  `SO_SECURITY_AUTHENTICATION`

SO_SECURITY_ENCRYPTION_NETWORK

  `SO_SECURITY_ENCRYPTION_NETWORK`

SO_SECURITY_ENCRYPTION_TRANSPORT

  `SO_SECURITY_ENCRYPTION_TRANSPORT`

SO_SELECT_ERR_QUEUE

  Make select() detect socket error queue with errorfds (Linux 3.10)

SO_SETFIB

  Set the associated routing table for the socket (FreeBSD)

SO_SNDBUF

  Send buffer size

SO_SNDBUFFORCE

  Send buffer size without wmem_max limit (Linux 2.6.14)

SO_SNDLOWAT

  Send low-water mark

SO_SNDTIMEO

  Send timeout

SO_TIMESTAMP

  Receive timestamp with datagrams (timeval)

SO_TIMESTAMPING

  Time stamping of incoming and outgoing packets (Linux 2.6.30)

SO_TIMESTAMPNS

  Receive nanosecond timestamp with datagrams (timespec)

SO_TYPE

  Get the socket type

SO_USELOOPBACK

  Bypass hardware when possible

SO_USER_COOKIE

  Setting an identifier for ipfw purpose mainly

SO_WANTMORE

  Give a hint when more data is ready

SO_WANTOOBFLAG

  OOB data is wanted in MSG_FLAG on receive

SO_WIFI_STATUS

  Toggle cmsg for wifi status (Linux 3.3)

TCP_CONGESTION

  TCP congestion control algorithm (Linux 2.6.13, glibc 2.6)

TCP_CONNECTION_INFO

  Retrieve information about this socket (macOS)

TCP_COOKIE_TRANSACTIONS

  TCP Cookie Transactions (Linux 2.6.33, glibc 2.18)

TCP_CORK

  Don’t send partial frames (Linux 2.2, glibc 2.2)

TCP_DEFER_ACCEPT

  Don’t notify a listening socket until data is ready (Linux 2.4, glibc 2.2)

TCP_FASTOPEN

  Reduce step of the handshake process (Linux 3.7, glibc 2.18)

TCP_INFO

  Retrieve information about this socket (Linux 2.4, glibc 2.2)

TCP_KEEPALIVE

  Idle time before keepalive probes are sent (macOS)

TCP_KEEPCNT

  Maximum number of keepalive probes allowed before dropping a connection (Linux 2.4, glibc 2.2)

TCP_KEEPIDLE

  Idle time before keepalive probes are sent (Linux 2.4, glibc 2.2)

TCP_KEEPINTVL

  Time between keepalive probes (Linux 2.4, glibc 2.2)

TCP_LINGER2

  Lifetime of orphaned FIN_WAIT2 sockets (Linux 2.4, glibc 2.2)

TCP_MAXSEG

  Set maximum segment size

TCP_MD5SIG

  Use MD5 digests (RFC2385, Linux 2.6.20, glibc 2.7)

TCP_NODELAY

  Don’t delay sending to coalesce packets

TCP_NOOPT

  Don’t use TCP options

TCP_NOPUSH

  Don’t push the last block of write

TCP_QUEUE_SEQ

  Sequence of a queue for repair mode (Linux 3.5, glibc 2.18)

TCP_QUICKACK

  Enable quickack mode (Linux 2.4.4, glibc 2.3)

TCP_REPAIR

  Repair mode (Linux 3.5, glibc 2.18)

TCP_REPAIR_OPTIONS

  Options for repair mode (Linux 3.5, glibc 2.18)

TCP_REPAIR_QUEUE

  Queue for repair mode (Linux 3.5, glibc 2.18)

TCP_SYNCNT

  Number of SYN retransmits before a connection is dropped (Linux 2.4, glibc 2.2)

TCP_THIN_DUPACK

  Duplicated acknowledgments handling for thin-streams (Linux 2.6.34, glibc 2.18)

TCP_THIN_LINEAR_TIMEOUTS

  Linear timeouts for thin-streams (Linux 2.6.34, glibc 2.18)

TCP_TIMESTAMP

  TCP timestamp (Linux 3.9, glibc 2.18)

TCP_USER_TIMEOUT

  Max timeout before a TCP connection is aborted (Linux 2.6.37, glibc 2.18)

TCP_WINDOW_CLAMP

  Clamp the size of the advertised window (Linux 2.4, glibc 2.2)

UDP_CORK

  Don’t send partial frames (Linux 2.5.44, glibc 2.11)