All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: bfields@fieldses.org, trond.myklebust@primarydata.com
Cc: schumaker.anna@gmail.com, linux-nfs@vger.kernel.org
Subject: [PATCH 0/4] nfs/nfsd/sunrpc: enforce requirement for congestion control protocols in NFSv4
Date: Thu, 23 Feb 2017 12:03:33 -0500	[thread overview]
Message-ID: <20170223170337.10686-1-jlayton@redhat.com> (raw)

RFC5661 says:

   Where an NFSv4.1 implementation supports operation over the IP
   network protocol, any transport used between NFS and IP MUST be among
   the IETF-approved congestion control transport protocols.

...and RFC7530 has similar verbiage. The NFS server has never enforced
this requirement, however, so a user could issue NFSv4 calls against
the server via UDP.

This patchset adds a small bit of infrastructure to the sunrpc layer
to enforce this requirement, and has the nfs and nfsd layers set the
appropriate flags for it. It also has knfsd skip registering a UDP
port for NFSv4, using the same flags.

Lightly tested by hand, but it's fairly straightforward.

Jeff Layton (4):
  sunrpc: flag transports as using IETF approved congestion control
    protocols
  sunrpc: turn bitfield flags in svc_version into bools
  nfs/nfsd/sunrpc: enforce congestion control protocol requirement for
    NFSv4
  sunrpc: don't register UDP port with rpcbind when version needs
    congestion control

 fs/nfs/callback_xdr.c                    |  6 ++++--
 fs/nfsd/nfs2acl.c                        |  1 -
 fs/nfsd/nfs3acl.c                        |  1 -
 fs/nfsd/nfs4proc.c                       | 13 +++++++------
 include/linux/sunrpc/svc.h               | 12 ++++++++----
 include/linux/sunrpc/svc_xprt.h          |  1 +
 net/sunrpc/svc.c                         | 22 +++++++++++++++++++++-
 net/sunrpc/svcsock.c                     |  1 +
 net/sunrpc/xprtrdma/svc_rdma_transport.c |  2 ++
 9 files changed, 44 insertions(+), 15 deletions(-)

-- 
2.9.3


             reply	other threads:[~2017-02-23 17:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-23 17:03 Jeff Layton [this message]
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
     [not found]     ` <2152dfdf-f847-2511-1600-6499b6ea9708-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-02-23 20:00       ` Jeff Layton
2017-02-23 20:00         ` Jeff Layton
     [not found]         ` <1487880034.3448.8.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-23 20:06           ` Tom Talpey
2017-02-23 20:06             ` Tom Talpey
     [not found]             ` <65056db6-f30a-c44d-b01c-b549887c4895-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-02-23 20:11               ` J. Bruce Fields
2017-02-23 20:11                 ` J. Bruce Fields
     [not found]                 ` <20170223201109.GC11882-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-02-23 20:26                   ` Jason Gunthorpe
2017-02-23 20:26                     ` Jason Gunthorpe
     [not found]                     ` <20170223202609.GC26301-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-02-23 20:33                       ` Tom Talpey
2017-02-23 20:33                         ` Tom Talpey
     [not found]                         ` <18ef37c3-95db-9a2c-dbcb-f579672065d6-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-02-23 20:55                           ` Jason Gunthorpe
2017-02-23 20:55                             ` Jason Gunthorpe
     [not found]                             ` <20170223205502.GA29673-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-02-24 15:08                               ` Tom Talpey
2017-02-24 15:08                                 ` Tom Talpey
     [not found]                                 ` <4eb1da3d-2690-7647-2d85-cc574bc1d564-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-02-24 17:17                                   ` Jeff Layton
2017-02-24 17:17                                     ` Jeff Layton
     [not found]                                     ` <1487956644.3314.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-24 18:03                                       ` Jason Gunthorpe
2017-02-24 18:03                                         ` Jason Gunthorpe
2017-02-23 20:32                   ` Jeff Layton
2017-02-23 20:32                     ` Jeff Layton
2017-02-23 20:17               ` Chuck Lever
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=20170223170337.10686-1-jlayton@redhat.com \
    --to=jlayton@redhat.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=schumaker.anna@gmail.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 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.