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