Hi Alexey, On Sat, 27 Jan 2001 kuznet@ms2.inr.ac.ru wrote: > > fits the new Linux model a bit better, as it has one descriptor per > > packet, not one per fragment (like the current implementation). > > Yes. Absence of such mode with acenic is big pain in ass. And, at least for the starfire, using buffer descriptors eats up more resources than using packet descriptors. So buffer descriptors are gone, forever. > Seems, this is pretty common bug. At least, perfect checksumming > of chunks with any size and alignment is so big boast of > alteon people, that it is clearly rather exception than rule. 8)8) Oh well. Don't we wish hardware were perfect.. :-) It's not too bad for the starfire, either, as it doesn't appear to suffer from any alignment issues, and the only fragments it has problem with are 1-byte fragments (2-byte and larger are ok). And I'm still hoping that Adaptec will release updated firmware (and that they will also approve the inclusion of their firmware with the Linux driver). If they don't approve it, maybe I'll add a config option so that the user can download their own copy of the firmware from Adaptec's site, place it in /etc somewhere, give the location to the driver and have the driver open the files from kernel space and process them. It would be ugly though, and a big PITA. > I think you have to check for wrong combination of alignment/size and > to call skb_checksum_help() and to disable checksumming if combination > is bad. Good, thanks a lot for the pointer. Maybe I went a bit overboard with my fix, as I revert to CPU checksumming if *any* fragment (not just the last one in the chain) has only 1 byte. But it seems to work well now. I've attached a diff for the latest driver (and firmware) version, against 2.4.1pre10+zerocopy. Sorry about MIME, but my pine is currently broken (strips trailing spaces/tabs). And, one final question: is it worth it for me to extract just the Rx checksumming changes and send them to Linux/Alan, or should I just wait for zerocopy to be included? Thanks, Ion -- It is better to keep your mouth shut and be thought a fool, than to open it and remove all doubt.