Hi, Harry

Have you ever tested this patch by yourself?

fm10k's stats should already remove the crc bytes by default.

After your patch applied, if send a packet without vlan(64 bytes),
we expect receive 60 bytes, but it will disappoint you, that only
56 bytes shows in system.

Thanks,
Michael

On 2015/11/16 18:36, Harry van Haaren wrote:
> This patch removes the crc bytes from byte counter statistics.
>
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
> ---
>  drivers/net/fm10k/fm10k_ethdev.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c 
> b/drivers/net/fm10k/fm10k_ethdev.c
> index 441f713..fdb2e81 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -1183,11 +1183,13 @@ fm10k_stats_get(struct rte_eth_dev *dev, struct 
> rte_eth_stats *stats)
>  
>       ipackets = opackets = ibytes = obytes = 0;
>       for (i = 0; (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) &&
> -             (i < hw->mac.max_queues); ++i) {
> +                     (i < hw->mac.max_queues); ++i) {
>               stats->q_ipackets[i] = hw_stats->q[i].rx_packets.count;
>               stats->q_opackets[i] = hw_stats->q[i].tx_packets.count;
> -             stats->q_ibytes[i]   = hw_stats->q[i].rx_bytes.count;
> -             stats->q_obytes[i]   = hw_stats->q[i].tx_bytes.count;
> +             stats->q_ibytes[i]   = hw_stats->q[i].rx_bytes.count -
> +                     (stats->q_ipackets[i] * 4);
> +             stats->q_obytes[i]   = hw_stats->q[i].tx_bytes.count -
> +                     (stats->q_opackets[i] * 4);
>               ipackets += stats->q_ipackets[i];
>               opackets += stats->q_opackets[i];
>               ibytes   += stats->q_ibytes[i];

Reply via email to