On Tue,  1 Aug 2017 18:36:11 +0200
Phil Sutter <p...@nwl.cc> wrote:

> Both functions take the desired address family as a parameter. So using
> that to notify the user what address family was expected is correct,
> unlike using dst->family which will tell the user only what address
> family was specified.
> 
> The situation which commit 334af76143368 tried to fix was when 'ip'
> would accept addresses from multiple families. In that case, the family
> parameter is set to AF_UNSPEC so that get_addr_1() may accept any valid
> address.
> 
> This patch introduces a wrapper around family_name() which returns the
> string "any valid" for AF_UNSPEC instead of the three question marks
> unsuitable for use in error messages.
> 
> Tests for AF_UNSPEC:
> 
> | # ip a a 256.10.166.1/24 dev d0
> | Error: any valid prefix is expected rather than "256.10.166.1/24".
> 
> | # ip neighbor add proxy 2001:db8::g dev d0
> | Error: any valid address is expected rather than "2001:db8::g".
> 
> Tests for explicit address family:
> 
> | # ip -6 addrlabel add prefix 1.1.1.1/24 label 123
> | Error: inet6 prefix is expected rather than "1.1.1.1/24".
> 
> | # ip -4 addrlabel add prefix dead:beef::1/24 label 123
> | Error: inet prefix is expected rather than "dead:beef::1/24".
> 
> Reported-by: Jaroslav Aster <jas...@redhat.com>
> Fixes: 334af76143368 ("fix get_addr() and get_prefix() error messages")
> Signed-off-by: Phil Sutter <p...@nwl.cc>

Moderately more helpful, so sure.

Reply via email to