<div dir="ltr"><pre style="font-size:13px;color:rgb(0,0,0)"><pre style="text-wrap: wrap;">Hello,

I am trying to set up dpdk with netvsc as master pmd on Azure following
<a href="https://learn.microsoft.com/en-us/azure/virtual-network/setup-dpdk?tabs=ubuntu">https://learn.microsoft.com/en-us/azure/virtual-network/setup-dpdk?tabs=ubuntu</a>
and
<a href="https://doc.dpdk.org/guides-22.11/nics/netvsc.html">https://doc.dpdk.org/guides-22.11/nics/netvsc.html</a>.</pre><pre style="text-wrap: wrap;"><pre style="text-wrap: wrap;"><br></pre><pre style="text-wrap: wrap;">On the Azure VM, I have a LAN and a WAN interface with accelerated networking enabled.I have unbound both the VMBUS devices from the kernel and bound it to uio_hv_generic.The DPDK version is 22.11 running on openwrt 5.15.150.</pre></pre><pre style="text-wrap: wrap;">When I try running testpmd in io mode to send and receive traffic between LAN and WAN port, I notice very low throughput.  Please find the testpmd command and stats below:</pre><pre style="text-wrap: wrap;">/opt/vc/bin/dpdk-testpmd -l 1-3 -n 1 -a f030:00:02.0  -a 2334:00:02.0 -- --rxq=1 --txq=1  -i<br>EAL: Detected CPU lcores: 8<br>EAL: Detected NUMA nodes: 1<br>EAL: Detected static linkage of DPDK<br>EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<br>EAL: Selected IOVA mode 'PA'<br>EAL: Debug dataplane logs available - lower performance<br>EAL: VFIO support initialized<br>EAL: Probe PCI driver: mlx5_pci (15b3:1016) device: 2334:00:02.0 (socket -1)<br>mlx5_net: No available register for sampler.<br>EAL: Probe PCI driver: mlx5_pci (15b3:1016) device: f030:00:02.0 (socket -1)<br>mlx5_net: No available register for sampler.<br>hn_vf_attach(): found matching VF port 0<br>hn_vf_attach(): found matching VF port 1<br>TELEMETRY: No legacy callbacks, legacy socket not created<br>Interactive-mode selected<br>testpmd: create a new mbuf pool <mb_pool_0>: n=326912, size=2560, socket=0<br>testpmd: preferred mempool ops selected: ring_mp_mc<br>Configuring Port 2 (socket 0)<br>Port 2: 00:0D:3A:42:F8:3C<br>Configuring Port 3 (socket 0)<br>Port 3: 00:0D:3A:42:FB:CD<br>Checking link statuses...<br>Done<br>testpmd> start tx_first<br>io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support enabled, MP allocation mode: native<br>Logical Core 2 (socket 0) forwards packets on 2 streams:<br>  RX P=2/Q=0 (socket 0) -> TX P=3/Q=0 (socket 0) peer=02:00:00:00:00:03<br>  RX P=3/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02<br><br>  io packet forwarding packets/burst=32<br>  nb forwarding cores=1 - nb forwarding ports=2<br>  port 2: RX queue number: 1 Tx queue number: 1<br>    Rx offloads=0x0 Tx offloads=0x0<br>    RX queue: 0<br>      RX desc=256 - RX free threshold=0<br>      RX threshold registers: pthresh=0 hthresh=0  wthresh=0<br>      RX Offloads=0x0<br>    TX queue: 0<br>      TX desc=256 - TX free threshold=0<br>      TX threshold registers: pthresh=0 hthresh=0  wthresh=0<br>      TX offloads=0x0 - TX RS bit threshold=0<br>  port 3: RX queue number: 1 Tx queue number: 1<br>    Rx offloads=0x0 Tx offloads=0x0<br>    RX queue: 0<br>      RX desc=256 - RX free threshold=0<br>      RX threshold registers: pthresh=0 hthresh=0  wthresh=0<br>      RX Offloads=0x0<br>    TX queue: 0<br>      TX desc=256 - TX free threshold=0<br>      TX threshold registers: pthresh=0 hthresh=0  wthresh=0<br>      TX offloads=0x0 - TX RS bit threshold=0<br>testpmd> show port stats all<br><br>  ######################## NIC statistics for port 2  ########################<br>  RX-packets: 34         RX-missed: 0          RX-bytes:  2194<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 32         TX-errors: 0          TX-bytes:  2048<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br><br>  ######################## NIC statistics for port 3  ########################<br>  RX-packets: 1          RX-missed: 0          RX-bytes:  86<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 64         TX-errors: 0          TX-bytes:  4096<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br>testpmd> show port stats all<br><br>  ######################## NIC statistics for port 2  ########################<br>  RX-packets: 34         RX-missed: 0          RX-bytes:  2194<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 32         TX-errors: 0          TX-bytes:  2048<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br><br>  ######################## NIC statistics for port 3  ########################<br>  RX-packets: 1          RX-missed: 0          RX-bytes:  86<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 64         TX-errors: 0          TX-bytes:  4096<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br>testpmd> show port stats all<br><br>  ######################## NIC statistics for port 2  ########################<br>  RX-packets: 34         RX-missed: 0          RX-bytes:  2194<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 32         TX-errors: 0          TX-bytes:  2048<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br><br>  ######################## NIC statistics for port 3  ########################<br>  RX-packets: 1          RX-missed: 0          RX-bytes:  86<br>  RX-errors: 0<br>  RX-nombuf:  0<br>  TX-packets: 64         TX-errors: 0          TX-bytes:  4096<br><br>  Throughput (since last show)<br>  Rx-pps:            0          Rx-bps:            0<br>  Tx-pps:            0          Tx-bps:            0<br>  ############################################################################<br>testpmd> quit<br>Telling cores to stop...<br>Waiting for lcores to finish...<br><br>  ---------------------- Forward statistics for port 2  ----------------------<br>  RX-packets: 32             RX-dropped: 0             RX-total: 32<br>  TX-packets: 32             TX-dropped: 0             TX-total: 32<br>  ----------------------------------------------------------------------------<br><br>  ---------------------- Forward statistics for port 3  ----------------------<br>  RX-packets: 0              RX-dropped: 0             RX-total: 0<br>  TX-packets: 64             TX-dropped: 0             TX-total: 64<br>  ----------------------------------------------------------------------------<br><br>  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++<br>  RX-packets: 32             RX-dropped: 0             RX-total: 32<br>  TX-packets: 96             TX-dropped: 0             TX-total: 96<br>  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br><br>Done.<br><br>Stopping port 2...<br>Stopping ports...<br>Done<br><br>Stopping port 3...<br>Stopping ports...<br>Done<br><br>Shutting down port 2...<br>Closing ports...<br>Port 0 is closed<br>Port 2 is closed<br>Done<br><br>Shutting down port 3...<br>Closing ports...<br>Port 1 is closed<br>Port 3 is closed<br>Done<br><br>Bye...<br></pre><pre style="text-wrap: wrap;">If I try with 2 queues , the throughput only slightly improves. I expected to see larger values.</pre><pre style="text-wrap: wrap;">After enabling debug logs i observe that</pre><pre style="text-wrap: wrap;">1. Both the VMbus devices are being probed and matching VF devices found</pre><pre style="text-wrap: wrap;">2. VF devices are being configured with Rx and Tx queue setup.</pre><pre style="text-wrap: wrap;"><span class="gmail-q">Any ideas what I might be doing wrong?</span></pre><pre style="text-wrap: wrap;"><span class="gmail-q">Regards,</span></pre><pre style="text-wrap: wrap;"><span class="gmail-q">Nandini</span></pre></pre></div>

<br>
<span style="background-color:rgb(255,255,255)"><font size="2">This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.</font></span>