From: Nelson Escobar Date: Wed, 13 Jul 2016 16:52:34 +0000 (-0700) Subject: net/enic: fix calculation of truncated packets X-Git-Tag: spdx-start~6153 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d142e1ac1089;p=dpdk.git net/enic: fix calculation of truncated packets The calculation of truncated packets didn't take into account packet errors due to the adapter not having buffers, causing both the ipackets, and imissed counts to be wrong if such errors occurred. In order to properly calculate the number of packets truncated, we need to subtract the count of errors due to no buffers. Fixes: c44d9f01adf3 ("net/enic: count truncated packets") Signed-off-by: Nelson Escobar --- diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index d117f3062a..329559af85 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -172,7 +172,8 @@ void enic_dev_stats_get(struct enic *enic, struct rte_eth_stats *r_stats) * which can make ibytes be slightly higher than it should be. */ rx_packet_errors = rte_atomic64_read(&soft_stats->rx_packet_errors); - rx_truncated = rx_packet_errors - stats->rx.rx_errors; + rx_truncated = rx_packet_errors - stats->rx.rx_errors - + stats->rx.rx_no_bufs; r_stats->ipackets = stats->rx.rx_frames_ok - rx_truncated; r_stats->opackets = stats->tx.tx_frames_ok;