[dpdk-dev] [PATCH v4] net/i40e: fix incorrect byte counters

Ferruh Yigit ferruh.yigit at intel.com
Tue Sep 22 11:06:19 CEST 2020


On 9/22/2020 8:37 AM, Junyu Jiang wrote:
> This patch fixed the issue that rx/tx bytes statistics counters
> overflowed on 48 bit limitation by enlarging the limitation.
> 
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Junyu Jiang <junyux.jiang at intel.com>
> ---
> v4: put reading stats and extending in same function.
> v3: create a function to hide the extension inside it.
> v2: modify the error code
> ---
> ---
>   doc/guides/nics/i40e.rst       |  7 ++++
>   drivers/net/i40e/i40e_ethdev.c | 66 +++++++++++++++++++++-------------
>   drivers/net/i40e/i40e_ethdev.h |  9 +++++
>   3 files changed, 57 insertions(+), 25 deletions(-)
> 
> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
> index b7430f6c4..4baa58be6 100644
> --- a/doc/guides/nics/i40e.rst
> +++ b/doc/guides/nics/i40e.rst
> @@ -830,3 +830,10 @@ Tx bytes affected by the link status change
>   
>   For firmware versions prior to 6.01 for X710 series and 3.33 for X722 series, the tx_bytes statistics data is affected by
>   the link down event. Each time the link status changes to down, the tx_bytes decreases 110 bytes.
> +
> +RX/TX statistics may be incorrect when register overflowed
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +The rx_bytes/tx_bytes statistics register is 48 bit length. Although this limitation is enlarged to 64 bit length
> +on the software side, but there is no way to detect if the overflow occurred more than once. So rx_bytes/tx_bytes
> +statistics data is correct when statistics are updated at least once between two overflows.

It can be better to move this block next to other know issue related to 
the stats (Incorrect Rx statistics when packet is oversize), apart from 
that:

Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>


More information about the dev mailing list