diff options
| author | Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> | 2003-07-18 09:44:04 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2003-07-18 09:44:04 -0700 |
| commit | 0cc526e0e801dd0a372641bfbefb20f74e881cb9 (patch) | |
| tree | 007758e65478dd65b6ca8bd4943243f320fd6c2b /include/net | |
| parent | 2135f3fb6233831584d450f6bdb792fa04f0d79f (diff) | |
[IPV6]: Fix anycast usage.
- Recognition of reserved anycasts is removed from ipv6_addr_type()
Flag IPV6_ADDR_ANYCAST is removed as well.
- Some meaningless noop code checking for anycast which are not
going to happen is removed from ndisc.c
- ipv6_unicast_destination() replaces suboptimal ipv6_chk_acast_addr()
in data paths
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/ip6_route.h | 10 | ||||
| -rw-r--r-- | include/net/ipv6.h | 3 |
2 files changed, 10 insertions, 3 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index c421186227f7..8654632ff46f 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -45,7 +45,8 @@ extern int ip6_del_rt(struct rt6_info *, void *rtattr); extern int ip6_rt_addr_add(struct in6_addr *addr, - struct net_device *dev); + struct net_device *dev, + int anycast); extern int ip6_rt_addr_del(struct in6_addr *addr, struct net_device *dev); @@ -118,5 +119,12 @@ static inline void ip6_dst_store(struct sock *sk, struct dst_entry *dst, write_unlock(&sk->sk_dst_lock); } +static inline int ipv6_unicast_destination(struct sk_buff *skb) +{ + struct rt6_info *rt = (struct rt6_info *) skb->dst; + + return rt->rt6i_flags & RTF_LOCAL; +} + #endif #endif diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 5c6546accda9..8aeb974d8592 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -51,7 +51,7 @@ /* * Addr type * - * type - unicast | multicast | anycast + * type - unicast | multicast * scope - local | site | global * v4 - compat * v4mapped @@ -63,7 +63,6 @@ #define IPV6_ADDR_UNICAST 0x0001U #define IPV6_ADDR_MULTICAST 0x0002U -#define IPV6_ADDR_ANYCAST 0x0004U #define IPV6_ADDR_LOOPBACK 0x0010U #define IPV6_ADDR_LINKLOCAL 0x0020U |
