diff options
| author | Szabolcs Nagy <nsz@port70.net> | 2014-05-30 14:15:48 +0200 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2014-05-30 13:06:51 -0400 | 
| commit | c3504686580bd93c3937e3b6d6cfa223c4cd7b74 (patch) | |
| tree | 87ce8c0aa211ecc6a47b4703f7fb48afba9d9bf3 | |
| parent | c8ea212668425c860c8af3d85aec223dec1f1395 (diff) | |
| download | musl-c3504686580bd93c3937e3b6d6cfa223c4cd7b74.tar.gz | |
update netinet/in.h to match the current kernel uapi
from linux/in.h and linux/in6.h uapi headers the following
missing socket options were added:
IP_NODEFRAG - used with customized ipv4 headers
IPV6_RECVPATHMTU - for ipv6 path mtu
IPV6_PATHMTU - for ipv6 path mtu
IPV6_DONTFRAG - for ipv6 path mtu
IPV6_ADDR_PREFERENCES - RFC5014 Source Address Selection
IPV6_MINHOPCOUNT - RFC5082 Generalized TTL Security Mechanism
IPV6_ORIGDSTADDR - used by tproxy
IPV6_RECVORIGDSTADDR - used by tproxy
IPV6_TRANSPARENT - used by tproxy
IPV6_UNICAST_IF - ipv6 version of IP_UNICAST_IF
and socket option values:
IP_PMTUDISC_OMIT - value for IP_MTU_DISCOVER option, new in linux 3.14
IPV6_PMTUDISC_OMIT - same for IPV6_MTU_DISCOVER
IPV6_PMTUDISC_INTERFACE - ipv6 version of IP_PMTUDISC_INTERFACE
IPV6_PREFER_* - flags for IPV6_ADDR_PREFERENCES
not added: ipv6 flow info and flow label related definitions.
(it's unclear if libc should define these and namespace polluting
type name is involved so they are not provided for now)
| -rw-r--r-- | include/netinet/in.h | 22 | 
1 files changed, 21 insertions, 1 deletions
diff --git a/include/netinet/in.h b/include/netinet/in.h index ee6e19fb..89188c78 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -198,6 +198,7 @@ uint16_t ntohs(uint16_t);  #define IP_ORIGDSTADDR     20  #define IP_RECVORIGDSTADDR IP_ORIGDSTADDR  #define IP_MINTTL          21 +#define IP_NODEFRAG        22  #define IP_MULTICAST_IF    32  #define IP_MULTICAST_TTL   33  #define IP_MULTICAST_LOOP  34 @@ -218,6 +219,7 @@ uint16_t ntohs(uint16_t);  #define IP_PMTUDISC_DO     2  #define IP_PMTUDISC_PROBE  3  #define IP_PMTUDISC_INTERFACE 4 +#define IP_PMTUDISC_OMIT   5  #define IP_DEFAULT_MULTICAST_TTL        1  #define IP_DEFAULT_MULTICAST_LOOP       1 @@ -351,9 +353,17 @@ struct ip6_mtuinfo  #define IPV6_RTHDR              57  #define IPV6_RECVDSTOPTS        58  #define IPV6_DSTOPTS            59 - +#define IPV6_RECVPATHMTU        60 +#define IPV6_PATHMTU            61 +#define IPV6_DONTFRAG           62  #define IPV6_RECVTCLASS         66  #define IPV6_TCLASS             67 +#define IPV6_ADDR_PREFERENCES   72 +#define IPV6_MINHOPCOUNT        73 +#define IPV6_ORIGDSTADDR        74 +#define IPV6_RECVORIGDSTADDR    IPV6_ORIGDSTADDR +#define IPV6_TRANSPARENT        75 +#define IPV6_UNICAST_IF         76  #define IPV6_ADD_MEMBERSHIP     IPV6_JOIN_GROUP  #define IPV6_DROP_MEMBERSHIP    IPV6_LEAVE_GROUP @@ -364,6 +374,16 @@ struct ip6_mtuinfo  #define IPV6_PMTUDISC_WANT      1  #define IPV6_PMTUDISC_DO        2  #define IPV6_PMTUDISC_PROBE     3 +#define IPV6_PMTUDISC_INTERFACE 4 +#define IPV6_PMTUDISC_OMIT      5 + +#define IPV6_PREFER_SRC_TMP            0x0001 +#define IPV6_PREFER_SRC_PUBLIC         0x0002 +#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100 +#define IPV6_PREFER_SRC_COA            0x0004 +#define IPV6_PREFER_SRC_HOME           0x0400 +#define IPV6_PREFER_SRC_CGA            0x0008 +#define IPV6_PREFER_SRC_NONCGA         0x0800  #define IPV6_RTHDR_LOOSE        0  #define IPV6_RTHDR_STRICT       1  | 
