[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