--- zzzz-none-000/linux-3.10.107/net/ipv6/reassembly.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/net/ipv6/reassembly.c 2021-11-10 11:53:56.000000000 +0000 @@ -27,6 +27,12 @@ * calculate ICV correctly. */ +/** + * Some part of this file is modified by Ikanos Communications. + * + * Copyright (C) 2013-2014 Ikanos Communications. + */ + #define pr_fmt(fmt) "IPv6: " fmt #include @@ -484,6 +490,14 @@ head->len += fp->len; 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 fp = next; } sub_frag_mem_limit(&fq->q, sum_truesize);