inet: frags: add a pointer to struct netns_frags
In order to simplify the API, add a pointer to struct inet_frags. This will allow us to make things less complex. These functions no longer have a struct inet_frags parameter : inet_frag_destroy(struct inet_frag_queue *q /*, struct inet_frags *f */) inet_frag_put(struct inet_frag_queue *q /*, struct inet_frags *f */) inet_frag_kill(struct inet_frag_queue *q /*, struct inet_frags *f */) inet_frags_exit_net(struct netns_frags *nf /*, struct inet_frags *f */) ip6_expire_frag_queue(struct net *net, struct frag_queue *fq) Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
787bea7748
commit
093ba72914
@@ -94,10 +94,10 @@ static void lowpan_frag_expire(struct timer_list *t)
|
||||
if (fq->q.flags & INET_FRAG_COMPLETE)
|
||||
goto out;
|
||||
|
||||
inet_frag_kill(&fq->q, &lowpan_frags);
|
||||
inet_frag_kill(&fq->q);
|
||||
out:
|
||||
spin_unlock(&fq->q.lock);
|
||||
inet_frag_put(&fq->q, &lowpan_frags);
|
||||
inet_frag_put(&fq->q);
|
||||
}
|
||||
|
||||
static inline struct lowpan_frag_queue *
|
||||
@@ -230,7 +230,7 @@ static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, struct sk_buff *prev,
|
||||
struct sk_buff *fp, *head = fq->q.fragments;
|
||||
int sum_truesize;
|
||||
|
||||
inet_frag_kill(&fq->q, &lowpan_frags);
|
||||
inet_frag_kill(&fq->q);
|
||||
|
||||
/* Make the one we just received the head. */
|
||||
if (prev) {
|
||||
@@ -438,7 +438,7 @@ int lowpan_frag_rcv(struct sk_buff *skb, u8 frag_type)
|
||||
ret = lowpan_frag_queue(fq, skb, frag_type);
|
||||
spin_unlock(&fq->q.lock);
|
||||
|
||||
inet_frag_put(&fq->q, &lowpan_frags);
|
||||
inet_frag_put(&fq->q);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -586,13 +586,14 @@ static int __net_init lowpan_frags_init_net(struct net *net)
|
||||
ieee802154_lowpan->frags.high_thresh = IPV6_FRAG_HIGH_THRESH;
|
||||
ieee802154_lowpan->frags.low_thresh = IPV6_FRAG_LOW_THRESH;
|
||||
ieee802154_lowpan->frags.timeout = IPV6_FRAG_TIMEOUT;
|
||||
ieee802154_lowpan->frags.f = &lowpan_frags;
|
||||
|
||||
res = inet_frags_init_net(&ieee802154_lowpan->frags);
|
||||
if (res < 0)
|
||||
return res;
|
||||
res = lowpan_frags_ns_sysctl_register(net);
|
||||
if (res < 0)
|
||||
inet_frags_exit_net(&ieee802154_lowpan->frags, &lowpan_frags);
|
||||
inet_frags_exit_net(&ieee802154_lowpan->frags);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -602,7 +603,7 @@ static void __net_exit lowpan_frags_exit_net(struct net *net)
|
||||
net_ieee802154_lowpan(net);
|
||||
|
||||
lowpan_frags_ns_sysctl_unregister(net);
|
||||
inet_frags_exit_net(&ieee802154_lowpan->frags, &lowpan_frags);
|
||||
inet_frags_exit_net(&ieee802154_lowpan->frags);
|
||||
}
|
||||
|
||||
static struct pernet_operations lowpan_frags_ops = {
|
||||
|
Reference in New Issue
Block a user