mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-20 12:54:36 +08:00
SUNRPC: Use short-hand IPv6 ANYADDR for RPCB_SET
Clean up: When doing an RPCB_SET, make the kernel's rpcb client use the shorthand "::" for the universal form of the IPv6 ANY address. Without this patch, rpcbind will advertise: 0000:0000:0000:0000:0000:0000:0000:0000.x.y This is cosmetic only. It cleans up the display of information from /sbin/rpcinfo. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
2c7eb0b206
commit
9d548b9c95
@ -20,6 +20,7 @@
|
|||||||
#include <linux/in6.h>
|
#include <linux/in6.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
|
#include <net/ipv6.h>
|
||||||
|
|
||||||
#include <linux/sunrpc/clnt.h>
|
#include <linux/sunrpc/clnt.h>
|
||||||
#include <linux/sunrpc/sched.h>
|
#include <linux/sunrpc/sched.h>
|
||||||
@ -304,10 +305,13 @@ static int rpcb_register_netid6(struct sockaddr_in6 *address_to_register,
|
|||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
/* Construct AF_INET6 universal address */
|
/* Construct AF_INET6 universal address */
|
||||||
snprintf(buf, sizeof(buf),
|
if (ipv6_addr_any(&address_to_register->sin6_addr))
|
||||||
NIP6_FMT".%u.%u",
|
snprintf(buf, sizeof(buf), "::.%u.%u",
|
||||||
NIP6(address_to_register->sin6_addr),
|
port >> 8, port & 0xff);
|
||||||
port >> 8, port & 0xff);
|
else
|
||||||
|
snprintf(buf, sizeof(buf), NIP6_FMT".%u.%u",
|
||||||
|
NIP6(address_to_register->sin6_addr),
|
||||||
|
port >> 8, port & 0xff);
|
||||||
map->r_addr = buf;
|
map->r_addr = buf;
|
||||||
|
|
||||||
dprintk("RPC: %sregistering [%u, %u, %s, '%s'] with "
|
dprintk("RPC: %sregistering [%u, %u, %s, '%s'] with "
|
||||||
|
Loading…
Reference in New Issue
Block a user