diff options
author | yongari <yongari@FreeBSD.org> | 2010-02-22 22:05:49 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-02-22 22:05:49 +0000 |
commit | 6009cffa64f25ae850064a3ac2f86ebcb374be5b (patch) | |
tree | b043fa087cc7dd6993a9ed4543bc02027de38d1b /sys/dev/jme/if_jme.c | |
parent | e524f2b3a55a19089d9a3da466fc40ea9a5bf3d6 (diff) | |
download | FreeBSD-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.
Diffstat (limited to 'sys/dev/jme/if_jme.c')
-rw-r--r-- | sys/dev/jme/if_jme.c | 5 |
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; |