This driver can do hardware VLAN tagging + checksum offloading.

In collaboration with:	Mihail Balikov <mihail.balikov interbgc.com>
This commit is contained in:
Gleb Smirnoff 2006-01-30 13:45:55 +00:00
parent 75ee267c22
commit 479b23b772
2 changed files with 5 additions and 3 deletions

View File

@ -2194,7 +2194,7 @@ bge_attach(dev)
IFQ_SET_READY(&ifp->if_snd); IFQ_SET_READY(&ifp->if_snd);
ifp->if_hwassist = BGE_CSUM_FEATURES; ifp->if_hwassist = BGE_CSUM_FEATURES;
ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_VLAN_HWTAGGING | ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_VLAN_HWTAGGING |
IFCAP_VLAN_MTU; IFCAP_VLAN_MTU | IFCAP_VLAN_HWCSUM;
ifp->if_capenable = ifp->if_capabilities; ifp->if_capenable = ifp->if_capabilities;
#ifdef DEVICE_POLLING #ifdef DEVICE_POLLING
ifp->if_capabilities |= IFCAP_POLLING; ifp->if_capabilities |= IFCAP_POLLING;
@ -3519,6 +3519,7 @@ bge_ioctl(ifp, command, data)
ifp->if_hwassist = BGE_CSUM_FEATURES; ifp->if_hwassist = BGE_CSUM_FEATURES;
else else
ifp->if_hwassist = 0; ifp->if_hwassist = 0;
VLAN_CAPABILITIES(ifp);
} }
break; break;
default: default:

View File

@ -854,6 +854,7 @@ em_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
} }
if (reinit && (ifp->if_drv_flags & IFF_DRV_RUNNING)) if (reinit && (ifp->if_drv_flags & IFF_DRV_RUNNING))
em_init(adapter); em_init(adapter);
VLAN_CAPABILITIES(ifp);
break; break;
} }
default: default:
@ -2193,8 +2194,8 @@ em_setup_interface(device_t dev, struct adapter * adapter)
ifp->if_capabilities = ifp->if_capenable = 0; ifp->if_capabilities = ifp->if_capenable = 0;
if (adapter->hw.mac_type >= em_82543) { if (adapter->hw.mac_type >= em_82543) {
ifp->if_capabilities |= IFCAP_HWCSUM; ifp->if_capabilities |= IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM;
ifp->if_capenable |= IFCAP_HWCSUM; ifp->if_capenable |= IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM;
} }
/* /*