[Bug 283820] ixl multicast filter problems
| Newsgroups | gmane.os.freebsd.devel.net |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283820 --- Comment #3 from [email protected] --- A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b2b2a4788f7925f41d902df6b7f3d19bccd6f42f commit b2b2a4788f7925f41d902df6b7f3d19bccd6f42f Author: Bhosale, Yogesh <[email protected]> AuthorDate: 2025-10-16 20:02:45 +0000 Commit: Krzysztof Galazka <[email protected]> CommitDate: 2025-10-31 20:57:48 +0000 ixl(4): fix multicast promiscuous mode state tracking and filter management This change reapplies the improvements from commit 89e7335 and adds additional fixes and code optimizations on top of it. The ixl driver supports up to 128 multicast filters in hardware. When this limit is exceeded, the driver should enable multicast promiscuous mode. When the count drops below 128, it should disable promiscuous mode and restore individual filters. The driver previously had problems that could corrupt multicast filters list. The main issue was that ixl_dis_multi_promisc() would attempt to disable promiscuous mode without checking if it was actually enabled, potentially corrupting existing filters. There was also no state tracking across driver functions, leading to redundant operations. This change adds an IXL_FLAGS_MC_PROMISC flag to track the multicast promiscuous mode state. The flag is set when enabling promiscuous mode and cleared when disabling it. Early return checks prevent redundant operations when the mode is already in the desired state, avoiding filter corruption and unnecessary hardware calls. Signed-off-by: Yogesh Bhosale [email protected] PR: 283820 Approved by: kbowling (mentor) Tested by: gowtham.kumar.ks_intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D52549 (cherry picked from commit 46a8a1f08f88c278e60ebb6daa7a551eb641c67b) sys/dev/ixl/if_ixl.c | 27 +++++++++++- sys/dev/ixl/ixl.h | 1 + sys/dev/ixl/ixl_pf_main.c | 110 +++++++++++++++++++++++++++++++++++++++------- 3 files changed, 120 insertions(+), 18 deletions(-) -- You are receiving this mail because: You are the assignee for the bug.