---
name: "IPPROTO_IPV6"
section: "2const"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/IPPROTO_IPV6"
---

# IPPROTO\_IPV6(2const)

Linux IPv6 protocol socket options

## NAME

IPPROTO\_IPV6 - Linux IPv6 protocol socket options

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

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

**int setsockopt(int** *sockfd***, IPPROTO\_IPV6, int** *opt***,**                **const void** *val***\[***size***\], size\_t** *size***);** **int getsockopt(int** *sockfd***, IPPROTO\_IPV6, int** *opt***,**                **void** *val***\[***size***\], size\_t** *size***);**

## DESCRIPTION

IPv6 supports some protocol-specific socket options that can be set with [**setsockopt**(2)](/setsockopt/2.md) and read with [**getsockopt**(2)](/getsockopt/2.md). The socket option level for IPv6 is **IPPROTO\_IPV6**. A boolean integer flag is zero when it is false, otherwise true.

The following socket options are supported.

- [**IPV6\_ADDRFORM**(2const)](/IPV6_ADDRFORM/2const.md) [**IPV6\_ADD\_MEMBERSHIP**(2const)](/IPV6_ADD_MEMBERSHIP/2const.md) [**IPV6\_DROP\_MEMBERSHIP**(2const)](/IPV6_DROP_MEMBERSHIP/2const.md) [**IPV6\_MTU**(2const)](/IPV6_MTU/2const.md) [**IPV6\_MTU\_DISCOVER**(2const)](/IPV6_MTU_DISCOVER/2const.md) [**IPV6\_MULTICAST\_HOPS**(2const)](/IPV6_MULTICAST_HOPS/2const.md) [**IPV6\_MULTICAST\_IF**(2const)](/IPV6_MULTICAST_IF/2const.md) [**IPV6\_MULTICAST\_LOOP**(2const)](/IPV6_MULTICAST_LOOP/2const.md) [**IPV6\_RECVPKTINFO**(2const)](/IPV6_RECVPKTINFO/2const.md) [**IPV6\_RTHDR**(2const)](/IPV6_RTHDR/2const.md) [**IPV6\_AUTHHDR**(2const)](/IPV6_AUTHHDR/2const.md) [**IPV6\_DSTOPTS**(2const)](/IPV6_DSTOPTS/2const.md) [**IPV6\_HOPOPTS**(2const)](/IPV6_HOPOPTS/2const.md) [**IPV6\_FLOWINFO**(2const)](/IPV6_FLOWINFO/2const.md) [**IPV6\_HOPLIMIT**(2const)](/IPV6_HOPLIMIT/2const.md) [**IPV6\_RECVERR**(2const)](/IPV6_RECVERR/2const.md) [**IPV6\_ROUTER\_ALERT**(2const)](/IPV6_ROUTER_ALERT/2const.md) [**IPV6\_UNICAST\_HOPS**(2const)](/IPV6_UNICAST_HOPS/2const.md) [**IPV6\_V6ONLY**(2const)](/IPV6_V6ONLY/2const.md)

  ## ERRORS

See [**setsockopt**(2)](/setsockopt/2.md). See [**ipv6**(7)](/ipv6/7.md).

- **ENOPROTOOPT**

  *opt* is invalid.

## HISTORY

- **IPPROTO\_IPV6**

  POSIX.1-2001.

## SEE ALSO

[**setsockopt**(2)](/setsockopt/2.md), [**cmsg**(3)](/cmsg/3.md), [**ipv6**(7)](/ipv6/7.md)
