--- zzzz-none-000/linux-3.10.107/net/ipv4/ip_fragment.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/net/ipv4/ip_fragment.c 2021-11-10 11:53:56.000000000 +0000 @@ -20,6 +20,12 @@ * Patrick McHardy : LRU queue of frag heads for evictor. */ +/** + * Some part of this file is modified by Ikanos Communications. + * + * Copyright (C) 2013-2014 Ikanos Communications. + */ + #define pr_fmt(fmt) "IPv4: " fmt #include @@ -613,6 +619,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(&qp->q, sum_truesize);