summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-02-22 22:05:49 +0000
committeryongari <yongari@FreeBSD.org>2010-02-22 22:05:49 +0000
commit6009cffa64f25ae850064a3ac2f86ebcb374be5b (patch)
treeb043fa087cc7dd6993a9ed4543bc02027de38d1b
parente524f2b3a55a19089d9a3da466fc40ea9a5bf3d6 (diff)
downloadFreeBSD-src-6009cffa64f25ae850064a3ac2f86ebcb374be5b.zip
FreeBSD-src-6009cffa64f25ae850064a3ac2f86ebcb374be5b.tar.gz
Add TSO support on VLANs. jme(4) controllers do not require VLAN
hardware tagging to make TSO work over VLANs.
-rw-r--r--sys/dev/jme/if_jme.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c
index d6d17a7..4bfffa3 100644
--- a/sys/dev/jme/if_jme.c
+++ b/sys/dev/jme/if_jme.c
@@ -775,7 +775,7 @@ jme_attach(device_t dev)
/* VLAN capability setup */
ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING |
- IFCAP_VLAN_HWCSUM;
+ IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO;
ifp->if_capenable = ifp->if_capabilities;
/* Tell the upper layer(s) we support long frames. */
@@ -1992,6 +1992,9 @@ jme_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
if ((mask & IFCAP_VLAN_HWCSUM) != 0 &&
(ifp->if_capabilities & IFCAP_VLAN_HWCSUM) != 0)
ifp->if_capenable ^= IFCAP_VLAN_HWCSUM;
+ if ((mask & IFCAP_VLAN_HWTSO) != 0 &&
+ (ifp->if_capabilities & IFCAP_VLAN_HWTSO) != 0)
+ ifp->if_capenable ^= IFCAP_VLAN_HWTSO;
if ((mask & IFCAP_VLAN_HWTAGGING) != 0 &&
(IFCAP_VLAN_HWTAGGING & ifp->if_capabilities) != 0) {
ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING;
OpenPOWER on IntegriCloud