aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bge/if_bge.c
diff options
context:
space:
mode:
authorOleg Bulyzhin <oleg@FreeBSD.org>2006-02-02 09:58:31 +0000
committerOleg Bulyzhin <oleg@FreeBSD.org>2006-02-02 09:58:31 +0000
commitee7ef91c36ad7c4da33519f240dabbd721d775d7 (patch)
tree471c52859139615e8629bfd353f42cbf11d311a8 /sys/dev/bge/if_bge.c
parentb7918ba53ac07ff93474382137b4bc045f78aac6 (diff)
downloadsrc-ee7ef91c36ad7c4da33519f240dabbd721d775d7.tar.gz
src-ee7ef91c36ad7c4da33519f240dabbd721d775d7.zip
Enable 'complete' rx checksum offloading (i.e. let chip calculate checksums
with pseudo header for tcp/udp packets). This could save one in_pseudo() call per incoming tcp/udp packet. Approved by: glebius (mentor) MFC after: 3 weeks
Notes
Notes: svn path=/head/; revision=155207
Diffstat (limited to 'sys/dev/bge/if_bge.c')
-rw-r--r--sys/dev/bge/if_bge.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 7a83bb4afcca..2fea254229d2 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -1099,7 +1099,7 @@ bge_chipinit(sc)
*/
CSR_WRITE_4(sc, BGE_MODE_CTL, BGE_DMA_SWAP_OPTIONS|
BGE_MODECTL_MAC_ATTN_INTR|BGE_MODECTL_HOST_SEND_BDS|
- BGE_MODECTL_TX_NO_PHDR_CSUM|BGE_MODECTL_RX_NO_PHDR_CSUM);
+ BGE_MODECTL_TX_NO_PHDR_CSUM);
/*
* Disable memory write invalidate. Apparently it is not supported
@@ -2636,7 +2636,8 @@ bge_rxeof(sc)
m->m_pkthdr.len >= ETHER_MIN_NOPAD) {
m->m_pkthdr.csum_data =
cur_rx->bge_tcp_udp_csum;
- m->m_pkthdr.csum_flags |= CSUM_DATA_VALID;
+ m->m_pkthdr.csum_flags |=
+ CSUM_DATA_VALID | CSUM_PSEUDO_HDR;
}
}