freebsd-dev/sys/fs/nfs
Rick Macklem 1e0a518d65 nfscl: Add a Linux compatible "nconnect" mount option
Linux has had an "nconnect" NFS mount option for some time.
It specifies that N (up to 16) TCP connections are to created for a mount,
instead of just one TCP connection.

A discussion on freebsd-net@ indicated that this could improve
client<-->server network bandwidth, if either the client or server
have one of the following:
- multiple network ports aggregated to-gether with lagg/lacp.
- a fast NIC that is using multiple queues
It does result in using more IP port#s and might increase server
peak load for a client.

One difference from the Linux implementation is that this implementation
uses the first TCP connection for all RPCs composed of small messages
and uses the additional TCP connections for RPCs that normally have
large messages (Read/Readdir/Write).  The Linux implementation spreads
all RPCs across all TCP connections in a round robin fashion, whereas
this implementation spreads Read/Readdir/Write across the additional
TCP connections in a round robin fashion.

Reviewed by:	markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D30970
2021-07-08 17:39:04 -07:00
..
nfs_commonacl.c nfs: Remove APPLESTATIC macro 2020-05-12 13:23:25 +00:00
nfs_commonkrpc.c nfscl: Add a Linux compatible "nconnect" mount option 2021-07-08 17:39:04 -07:00
nfs_commonport.c Fix diroffdiroff, probably copy/paste bug. 2021-02-28 09:08:31 -05:00
nfs_commonsubs.c nfscl: Add a Linux compatible "nconnect" mount option 2021-07-08 17:39:04 -07:00
nfs_var.h nfscl: Add a Linux compatible "nconnect" mount option 2021-07-08 17:39:04 -07:00
nfs.h nfsd: Reduce the callback timeout to 800msec 2021-05-18 16:17:58 -07:00
nfscl.h nfsv4 client: do the BindConnectionToSession as required 2021-04-11 14:34:57 -07:00
nfsclstate.h nfscl: Add hash lists for the NFSv4 opens 2021-05-22 14:53:56 -07:00
nfsdport.h Do not copy vp into f_data for DTYPE_VNODE files. 2020-09-15 21:55:21 +00:00
nfskpiport.h Remove vfs_statfs and vnode_mount macros from NFS 2020-06-17 16:20:19 +00:00
nfsm_subs.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfsport.h nfsclient: Copy only initialized fields in nfs_getattr() 2021-05-04 08:53:57 -04:00
nfsproto.h nfsd: Add support for the NFSv4.1/4.2 Secinfo_no_name operation 2021-05-30 17:52:43 -07:00
nfsrvcache.h Replace all instances of the typedef mbuf_t with "struct mbuf *". 2020-04-17 21:17:51 +00:00
nfsrvstate.h nfsd: make the server repeat CB_RECALL every couple of seconds 2021-04-04 18:15:54 -07:00
nfsv4_errstr.h Add missing comma in nfsv4_errstr 2020-01-13 21:49:27 +00:00
rpcv2.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
xdr_subs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00