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

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to