CHECKSUM_HW not behaving as expected

From: Abraham vd Merwe (abraham@2d3d.co.za)
Date: Thu Apr 11 2002 - 10:04:58 EST


Hi!

In Rubini's "Linux Device Drivers 2nd edition" he states in his networking
chapter that skb->ip_summed = CHECKSUM_HW means that the hardware already
performed a checksum and that the upper layers therefore don't need to do it
(He also states that CHECKSUM_NONE (default) means that it still needs to be
verified).

I'm currently writing a network driver for 2.4.17 and the chip automatically
performs checksums and you can tell it to exclude the CRC from the packet or
not before making it available for the host. Now, if I configure it to
exclude the CRC and use skb->ip_summed = CHECKSUM_HW I get:

root@frodo:/# ./ldm
Using /cs8900.o
CS8900A driver for 2d3D, SA-1110 Development Board.
eth0: CS8900A rev D detected
configuring network:.
root@frodo:/# icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
icmp v4 hw csum failure
NET: 3 messages suppressed.
icmp v4 hw csum failure

root@frodo:/#
------------< snip <------< snip <------< snip <------------

If I used CHECKSUM_NONE, it works fine which obviously means that the CRC is
not computed in software.

Is that a bug in the kernel or does Alessandro have it wrong?

-- 

Regards Abraham

There is one difference between a tax collector and a taxidermist -- the taxidermist leaves the hide. -- Mortimer Caplan

__________________________________________________________ Abraham vd Merwe - 2d3D, Inc.

Device Driver Development, Outsourcing, Embedded Systems

Cell: +27 82 565 4451 Snailmail: Tel: +27 21 761 7549 Block C, Aintree Park Fax: +27 21 761 7648 Doncaster Road Email: abraham@2d3d.co.za Kenilworth, 7700 Http: http://www.2d3d.com South Africa


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 15 2002 - 22:00:18 EST