summaryrefslogtreecommitdiffstats
path: root/include/linux/in6.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/in6.h')
-rw-r--r--include/linux/in6.h38
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