>> It also supports hardware checksums, which are arguably more useful
>> and arguably dangerous.
>I think data corruption over the I/O bus will not be caught, if the checksum
>calculation is in interface hardware. But, data transfers for disk over the bus
>are assumed to be correct and not checked in software. So it is not unreasonable
>to have checksums in hardware.
Yes and no. It is true that you can introduce corruption between
the CPU or memory and the NIC. It is true that you can have corruption
over some busses anyway, so you can argue that you aren't introducing
the chance of undetected corruption, just adding another place where
it is possible. Well, TCP's checksum isn't that strong to begin with,
However, all transfers over a bus are not necessarily equal in the
chances of corruption. It has been argued that there are more serious
issuse with offloading checksum generation to hardware.
It is also an obviously desirable feature in terms of performance.
I am not qualified to judge the validity of the concerns about it,
but people who know more than I have thought some of them to be valid.
Others have also dismissed them.
So I guess it is just a warning to understand the risks.