Hi, Yes, it’s always zero… It seems dpdk-stable-20.11-3 already include this patch. [xiaopiya@fedora30 dpdk-stable-20.11.3]$ patch -p1 < ./4-4-net-mlx5-fix-imissed-statistics.diff patching file drivers/net/mlx5/linux/mlx5_os.c Reversed (or previously applied) patch detected! Assume -R? [n] n Apply anyway? [n] ^C [xiaopiya@fedora30 dpdk-stable-20.11.3]$ grep -r "mlx5_queue_counter_id_prepare" ./ ./drivers/net/mlx5/linux/mlx5_os.c:mlx5_queue_counter_id_prepare(struct rte_eth_dev *dev) ./drivers/net/mlx5/linux/mlx5_os.c: mlx5_queue_counter_id_prepare(eth_dev); ./drivers/net/mlx5/linux/mlx5_os.c.rej:+mlx5_queue_counter_id_prepare(struct rte_eth_dev *dev) ./drivers/net/mlx5/linux/mlx5_os.c.rej:+ mlx5_queue_counter_id_prepare(eth_dev); ./4-4-net-mlx5-fix-imissed-statistics.diff:+mlx5_queue_counter_id_prepare(struct rte_eth_dev *dev) ./4-4-net-mlx5-fix-imissed-statistics.diff:+ mlx5_queue_counter_id_prepare(eth_dev); Thank you. Best regards Yan Xiaoping From: Gerry Wan Sent: 2021年10月28日 9:58 To: Yan, Xiaoping (NSB - CN/Hangzhou) Cc: Martin Weiser ; David Marchand ; Asaf Penso ; Slava Ovsiienko ; Matan Azrad ; Raslan Darawsheh ; users@dpdk.org Subject: Re: mlx5 VF packet lost between rx_port_unicast_packets and rx_good_packets Are the rx_missed_errors/rx_out_of_buffer counters always showing 0 no matter how fast you push your generator? I had a similar issue with missing counters on DPDK 20.11 that was fixed on 21.05 by applying this patch: http://patchwork.dpdk.org/project/dpdk/patch/1614249901-307665-5-git-send-email-matan@nvidia.com/ Potentially relevant thread: https://inbox.dpdk.org/users/CAAcwi38rs2Vk9MKhRGS3kAK+=dYAnDdECT7f+Ts-f13cANYB+Q@mail.gmail.com/ On Wed, Oct 27, 2021 at 6:39 PM Yan, Xiaoping (NSB - CN/Hangzhou) > wrote: Hi, I checked the counter from PF with ethtool -S, there is no counter named 'rx_prio0_buf_discard' Anyway, I checked all counters from ethtool output, there is not any counter reflects the dropped packets. Any suggestion from mlx maintainer? @Matan Azrad @Asaf Penso @Slava Ovsiienko @Raslan Darawsheh Thank you. Best regards Yan Xiaoping -----Original Message----- From: Martin Weiser > Sent: 2021年10月27日 15:54 To: Yan, Xiaoping (NSB - CN/Hangzhou) >; David Marchand > Cc: Asaf Penso >; users@dpdk.org; Slava Ovsiienko >; Matan Azrad >; Raslan Darawsheh > Subject: Re: mlx5 VF packet lost between rx_port_unicast_packets and rx_good_packets Hi, you may want to check the counter 'rx_prio0_buf_discard' with ethtool (which is not available in DPDK xstats as it seems that this counter is global for the card and not available per port). I opened a ticket a while ago regarding this issue: https://bugs.dpdk.org/show_bug.cgi?id=749 Best regards, Martin Am 27.10.21 um 08:17 schrieb Yan, Xiaoping (NSB - CN/Hangzhou): > Hi, > > I tried with dpdk 20.11-3 downloaded from > https://fast.dpdk.org/rel/dpdk-20.11.3.tar.xz > Problem still exist: > 1. there is packet loss with 2mpps (small packet), 2. no counter for > the dropped packet in NIC. > > traffic generator stats: sends 41990938, receives back 41986105, lost > 4833 testpmd fwd stats: RX-packets: 41986110, TX-packets: 41986110 > port xstats: rx_unicast_packets: 41990938 (all packets reached to the NIC port), rx_good_packets: 41986111 (some is lost), but there is not any counter of the lost packet. > > Here is the log: > [root@up-0 /]# dpdk-testpmd -l "2,3" --legacy-mem --socket-mem > "5000,0" -a 0000:03:06.7 -- -i --nb-cores=1 --portmask=0x1 --rxd=512 > --txd=512 > EAL: Detected 28 lcore(s) > EAL: Detected 2 NUMA nodes > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: No available hugepages reported in hugepages-2048kB > EAL: Probing VFIO support... > EAL: Probe PCI driver: mlx5_pci (15b3:1018) device: 0000:03:06.7 > (socket 0) > mlx5_pci: cannot bind mlx5 socket: Read-only file system > mlx5_pci: Cannot initialize socket: Read-only file system > EAL: No legacy callbacks, legacy socket not created Interactive-mode > selected > testpmd: create a new mbuf pool : n=155456, size=2176, > socket=0 > testpmd: preferred mempool ops selected: ring_mp_mc > > Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. > > Configuring Port 0 (socket 0) > Port 0: 7A:9A:8A:A6:86:93 > Checking link statuses... > Done > testpmd> port stop 0 > Stopping ports... > Checking link statuses... > Done > testpmd> vlan set filter on 0 > testpmd> rx_vlan add 767 0 > testpmd> port start 0 > Port 0: 7A:9A:8A:A6:86:93 > Checking link statuses... > Done > testpmd> set fwd 5tswap > Set 5tswap packet forwarding mode > testpmd> start > 5tswap packet forwarding - ports=1 - cores=1 - streams=1 - NUMA > support enabled, MP allocation mode: native Logical Core 3 (socket 0) forwards packets on 1 streams: > RX P=0/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) > peer=02:00:00:00:00:00 > > 5tswap packet forwarding packets/burst=32 > nb forwarding cores=1 - nb forwarding ports=1 > port 0: RX queue number: 1 Tx queue number: 1 > Rx offloads=0x200 Tx offloads=0x0 > RX queue: 0 > RX desc=512 - RX free threshold=64 > RX threshold registers: pthresh=0 hthresh=0 wthresh=0 > RX Offloads=0x200 > TX queue: 0 > TX desc=512 - TX free threshold=0 > TX threshold registers: pthresh=0 hthresh=0 wthresh=0 > TX offloads=0x0 - TX RS bit threshold=0 > > testpmd> show fwd stats all > > ---------------------- Forward statistics for port 0 ---------------------- > RX-packets: 41986110 RX-dropped: 0 RX-total: 41986110 > TX-packets: 41986110 TX-dropped: 0 TX-total: 41986110 > > ---------------------------------------------------------------------- > ------ > > testpmd> show port xstats 0 > ###### NIC extended statistics for port 0 > rx_good_packets: 41986111 > tx_good_packets: 41986111 > rx_good_bytes: 3106973594 > tx_good_bytes: 3106973594 > rx_missed_errors: 0 > rx_errors: 0 > tx_errors: 0 > rx_mbuf_allocation_errors: 0 > rx_q0_packets: 41986111 > rx_q0_bytes: 3106973594 > rx_q0_errors: 0 > tx_q0_packets: 41986111 > tx_q0_bytes: 3106973594 > rx_wqe_errors: 0 > rx_unicast_packets: 41990938 > rx_unicast_bytes: 3107329412 > tx_unicast_packets: 41986111 > tx_unicast_bytes: 3106973594 > rx_multicast_packets: 1 > rx_multicast_bytes: 114 > tx_multicast_packets: 0 > tx_multicast_bytes: 0 > rx_broadcast_packets: 5 > rx_broadcast_bytes: 1710 > tx_broadcast_packets: 0 > tx_broadcast_bytes: 0 > tx_phy_packets: 0 > rx_phy_packets: 0 > rx_phy_crc_errors: 0 > tx_phy_bytes: 0 > rx_phy_bytes: 0 > rx_phy_in_range_len_errors: 0 > rx_phy_symbol_errors: 0 > rx_phy_discard_packets: 0 > tx_phy_discard_packets: 0 > tx_phy_errors: 0 > rx_out_of_buffer: 0 > tx_pp_missed_interrupt_errors: 0 > tx_pp_rearm_queue_errors: 0 > tx_pp_clock_queue_errors: 0 > tx_pp_timestamp_past_errors: 0 > tx_pp_timestamp_future_errors: 0 > tx_pp_jitter: 0 > tx_pp_wander: 0 > tx_pp_sync_lost: 0 > testpmd> q > Command not found > testpmd> exit > Command not found > testpmd> quit > Telling cores to stop... > Waiting for lcores to finish... > > ---------------------- Forward statistics for port 0 ---------------------- > RX-packets: 41986112 RX-dropped: 0 RX-total: 41986112 > TX-packets: 41986112 TX-dropped: 0 TX-total: 41986112 > > ---------------------------------------------------------------------- > ------ > > Best regards > Yan Xiaoping > > -----Original Message----- > From: David Marchand > > Sent: 2021年10月18日 18:45 > To: Yan, Xiaoping (NSB - CN/Hangzhou) > > Cc: Asaf Penso >; users@dpdk.org; Slava Ovsiienko > >; Matan Azrad >; Raslan > Darawsheh > > Subject: Re: mlx5 VF packet lost between rx_port_unicast_packets and > rx_good_packets > > On Mon, Oct 18, 2021 at 11:28 AM Yan, Xiaoping (NSB - CN/Hangzhou) > wrote: >> I have cloned dpdk code from github >> >> [xiaopiya@fedora30 dpdk]$ git remote -v origin >> https://github.com/DPDK/dpdk.git (fetch) origin >> https://github.com/DPDK/dpdk.git (push) >> >> which tag should I use? >> >> Or do I have to download 20.11.3 from git.dpdk.org? >> >> Sorry, I don’t know the relation between https://github.com/DPDK and git.dpdk.org? > Github DPDK/dpdk repo is a replication of the main repo hosted on dpdk.org servers. > > The official git repos and releases tarballs are on dpdk.org servers. > The list of official releases tarballs is at: > http://core.dpdk.org/download/ The main repo git is at: > https://git.dpdk.org/dpdk/ The LTS/stable releases repo git is at: > https://git.dpdk.org/dpdk-stable/ > > > -- > David Marchand >