diff options
author | Oleg Bulyzhin <oleg@FreeBSD.org> | 2006-02-02 09:58:31 +0000 |
---|---|---|
committer | Oleg Bulyzhin <oleg@FreeBSD.org> | 2006-02-02 09:58:31 +0000 |
commit | ee7ef91c36ad7c4da33519f240dabbd721d775d7 (patch) | |
tree | 471c52859139615e8629bfd353f42cbf11d311a8 /sys/dev/bge/if_bge.c | |
parent | b7918ba53ac07ff93474382137b4bc045f78aac6 (diff) | |
download | src-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.c | 5 |
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; } } |