diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-01 02:38:54 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-01 08:55:50 +0000 |
| commit | d2309d9d6dc6d5a9141314652d6c96ab46a9a62c (patch) | |
| tree | 3340a435a5131e68ffd9c054f904a6b7fdb48828 | |
| parent | a3a884c0d43ab02187022be9ae9084e6c725ba68 (diff) | |
ixl: enforce the assigned VF MAC address
When allow-set-mac is disabled, the MAC filter validation condition
rejects the assigned VF unicast address while allowing any different
unicast address. The equality test was accidentally inverted when this
code moved to the boolean address helper.
Accept multicast and the assigned unicast address, and reject other
unicast addresses as intended.
Fixes: 7d4dceec1030 ("ixl(4): Fix VLAN HW filtering")
MFC after: 3 days
| -rw-r--r-- | sys/dev/ixl/ixl_pf_iov.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/ixl/ixl_pf_iov.c b/sys/dev/ixl/ixl_pf_iov.c index ca2759557066..1e475e4767cc 100644 --- a/sys/dev/ixl/ixl_pf_iov.c +++ b/sys/dev/ixl/ixl_pf_iov.c @@ -1022,7 +1022,7 @@ ixl_vf_mac_valid(struct ixl_vf *vf, const uint8_t *addr) * is not its assigned MAC. */ if (!(vf->vf_flags & VF_FLAG_SET_MAC_CAP) && - !(ETHER_IS_MULTICAST(addr) || !ixl_ether_is_equal(addr, vf->mac))) + !(ETHER_IS_MULTICAST(addr) || ixl_ether_is_equal(addr, vf->mac))) return (EPERM); return (0); @@ -1824,4 +1824,3 @@ out: return (error); } - |
