When MLX5 behaves in VF mode and the hypervisor have **trusted** this VF, to be able to receive specific traffic some requests must be done to configure the NIC. There is no API currently available to do it though Verbs, but there is in Linux side using Netlink.
The specific cases are: - Enable/disable promiscuous mode. - Enable/disable allmulti mode. - Add/remove mac addresses. Changes in v4: Track MAC addresses added by the PMD and not present in the bridge table to remove them when leaving. Changes in v3: Add missing room to add the MAC address in the Netlink message. Changes in v2: Embed Netlink socket communication inside the PMD. Nelio Laranjeiro (3): net/mlx5: use Netlink to add/remove MAC addresses net/mlx5: use Netlink to enable promisc / allmulti mode net/mlx5: add a parameter for Netlink support in VF doc/guides/nics/mlx5.rst | 18 + drivers/net/mlx5/Makefile | 1 + drivers/net/mlx5/mlx5.c | 30 ++ drivers/net/mlx5/mlx5.h | 19 + drivers/net/mlx5/mlx5_ethdev.c | 27 ++ drivers/net/mlx5/mlx5_mac.c | 20 +- drivers/net/mlx5/mlx5_nl.c | 627 +++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_rxmode.c | 8 + 8 files changed, 747 insertions(+), 3 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_nl.c -- 2.17.0