Hello!
> Has much thought been given to using hardware checksums on transmit?
It appeared pretty useless. Jes noticed this first time,
I had to check this experimentally, and yes... No visible improvements.
HW checksum on transmit looks really not useful without zero copy.
> If someone could sketch out how it should be architected I'll give it a
> shot.
Device exports a flag, telling that it is able to checksum in hardware.
If IP sees it, it checksums only headers (TCP, IP and MAC, if the last
is added by IP) preparing partial checksum and mark packet with ip_summed:
- CHECKSUM_UNNECESSARY --- protocol did full checksum.
- CHECKSUM_HW --- protocol checksummed only headers.
Well, that's all... Driver needs only to program itself depending
on ip_summed. Only offset to put checksum should be passed to,
probably via ip_summed too with negative values flagging completed
software checksum.
Alexey
|