[ofa-general] [PATCHv2] IB/ipoib: S/G and HW checksum support

Or Gerlitz ogerlitz at voltaire.com
Tue Sep 4 04:50:07 PDT 2007


Michael S. Tsirkin wrote:
> Add module option hw_csum: when set, IPoIB will report S/G
> support, and rely on hardware end-to-end transport checksum (ICRC)
> instead of software-level protocol checksums.

> Since this will not inter-operate with older IPoIB modules,
> this option is off by default.

Hi Michael,

looking on slide 18 of Dror's Sonoma presentation (*) which states -

> Checksum Offload
> TCP/UDP/IP Checksum Offloading - Query device for checksum offload support
> QP Creation - Mark QP for IPoIB checksum support
> TX - ibv_send_flags indicate checksum offload request
> RX - ibv_wc_flags indicate checksum status (good, bad, unverified)

I don't see that there is such dependency, nor I can understand the 
design that creates the dependency, unless you rely on the IB CRC and 
not compute the actual TCP/UDP/IP csum.

Can you clarify the exact limitation that prevents inter-operation? why 
does the receiving side side cares if the checksum at the sender was 
computed by the SW or the HW (and vise versa)?

> I know some people find this approach controversial,
> but from my perspective, this is not worse than e.g.
> SDP which does not have SW checksums pretty much by design.

Is this b/c of the non interoperability?

SDP is not inter-operate by design where IP/TCP stack over IPoIB MUST 
support interoperability. Not inter-operable TCP checksum offload is not 
very useful, I think.

Or.

(*) see 
http://openfabrics.org/archives/spring2007sonoma/Tuesday%20May%201/gdror%20Next%20Generation%20Hardware%20Assists%20And%20Scalability2.pdf




More information about the general mailing list