From: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Or Gerlitz <gerlitz.or-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: ib_ipoib: CSUM support in connected mode
Date: Mon, 15 Sep 2014 22:03:51 +0300 [thread overview]
Message-ID: <20140915190351.GB17422@yuval-lab> (raw)
In-Reply-To: <20140915165820.GB12397-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
On Mon, Sep 15, 2014 at 10:58:20AM -0600, Jason Gunthorpe wrote:
> On Mon, Sep 15, 2014 at 05:47:19PM +0300, Or Gerlitz wrote:
>
> > > [...] The proposal is to tell to network stack that IPoIB-CM supports IP
> > > Checksum offload. This enables Linux IPoIB-CM driver to use Scatter/Gather feature. Network
> > > sends the IP packet without adding the IP Checksum to the header.
> >
> > AFAIK, on the TX side, Linux will always compute the IP checksum,
> > but with this suggestion, not the TCP checksum which is assumed to
> > be computed by the card... so we will have a TCP packet on the wire
> > without checksum. And if this packet goes through gateway it will be
> > dropped at some point, agree?
>
> I remember this was discussed a few years ago on this list.
>
> To do this, you need to transfer the offload state across the wire, so
> on receive you inject the packet with the proper tag that the csum is
> not computed but ready for offload. A node receiving a packet like
> this would have to compute the csum before sending it onwards, so no,
> if done properly it will not break gateways.
>
> All the core infrastructure is there, all the virtualization drivers
> work like this - the guest side does not compute the csum, and the
> hyperviser side receives the packet with that flag, and the csum
> ultimately is offloaded to the physical NIC. Look at the xen net
> driver for an example.
>
> The main thing is to negotiate this and other features at RC
> connection time. Be sure to leave room for other optimizations, for
> instance IPOIB could forward a GSO packet unbroken to the remote side.
Correct, driver must support the case of peer does not support this feature.
Currently i have defined a 16 bits capability field that exchanged during
RC setup time.
struct ipoib_cm_data {
__be32 qpn; /* High byte MUST be ignored on receive */
__be32 mtu;
+ __be16 sig; /* must be IPOIB_CM_PROTO_SIG */
+ __be16 caps; /* 4 bits proto ver and 12 bits capabilities */
};
This enactment breaks RFC but we will get to it as soon as the idea will
be accepted here.
>
> Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-09-15 19:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-14 18:46 ib_ipoib: CSUM support in connected mode Yuval Shaia
2014-09-15 14:47 ` Or Gerlitz
[not found] ` <CAJ3xEMhEzdyzcAufQU--VbM7aoAzsw7wV2i_i=kjcS9PbdC0Tw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-15 16:58 ` Jason Gunthorpe
[not found] ` <20140915165820.GB12397-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-09-15 17:20 ` Or Gerlitz
[not found] ` <CAJ3xEMir_FgqS7j+fuhugocawdZXHG9hAK-jpArZ_5vkzVjZeg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-15 17:45 ` Jason Gunthorpe
2014-09-15 19:03 ` Yuval Shaia [this message]
2014-09-15 18:55 ` Yuval Shaia
2014-09-16 6:47 ` Or Gerlitz
[not found] ` <5417DD0F.9090201-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-09-22 19:28 ` Yuval Shaia
2014-09-30 8:39 ` Yuval Shaia
2014-10-02 13:00 ` Yuval Shaia
2014-10-01 11:55 ` Yuval Shaia
2014-10-01 12:13 ` Or Gerlitz
[not found] ` <542BEFED.6050203-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-04 18:36 ` Yuval Shaia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140915190351.GB17422@yuval-lab \
--to=yuval.shaia-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
--cc=gerlitz.or-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.