Thanks Stephen.

Is the Netvsc PMD selected by default or I'll need to specify it somewhere?

Since I'm running a proprietary UDP protocol, 3rd parties (e.g. Azure) won't know how a flow is established. I'm curious how exactly Azure selects which NIC to receive a given packet?

Yang

On Wed, Apr 13, 2022 at 8:58 AM Stephen Hemminger <stephen@networkplumber.org> wrote:
On Tue, 12 Apr 2022 13:09:51 -0700
Yang Luan <luan.penny@gmail.com> wrote:

> Hi,
>
> We have an application using DPDK on AWS and would like to port it to
> Azure. What would be recommended PMD to use? If I understand correctly, we
> can either use the Netvsc PMD or the vdev_Netvsc PMD. It seems the Netvsc
> PMD is newer.

Short answer:

Netvsc PMD is faster and can handle events better.
vdev_netvsc/failsafe/tap is slower but can emulate some types of rte_flow.

>
> An alternative is to use the mlx4 PMD by only attaching to the mlx NIC's
> PCI address. As I understand it, the concern is the mlx nic may not receive
> all the packets. We run a proprietary UDP based protocol on top of DPDK.
> Are all UDP packets guaranteed to be received by the mlx NIC?

That won't work. the MLX device only sees established flows.