summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2001-09-28 18:56:57 +0000
committerwpaul <wpaul@FreeBSD.org>2001-09-28 18:56:57 +0000
commit3cd468b752f574e48a449e6adbfc0082656f25aa (patch)
treebf45fed2a4afa9c24c9cbc9181b227dceb49d7e2 /sys
parent96effe3c99601d8dc31699a5089c90e54a077f77 (diff)
downloadFreeBSD-src-3cd468b752f574e48a449e6adbfc0082656f25aa.zip
FreeBSD-src-3cd468b752f574e48a449e6adbfc0082656f25aa.tar.gz
Set the 'no pseudo header checksum' option for RX checksums, otherwise
we may botch UDP checksums on receive, which will break NFS.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/bge/if_bge.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 05c972c..a71dc3d 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -1021,7 +1021,8 @@ bge_chipinit(sc)
CSR_WRITE_4(sc, BGE_MODE_CTL, BGE_MODECTL_WORDSWAP_NONFRAME|
BGE_MODECTL_BYTESWAP_DATA|BGE_MODECTL_WORDSWAP_DATA|
BGE_MODECTL_MAC_ATTN_INTR|BGE_MODECTL_HOST_SEND_BDS|
- BGE_MODECTL_NO_RX_CRC|BGE_MODECTL_TX_NO_PHDR_CSUM);
+ BGE_MODECTL_NO_RX_CRC|BGE_MODECTL_TX_NO_PHDR_CSUM|
+ BGE_MODECTL_RX_NO_PHDR_CSUM);
/* Get cache line size. */
cachesize = pci_read_config(sc->bge_dev, BGE_PCI_CACHESZ, 1);
@@ -1896,8 +1897,7 @@ bge_rxeof(sc)
if (cur_rx->bge_flags & BGE_RXBDFLAG_TCP_UDP_CSUM) {
m->m_pkthdr.csum_data =
cur_rx->bge_tcp_udp_csum;
- m->m_pkthdr.csum_flags |=
- CSUM_DATA_VALID|CSUM_PSEUDO_HDR;
+ m->m_pkthdr.csum_flags |= CSUM_DATA_VALID;
}
}
OpenPOWER on IntegriCloud