From: Jeff Layton <jlayton@redhat.com>
To: Tom Talpey <tom@talpey.com>,
Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
trond.myklebust@primarydata.com, schumaker.anna@gmail.com,
linux-nfs@vger.kernel.org, Chuck Lever <chuck.lever@oracle.com>,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH 1/4] sunrpc: flag transports as using IETF approved congestion control protocols
Date: Fri, 24 Feb 2017 12:17:24 -0500 [thread overview]
Message-ID: <1487956644.3314.4.camel@redhat.com> (raw)
In-Reply-To: <4eb1da3d-2690-7647-2d85-cc574bc1d564@talpey.com>
On Fri, 2017-02-24 at 10:08 -0500, Tom Talpey wrote:
> On 2/23/2017 3:55 PM, Jason Gunthorpe wrote:
> > On Thu, Feb 23, 2017 at 03:33:53PM -0500, Tom Talpey wrote:
> >
> > > The key words are "IETF-approved". Mitigation and Interaction are
> > > operational decisions, not protocol design.
> >
> > We are talking about this bit from RFC 3530 ?
> >
> > Where an NFS version 4 implementation supports operation over the IP
> > network protocol, the supported transports between NFS and IP MUST be
> > among the IETF-approved congestion control transport protocols, which
> > include TCP and SCTP.
> >
> > This gives most of RDMA an out as it is not over the IP protocol. The
> > only obvious troubled one is RoCEv2..
>
> RFC7530 has updated this text somewhat, but it's similar, yes.
>
> https://tools.ietf.org/html/rfc7530#section-3.1
>
> The specification language specifically calls out IP-based transports,
> which is why I mentioned that RoCEv1, being non-IP-based and not even
> truly routable, could obtain a bye. But the NFS layer IMO should really
> not be digging down to this level. I think it would be much better if
> each transport could expose a relevant attribute, which NFS could
> optionally inspect.
>
> As you mention, RoCEv2 is a bit of a pickle. It's UDP/IP-based, and it
> does have end-to-end congestion control, but technically speaking it
> is not "IETF approved". I'm not sure what call to make there.
>
> Tom.
I'm perfectly willing to forgo the "IETF approved" verbiage since it's
ambiguous anyway. We can certainly just use more weasel words in the
comments as well.
RFC5661 has a bit more to say on the matter:
NFSv4.1 works over Remote Direct Memory Access (RDMA) and non-RDMA-
based transports with the following attributes:
o The transport supports reliable delivery of data, which NFSv4.1
requires but neither NFSv4.1 nor RPC has facilities for ensuring
[34].
o The transport delivers data in the order it was sent. Ordered
delivery simplifies detection of transmit errors, and simplifies
the sending of arbitrary sized requests and responses via the
record marking protocol [3].
I'd rather rely on those attributes instead of any sort of IETF
approval anyway. Do all RDMA transports (RoCEv2, in particular) have
those characteristics?
If not, then perhaps there is some way to have different RDMA transport
drivers set flags in some structure as to whether they fulfill those
requirements, and then have the xprtrdma driver check for those flags.
In any case, for now I think we should just give all RDMA transports a
pass, and clean that up later. I'm mostly interested in excluding UDP
over IP for now -- being more strict with RDMA can come later.
--
Jeff Layton <jlayton@redhat.com>
next prev parent reply other threads:[~2017-02-24 17:17 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-23 17:03 [PATCH 0/4] nfs/nfsd/sunrpc: enforce requirement for congestion control protocols in NFSv4 Jeff Layton
2017-02-23 17:03 ` [PATCH 1/4] sunrpc: flag transports as using IETF approved congestion control protocols Jeff Layton
2017-02-23 19:42 ` Tom Talpey
2017-02-23 20:00 ` Jeff Layton
2017-02-23 20:06 ` Tom Talpey
2017-02-23 20:11 ` J. Bruce Fields
2017-02-23 20:26 ` Jason Gunthorpe
2017-02-23 20:33 ` Tom Talpey
2017-02-23 20:55 ` Jason Gunthorpe
2017-02-24 15:08 ` Tom Talpey
2017-02-24 17:17 ` Jeff Layton [this message]
2017-02-24 18:03 ` Jason Gunthorpe
2017-02-23 20:32 ` Jeff Layton
2017-02-23 20:17 ` Chuck Lever
2017-02-23 20:15 ` Chuck Lever
2017-02-23 17:03 ` [PATCH 2/4] sunrpc: turn bitfield flags in svc_version into bools Jeff Layton
2017-02-23 17:03 ` [PATCH 3/4] nfs/nfsd/sunrpc: enforce congestion control protocol requirement for NFSv4 Jeff Layton
2017-02-23 17:03 ` [PATCH 4/4] sunrpc: don't register UDP port with rpcbind when version needs congestion control Jeff Layton
2017-02-23 17:17 ` [PATCH 0/4] nfs/nfsd/sunrpc: enforce requirement for congestion control protocols in NFSv4 Jeff Layton
2017-02-24 18:25 ` [PATCH v2 0/4] nfs/nfsd/sunrpc: enforce NFSv4 transport requirements Jeff Layton
2017-02-24 18:25 ` [PATCH v2 1/4] sunrpc: turn bitfield flags in svc_version into bools Jeff Layton
2017-02-24 18:25 ` [PATCH v2 2/4] sunrpc: flag transports as having both reliable and ordered delivery, and congestion control Jeff Layton
2017-02-24 18:25 ` [PATCH v2 3/4] nfs/nfsd/sunrpc: enforce transport requirements for NFSv4 Jeff Layton
2017-02-24 18:25 ` [PATCH v2 4/4] sunrpc: don't register UDP port with rpcbind when version needs congestion control Jeff Layton
2017-02-24 18:38 ` [PATCH v2 0/4] nfs/nfsd/sunrpc: enforce NFSv4 transport requirements Chuck Lever
2017-02-24 18:53 ` Jeff Layton
2017-02-24 21:23 ` J. Bruce Fields
2017-02-24 18:53 ` Tom Talpey
2017-02-24 21:22 ` J. Bruce Fields
2017-02-24 21:25 ` J. Bruce Fields
2017-02-24 21:34 ` Jeff Layton
2017-02-24 21:44 ` J. Bruce Fields
2017-02-27 11:59 ` Jeff Layton
2017-02-27 12:08 ` Tom Talpey
2017-02-27 12:55 ` Jeff Layton
2017-02-27 14:20 ` J. Bruce Fields
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=1487956644.3314.4.camel@redhat.com \
--to=jlayton@redhat.com \
--cc=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=schumaker.anna@gmail.com \
--cc=tom@talpey.com \
--cc=trond.myklebust@primarydata.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).