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

Michael S. Tsirkin mst at dev.mellanox.co.il
Wed Sep 5 09:15:23 PDT 2007


> Quoting James Lentini <jlentini at netapp.com>:
> Subject: Re: [PATCHv2] IB/ipoib: S/G and HW checksum support
> 
> 
> 
> On Tue, 4 Sep 2007, Michael S. Tsirkin wrote:
> 
> > > Quoting James Lentini <jlentini at netapp.com>:
> > > Subject: Re: [PATCHv2] IB/ipoib: S/G and HW checksum support
> > > 
> > > 
> > > 
> > > On Tue, 4 Sep 2007, Michael S. Tsirkin wrote:
> > > 
> > > > > Quoting James Lentini <jlentini at netapp.com>:
> > > > > Subject: Re: [PATCHv2] IB/ipoib: S/G and HW checksum support
> > > > > 
> > > > > 
> > > > > 
> > > > > On Tue, 4 Sep 2007, Jason Gunthorpe wrote:
> > > > > 
> > > > > > On Tue, Sep 04, 2007 at 12:11:33PM +0300, Michael S. Tsirkin wrote:
> > > > > > 
> > > > > > > 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.
> > > > > > 
> > > > > > This would be alot better in my mind of the option was negotiated as
> > > > > > part of the CM setup process. Otherwise this becomes a network wide
> > > > > > all or nothing kind of feature..
> > > > > > 
> > > > > > What if the RXing Linux IB side is acting as a forwarder to ethernet?
> > > > > > It will forward corrupt packets if this option is set, right?
> > > > > 
> > > > > So this break all gateway devices?
> > > > 
> > > > It won't. The gateway will calculate the checksums.
> > > > 
> > > > > How would packets be routed with this change?
> > > > 
> > > > As usual.
> > > 
> > > A Linux system setup as a router with an IPoIB interface and an 
> > > Ethernet interface will work if this feature is turned on?
> > 
> > I am yet to test this setup, but yes, it should.
> 
> I has this scenario in mind: 
> 
> A ------- B ------- C
>    IPoIB      Eth
> 
> A and C are Linux hosts, B is a Linux host setup as a router.
>  
> If the link between A and B has this checksum change turned on, then 
> then TCP connections between A anc C will fail with TCP checksum 
> errors. 

A to C communication will work if B goes over A->C packets and fills in
the transport checksums before sending the packet to C.

> Technically an IPoIB network with these changes can route IP packets 
> to other networks,

I know. Hopefully this will keep working with hw_csum bit set.

> but with the missing transport layer checksums 
> the contents are unintelligible. 

This is not what I'm aiming for :).
In this setup, the transport checksums could be calculated by B.
I haven't tested this conf yet, hopefully, this can be made to work
without changes to linux networking stack, by assigning CHECKSUM_PARTIAL
to the skb.

-- 
MST



More information about the general mailing list