summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNoriaki TAKAMIYA <takamiya@po.ntts.co.jp>2006-09-22 14:45:56 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 15:20:29 -0700
commit3b9f9a1c3903b64c38505f9fed3bb11e48dbc931 (patch)
tree0a508ef9ea7f9795d28333204c0a40c843b81e50 /include
parent55ebaef1d5db9c1c76ba01a87fd986db5dee550d (diff)
[IPV6] ADDRCONF: Mobile IPv6 Home Address support.
IFA_F_HOMEADDRESS is introduced for Mobile IPv6 Home Addresses on Mobile Node. The IFA_F_HOMEADDRESS flag should be set for Mobile IPv6 Home Addresses for 2 purposes. 1) We need to check this on receipt of Type 2 Routing Header (RFC3775 Secion 6.4), 2) We prefer Home Address(es) in source address selection (RFC3484 Section 5 Rule 4). Signed-off-by: Noriaki TAKAMIYA <takamiya@po.ntts.co.jp> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/if_addr.h1
-rw-r--r--include/net/addrconf.h6
2 files changed, 2 insertions, 5 deletions
diff --git a/include/linux/if_addr.h b/include/linux/if_addr.h
index ca24b9de13f..dbe8f6120a4 100644
--- a/include/linux/if_addr.h
+++ b/include/linux/if_addr.h
@@ -39,6 +39,7 @@ enum
#define IFA_F_TEMPORARY IFA_F_SECONDARY
#define IFA_F_NODAD 0x02
+#define IFA_F_HOMEADDRESS 0x10
#define IFA_F_DEPRECATED 0x20
#define IFA_F_TENTATIVE 0x40
#define IFA_F_PERMANENT 0x80
diff --git a/include/net/addrconf.h b/include/net/addrconf.h
index aa2ed8f0a9d..44f1b673f91 100644
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -61,12 +61,8 @@ extern int addrconf_set_dstaddr(void __user *arg);
extern int ipv6_chk_addr(struct in6_addr *addr,
struct net_device *dev,
int strict);
-/* XXX: this is a placeholder till addrconf supports */
#ifdef CONFIG_IPV6_MIP6
-static inline int ipv6_chk_home_addr(struct in6_addr *addr)
-{
- return 0;
-}
+extern int ipv6_chk_home_addr(struct in6_addr *addr);
#endif
extern struct inet6_ifaddr * ipv6_get_ifaddr(struct in6_addr *addr,
struct net_device *dev,