[Bug 283820] ixl multicast filter problems

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 31 Oct 2025 21:02:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283820

--- Comment #3 from commit-hook@FreeBSD.org ---
A commit in branch stable/14 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=b2b2a4788f7925f41d902df6b7f3d19bccd6f42f

commit b2b2a4788f7925f41d902df6b7f3d19bccd6f42f
Author:     Bhosale, Yogesh <yogesh.bhosale@intel.com>
AuthorDate: 2025-10-16 20:02:45 +0000
Commit:     Krzysztof Galazka <kgalazka@FreeBSD.org>
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 yogesh.bhosale@intel.com

    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.