Hi, The purpose of the following changes is to allow specifying multiple target IP addresses in a single mount. Combining this with nconnect and servers that support exposing multiple ports, we can achieve load balancing and much greater throughput, especially on RDMA setups, even with the older NFSv3 protocol. The changes allow specifing a new `remoteports=<IP-addresses-ranges>` mount option providing a group of IP addresses, from which `nconnect` at sunrpc scope picks target transport address in round-robin. There's also an accompanying `localports` parameter that allows local address bind so that the source port is better controlled in a way to ensure that transports are not hogging a single local interface. This patchset targets the linux-next tree. Dan Aloni (5): sunrpc: Allow specifying a vector of IP addresses for nconnect xprtrdma: Bind to a local address if requested nfs: Extend nconnect with remoteports and localports mount params sunrpc: Add srcaddr to xprt sysfs debug nfs: Increase NFS_MAX_CONNECTIONS fs/nfs/client.c | 24 +++ fs/nfs/fs_context.c | 173 ++++++++++++++++++++- fs/nfs/internal.h | 4 + include/linux/nfs_fs_sb.h | 2 + include/linux/sunrpc/clnt.h | 9 ++ include/linux/sunrpc/xprt.h | 1 + net/sunrpc/clnt.c | 47 ++++++ net/sunrpc/debugfs.c | 8 +- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 +- net/sunrpc/xprtrdma/transport.c | 17 +- net/sunrpc/xprtrdma/verbs.c | 15 +- net/sunrpc/xprtrdma/xprt_rdma.h | 5 +- net/sunrpc/xprtsock.c | 49 +++--- 13 files changed, 329 insertions(+), 27 deletions(-) -- 2.26.2