s = format (0, "SCRIPT: add_node_next ");
- s = format (0, "node %s next %s ", mp->node_name, mp->next_name);
+ s = format (s, "node %s next %s ", mp->node_name, mp->next_name);
FINISH;
}
if (mp->name_filter_valid)
{
- u8 *v = vl_api_from_api_to_new_vec (&mp->name_filter);
+ u8 *v = vl_api_from_api_to_new_vec (mp, &mp->name_filter);
s = format (s, "name_filter %v ", v);
vec_free (v);
}
u8 *s;
u8 *cmd = 0;
- cmd = vl_api_from_api_to_new_vec (&mp->cmd);
+ cmd = vl_api_from_api_to_new_vec (mp, &mp->cmd);
s = format (0, "SCRIPT: exec %v ", cmd);
u8 *s;
s = format (0, "SCRIPT: pg_create_interface ");
- s = format (0, "if_id %d", (mp->interface_id));
- s = format (0, "gso-enabled %u", mp->gso_enabled);
- s = format (0, "gso-size %u", (mp->gso_size));
+ s = format (s, "if_id %d ", (mp->interface_id));
+ s = format (s, "gso-enabled %u ", mp->gso_enabled);
+ s = format (s, "gso-size %u", (mp->gso_size));
FINISH;
}
u8 *s;
s = format (0, "SCRIPT: pg_capture ");
- s = format (0, "if_id %d ", (mp->interface_id));
- s = format (0, "pcap %s", mp->pcap_file_name);
+ s = format (s, "if_id %d ", (mp->interface_id));
+ s = format (s, "pcap %s", mp->pcap_file_name);
if (mp->count != ~0)
s = format (s, "count %d ", (mp->count));
if (!mp->is_enabled)
FINISH;
}
+static u8 *
+format_nsh_address_vat (u8 * s, va_list * args)
+{
+ nsh_t *a = va_arg (*args, nsh_t *);
+ return format (s, "SPI:%d SI:%d", clib_net_to_host_u32 (a->spi), a->si);
+}
+
static u8 *
format_lisp_flat_eid (u8 * s, va_list * args)
{
- u32 type = va_arg (*args, u32);
- u8 *eid = va_arg (*args, u8 *);
- u32 eid_len = va_arg (*args, u32);
+ vl_api_eid_t *eid = va_arg (*args, vl_api_eid_t *);
- switch (type)
+ switch (eid->type)
{
- case 0:
- return format (s, "%U/%d", format_ip4_address, eid, eid_len);
- case 1:
- return format (s, "%U/%d", format_ip6_address, eid, eid_len);
- case 3:
- return format (s, "%U", format_ethernet_address, eid);
+ case EID_TYPE_API_PREFIX:
+ if (eid->address.prefix.address.af)
+ return format (s, "%U/%d", format_ip6_address,
+ eid->address.prefix.address.un.ip6,
+ eid->address.prefix.len);
+ return format (s, "%U/%d", format_ip4_address,
+ eid->address.prefix.address.un.ip4,
+ eid->address.prefix.len);
+ case EID_TYPE_API_MAC:
+ return format (s, "%U", format_ethernet_address, eid->address.mac);
+ case EID_TYPE_API_NSH:
+ return format (s, "%U", format_nsh_address_vat, eid->address.nsh);
}
return 0;
}
s = format (s, "%s ", mp->is_add ? "add" : "del");
s = format (s, "vni %d ", (mp->vni));
- s = format (s, "eid %U ", format_lisp_flat_eid, mp->deid);
+ s = format (s, "eid %U ", format_lisp_flat_eid, &mp->deid);
if (mp->is_src_dst)
{
- s = format (s, "seid %U ", format_lisp_flat_eid, mp->seid);
+ s = format (s, "seid %U ", format_lisp_flat_eid, &mp->seid);
}
rloc_num = (mp->rloc_num);
s = format (s, "%s ", mp->is_add ? "add" : "del");
s = format (s, "vni %d ", (mp->vni));
s = format (s, "reid %U leid %U ",
- format_lisp_flat_eid, mp->reid, format_lisp_flat_eid, mp->leid);
+ format_lisp_flat_eid, &mp->reid, format_lisp_flat_eid,
+ &mp->leid);
FINISH;
}
s = format (s, "del ");
s = format (s, "vni %d ", (mp->vni));
- s = format (s, "eid %U ", format_lisp_flat_eid, mp->eid);
+ s = format (s, "eid %U ", format_lisp_flat_eid, &mp->eid);
s = format (s, "locator-set %s ", mp->locator_set_name);
if (mp->key.id)
{
if (mp->eid_set)
{
s = format (s, "vni %d ", (mp->vni));
- s = format (s, "eid %U ", format_lisp_flat_eid, mp->eid);
+ s = format (s, "eid %U ", format_lisp_flat_eid, &mp->eid);
switch (mp->filter)
{
case 1: