diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2009-08-09 15:09:35 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-08-09 15:09:35 -0400 |
commit | ba809130bc260fce04141aca01ef9e068d32af2a (patch) | |
tree | 8aa5fe3f46c679346120f2c28848bf4446133a4c /net/sunrpc/xprtrdma/transport.c | |
parent | a02d692611348f11ee1bc37431a883c3ff2de23e (diff) |
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>
Diffstat (limited to 'net/sunrpc/xprtrdma/transport.c')
-rw-r--r-- | net/sunrpc/xprtrdma/transport.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 1dd6123070e9..537c210a8b92 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c | |||
@@ -202,14 +202,6 @@ xprt_rdma_format_addresses(struct rpc_xprt *xprt) | |||
202 | snprintf(buf, 8, "%4hx", ntohs(addr->sin_port)); | 202 | snprintf(buf, 8, "%4hx", ntohs(addr->sin_port)); |
203 | xprt->address_strings[RPC_DISPLAY_HEX_PORT] = buf; | 203 | xprt->address_strings[RPC_DISPLAY_HEX_PORT] = buf; |
204 | 204 | ||
205 | buf = kzalloc(30, GFP_KERNEL); | ||
206 | if (buf) | ||
207 | snprintf(buf, 30, "%pI4.%u.%u", | ||
208 | &addr->sin_addr.s_addr, | ||
209 | ntohs(addr->sin_port) >> 8, | ||
210 | ntohs(addr->sin_port) & 0xff); | ||
211 | xprt->address_strings[RPC_DISPLAY_UNIVERSAL_ADDR] = buf; | ||
212 | |||
213 | /* netid */ | 205 | /* netid */ |
214 | xprt->address_strings[RPC_DISPLAY_NETID] = "rdma"; | 206 | xprt->address_strings[RPC_DISPLAY_NETID] = "rdma"; |
215 | } | 207 | } |