aboutsummaryrefslogtreecommitdiff
path: root/tools/regression/rpcsec_gss
diff options
context:
space:
mode:
authorZhenlei Huang <zlei@FreeBSD.org>2026-02-06 17:52:55 +0000
committerZhenlei Huang <zlei@FreeBSD.org>2026-02-06 17:58:16 +0000
commit70256d2b86d95a678a63c65b157b9c635f1f4c6a (patch)
tree89d8bb3e3a063015af2e0f1cbf6ee75a3c7867a7 /tools/regression/rpcsec_gss
parent968647502ec21464ad3aecc7577ff0e8dfd41693 (diff)
qlnxe: Overhaul setting the multicast MAC filtersHEADmain
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
Diffstat (limited to 'tools/regression/rpcsec_gss')
0 files changed, 0 insertions, 0 deletions