From: Wolfgang Wegner <ww@kt.e-technik.uni-dortmund.de> Date: Mon, 13 Aug 2001 14:21:53 +0200 Aug 9 15:59:00 till kernel: hw tcp v4 csum failed Aug 9 15:59:03 till kernel: udp v4 hw csum failure. I found the htons conversion in acenic.c, and included the htons in the sunhme driver to convert the hw-csum, and it works without further errors. Thanks, I've fixed sunhme.c and sungem.c in my tree. These are the only two drivers which really have a problem with this, and mostly it's because I never test these drivers on little endian systems which is where the ntohs() matters. As this conversion is missing in (almost) all other drivers, Not true, only sungem and sunhme have the bug. Currently, only acenic sunhme and sungem chips provide the receive checksum value and thus have it plugged into skb->csum on receive. Other chips just say "TCP checksum passed", ie. only a boolean state. P.S.: If someone has ideas on how to implement auto-detection of card type, (based on prom information?), perhaps one could make the driver fully functional also on other architectures than sparc. Unfortunately, I only own this single hme card, so can not do much testing... You need to dump the PCI rom from the card and figure out how to decipher the information in there. Most useful as a first task would be to find where they place the card's ethernet address. I honestly don't have the time to help with this, nor do I know more information than I've just told you. Later, David S. Miller davem@redhat.com - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html