• Rick Macklem's avatar
    nfscl: Add a Linux compatible "nconnect" mount option · 1e0a518d
    Rick Macklem authored
    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