diff options
Diffstat (limited to 'include/linux/in6.h')
-rw-r--r-- | include/linux/in6.h | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/include/linux/in6.h b/include/linux/in6.h index 50f9d2d72..4f31677b9 100644 --- a/include/linux/in6.h +++ b/include/linux/in6.h @@ -67,6 +67,33 @@ struct ipv6_mreq { int ipv6mr_ifindex; }; +struct in6_flowlabel_req +{ + struct in6_addr flr_dst; + __u32 flr_label; + __u8 flr_action; + __u8 flr_share; + __u16 flr_flags; + __u16 flr_expires; + __u16 flr_linger; + __u32 __flr_pad; + /* Options in format of IPV6_PKTOPTIONS */ +}; + +#define IPV6_FL_A_GET 0 +#define IPV6_FL_A_PUT 1 +#define IPV6_FL_A_RENEW 2 + +#define IPV6_FL_F_CREATE 1 +#define IPV6_FL_F_EXCL 2 + +#define IPV6_FL_S_NONE 0 +#define IPV6_FL_S_EXCL 1 +#define IPV6_FL_S_PROCESS 2 +#define IPV6_FL_S_USER 3 +#define IPV6_FL_S_ANY 255 + + /* * Bitmask constant declarations to help applications select out the * flow label and priority fields. @@ -75,9 +102,10 @@ struct ipv6_mreq { * sockaddr_in6 is in network byte order. */ -#define IPV6_FLOWINFO_FLOWLABEL 0x00ff -#define IPV6_FLOWINFO_PRIORITY 0x0f00 +#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff +#define IPV6_FLOWINFO_PRIORITY 0x0ff00000 +/* These defintions are obsolete */ #define IPV6_PRIORITY_UNCHARACTERIZED 0x0000 #define IPV6_PRIORITY_FILLER 0x0100 #define IPV6_PRIORITY_UNATTENDED 0x0200 @@ -129,6 +157,7 @@ struct ipv6_mreq { #define IPV6_HOPLIMIT 8 #define IPV6_NEXTHOP 9 #define IPV6_AUTHHDR 10 +#define IPV6_FLOWINFO 11 #if 0 /* Aliases for obsolete names */ @@ -158,4 +187,9 @@ struct ipv6_mreq { #define IPV6_PMTUDISC_WANT 1 #define IPV6_PMTUDISC_DO 2 +/* Flowlabel */ +#define IPV6_FLOWLABEL_MGR 32 +#define IPV6_FLOWINFO_SEND 33 + + #endif |