[dpdk-users] Mellanox MLX5 - RX Missed Errors Counter Overflow

Tomáš Jánský tomas.jansky at flowmon.com
Tue Jul 14 10:35:25 CEST 2020


Hi,

I am using the Mellanox MLX5 driver and I noticed nonsense values in
*rx_missed_errors* counter.

Configuration:

   - DPDK version 20.02
   - CentOS Linux release 7.7.1908 (Core)
   - Mellanox OFED version: MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.7-x86_64


I have a function which periodically retrieves xstats counters.

char *field_names[7] = {"rx_packets_phy", "rx_discards_phy",
"rx_missed_errors", "rx_errors", "rx_bytes_phy", "tx_packets_phy",
"tx_bytes_phy"};
uint64_t ids[7], values[7];
int i;

for (i = 0; i < 7; i++) {
    rte_eth_xstats_get_id_by_name(port_id, field_names[i], &ids[i]);
}
rte_eth_xstats_get_by_id(port_id, ids, values, 7);

It works perfectly fine until the value in *rx_missed_errors* counter
reaches around 3721692877 (maximum observed value, but probably not the
actual maximum value) which is 0xDDD486CD hex.
After that, the next measurement reports the value 18446744073150886746
which is obviously wrong.
Then, after some time, the value starts again from zero.

The documentation says that the counter is supposed to be 64-byte
unsigned integer: https://doc.dpdk.org/api/structrte__eth__xstat.html

Is anybody else experiencing this issue? It might not be related only to
the MLX5 driver because we had a similar issue with Intel X710 cards.

Thanks.

Tomas


More information about the users mailing list