Accelerated networking with dpdk performance issue

Piyush Gupta 1 Reputation point
2022-12-06T13:35:02.43+00:00

I am running a D8sV3 type instance on azure with RHEL7.9 & accelerated networking enabled on one of the interface.

On this am running my DPDK app which is binding to the VF exposed & its corresponding netvsc interface via vdev_netvsc driver as suggested in https://learn.microsoft.com/en-us/azure/virtual-network/setup-dpdk

DPDK doc : vdev_netvsc.html

The expected behavior is that all traffic should flow through the physical interface (VF) and not from synthetic device (eth2 in my case).
But I can see all traffic coming to eth2 & dtap0 devices. This is causing my dpdk cpus to handle RX interrupts for these packets causing major performance issues & jitters. I am not understanding why all these packets are being mirrored to slow path.

Note: All my traffic is UDP.

267821-azure-pkts-on-eth2.png

267669-dpdk-cpus-perf.png

I would like to know if there is any setting am missing here. This is causing a lot of problems for me to qualify on Azure cloud with expected throughput.

Thanks.

Azure Virtual Machines
Azure Virtual Machines
An Azure service that is used to provision Windows and Linux virtual machines.
9,013 questions
Windows for business Windows Client for IT Pros Storage high availability Virtualization and Hyper-V
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Limitless Technology 44,746 Reputation points
    2022-12-07T11:26:21.927+00:00

    Hi,

    Thank you for posting your query.

    Kindly follow the steps provided below to resolve your issue.

    Data Plane Development Kit (DPDK) on Azure offers a faster user-space packet processing framework for performance-intensive applications. This framework bypasses the virtual machine’s kernel network stack.

    In typical packet processing that uses the kernel network stack, the process is interrupt-driven. When the network interface receives incoming packets, there is a kernel interrupt to process the packet and a context switch from the kernel space to the user space. DPDK eliminates context switching and the interrupt-driven method in favor of a user-space implementation that uses poll mode drivers for fast packet processing.

    Go to this link for your reference and other troubleshooting procedures https://learn.microsoft.com/en-us/azure/virtual-network/setup-dpdk

    ----------------------------------------------------------------------------------------------------------------------------

    If the answer is helpful kindly click "Accept as Answer" and up vote it.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.