diff options
author | Reyk Floeter <reyk@cvs.openbsd.org> | 2010-01-11 02:04:26 +0000 |
---|---|---|
committer | Reyk Floeter <reyk@cvs.openbsd.org> | 2010-01-11 02:04:26 +0000 |
commit | bb4d2dd6531def91bae42be4ea86b2650f6405ee (patch) | |
tree | f823918d93a08f7e09db9015d46b1cb1f54685f1 /sys | |
parent | e706f27f6189fe1a7882dde768b50f22a14c83c9 (diff) |
Enable IP checksum offloading in ix(4).
Note: it did not work before because the checksum offloading was
taking care about TCP and UDP but forgot about IP fragments and other
IP protocols. We need to take care that IP fragments are handled
correctly when we do IP/TCP/UDP offloading.
ok jsg@ deraadt@, discussed with others
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_ix.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/pci/if_ix.c b/sys/dev/pci/if_ix.c index d6862de24a0..591448b9e0e 100644 --- a/sys/dev/pci/if_ix.c +++ b/sys/dev/pci/if_ix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ix.c,v 1.32 2010/01/09 05:44:41 reyk Exp $ */ +/* $OpenBSD: if_ix.c,v 1.33 2010/01/11 02:04:25 reyk Exp $ */ /****************************************************************************** @@ -1359,15 +1359,14 @@ ixgbe_setup_interface(struct ix_softc *sc) m_clsetwms(ifp, MCLBYTES, 4, sc->num_rx_desc); - ifp->if_capabilities = IFCAP_VLAN_MTU; + ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_CSUM_IPv4; #if NVLAN > 0 ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING; #endif #ifdef IX_CSUM_OFFLOAD - ifp->if_capabilities |= IFCAP_CSUM_IPv4 | IFCAP_CSUM_TCPv4 | - IFCAP_CSUM_UDPv4; + ifp->if_capabilities |= IFCAP_CSUM_TCPv4 | IFCAP_CSUM_UDPv4; #endif sc->max_frame_size = |