• Chuck Lever's avatar
    SUNRPC: Use only rpcbind v2 for AF_INET requests · 40fef8a6
    Chuck Lever authored
    Some server vendors support the higher versions of rpcbind only for
    AF_INET6.  The kernel doesn't need to use v3 or v4 for AF_INET anyway,
    so change the kernel's rpcbind client to query AF_INET servers over
    rpcbind v2 only.
    
    This has a few interesting benefits:
    
    1. If the rpcbind request is going over TCP, and the server doesn't
       support rpcbind versions 3 or 4, the client reduces by two the number
       of ephemeral ports left in TIME_WAIT for each rpcbind request.  This
       will help during NFS mount storms.
    
    2. The rpcbind interaction with servers that don't support rpcbind
       versions 3 or 4 will use less network traffic.  Also helpful
       during mount storms.
    
    3. We can eliminate the kernel build option that controls whether the
       kernel's rpcbind client uses rpcbind version 3 and 4 for AF_INET
       servers.  Less complicated kernel configuration...
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    40fef8a6
rpcb_clnt.c 16.2 KB