All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Fix TCP connection port number reuse in NFSv3
@ 2015-02-09  3:07 Trond Myklebust
  2015-02-09  3:07 ` [PATCH 01/11] SUNRPC: Set SO_REUSEPORT socket option for TCP connections Trond Myklebust
  0 siblings, 1 reply; 16+ messages in thread
From: Trond Myklebust @ 2015-02-09  3:07 UTC (permalink / raw)
  To: linux-nfs

Over the years, the code that manages the TCP connections has accumulated
a lot of cargo cult code, largely in due to the fact that the RPC duplicate
replay caches do a lot of stuff that is not really sanctioned by the IETF
spec; the main unsanctioned thing being port reuse.
This patchset is an attempt to clean up the mess, and replace our current
hacky code to disconnect sockets using the TCP RST mechanism with a more
robust version that uses the SO_REUSEPORT socket option to ensure that
we can reuse the socket ports even if they are stuck in TIME_WAIT.


Trond Myklebust (11):
  SUNRPC: Set SO_REUSEPORT socket option for TCP connections
  SUNRPC: Handle EADDRINUSE on connect
  SUNRPC: Do not clear the source port in xs_reset_transport
  SUNRPC: Ensure xs_reset_transport() resets the close connection flags
  SUNRPC: Add helpers to prevent socket create from racing
  SUNRPC: TCP/UDP always close the old socket before reconnecting
  SUNRPC: Remove TCP client connection reset hack
  SUNRPC: Kill the special TCP close mechanisms
  SUNRPC: Remove TCP socket linger code
  SUNRPC: Cleanup to remove remaining uses of XPRT_CONNECTION_ABORT
  SUNRPC: Remove the redundant XPRT_CONNECTION_CLOSE flag

 include/linux/sunrpc/xprt.h |   6 +-
 net/sunrpc/clnt.c           |   3 +
 net/sunrpc/xprt.c           |  38 +++++++-
 net/sunrpc/xprtsock.c       | 230 ++++++++++++++------------------------------
 4 files changed, 111 insertions(+), 166 deletions(-)

-- 
2.1.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-02-09 15:59 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-09  3:07 [PATCH 00/11] Fix TCP connection port number reuse in NFSv3 Trond Myklebust
2015-02-09  3:07 ` [PATCH 01/11] SUNRPC: Set SO_REUSEPORT socket option for TCP connections Trond Myklebust
2015-02-09  3:07   ` [PATCH 02/11] SUNRPC: Handle EADDRINUSE on connect Trond Myklebust
2015-02-09  3:07     ` [PATCH 03/11] SUNRPC: Do not clear the source port in xs_reset_transport Trond Myklebust
2015-02-09  3:07       ` [PATCH 04/11] SUNRPC: Ensure xs_reset_transport() resets the close connection flags Trond Myklebust
2015-02-09  3:07         ` [PATCH 05/11] SUNRPC: Add helpers to prevent socket create from racing Trond Myklebust
2015-02-09  3:07           ` [PATCH 06/11] SUNRPC: TCP/UDP always close the old socket before reconnecting Trond Myklebust
2015-02-09  3:07             ` [PATCH 07/11] SUNRPC: Remove TCP client connection reset hack Trond Myklebust
2015-02-09  3:07               ` [PATCH 08/11] SUNRPC: Kill the special TCP close mechanisms Trond Myklebust
2015-02-09  3:07                 ` [PATCH 09/11] SUNRPC: Remove TCP socket linger code Trond Myklebust
2015-02-09  3:07                   ` [PATCH 10/11] SUNRPC: Cleanup to remove remaining uses of XPRT_CONNECTION_ABORT Trond Myklebust
2015-02-09  3:07                     ` [PATCH 11/11] SUNRPC: Remove the redundant XPRT_CONNECTION_CLOSE flag Trond Myklebust
2015-02-09 15:31                   ` [PATCH 09/11] SUNRPC: Remove TCP socket linger code Anna Schumaker
2015-02-09 15:37                     ` Trond Myklebust
2015-02-09 15:39                       ` Anna Schumaker
2015-02-09 15:59                         ` Trond Myklebust

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.