[ofa-general] Re: [PATCHv2] IB/ipoib: S/G and HW checksum support
Michael S. Tsirkin
mst at dev.mellanox.co.il
Wed Sep 5 20:21:23 PDT 2007
> > So yes, ICRC is an end-to-end checksum. This is made clear in the
> > modinfo description of the parameter.
>
> The ICRC checksum is a fine checksum. Your defining end-to-end as one
> end of an IB network to another. End-to-end in Internet terms is from
> one host to another over many potential networks. The source of a TCP
> packet could be on a IB network and be communicating with a node
> across the globe on a token ring. The TCP checksum is from source to
> destination, end-to-end. If you don't perform the TCP checksum at the
> source, there is no end-to-end checksum.
Yep. Still, HWCSUM bit is cleared by the IB to Eth gateway, at
which point regular transport checksums should be
inserted. The rest of the packet path will be covered by TCP/IP
checkums. So you'll be fine unless your IB-Eth gateway
corrupts the packet, you do not have to trust the rest of
the gateways on the path.
And BTW e.g. SDP<->TCP gateways out there have the same property.
> > > I recommend that be made clear to the user.
> >
> > I don't think there's any potential for confusion
>
> There is a potential for confusion. The threads on this topic show
> that. How about naming the module parameter "omit_inet_csums"?
I agree hw_csum is not ideal. omit_inet_csums makes it look
like it won't be routeable outside IB subnet.
Assuming routing works, even if this means you trust the IB-Eth gateway not to
corrupt the packet, I'm looking for name that makes this clear.
--
MST
More information about the general
mailing list