[PATCH V3 2/2] net/mlx5: add support for flows targeting multicast MAC addresses
Thomas Monjalon
thomas at monjalon.net
Mon Aug 25 16:52:07 CEST 2025
25/08/2025 16:13, Gavin Li:
> Rules for multicast MAC addresses are intended to filter multicast traffic
> and are managed through multicast MAC add/remove APIs.
You should name the functions to be explicit.
Also it is not only managed via DPDK API,
as you say below we also retrieve kernel addresses.
> In mlx5_dev_spawn
> function, devices (PF, VFs, and SFs) retrieve the netdev-configured MAC
> addresses via netlink and store them in the PMD device data, which
> includes multicast MAC addresses.
>
> Previously, flows for multicast MAC addresses were incorrectly disabled,
> causing the multicast MAC add API to stop working.
To be clear, it was blocking addresses added in DPDK,
not ones created in kernel, right?
> As a result, multicast
> traffic directed to those multicast MAC addresses was not received.
>
> To resolve this and update the multicast MAC address rules, create them
> within mlx5_traffic_enable.
Actually you allow default rules for multicast addresses to be created.
> - if (!memcmp(mac, &cmp, sizeof(*mac)) || rte_is_multicast_ether_addr(mac))
> + /* Add flows for unicast and multicast mac addresses added by API. */
> + if (!memcmp(mac, &cmp, sizeof(*mac)) ||
> + !BITFIELD_ISSET(priv->mac_own, i) ||
> + (dev->data->all_multicast && rte_is_multicast_ether_addr(mac)))
> continue;
PS: you forgot to use --in-reply-to to keep all versions in the same mail thread.
More information about the stable
mailing list