Hi,
On our DPDK primary application (based of MLX5 PMD/Device), facing issue in receiving the IPv6 "Neighbor-Solicitation" packets which is based on Multi-cast address.
Our DPDK primrary application is configured in Flow-isolation mode, by adding the Unicast, Multi-cast and Broad-cast MAC address flows using the rte_flow_create() API, such that we are able to receive all type(IPv6 and IPv4) of packets were received well, except the Multi-cast address packet on the secondary IP-address which is not configured as part of Linux Kernel netDevice interface.
Multi-cast packets were received well only which we add the IP-address on the Linux Kernel interface(ethX based of mlx5_core driver interface) and if we do not add the IP-address on Linux kernel interface then the IPv6 "Neighbor-Solicitation" Multi-cast packet was not received to the DPDK primary application.
We found a limitation on DPDK MLX5 PMD guide w.r.t IPv6 Multi-cast packets in the following URL:
https://doc.dpdk.org/guides/nics/mlx5.html , as follows:
==================================
• IPv6 Multicast messages are not supported on VM, while promiscuous mode and allmulticast mode are both set to off. To receive IPv6 Multicast messages on VM, explicitly set the relevant MAC address using rte_eth_dev_mac_addr_add() API.
==================================
But, when we enable the Promiscuous and All-Multicast mode, DPDK mlx5 PMD return Error saying "cannot enable in Flow-isolation mode".
So, does this IPv6 Multicast limitation still exist ? if so, please let us know, what is the work-around on this ?
DPDK-version: DPDK-21.11.
Linux kernel driver and firmware-version details:
~ # ethtool -i eth1
driver: mlx5_core
version: 5.0-0
firmware-version: 14.23.1020 (MT_2420110004)
expansion-rom-version:
bus-info: 0000:00:08.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
~ #
Thanks,
Madhukar.