aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWang Yufen <wangyufen@huawei.com>2014-03-28 21:27:30 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-31 16:16:16 -0400
commit60ea37f7a5c776be4631c535c7cdd3ce62cf4dee (patch)
treeb2d87158ab2ea59d199d0b02b2242571e761ec58
parent4aa956d801470c9d338f6095e2cf9a5b58909337 (diff)
ipv6: reuse rt6_need_strict
Move the whole rt6_need_strict as static inline into ip6_route.h, so that it can be reused Signed-off-by: Wang Yufen <wangyufen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/ip6_route.h5
-rw-r--r--net/ipv6/route.c6
2 files changed, 5 insertions, 6 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index 00e3f12cb2f9..3c3bb184eb8f 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -51,6 +51,11 @@ static inline unsigned int rt6_flags2srcprefs(int flags)
51 return (flags >> 3) & 7; 51 return (flags >> 3) & 7;
52} 52}
53 53
54static inline bool rt6_need_strict(const struct in6_addr *daddr)
55{
56 return ipv6_addr_type(daddr) &
57 (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL | IPV6_ADDR_LOOPBACK);
58}
54 59
55void ip6_route_input(struct sk_buff *skb); 60void ip6_route_input(struct sk_buff *skb);
56 61
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index b93ae6a6a31c..5015c50a5ba7 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -374,12 +374,6 @@ static bool rt6_check_expired(const struct rt6_info *rt)
374 return false; 374 return false;
375} 375}
376 376
377static bool rt6_need_strict(const struct in6_addr *daddr)
378{
379 return ipv6_addr_type(daddr) &
380 (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL | IPV6_ADDR_LOOPBACK);
381}
382
383/* Multipath route selection: 377/* Multipath route selection:
384 * Hash based function using packet header and flowlabel. 378 * Hash based function using packet header and flowlabel.
385 * Adapted from fib_info_hashfn() 379 * Adapted from fib_info_hashfn()