IP_OPTIONS(2const)

NAME
IP_OPTIONS - options to be sent with every packet

LIBRARY
Standard C library (libc, -lc)

SYNOPSIS
#include <netinet/in.h>  /* Definition of IP* constants */
#include <sys/socket.h>

int setsockopt(int sockfd, IPPROTO_IP, IP_OPTIONS,
               const void buf[size], size_t size);
int getsockopt(int sockfd, IPPROTO_IP, IP_OPTIONS,
               void buf[size], size_t size);

DESCRIPTION
Set or get the IP options to be sent with every packet from this socket.

The arguments are a pointer to a memory buffer containing the options and the buffer length.

The setsockopt(2) call sets the IP options associated with a socket. The maximum option size for IPv4 is 40 bytes. See RFC 791 for the allowed options.

When the initial connection request packet for a SOCK_STREAM socket contains IP options, the IP options will be set automatically to the options from the initial packet with routing headers reversed.

Incoming packets are not allowed to change options after the connection is established.

The processing of all incoming source routing options is disabled by default and can be enabled by using the accept_source_route /proc interface. Other options like timestamps are still handled.

For datagram sockets, IP options can be set only by the local user.

Calling getsockopt(2) with IP_OPTIONS puts the current IP options used for sending into the supplied buffer.

ERRORS
See IPPROTO_IP(2const). See setsockopt(2). See ip(7).

HISTORY
Linux 2.0.

SEE ALSO
IPPROTO_IP(2const), setsockopt(2), ip(7)