aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-08-01 02:38:54 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-08-01 08:55:50 +0000
commitd2309d9d6dc6d5a9141314652d6c96ab46a9a62c (patch)
tree3340a435a5131e68ffd9c054f904a6b7fdb48828
parenta3a884c0d43ab02187022be9ae9084e6c725ba68 (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.c3
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);
}
-