On Fri, 15 Jun 2012, Jason Gunthorpe wrote:
On Thu, Jun 14, 2012 at 11:48:09PM -0700, Vivek Kashyap wrote:
I don't think anyone ever made patches for this, but considering the
performance delta you see it really seems worthwhile.
How about something like below? Basically the the 'checksum-less'
operation is only between hosts that both support it by extending
the existing IB connection setup mechanism. The following also keeps
the changes confined to ipoib-cm module.
It is much better to do things properly (as I described) so you don't
have a gotcha when a packet gets routed.
We don't want to fake that we are doing csum, we want to forward the
csum offload data to the other side, which might discard it or might
use it to forward the packet out another interface. This is not hard,
just fiddly work.
We certainly need to ensure that the routed packet is not left without a
checksum. One either does not enable 'checksum less link' on routers, or
else the router must be able to take care of it when it forwards the packet.
By 'csum offload data' do you mean something akin to csum_start/csum_offset?
How would one transmit this information when using IPoIB-CM across from the
sending host to the router? If we can do that it will certainly be useful.
Otherwise what I was proposing was that a router is either configured to not
accept checksum less configuration on IPoIb-CM, or if checksum less links are
supported then, when forwarding to a 'checksum less' interface it does nothing;
but when forwarding to any other interface the checksum is added.
This addition is really done in the ipoib-cm driver to insulate from the
rest of the stack. The 'faking' of checksum offload is only to the local
IP stack so that it does not do the calculation but leaves it to the
IPoIB-CM driver. That is what we essentially do with virtio or hardware
offload mechanisms.
We are working on a test patch. That should make it easier to discuss the
gaps or if the solution is complete.
thanks
Vivek
--
Jason Gunthorpe <[email protected]> (780)4406067x832
Chief Technology Officer, Obsidian Research Corp Edmonton, Canada
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html