diff options
author | 2016-05-24 23:19:11 +0200 | |
---|---|---|
committer | 2016-06-13 19:04:12 +0200 | |
commit | 86be48773c1833129317a3a0d6fe8165eb69ac3f (patch) | |
tree | ff6ddc2933e9a18aba8e3e841fb6f495bc7efe4a /vnet/vnet/ip/ip6_format.c | |
parent | a38c3df5fd2bf1bf8b3389e882f6dcd5ac533202 (diff) |
Explicity specify IP address type for format_ip46_address function
Change-Id: I3379517535a98a7a5fbd3173503f288a81378821
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'vnet/vnet/ip/ip6_format.c')
-rw-r--r-- | vnet/vnet/ip/ip6_format.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/vnet/vnet/ip/ip6_format.c b/vnet/vnet/ip/ip6_format.c index ad834f4db8a..5d32189478b 100644 --- a/vnet/vnet/ip/ip6_format.c +++ b/vnet/vnet/ip/ip6_format.c @@ -341,7 +341,23 @@ uword unformat_ip46_address (unformat_input_t * input, va_list * args) u8 * format_ip46_address (u8 * s, va_list * args) { ip46_address_t *ip46 = va_arg (*args, ip46_address_t *); - return ip46_address_is_ip4(ip46)? + ip46_type_t type = va_arg (*args, ip46_type_t); + int is_ip4 = 1; + + switch (type) + { + case IP46_TYPE_ANY: + is_ip4 = ip46_address_is_ip4(ip46); + break; + case IP46_TYPE_IP4: + is_ip4 = 1; + break; + case IP46_TYPE_IP6: + is_ip4 = 0; + break; + } + + return is_ip4 ? format(s, "%U", format_ip4_address, &ip46->ip4): format(s, "%U", format_ip6_address, &ip46->ip6); } |