The enic rx_no_bufs counter is a hardware counter of packets dropped on the interface due to no host buffers being available. Use this counter to update the r_stats->imissed counter. Also, include the rx_drop enic counter in the r_stats->ierrors count. Rx_drop plus rx_errors are the total number of packets dropped on by the enic on the Rx interface for reasons other than no host buffers.
Fixes: 7182d3e7d177 ("enic: expose Rx missed packets counter") Signed-off-by: John Daley <johndale at cisco.com> --- v2: improved commit message drivers/net/enic/enic_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index 60fe765..be4e9e5 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -243,10 +243,10 @@ void enic_dev_stats_get(struct enic *enic, struct rte_eth_stats *r_stats) r_stats->ibytes = stats->rx.rx_bytes_ok; r_stats->obytes = stats->tx.tx_bytes_ok; - r_stats->ierrors = stats->rx.rx_errors; + r_stats->ierrors = stats->rx.rx_errors + stats->rx.rx_drop; r_stats->oerrors = stats->tx.tx_errors; - r_stats->imissed = stats->rx.rx_drop; + r_stats->imissed = stats->rx.rx_no_bufs; r_stats->rx_nombuf = stats->rx.rx_no_bufs; } -- 2.7.0