On Wed, 30 Apr 2025 13:00:53 +0530
Prashant Upadhyaya <praupadhy...@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


Reply via email to