[vortex] 3c905C CRC check status.

Donald Becker becker@scyld.com
Wed Oct 22 23:30:02 2003


On Wed, 22 Oct 2003, Rodrigo Severo wrote:

> I would like to know if the 3c905C 3Com boards support hardware 
> checksumming or not.

Yes.

> Looking at <http://www.fefe.de/linuxeth/#3comcsum>

Ehmm, that info has just enough truth to be mistaken as accurate.
Ignore it.

> one gets to believe 
> it does but after my quick look at 3c59x.c from Donald Becker, I started 
> to doubt it. Or at least this driver seems not to use it. Or am I all wrong?

The 3c905 implement is very clean, so there are not may lines of code.
But the comment is very clear "hardware checksum"

	skb->protocol = eth_type_trans(skb, dev);
	{			/* Use hardware checksum info. */
		int csum_bits = rx_status & 0xee000000;
		if (csum_bits &&
			(csum_bits == (IPChksumValid | TCPChksumValid) ||
			 csum_bits == (IPChksumValid | UDPChksumValid))) {
			skb->ip_summed = CHECKSUM_UNNECESSARY;
			rx_csumhits++;
		}
	}
	netif_rx(skb);

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
914 Bay Ridge Road, Suite 220		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993