summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-12-03 23:29:30 (GMT)
committerDavid S. Miller <davem@davemloft.net>2011-12-03 23:29:30 (GMT)
commit04a6f4417bfd17c3860e8fb37387cb78265ffe44 (patch)
tree510ac1d7b69dc5ebcc0ab53130442274f70e3652
parent3830847396fa6d7f9a5fec0ca9819c47ac8a64e8 (diff)
downloadlinux-04a6f4417bfd17c3860e8fb37387cb78265ffe44.tar.xz
ipv6: Kill ndisc_get_neigh() inline helper.
It's only used in net/ipv6/route.c and the NULL device check is superfluous for all of the existing call sites. Just expand the __ndisc_lookup_errno() call at each location. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/ndisc.h9
-rw-r--r--net/ipv6/route.c7
2 files changed, 4 insertions, 12 deletions
diff --git a/include/net/ndisc.h b/include/net/ndisc.h
index 62beeb9..c977c37 100644
--- a/include/net/ndisc.h
+++ b/include/net/ndisc.h
@@ -145,13 +145,4 @@ int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl,
extern void inet6_ifinfo_notify(int event,
struct inet6_dev *idev);
-static inline struct neighbour * ndisc_get_neigh(struct net_device *dev, const struct in6_addr *addr)
-{
-
- if (dev)
- return __neigh_lookup_errno(&nd_tbl, addr, dev);
-
- return ERR_PTR(-ENODEV);
-}
-
#endif
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 897a13f..1138b0a 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -744,7 +744,8 @@ static struct rt6_info *rt6_alloc_cow(const struct rt6_info *ort,
#endif
retry:
- neigh = ndisc_get_neigh(rt->rt6i_dev, &rt->rt6i_gateway);
+ neigh = __neigh_lookup_errno(&nd_tbl, &rt->rt6i_gateway,
+ rt->rt6i_dev);
if (IS_ERR(neigh)) {
struct net *net = dev_net(rt->rt6i_dev);
int saved_rt_min_interval =
@@ -1085,7 +1086,7 @@ struct dst_entry *icmp6_dst_alloc(struct net_device *dev,
if (neigh)
neigh_hold(neigh);
else {
- neigh = ndisc_get_neigh(dev, addr);
+ neigh = __neigh_lookup_errno(&nd_tbl, addr, dev);
if (IS_ERR(neigh))
neigh = NULL;
}
@@ -2082,7 +2083,7 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev,
rt->rt6i_flags |= RTF_ANYCAST;
else
rt->rt6i_flags |= RTF_LOCAL;
- neigh = ndisc_get_neigh(rt->rt6i_dev, &rt->rt6i_gateway);
+ neigh = __neigh_lookup_errno(&nd_tbl, &rt->rt6i_gateway, rt->rt6i_dev);
if (IS_ERR(neigh)) {
dst_free(&rt->dst);