aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/opensolaris/Makefile
diff options
context:
space:
mode:
authorZhenlei Huang <zlei@FreeBSD.org>2026-02-06 17:52:55 +0000
committerZhenlei Huang <zlei@FreeBSD.org>2026-02-24 10:15:38 +0000
commit091a1e7d21c9b2cbd7dbe89335b08d4d50fab96e (patch)
treeb2cccdbb235f82ade0a14a08ca71c46c3f58e069 /sys/modules/opensolaris/Makefile
parent281d578e9ff56412bedbf7884fa097e5e59438da (diff)
qlnxe: Overhaul setting the multicast MAC filtersstable/13
When operating the multicast MAC filters, the current usage of ECORE_FILTER_ADD and ECORE_FILTER_REMOVE are rather misleading. ECORE_FILTER_ADD reads "adding new filter", but it actually removes any existing filters and then addes a new one. ECORE_FILTER_REMOVE reads "removing a filter", but it actually removes all filters. Let's use ECORE_FILTER_REPLACE and ECORE_FILTER_FLUSH instead to avoid confusion. In the current implementation, only one MAC address is passed to ecore_sp_eth_filter_mcast() and any previously installed filters are removed, hence it breaks the multicast function. That can be observed via either assigning new IPv6 addresses to the interface or putting the interface as a member of lagg(4) interface with LACP aggregation protocol. Fix that by calculating the multicast filter bins directly from multicast MAC addresses and replace the filters every time the bins changes. Due to the nature of the multicast filter, which is hash based, a full 1's multicast filter bin means all multicast packets are to be accepted. Thus there's no need to make the vport into allmulti mode when the number of multicast MAC addresses exceeds the limit (ECORE_MAX_MC_ADDRS, 64). Tested with a FastLinQ QL41212HLCU 25GbE adapter, both MFW_Version 8.35.23.0 and 8.59.16.0 are tested. Note: Currently the VF port is set to promiscuous mode unconditionally, and the setting of the multicast MAC filters for VF ports is short-circuited, so the VF port functions as it did. PR: 265857 PR: 290973 Reviewed by: kbowling MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D54892 (cherry picked from commit 70256d2b86d95a678a63c65b157b9c635f1f4c6a) (cherry picked from commit 0cfc1145cdfc2a7beeeb7f39ad2722c7053681c0) (cherry picked from commit 87942d7f8fc58e8b4af90ec1050b263005c3d64e)
Diffstat (limited to 'sys/modules/opensolaris/Makefile')
0 files changed, 0 insertions, 0 deletions