Subject: Re: kern/29544
To: None <thorpej@netbsd.org, gnats-admin@netbsd.org,>
From: john heasley <heas@shrubbery.net>
List: netbsd-bugs
Date: 03/05/2005 23:48:01
The following reply was made to PR kern/29544; it has been noted by GNATS.

From: john heasley <heas@shrubbery.net>
To: Martin Husemann <martin@duskware.de>
Cc: john heasley <heas@shrubbery.net>, thorpej@netbsd.org,
	gnats-bugs@NetBSD.org
Subject: Re: kern/29544
Date: Sat, 5 Mar 2005 23:47:30 +0000

 gah.  I do not see how the header length could be missing from csum_data.
 Perhaps you wouldn't mind adding a printf to see if it actually is unset?
 
 Index: if_wm.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/pci/if_wm.c,v
 retrieving revision 1.96
 diff -d -u -r1.96 if_wm.c
 --- if_wm.c	27 Feb 2005 00:27:33 -0000	1.96
 +++ if_wm.c	5 Mar 2005 23:36:13 -0000
 @@ -1380,6 +1380,8 @@
  	}
  
  	iphl = M_CSUM_DATA_IPv4_IPHL(m0->m_pkthdr.csum_data);
 +if (iphl < 20)
 +	printf("iphl == %d\n", iphl);
  
  	/*
  	 * NOTE: Even if we're not using the IP or TCP/UDP checksum
 
 otherwise, I suspect it is particular to the chip you have and that the
 complete ip header might not be in the first dma segment (if that is in
 fact possible)?  That could be tested by putting the m_pullup back.
 
 Anyone have a pointer to docs for this chip?  my googling came-up empty.
 perhaps docs are under another version #?