diff options
author | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-12 16:31:22 +0000 |
---|---|---|
committer | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-18 00:59:30 +0000 |
commit | f73eb35106cc65d19af0f2e82a111308c5090c3a (patch) | |
tree | 709850235764607cc22f411896d46b731a502e27 | |
parent | b8e5efdd24b09fffa345a64db585ed9d66b00f84 (diff) | |
download | src-f73eb35106cc65d19af0f2e82a111308c5090c3a.tar.gz src-f73eb35106cc65d19af0f2e82a111308c5090c3a.zip |
vlan: Respect IFCAP_LRO mask
vlan_capabilities(), used by the IFCAP ioctl, was not respecting the
IFCAP_LRO bit if it was masked by the requestor.
This prevented if_bridge(4) from automasking LRO with a message like:
bridge0: can't disable some capabilities on em3.11: 0x400
This also prevented manually disabling LRO from any vlan interface.
PR: 254596
Reported by: Paul Vixie <paul@redbarn.org>
(cherry picked from commit b1a39c31a3569bd045a0f40057c3773fc8166f6d)
-rw-r--r-- | sys/net/if_vlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 21082f2d5741..d34575dd61fc 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -1850,7 +1850,7 @@ vlan_capabilities(struct ifvlan *ifv) if (p->if_capabilities & IFCAP_VLAN_HWCSUM) cap |= p->if_capabilities & IFCAP_LRO; if (p->if_capenable & IFCAP_VLAN_HWCSUM) - ena |= p->if_capenable & IFCAP_LRO; + ena |= mena & IFCAP_LRO; /* * If the parent interface can offload TCP connections over VLANs then |