diff options
author | wpaul <wpaul@FreeBSD.org> | 2001-09-28 18:56:57 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2001-09-28 18:56:57 +0000 |
commit | 3cd468b752f574e48a449e6adbfc0082656f25aa (patch) | |
tree | bf45fed2a4afa9c24c9cbc9181b227dceb49d7e2 /sys/dev/bge | |
parent | 96effe3c99601d8dc31699a5089c90e54a077f77 (diff) | |
download | FreeBSD-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/dev/bge')
-rw-r--r-- | sys/dev/bge/if_bge.c | 6 |
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; } } |