diff options
author | Florian Westphal <fw@strlen.de> | 2014-07-24 10:50:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-28 01:34:35 -0400 |
commit | 86e93e470cadedda9181a2bd9aee1d9d2e5e9c0f (patch) | |
tree | adf79021d31261d4ad11c0cbc72ff33cf1e83902 /net/ipv6/reassembly.c | |
parent | fb3cfe6e75b9d05c87265e85e67d7caf6e5b44a7 (diff) |
inet: frag: move evictor calls into frag_find function
First step to move eviction handling into a work queue.
We lose two spots that accounted evicted fragments in MIB counters.
Accounting will be restored since the upcoming work-queue evictor
invokes the frag queue timer callbacks instead.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/reassembly.c')
-rw-r--r-- | net/ipv6/reassembly.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 2b76549a1016..97acbc490d9e 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
@@ -519,7 +519,6 @@ static int ipv6_frag_rcv(struct sk_buff *skb) | |||
519 | struct frag_queue *fq; | 519 | struct frag_queue *fq; |
520 | const struct ipv6hdr *hdr = ipv6_hdr(skb); | 520 | const struct ipv6hdr *hdr = ipv6_hdr(skb); |
521 | struct net *net = dev_net(skb_dst(skb)->dev); | 521 | struct net *net = dev_net(skb_dst(skb)->dev); |
522 | int evicted; | ||
523 | 522 | ||
524 | if (IP6CB(skb)->flags & IP6SKB_FRAGMENTED) | 523 | if (IP6CB(skb)->flags & IP6SKB_FRAGMENTED) |
525 | goto fail_hdr; | 524 | goto fail_hdr; |
@@ -548,11 +547,6 @@ static int ipv6_frag_rcv(struct sk_buff *skb) | |||
548 | return 1; | 547 | return 1; |
549 | } | 548 | } |
550 | 549 | ||
551 | evicted = inet_frag_evictor(&net->ipv6.frags, &ip6_frags, false); | ||
552 | if (evicted) | ||
553 | IP6_ADD_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), | ||
554 | IPSTATS_MIB_REASMFAILS, evicted); | ||
555 | |||
556 | fq = fq_find(net, fhdr->identification, &hdr->saddr, &hdr->daddr, | 550 | fq = fq_find(net, fhdr->identification, &hdr->saddr, &hdr->daddr, |
557 | ip6_frag_ecn(hdr)); | 551 | ip6_frag_ecn(hdr)); |
558 | if (fq != NULL) { | 552 | if (fq != NULL) { |