提交 e42ea986 编写于 作者: E Eric Dumazet 提交者: David S. Miller

net: Cleanup of neighbour code

Using read_pnet() and write_pnet() in neighbour code ease the reading
of code.
Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 7a9546ee
......@@ -220,11 +220,7 @@ extern void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *p
static inline
struct net *neigh_parms_net(const struct neigh_parms *parms)
{
#ifdef CONFIG_NET_NS
return parms->net;
#else
return &init_net;
#endif
return read_pnet(&parms->net);
}
extern unsigned long neigh_rand_reach_time(unsigned long base);
......@@ -241,11 +237,7 @@ extern int pneigh_delete(struct neigh_table *tbl, struct net *net, const void
static inline
struct net *pneigh_net(const struct pneigh_entry *pneigh)
{
#ifdef CONFIG_NET_NS
return pneigh->net;
#else
return &init_net;
#endif
return read_pnet(&pneigh->net);
}
extern void neigh_app_ns(struct neighbour *n);
......
......@@ -531,9 +531,7 @@ struct pneigh_entry * pneigh_lookup(struct neigh_table *tbl,
if (!n)
goto out;
#ifdef CONFIG_NET_NS
n->net = hold_net(net);
#endif
write_pnet(&n->net, hold_net(net));
memcpy(n->key, pkey, key_len);
n->dev = dev;
if (dev)
......@@ -1350,9 +1348,7 @@ struct neigh_parms *neigh_parms_alloc(struct net_device *dev,
dev_hold(dev);
p->dev = dev;
#ifdef CONFIG_NET_NS
p->net = hold_net(net);
#endif
write_pnet(&p->net, hold_net(net));
p->sysctl_table = NULL;
write_lock_bh(&tbl->lock);
p->next = tbl->parms.next;
......@@ -1407,9 +1403,7 @@ void neigh_table_init_no_netlink(struct neigh_table *tbl)
unsigned long now = jiffies;
unsigned long phsize;
#ifdef CONFIG_NET_NS
tbl->parms.net = &init_net;
#endif
write_pnet(&tbl->parms.net, &init_net);
atomic_set(&tbl->parms.refcnt, 1);
tbl->parms.reachable_time =
neigh_rand_reach_time(tbl->parms.base_reachable_time);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册