svn commit: r209586 - user/jmallett/octeon/sys/mips/cavium/octe
Juli Mallett
jmallett at FreeBSD.org
Tue Jun 29 10:21:34 UTC 2010
Author: jmallett
Date: Tue Jun 29 10:21:34 2010
New Revision: 209586
URL: http://svn.freebsd.org/changeset/base/209586
Log:
Check RXCSUM before setting checksum-valid flags on a packet. Probably not
very useful, but why not?
Modified:
user/jmallett/octeon/sys/mips/cavium/octe/ethernet-rx.c
Modified: user/jmallett/octeon/sys/mips/cavium/octe/ethernet-rx.c
==============================================================================
--- user/jmallett/octeon/sys/mips/cavium/octe/ethernet-rx.c Tue Jun 29 10:13:32 2010 (r209585)
+++ user/jmallett/octeon/sys/mips/cavium/octe/ethernet-rx.c Tue Jun 29 10:21:34 2010 (r209586)
@@ -317,11 +317,15 @@ void cvm_oct_tasklet_rx(void *context, i
if ((ifp->if_flags & IFF_UP)) {
m->m_pkthdr.rcvif = ifp;
- if ((work->word2.s.not_IP || work->word2.s.IP_exc || work->word2.s.L4_error))
+ if ((ifp->if_capenable & IFCAP_RXCSUM) != 0) {
+ if ((work->word2.s.not_IP || work->word2.s.IP_exc || work->word2.s.L4_error))
+ m->m_pkthdr.csum_flags = 0; /* XXX */
+ else {
+ m->m_pkthdr.csum_flags = CSUM_IP_CHECKED | CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR;
+ m->m_pkthdr.csum_data = 0xffff;
+ }
+ } else {
m->m_pkthdr.csum_flags = 0; /* XXX */
- else {
- m->m_pkthdr.csum_flags = CSUM_IP_CHECKED | CSUM_IP_VALID | CSUM_DATA_VALID | CSUM_PSEUDO_HDR;
- m->m_pkthdr.csum_data = 0xffff;
}
ifp->if_ipackets++;
More information about the svn-src-user
mailing list