Hi,
On 09/12/2025 2:24 PM, Itai Sharoni wrote:
The Windows implementation was not properly tracking MAC address
ownership via the mac_own bitfield, unlike the Linux implementation.
This caused issues with control flow creation for MAC addresses.
Commit 8c06434cd9e4 ("net/mlx5: fix multicast") added a check to skip
creating control flows for MAC addresses where the mac_own bit is not
set. Since Windows never set these bits, the primary MAC address flow
was skipped, resulting in packet drops when promiscuous mode is
disabled.
Update all three MAC address ownership functions to properly manage
the mac_own bitfield:
- mlx5_os_mac_addr_add: Set mac_own bit when adding the device's
primary MAC address (the only MAC that Windows supports)
- mlx5_os_mac_addr_remove: Clear mac_own bit for the specified index
to maintain internal tracking consistency
- mlx5_os_mac_addr_flush: Iterate and clear all mac_own bits during
device cleanup
While Windows cannot add or remove MAC addresses from hardware (no
Netlink equivalent), proper bitfield tracking is essential for internal
state consistency and correct control flow management.
Fixes: 8c06434cd9e4 ("net/mlx5: fix multicast")
Cc: [email protected]
Signed-off-by: Itai Sharoni <[email protected]>
Acked-by: Bing Zhao <[email protected]>
Patch applied to next-net-mlx,
Kindest regards
Raslan Darawsheh