This patch adds MIB counter value about IPSTATS_MIB_REASMFAILS if mem member of netns_frags exceeds high thresh, just like IPv4/v6 stack. Signed-off-by: Shan Wei <shanwei@xxxxxxxxxxxxxx> --- net/ipv6/netfilter/nf_conntrack_reasm.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 32c5bbd..136b0de 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -113,9 +113,13 @@ static __inline__ void fq_kill(struct nf_ct_frag6_queue *fq) inet_frag_kill(&fq->q, &nf_frags); } -static void nf_ct_frag6_evictor(struct net *net) +static void nf_ct_frag6_evictor(struct net *net, struct inet6_dev *idev) { - inet_frag_evictor(&net->ipv6.frags, &nf_frags); + int evicted; + + evicted = inet_frag_evictor(&net->ipv6.frags, &nf_frags); + if (evicted) + IP6_ADD_STATS_BH(net, idev, IPSTATS_MIB_REASMFAILS, evicted); } static void nf_ct_frag6_expire(unsigned long data) @@ -632,7 +636,7 @@ struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb, u32 user) } if (atomic_read(&net->ipv6.frags.mem) > net->ipv6.frags.high_thresh) - nf_ct_frag6_evictor(net); + nf_ct_frag6_evictor(net, idev); fq = fq_find(net, fhdr->identification, user, &hdr->saddr, &hdr->daddr); if (fq == NULL) { -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html