[PATCH V3 2/2] net/mlx5: add support for flows targeting multicast MAC addresses

Minggang(Gavin) Li gavinl at nvidia.com
Wed Aug 27 16:05:15 CEST 2025


On 8/25/2025 10:52 PM, Thomas Monjalon wrote:
> 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.
ACK
>
>> 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?
It was blocking all multicast mac address including those added in DPDK 
and ones created in kernel.
>
>> 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.
Sorry for the misleading. Will add it in next version.
>
>


More information about the stable mailing list