aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-03-25 09:37:42 +0900
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-03-25 10:24:01 +0900
commit7cbca67c073263c179f605bdbbdc565ab29d801d (patch)
tree124ce8c81f3e033790416d3d16bd23e2f7bfed07 /include/linux
parent1d5d236d309ab90fa6aedf712f586b3595721373 (diff)
[IPV6]: Support Source Address Selection API (RFC5014).
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/in6.h11
-rw-r--r--include/linux/ipv6.h6
2 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/in6.h b/include/linux/in6.h
index 2a61c82af11..f674000c6c9 100644
--- a/include/linux/in6.h
+++ b/include/linux/in6.h
@@ -249,4 +249,15 @@ struct in6_flowlabel_req
* IP6T_SO_GET_REVISION_TARGET 69
*/
+/* RFC5014: Source address selection */
+#define IPV6_ADDR_PREFERENCES 72
+
+#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
+
#endif
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index 87ae4e389ce..c9ba0da16ce 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -322,7 +322,11 @@ struct ipv6_pinfo {
__u8 recverr:1,
sndflow:1,
pmtudisc:2,
- ipv6only:1;
+ ipv6only:1,
+ srcprefs:3; /* 001: prefer temporary address
+ * 010: prefer public address
+ * 100: prefer care-of address
+ */
__u8 tclass;
__u32 dst_cookie;