summaryrefslogtreecommitdiffstats
path: root/sys/net/if_vlan.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2014-04-15 21:48:35 +0000
committerrmacklem <rmacklem@FreeBSD.org>2014-04-15 21:48:35 +0000
commit6067137dbdfa199da937bd3c3404c875e6a8eee6 (patch)
tree980d728965057747b656d4b5712625e11971ad7b /sys/net/if_vlan.c
parent03a8cfa7d96a094ff8e6eda2cf42f8a486264c7c (diff)
downloadFreeBSD-src-6067137dbdfa199da937bd3c3404c875e6a8eee6.zip
FreeBSD-src-6067137dbdfa199da937bd3c3404c875e6a8eee6.tar.gz
Vlan did not set the value of if_hw_tsomax, so when vlan
was stacked on top of a network interface that set if_hw_tsomax, tcp_output() would see the default value instead of the value set by the network interface. This patch modifies vlan so that it sets if_hw_tsomax to the value of the parent interface. Reviewed by: glebius MFC after: 2 weeks
Diffstat (limited to 'sys/net/if_vlan.c')
-rw-r--r--sys/net/if_vlan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index 75699fb..00d99ed 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -1511,6 +1511,8 @@ vlan_capabilities(struct ifvlan *ifv)
* propagate the hardware-assisted flag. TSO on VLANs
* does not necessarily require hardware VLAN tagging.
*/
+ if (p->if_hw_tsomax > 0)
+ ifp->if_hw_tsomax = p->if_hw_tsomax;
if (p->if_capabilities & IFCAP_VLAN_HWTSO)
ifp->if_capabilities |= p->if_capabilities & IFCAP_TSO;
if (p->if_capenable & IFCAP_VLAN_HWTSO) {
OpenPOWER on IntegriCloud