HomeFreeBSD

ixl: fix multicast filters handling

Description

ixl: fix multicast filters handling

Summary:
Hardware supports up to 128 entries of multicast filters. If there is more,
filters should be removed and multicast promiscuous enabled. In case
user deletes the multicast address and overall count is less than 128,
multicast promiscuous mode should be disabled and all the filters
reapplied into the HW.

Currently driver only enables multicast promiscuous mode and deletes
the entries without any information to the user and it's not capable of
reapplying the filters once count is less than 128.

Address that by:

  1. Add logging
  2. Add logic in case multicast promiscuous is enabled and user lowers

the number of multicast entries to <128.

  1. Fix a bug where driver removes different MAC entries along with the one

that's being deleted by the user.

Reviewers: Intel Networking, erj

Reviewed By: Intel Networking, erj

Subscribers: imp, ae

Differential Revision: https://reviews.freebsd.org/D40860

Details

Provenance
Mateusz Pacuszka <mateuszx.pacuszka@intel.com>Authored on Aug 17 2023, 11:30 AM
pkubajCommitted on Aug 17 2023, 11:46 AM
Reviewer
Intel Networking
Differential Revision
D40860: ixl: fix multicast filters handling
Parents
rG02f2706606e1: Add a virtio-gpu 2D driver
Branches
Unknown
Tags
Unknown

Event Timeline