--- zzzz-none-000/linux-3.10.107/net/ipv6/netfilter/nf_conntrack_reasm.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/net/ipv6/netfilter/nf_conntrack_reasm.c 2021-11-10 11:53:56.000000000 +0000 @@ -14,6 +14,12 @@ * 2 of the License, or (at your option) any later version. */ +/** + * Some part of this file is modified by Ikanos Communications. + * + * Copyright (C) 2013-2014 Ikanos Communications. + */ + #define pr_fmt(fmt) "IPv6-nf: " fmt #include @@ -437,6 +443,14 @@ else if (head->ip_summed == CHECKSUM_COMPLETE) head->csum = csum_add(head->csum, fp->csum); head->truesize += fp->truesize; +#if defined(CONFIG_FUSIV_KERNEL_BWMON_STATS) || defined(CONFIG_FUSIV_KERNEL_BWMON_STATS_MODULE) + /* Sum up all fragments usReceivedLength and store in head SKB and set + all fragments usReceivedLength to zero. Please refer to ip_fragment + in ip_output.c file . + */ + head->apFlowData.bwmonInfo.usReceivedLength += fp->apFlowData.bwmonInfo.usReceivedLength; + fp->apFlowData.bwmonInfo.usReceivedLength = 0 ; +#endif } sub_frag_mem_limit(&fq->q, head->truesize);