From c3504686580bd93c3937e3b6d6cfa223c4cd7b74 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 30 May 2014 14:15:48 +0200 Subject: 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) --- include/netinet/in.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'include/netinet') 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 -- cgit v1.2.1