Hi,
I am having a VM on Azure where I have got two 'accelerated networking' interfaces of Mellanox
# lspci -nn|grep -i ether
6561:00:02.0 Ethernet controller [0200]: Mellanox Technologies MT27710 Family [ConnectX-4 Lx Virtual Function] [15b3:1016] (rev 80)
f08c:00:02.0 Ethernet controller [0200]: Mellanox Technologies MT27710 Family [ConnectX-4 Lx Virtual Function] [15b3:1016] (rev 80)
I have a DPDK application which needs to obtain 'all' packets from the NIC.
I installed the drivers, compiled DPDK24.11 (Ubuntu20.04), my app starts and is able to detect the NIC's.
Everything looks good
myapp.out -c 0x07 -a f08c:00:02.0 -a 6561:00:02.0
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
mlx5_net: Default miss action is not supported.
mlx5_net: Default miss action is not supported.
All Ports initialized
Port 0 is UP (50000 Mbps)
Port 1 is UP (50000 Mbps)
The trouble is that the ARP packets are not being picked up by my DPDK application, I see them being delivered to the kernel via the eth interface corresponding to the port (MLX is a bifurcated driver, you don't really bind to the NIC, so you still see the eth interfaces at linux level and can run tcpdump on those, I see ARP packets in the tcpdump there on the interface)
I can receive UDP packets in my DPDK app though.
My application is not setting any rte_flow rules etc. so I was expecting that by default my dpdk app would get all the packets as is normally the case with other NIC's
Is there something I need to configure for Mellanox NIC somewhere such that I get 'all' the packets including ARP packets in my DPDK app ?
Regards
-Prashant