svn commit: r237831 - head/sys/dev/cxgbe
Navdeep Parhar
np at FreeBSD.org
Sat Jun 30 02:05:10 UTC 2012
Author: np
Date: Sat Jun 30 02:05:09 2012
New Revision: 237831
URL: http://svn.freebsd.org/changeset/base/237831
Log:
- Assign (don't OR) the CSUM_XXX bits to csum_flags in the rx checksum code.
- Fix TSO/TSO4 mixup.
- Add IFCAP_LINKSTATE to the available/enabled capabilities.
Modified:
head/sys/dev/cxgbe/t4_main.c
head/sys/dev/cxgbe/t4_sge.c
Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c Sat Jun 30 01:40:29 2012 (r237830)
+++ head/sys/dev/cxgbe/t4_main.c Sat Jun 30 02:05:09 2012 (r237831)
@@ -823,7 +823,7 @@ cxgbe_probe(device_t dev)
#define T4_CAP (IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU | IFCAP_HWCSUM | \
IFCAP_VLAN_HWCSUM | IFCAP_TSO | IFCAP_JUMBO_MTU | IFCAP_LRO | \
- IFCAP_VLAN_HWTSO | IFCAP_HWCSUM_IPV6)
+ IFCAP_VLAN_HWTSO | IFCAP_LINKSTATE | IFCAP_HWCSUM_IPV6)
#define T4_CAP_ENABLE (T4_CAP)
static int
@@ -1028,11 +1028,11 @@ fail:
ifp->if_capenable ^= IFCAP_TXCSUM;
ifp->if_hwassist ^= (CSUM_TCP | CSUM_UDP | CSUM_IP);
- if (IFCAP_TSO & ifp->if_capenable &&
+ if (IFCAP_TSO4 & ifp->if_capenable &&
!(IFCAP_TXCSUM & ifp->if_capenable)) {
ifp->if_capenable &= ~IFCAP_TSO4;
if_printf(ifp,
- "tso disabled due to -txcsum.\n");
+ "tso4 disabled due to -txcsum.\n");
}
}
if (mask & IFCAP_TXCSUM_IPV6) {
Modified: head/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- head/sys/dev/cxgbe/t4_sge.c Sat Jun 30 01:40:29 2012 (r237830)
+++ head/sys/dev/cxgbe/t4_sge.c Sat Jun 30 02:05:09 2012 (r237831)
@@ -1059,12 +1059,12 @@ t4_eth_rx(struct sge_iq *iq, const struc
if (cpl->csum_calc && !cpl->err_vec) {
if (ifp->if_capenable & IFCAP_RXCSUM &&
cpl->l2info & htobe32(F_RXF_IP)) {
- m0->m_pkthdr.csum_flags |= (CSUM_IP_CHECKED |
+ m0->m_pkthdr.csum_flags = (CSUM_IP_CHECKED |
CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR);
rxq->rxcsum++;
} else if (ifp->if_capenable & IFCAP_RXCSUM_IPV6 &&
cpl->l2info & htobe32(F_RXF_IP6)) {
- m0->m_pkthdr.csum_flags |= (CSUM_DATA_VALID_IPV6 |
+ m0->m_pkthdr.csum_flags = (CSUM_DATA_VALID_IPV6 |
CSUM_PSEUDO_HDR);
rxq->rxcsum++;
}
More information about the svn-src-all
mailing list