Regarding Mellanox bifurcated driver on Azure
Stephen Hemminger
stephen at networkplumber.org
Wed Apr 30 16:28:25 CEST 2025
On Wed, 30 Apr 2025 13:00:53 +0530
Prashant Upadhyaya <praupadhyaya at gmail.com> wrote:
> > With DPDK on Azure, an application should never use the VF directly.
> > It needs to use either netvsc PMD which handles both the vmbus (slow path)
> > and VF (fast path) combined. Or use the older vdev_netvsc/failsafe/tap
> > combination.
> > The latter uses a virtual device to make a failsafe PMD which then does
> > a combination of TAP (via kernel slow path) and MLX5 VF. The failsafe PMD
> > is what is exposed for application usage.
> >
> > The limitations are not explicitly mentioned in the documentation but:
> > - don't use VF directly in application
> > - there is no support for bifurcation where some packets go to kernel
> > and some to DPDK
> > - there is only very limited support for rte_flow; that is with failsafe
> > PMD
> > (not netvsc PMD) and the limitations are that the emulation of rte_flow
> > in the TAP device only supports a few things.
> >
>
> Thanks Stephen, the above information was very instructive.
> If I do use the Netvsc PMD with the latest DPDK, will my DPDK app get the
> non IP packets like ARP, please confirm.
> I quickly tried the Netvsc PMD but don't seem to be getting the ARP packets
> in still.
> When you mention "The failsafe PMD is what is exposed for application
> usage", what is the meaning of this, are the apps expected to use failsafe
> PMD, please suggest.
>
> Regards
> -Prashant
ARP handled differently in virtual network environments. The ARP packets sent
get consumed and replied to by the network infrastructure (in all virtual networks
not just Azure). Non-IP packets always show up on the synthetic VMBus device.
Current docs are here:
https://learn.microsoft.com/en-us/azure/virtual-network/setup-dpdk?tabs=redhat
See vdev_netvsc for picture. https://doc.dpdk.org/guides/nics/vdev_netvsc.html
More information about the dev
mailing list