[PATCH v4 0/9] client-side RPC-with-TLS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Implement basic client-side support for RFC 9289 in Linux.

This series applies to 6.4-rc5 and is also available in the
topic-rpc-with-tls-upcall branch at:

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git

Changes since v3:
- Converted connect logic to use an xprt_class
- Using TLS with proto={udp,rdma} is now properly prevented

Changes since v2:
- Rebased on v6.4-rc4

Changes since RFC:
- Add an rpc_authops method to send TLS probes

---

Chuck Lever (9):
      NFS: Improvements for fs_context-related tracepoints
      SUNRPC: Plumb an API for setting transport layer security
      SUNRPC: Trace the rpc_create_args
      SUNRPC: Add RPC client support for the RPC_AUTH_TLS auth flavor
      SUNRPC: Ignore data_ready callbacks during TLS handshakes
      SUNRPC: Capture CMSG metadata on client-side receive
      SUNRPC: Add a TCP-with-TLS RPC transport class
      NFS: Have struct nfs_client carry a TLS policy field
      NFS: Add an "xprtsec=" NFS mount option


 fs/nfs/client.c                 |   8 +
 fs/nfs/fs_context.c             |  67 +++++
 fs/nfs/internal.h               |   2 +
 fs/nfs/nfs3client.c             |   9 +-
 fs/nfs/nfs4client.c             |  40 ++-
 fs/nfs/super.c                  |  12 +
 include/linux/nfs_fs_sb.h       |   3 +-
 include/linux/sunrpc/auth.h     |   2 +
 include/linux/sunrpc/clnt.h     |   2 +
 include/linux/sunrpc/xprt.h     |  18 ++
 include/linux/sunrpc/xprtsock.h |   3 +
 include/trace/events/sunrpc.h   |  96 +++++++-
 net/sunrpc/Makefile             |   2 +-
 net/sunrpc/auth.c               |   2 +-
 net/sunrpc/auth_tls.c           | 175 +++++++++++++
 net/sunrpc/clnt.c               |   9 +-
 net/sunrpc/sysfs.c              |   1 +
 net/sunrpc/xprtsock.c           | 425 +++++++++++++++++++++++++++++++-
 18 files changed, 847 insertions(+), 29 deletions(-)
 create mode 100644 net/sunrpc/auth_tls.c

--
Chuck Lever




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux