[dpdk-dev] Inconsistent statistics counters for pmd_i40e

Eimear Morrissey eimear.morrissey at ie.ibm.com
Mon Oct 19 13:43:56 CEST 2015



Hi,

I'm having issues measuring packets dropped at the NIC in both the 2.0.0
and 2.1.0 versions of DPDK on an X710 Intel NIC.

In dpdk-2.0.0
Using rte_eth_xstats the rx_packets and rx_bytes counters increase as
expected, however rx_missed_errors is always 0 even if a sleep statement is
added between calls to rte_eth_rx_burst. However changing the coremask so
the application is running on a different socket than the card will cause
rx_missed_errors to increment for a limited amount of time and then stop.
Using rte_eth_stats, ipackets is incremented on packet receipt but the
q_ipackets and q_errors arrays remain zero. Even crossing sockets seems to
have no effect on q_errors.

In dpdk-2.1.0 the behaviour is the same as above, except that the number of
fields returned by rte_eth_xstats_get is reduced (no rx_missed errors at
all) so running on a different socket no longer has any noticeable effect
on the stats.

My understanding from the API manual is that the rte_eth_stats q_errors
array should count the packets missed because software isn't polling fast
enough, but that doesn't seem to be the case? Is there a standard DPDK way
to check this? The application is a forwarding one so there's no other way
to estimate drop except through NIC rx.

Thanks,
Eimear


More information about the dev mailing list