[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49BE889C.8080602@hp.com>
Date: Mon, 16 Mar 2009 13:13:00 -0400
From: Vlad Yasevich <vladislav.yasevich@...com>
To: Chuck Lever <chuck.lever@...cle.com>
CC: netdev@...r.kernel.org
Subject: Re: IPv6 address printf format specifier
Chuck Lever wrote:
> The NFS and RPC code in the kernel now uses the new printf format
> specifier for IPv6 addresses. In some cases, the generated address
> string is sent out of the kernel (for example, it is used to build a
> universal address for RPCB_SET requests, and used as the mon_name in
> some SM_MON upcalls to our rpc.statd).
>
> The problem is that outside the kernel, applications generally use
> getnameinfo(3) or inet_ntop(3) to do this conversion. The library
> follows the RFC suggestion of shortening these address strings by
> replacing the longest series of zeroes in the IPv6 address with "::".
>
> Since the kernel doesn't do that, string comparisons don't work when
> comparing address strings that came from our kernel. Since these
> address strings appear to other hosts (via the rpcbind registry) this
> is, or could become, an interoperability issue for Linux.
>
> How should I fix this?
>
> 1. Copy glibc's code to the printf logic for %pI6
I think this is the optimum solution. This normalizes kernel output
with that of user-space thus creating a uniform format.
My $0.02
-vlad
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists