u8 *
format_vl_api_address_family (u8 * s, va_list * args)
{
- vl_api_address_family_t af = va_arg (*args, vl_api_address_family_t);
+ vl_api_address_family_t af = va_arg (*args, int);
- if (ADDRESS_IP6 == clib_net_to_host_u32 (af))
+ if (ADDRESS_IP6 == af)
s = format (s, "ip4");
else
s = format (s, "ip6");
{
const vl_api_address_t *addr = va_arg (*args, vl_api_address_t *);
- if (ADDRESS_IP6 == clib_net_to_host_u32 (addr->af))
+ if (ADDRESS_IP6 == addr->af)
s = format (s, "%U", format_ip6_address, addr->un.ip6);
else
s = format (s, "%U", format_ip4_address, addr->un.ip4);
{
const vl_api_address_union_t *addr =
va_arg (*args, vl_api_address_union_t *);
- vl_api_address_family_t af = va_arg (*args, vl_api_address_family_t);
+ vl_api_address_family_t af = va_arg (*args, int);
if (ADDRESS_IP6 == af)
s = format (s, "%U", format_ip6_address, addr->ip6);
{
const vl_api_prefix_t *pfx = va_arg (*args, vl_api_prefix_t *);
- s = format (s, "%U/%d", format_vl_api_address,
- &pfx->address, pfx->address_length);
+ s = format (s, "%U/%u", format_vl_api_address, &pfx->address, pfx->len);
return s;
}
return (format (s, "%U", format_ethernet_address, mac));
}
+u8 *
+format_vl_api_version (u8 * s, va_list * args)
+{
+ vl_api_version_t *ver = va_arg (*args, vl_api_version_t *);
+ s = format (s, "%u.%u.%u", ver->major, ver->minor, ver->patch);
+ if (ver->pre_release[0] != 0)
+ {
+ s = format(s, "-%v", ver->pre_release);
+ if (ver->build_metadata[0] != 0)
+ s = format(s, "+%v", ver->build_metadata);
+ }
+ return s;
+}
+
uword
unformat_vl_api_mac_address (unformat_input_t * input, va_list * args)
{
vl_api_address_t *ip = va_arg (*args, vl_api_address_t *);
if (unformat (input, "%U", unformat_ip4_address, &ip->un.ip4))
- ip->af = clib_host_to_net_u32(ADDRESS_IP4);
+ ip->af = ADDRESS_IP4;
else if (unformat (input, "%U", unformat_ip6_address, &ip->un.ip6))
- ip->af = clib_host_to_net_u32(ADDRESS_IP6);
+ ip->af = ADDRESS_IP6;
else
return (0);
vl_api_address_family_t *af = va_arg (*args, vl_api_address_family_t *);
if (unformat (input, "ip4") || unformat (input, "ipv4"))
- *af = clib_host_to_net_u32(ADDRESS_IP4);
+ *af = ADDRESS_IP4;
else if (unformat (input, "ip6") || unformat (input, "ipv6"))
- *af = clib_host_to_net_u32(ADDRESS_IP6);
+ *af = ADDRESS_IP6;
else
return (0);
}
uword
-unformat_vl_api_prefix (unformat_input_t * input, va_list * args)
+unformat_vl_api_prefix (unformat_input_t *input, va_list *args)
{
- vl_api_prefix_t *pfx = va_arg (*args, vl_api_prefix_t *);
+ vl_api_prefix_t *pfx = va_arg (*args, vl_api_prefix_t *);
+
+ if (unformat (input, "%U/%U", unformat_vl_api_address, &pfx->address,
+ unformat_u8, &pfx->len))
+ return (1);
- if (unformat (input, "%U/%d", unformat_vl_api_address, &pfx->address,
- &pfx->address_length))
- return (1);
return (0);
}
{
vl_api_mprefix_t *pfx = va_arg (*args, vl_api_mprefix_t *);
- if (unformat (input, "%U/%d",
- unformat_vl_api_ip4_address, &pfx->grp_address.ip4,
- &pfx->grp_address_length))
- pfx->af = ADDRESS_IP4;
- else if (unformat (input, "%U/%d",
- unformat_vl_api_ip6_address, &pfx->grp_address.ip6,
- &pfx->grp_address_length))
- pfx->af = ADDRESS_IP6;
+ if (unformat (input, "%U/%U", unformat_vl_api_ip4_address,
+ &pfx->grp_address.ip4, unformat_u16,
+ &pfx->grp_address_length))
+ pfx->af = ADDRESS_IP4;
+ else if (unformat (input, "%U/%U", unformat_vl_api_ip6_address,
+ &pfx->grp_address.ip6, unformat_u16,
+ &pfx->grp_address_length))
+ pfx->af = ADDRESS_IP6;
else if (unformat (input, "%U %U",
unformat_vl_api_ip4_address, &pfx->src_address.ip4,
unformat_vl_api_ip4_address, &pfx->grp_address.ip4))
return (1);
}
+uword unformat_vl_api_version (unformat_input_t * input, va_list * args)
+{
+ vl_api_version_t *ver = va_arg (*args, vl_api_version_t *);
+
+ if (unformat (input, "%u.%u.%u-%s+%s", ver->major, ver->minor, ver->patch,
+ ver->pre_release, ver->build_metadata) ||
+ unformat (input, "%u.%u.%u-%s", ver->major, ver->minor, ver->patch,
+ ver->pre_release) ||
+ unformat (input, "%u.%u.%u", ver->major, ver->minor, ver->patch))
+ return (1);
+
+ return (0);
+}