SUNRPC: Remove duplicate universal address generation
authorChuck Lever <chuck.lever@oracle.com>
Sun, 9 Aug 2009 19:09:35 +0000 (15:09 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 9 Aug 2009 19:09:35 +0000 (15:09 -0400)
commitba809130bc260fce04141aca01ef9e068d32af2a
tree8aa5fe3f46c679346120f2c28848bf4446133a4c
parenta02d692611348f11ee1bc37431a883c3ff2de23e
SUNRPC: Remove duplicate universal address generation

RPC universal address generation is currently done in several places:
rpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c.  Remove the
redundant cases that convert a socket address to a universal
address.  The nfs4proc.c case takes a pre-formatted presentation
address string, not a socket address, so we'll leave that one.

Because the new uaddr constructor uses the recently introduced
rpc_ntop(), it now supports proper "::" shorthanding for IPv6
addresses.  This allows the kernel to register properly formed
universal addresses with the local rpcbind service, in _all_ cases.

The kernel can now also send properly formed universal addresses in
RPCB_GETADDR requests, and support link-local properly when
encoding and decoding IPv6 addresses.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/xprt.h
net/sunrpc/rpcb_clnt.c
net/sunrpc/xprtrdma/transport.c
net/sunrpc/xprtsock.c