[ofa-general] [PATCHv2] IB/ipoib: S/G and HW checksum support
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Thu Sep 6 08:54:18 PDT 2007
On Thu, Sep 06, 2007 at 09:40:11AM +0300, Or Gerlitz wrote:
> >Micheal has made it so you can use 'csum offload' (via disabling csum)
> >on any nic. You can also do the same kind of thing for TSO/GSO. If you
> >send jumbo TSO/GSO packets in a chunk the receiver can then do
> >LRO. Win all around. Sort of like jumbo MTU but without actually
> >changing the MTU.
> >
> >This is all basically the same set of techniques we see between a
> >Linux guest and the linux host in a virtualization environment.
>
> Thanks for the clarification, I have to do some catchup here on the
> details re TSO/GSO and their relation to virtualization, however, to
> make things a little clearer to me, do you agree that as James pointed
> over this thread in
>
> A (IB) ---- B (Gateway eg HW based) ---- C (Ethernet)
>
> scheme, in case A does not compute the TCP checksum of a packet, its
> note the role of the gateway to do so, and C would just drop it?!
I think the proper way to view Michael's patch, and indeed this whole
idea, is that it just moves the work around, with the goal of
eliminating the work for a class of communication (Linux host to Linux
host). So yes, if a gateway uses this feature then it must regenerate
the checksum before it forwards it.
It is actually a pretty neat idea, I've never heard of another network
doing this. I wouldn't call it hardware checksum, but more like a
peer-to-peer VNIC scheme. Nobody would object if a vnic driver moved
checksum and segmentation offload to the VNIC device over a RC QP, and
I think the same rational for that applies here, except it is now peer
to peer. (Michael maybe that is a good name for this concept: p2p_vnic?)
FWIW, general gateways do have a bit of a problem doing the csum
insertion because there are alot of cases and new protocols do crop up
from time to time. It would be best if part of the information sent in
this case was instructions on how to do the insertion like an general
ethernet chip would use.
Jason
More information about the general
mailing list