Hi,

I’m deploying a containerized DPDK application in an OpenShift Kubernetes 
environment using DPDK 21.11.3.
The application uses a Mellanox ConnectX-5 100G NIC through VFs.

The problem I have is that the ETH stats counter imissed (which seems to be 
mapped to “out_of_buffer” internally in mlx5 PMD driver) is 0 when I don’t 
expect it to be, i.e. when the application doesn’t read the packets fast enough.

Using GDB I can see that it tries to access the counter through 
/sys/class/infiniband/mlx5_99/ports/1/hw_counters/out_of_buffer but the 
hw_counters directory is missing so it will just return a zero value. I don’t 
know why it is missing.
When looking at mlx5_os_read_dev_stat() I can see that there is an alternative 
way of reading the counter, through mlx5_devx_cmd_queue_counter_query() but 
under the condition that priv->q_counters are set.
It doesn’t get set in my case because mlx5_glue->devx_obj_create() fails (errno 
22) in mlx5_devx_cmd_queue_counter_alloc().

Have I missed something?

NIC info:
Mellanox Technologies MT27800 Family [ConnectX-5] - 100Gb 2-port QSFP28 
MCX516A-CCHT
driver: mlx5_core
version: 5.0-0
firmware-version: 16.33.1048 (MT_0000000417)

Please let me know if I need to provide more information.

Best regards,
Daniel

Reply via email to