HomeFreeBSD

e1000: Correct promisc multicast filter handling

Description

e1000: Correct promisc multicast filter handling

There are a number of issues in the e1000 multicast filter handling
that have been present for a long time. Take the updated approach from
ixgbe(4) which does not have the issues.

The issues are outlined in the PR, in particular this solves crossing
over and under the hardware's filter limit, not programming the
hardware filter when we are above its limit, disabling SBP (show bad
packets) when the tunable is enabled and exiting promiscuous mode, and
an off-by-one error in the em_copy_maddr function.

PR: 140647
Reported by: jtl
Reviewed by: markj
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D29789

(cherry picked from commit 4b38eed76da9c36f09bff33b5cf15687cd99016f)

Details

Provenance
Kevin Bowling <kbowling@FreeBSD.org>Authored on Apr 16 2021, 11:15 PM
Reviewer
markj
Differential Revision
D29789: e1000: Correct promiscuous multicast filter handling
Parents
rG3532515277d8: ixgbe: Improve device name strings
Branches
Unknown
Tags
Unknown