Rather than blindly assume an unbound, fixed message parameter
explicilty pass it as a paramter to the S() macro.
Change-Id: Ieea1f1815cadd2eec7d9240408d69acdc3caa49a
Signed-off-by: Jon Loeliger <jdl@netgate.com>
13 files changed:
} while(0);
/* S: send a message */
} while(0);
/* S: send a message */
-#define S (vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp))
+#define S(mp) (vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp))
/* W: wait for results, with timeout */
#define W \\
/* W: wait for results, with timeout */
#define W \\
mp->enable_disable = enable_disable;
/* send it... */
mp->enable_disable = enable_disable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->enable_disable = enable_disable;
/* send it... */
mp->enable_disable = enable_disable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->client_index = vam->my_client_index;
/* send it... */
mp->client_index = vam->my_client_index;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->client_index = vam->my_client_index;
/* send it... */
mp->client_index = vam->my_client_index;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->count = htonl(n_rules);
/* send it... */
mp->count = htonl(n_rules);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->acl_index = ntohl(acl_index);
/* send it... */
mp->acl_index = ntohl(acl_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->acl_index = ntohl(acl_index);
/* send it... */
mp->acl_index = ntohl(acl_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_input = is_input;
/* send it... */
mp->is_input = is_input;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_add = is_add;
/* send it... */
mp->is_add = is_add;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
clib_memcpy(mp->acls, inacls, vec_len(inacls)*sizeof(u32));
/* send it... */
clib_memcpy(mp->acls, inacls, vec_len(inacls)*sizeof(u32));
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->sw_if_index = ntohl (sw_if_index);
/* send it... */
mp->sw_if_index = ntohl (sw_if_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->acl_index = ntohl (acl_index);
/* send it... */
mp->acl_index = ntohl (acl_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->acl_index = ntohl (acl_index);
/* send it... */
mp->acl_index = ntohl (acl_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->count = htonl(n_rules);
/* send it... */
mp->count = htonl(n_rules);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->which = which;
/* send it... */
mp->which = which;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_disable = is_disable;
/* send it... */
mp->is_disable = is_disable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_disable = is_disable;
/* send it... */
mp->is_disable = is_disable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->id = id;
mp->max_bits = bits;
mp->id = id;
mp->max_bits = bits;
clib_memcpy(mp->list_name, name, mp->list_name_len);
mp->id = id;
clib_memcpy(mp->list_name, name, mp->list_name_len);
mp->id = id;
M(POT_PROFILE_DEL, mp);
mp->list_name_len = 0;
M(POT_PROFILE_DEL, mp);
mp->list_name_len = 0;
mp->app_data = htonl (app_data);
mp->num_elts = num_elts;
mp->app_data = htonl (app_data);
mp->num_elts = num_elts;
f64 timeout;
M (TRACE_PROFILE_DEL, mp);
f64 timeout;
M (TRACE_PROFILE_DEL, mp);
vl_api_trace_profile_show_config_t *mp;
f64 timeout;
M (TRACE_PROFILE_SHOW_CONFIG, mp);
vl_api_trace_profile_show_config_t *mp;
f64 timeout;
M (TRACE_PROFILE_SHOW_CONFIG, mp);
mp->trace_enable = has_trace_option;
mp->trace_enable = has_trace_option;
f64 timeout;
M (VXLAN_GPE_IOAM_DISABLE, mp);
f64 timeout;
M (VXLAN_GPE_IOAM_DISABLE, mp);
mp->vni = ntohl (vni);
mp->is_ipv6 = ipv6_set;
mp->vni = ntohl (vni);
mp->is_ipv6 = ipv6_set;
mp->vni = ntohl (vni);
mp->is_ipv6 = ipv6_set;
mp->vni = ntohl (vni);
mp->is_ipv6 = ipv6_set;
mp->outer_fib_index = htonl (outer_fib_index);
mp->is_ipv6 = ipv6_set;
mp->outer_fib_index = htonl (outer_fib_index);
mp->is_ipv6 = ipv6_set;
mp->outer_fib_index = htonl (outer_fib_index);
mp->is_ipv6 = ipv6_set;
mp->outer_fib_index = htonl (outer_fib_index);
mp->is_ipv6 = ipv6_set;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->is_ip4 = 1;
mp->is_add = is_add;
mp->is_ip4 = 1;
mp->is_add = is_add;
/* NOTREACHED */
return 0;
/* NOTREACHED */
return 0;
mp->is_add = is_add;
mp->is_inside = is_inside;
mp->is_add = is_add;
mp->is_inside = is_inside;
/* NOTREACHED */
return 0;
}
/* NOTREACHED */
return 0;
}
memcpy (mp->local_ip_address, &local_addr, 4);
memcpy (mp->external_ip_address, &external_addr, 4);
memcpy (mp->local_ip_address, &local_addr, 4);
memcpy (mp->external_ip_address, &external_addr, 4);
/* NOTREACHED */
return 0;
}
/* NOTREACHED */
return 0;
}
"port", "vrf");
M(SNAT_STATIC_MAPPING_DUMP, mp);
"port", "vrf");
M(SNAT_STATIC_MAPPING_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
}
M(SNAT_SHOW_CONFIG, mp);
}
M(SNAT_SHOW_CONFIG, mp);
/* NOTREACHED */
return 0;
}
/* NOTREACHED */
return 0;
}
}
M(SNAT_ADDRESS_DUMP, mp);
}
M(SNAT_ADDRESS_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
}
M(SNAT_INTERFACE_DUMP, mp);
}
M(SNAT_INTERFACE_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
M(SNAT_SET_WORKERS, mp);
mp->worker_mask = clib_host_to_net_u64 (bitmap[0]);
M(SNAT_SET_WORKERS, mp);
mp->worker_mask = clib_host_to_net_u64 (bitmap[0]);
/* NOTREACHED */
return 0;
/* NOTREACHED */
return 0;
}
M(SNAT_WORKER_DUMP, mp);
}
M(SNAT_WORKER_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
mp->sw_if_index = ntohl(sw_if_index);
mp->is_add = is_add;
mp->sw_if_index = ntohl(sw_if_index);
mp->is_add = is_add;
/* NOTREACHED */
return 0;
}
/* NOTREACHED */
return 0;
}
}
M(SNAT_INTERFACE_ADDR_DUMP, mp);
}
M(SNAT_INTERFACE_ADDR_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_snat_control_ping_t *mp;
M(SNAT_CONTROL_PING, mp);
mp->src_port = htons((u16) src_port);
mp->enable = enable;
mp->src_port = htons((u16) src_port);
mp->enable = enable;
/* NOTREACHED */
return 0;
}
/* NOTREACHED */
return 0;
}
pthread_mutex_unlock (&am->vlib_rp->mutex);
mp->cmd_in_shmem = (u64) cmd;
pthread_mutex_unlock (&am->vlib_rp->mutex);
mp->cmd_in_shmem = (u64) cmd;
timeout = vat_time_now (vam) + 10.0;
while (vat_time_now (vam) < timeout)
timeout = vat_time_now (vam) + 10.0;
while (vat_time_now (vam) < timeout)
clib_memcpy (mp->cmd, vam->input->buffer, len);
mp->length = htonl (len);
clib_memcpy (mp->cmd, vam->input->buffer, len);
mp->length = htonl (len);
W2 (print (vam->ofp, "%s", vam->cmd_reply));
}
W2 (print (vam->ofp, "%s", vam->cmd_reply));
}
if (mac_set)
clib_memcpy (mp->mac_address, mac_address, sizeof (mac_address));
if (mac_set)
clib_memcpy (mp->mac_address, mac_address, sizeof (mac_address));
M (DELETE_LOOPBACK, mp);
mp->sw_if_index = ntohl (sw_if_index);
M (DELETE_LOOPBACK, mp);
mp->sw_if_index = ntohl (sw_if_index);
M (WANT_STATS, mp);
mp->enable_disable = enable;
M (WANT_STATS, mp);
mp->enable_disable = enable;
vam->interface_event_display = enable;
vam->interface_event_display = enable;
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "Ether", sizeof (mp->name_filter) - 1);
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "Ether", sizeof (mp->name_filter) - 1);
/* and local / loopback interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "lo", sizeof (mp->name_filter) - 1);
/* and local / loopback interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "lo", sizeof (mp->name_filter) - 1);
/* and packet-generator interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "pg", sizeof (mp->name_filter) - 1);
/* and packet-generator interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "pg", sizeof (mp->name_filter) - 1);
/* and vxlan-gpe tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "vxlan_gpe",
sizeof (mp->name_filter) - 1);
/* and vxlan-gpe tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "vxlan_gpe",
sizeof (mp->name_filter) - 1);
/* and vxlan tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "vxlan", sizeof (mp->name_filter) - 1);
/* and vxlan tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "vxlan", sizeof (mp->name_filter) - 1);
/* and host (af_packet) interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "host", sizeof (mp->name_filter) - 1);
/* and host (af_packet) interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "host", sizeof (mp->name_filter) - 1);
/* and l2tpv3 tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "l2tpv3_tunnel",
sizeof (mp->name_filter) - 1);
/* and l2tpv3 tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "l2tpv3_tunnel",
sizeof (mp->name_filter) - 1);
/* and GRE tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "gre", sizeof (mp->name_filter) - 1);
/* and GRE tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "gre", sizeof (mp->name_filter) - 1);
/* and LISP-GPE interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "lisp_gpe",
sizeof (mp->name_filter) - 1);
/* and LISP-GPE interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "lisp_gpe",
sizeof (mp->name_filter) - 1);
/* and IPSEC tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "ipsec", sizeof (mp->name_filter) - 1);
/* and IPSEC tunnel interfaces */
M (SW_INTERFACE_DUMP, mp);
mp->name_filter_valid = 1;
strncpy ((char *) mp->name_filter, "ipsec", sizeof (mp->name_filter) - 1);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->link_up_down = link_up;
/* send it... */
mp->link_up_down = link_up;
/* send it... */
/* Wait for a reply, return the good/bad news... */
W;
/* Wait for a reply, return the good/bad news... */
W;
mp->sw_if_index = ~0;
/* send it... */
mp->sw_if_index = ~0;
/* send it... */
/* Wait for a reply, return the good/bad news... */
W;
/* Wait for a reply, return the good/bad news... */
W;
mp->profile = ntohl (profile);
mp->profile = ntohl (profile);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->tc_rate[3] = ntohl (tc_rate[3]);
mp->tc_period = ntohl (tc_period);
mp->tc_rate[3] = ntohl (tc_rate[3]);
mp->tc_period = ntohl (tc_period);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->tc = ntohl (tc);
mp->queue = ntohl (queue);
mp->tc = ntohl (tc);
mp->queue = ntohl (queue);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->address_length = address_length;
/* send it... */
mp->address_length = address_length;
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->enable = enable;
/* send it... */
mp->enable = enable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->vrf_id = ntohl (vrf_id);
/* send it... */
mp->vrf_id = ntohl (vrf_id);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->sw_if_index = htonl (sw_if_index);
mp->is_ipv6 = is_ipv6;
mp->sw_if_index = htonl (sw_if_index);
mp->is_ipv6 = is_ipv6;
mp->enable = is_enable;
/* send it... */
mp->enable = is_enable;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_ipv6 = is_ipv6;
/* send it... */
mp->is_ipv6 = is_ipv6;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->tx_sw_if_index = ntohl (tx_sw_if_index);
mp->enable = enable;
mp->tx_sw_if_index = ntohl (tx_sw_if_index);
mp->enable = enable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->bvi = bvi;
mp->enable = enable;
mp->bvi = bvi;
mp->enable = enable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (BRIDGE_DOMAIN_DUMP, mp);
mp->bd_id = ntohl (bd_id);
M (BRIDGE_DOMAIN_DUMP, mp);
mp->bd_id = ntohl (bd_id);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->is_add = is_add;
mp->mac_age = (u8) mac_age;
mp->is_add = is_add;
mp->mac_age = (u8) mac_age;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
}
increment_mac_address (&mac);
/* send it... */
}
increment_mac_address (&mac);
/* send it... */
vam->async_mode = 0;
M (CONTROL_PING, mp);
vam->async_mode = 0;
M (CONTROL_PING, mp);
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
mp->sw_if_index = ntohl (sw_if_index);
mp->feature_bitmap = ntohl (feature_bitmap);
mp->sw_if_index = ntohl (sw_if_index);
mp->feature_bitmap = ntohl (feature_bitmap);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->feature_bitmap = ntohl (flags);
mp->is_set = is_set;
mp->feature_bitmap = ntohl (flags);
mp->is_set = is_set;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
else
clib_memcpy (mp->ip_address, &v4addr, sizeof (v4addr));
clib_memcpy (mp->mac_address, macaddr, 6);
else
clib_memcpy (mp->ip_address, &v4addr, sizeof (v4addr));
clib_memcpy (mp->mac_address, macaddr, 6);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
vec_free (tag);
/* send it... */
vec_free (tag);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
vec_free (tap_name);
/* send it... */
vec_free (tap_name);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->sw_if_index = ntohl (sw_if_index);
/* send it... */
mp->sw_if_index = ntohl (sw_if_index);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
increment_v4_address (&v4_dst_address);
}
/* send it... */
increment_v4_address (&v4_dst_address);
}
/* send it... */
/* If we receive SIGTERM, stop now... */
if (vam->do_exit)
break;
/* If we receive SIGTERM, stop now... */
if (vam->do_exit)
break;
vam->async_mode = 0;
M (CONTROL_PING, mp);
vam->async_mode = 0;
M (CONTROL_PING, mp);
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
}
local_label++;
/* send it... */
local_label++;
/* send it... */
/* If we receive SIGTERM, stop now... */
if (vam->do_exit)
break;
/* If we receive SIGTERM, stop now... */
if (vam->do_exit)
break;
vam->async_mode = 0;
M (CONTROL_PING, mp);
vam->async_mode = 0;
M (CONTROL_PING, mp);
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
timeout = vat_time_now (vam) + 1.0;
while (vat_time_now (vam) < timeout)
clib_memcpy (mp->mb_address, &v6_address, sizeof (v6_address));
/* send it... */
clib_memcpy (mp->mb_address, &v6_address, sizeof (v6_address));
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
clib_memcpy (mp->low_address, &lo, sizeof (mp->low_address));
clib_memcpy (mp->hi_address, &hi, sizeof (mp->hi_address));
clib_memcpy (mp->low_address, &lo, sizeof (mp->low_address));
clib_memcpy (mp->hi_address, &hi, sizeof (mp->hi_address));
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
&v6_next_hop_address, sizeof (v6_next_hop_address));
}
&v6_next_hop_address, sizeof (v6_next_hop_address));
}
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->unnumbered_sw_if_index = ntohl (unnum_sw_index);
mp->is_add = is_add;
mp->unnumbered_sw_if_index = ntohl (unnum_sw_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->vlan_id = ntohl (vlan_id);
mp->sw_if_index = ntohl (sw_if_index);
mp->vlan_id = ntohl (vlan_id);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->outer_vlan_id = ntohs (outer_vlan_id);
mp->inner_vlan_id = ntohs (inner_vlan_id);
mp->outer_vlan_id = ntohs (outer_vlan_id);
mp->inner_vlan_id = ntohs (inner_vlan_id);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->src_address, &src, sizeof (mp->src_address));
clib_memcpy (mp->dst_address, &dst, sizeof (mp->dst_address));
clib_memcpy (mp->src_address, &src, sizeof (mp->src_address));
clib_memcpy (mp->dst_address, &dst, sizeof (mp->dst_address));
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->is_ipv6 = is_ipv6;
mp->is_add = is_add;
mp->is_ipv6 = is_ipv6;
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->pid = getpid ();
/* send it... */
mp->pid = getpid ();
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
mp->vrf_id = ntohl (vrf_id);
mp->is_ipv6 = is_ipv6;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable = enable;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable = enable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->address, &v6address, sizeof (v6address));
/* send it... */
clib_memcpy (mp->address, &v6address, sizeof (v6address));
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->pref_lifetime = ntohl (pref_lifetime);
/* send it... */
mp->pref_lifetime = ntohl (pref_lifetime);
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->default_router = default_router;
/* send it... */
mp->default_router = default_router;
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->arp_neighbor_limit = ntohl (arp_nbr_limit);
mp->is_ipv6 = is_ipv6;
mp->arp_neighbor_limit = ntohl (arp_nbr_limit);
mp->is_ipv6 = is_ipv6;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->tx_sw_if_index = ntohl (tx_sw_if_index);
mp->is_add = is_add;
mp->tx_sw_if_index = ntohl (tx_sw_if_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->pot_enable = has_pot_option;
mp->trace_enable = has_trace_option;
mp->pot_enable = has_pot_option;
mp->trace_enable = has_trace_option;
f64 timeout;
M (IOAM_DISABLE, mp);
f64 timeout;
M (IOAM_DISABLE, mp);
vec_free (segments);
vec_free (tags);
vec_free (segments);
vec_free (tags);
vec_free (tunnel_names);
vec_free (tunnel_name);
vec_free (tunnel_names);
vec_free (tunnel_name);
clib_memcpy (mp->match, match, vec_len (match));
vec_free (match);
clib_memcpy (mp->match, match, vec_len (match));
vec_free (match);
mp->table_index = ntohl (table_index);
mp->is_ipv6 = is_ipv6;
mp->table_index = ntohl (table_index);
mp->is_ipv6 = is_ipv6;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->other_table_index = ntohl (other_table_index);
mp->is_input = (u8) is_input;
mp->other_table_index = ntohl (other_table_index);
mp->is_input = (u8) is_input;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->template_interval = htonl (template_interval);
mp->udp_checksum = udp_checksum;
mp->template_interval = htonl (template_interval);
mp->udp_checksum = udp_checksum;
mp->domain_id = htonl (domain_id);
mp->src_port = htons ((u16) src_port);
mp->domain_id = htonl (domain_id);
mp->src_port = htons ((u16) src_port);
mp->ip_version = ip_version;
mp->transport_protocol = transport_protocol;
mp->ip_version = ip_version;
mp->transport_protocol = transport_protocol;
clib_memcpy (mp->node_name, name, vec_len (name));
vec_free (name);
clib_memcpy (mp->node_name, name, vec_len (name));
vec_free (name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
vec_free (node_name);
vec_free (next_node_name);
vec_free (node_name);
vec_free (next_node_name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
vec_free (name);
vec_free (next);
vec_free (name);
vec_free (next);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->l2_sublayer_present = l2_sublayer_present;
mp->is_ipv6 = 1;
mp->l2_sublayer_present = l2_sublayer_present;
mp->is_ipv6 = 1;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->new_local_cookie = clib_host_to_net_u64 (new_local_cookie);
mp->new_remote_cookie = clib_host_to_net_u64 (new_remote_cookie);
mp->new_local_cookie = clib_host_to_net_u64 (new_local_cookie);
mp->new_remote_cookie = clib_host_to_net_u64 (new_remote_cookie);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable_disable;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable_disable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
/* Get list of l2tpv3-tunnel interfaces */
M (SW_IF_L2TPV3_TUNNEL_DUMP, mp);
/* Get list of l2tpv3-tunnel interfaces */
M (SW_IF_L2TPV3_TUNNEL_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
print (vam->ofp, "\n%-16s %s", "dev_name", "sw_if_index");
/* Get list of tap interfaces */
M (SW_INTERFACE_TAP_DUMP, mp);
print (vam->ofp, "\n%-16s %s", "dev_name", "sw_if_index");
/* Get list of tap interfaces */
M (SW_INTERFACE_TAP_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->is_add = is_add;
mp->is_ipv6 = ipv6_set;
mp->is_add = is_add;
mp->is_ipv6 = ipv6_set;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = htonl (sw_if_index);
mp->sw_if_index = htonl (sw_if_index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->is_add = is_add;
mp->teb = teb;
mp->is_add = is_add;
mp->teb = teb;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = htonl (sw_if_index);
mp->sw_if_index = htonl (sw_if_index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (L2_FIB_CLEAR_TABLE, mp);
M (L2_FIB_CLEAR_TABLE, mp);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable;
mp->sw_if_index = ntohl (sw_if_index);
mp->enable_disable = enable;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->tag1 = ntohl (tag1);
mp->tag2 = ntohl (tag2);
mp->tag1 = ntohl (tag1);
mp->tag2 = ntohl (tag2);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
strncpy ((char *) mp->tag, (char *) tag, ARRAY_LEN (mp->tag) - 1);
vec_free (tag);
strncpy ((char *) mp->tag, (char *) tag, ARRAY_LEN (mp->tag) - 1);
vec_free (tag);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->custom_dev_instance = ntohl (custom_dev_instance);
}
mp->custom_dev_instance = ntohl (custom_dev_instance);
}
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->sw_if_index = ntohl (sw_if_index);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
/* Get list of vhost-user interfaces */
M (SW_INTERFACE_VHOST_USER_DUMP, mp);
/* Get list of vhost-user interfaces */
M (SW_INTERFACE_VHOST_USER_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->is_add = is_add;
mp->is_ipv6 = ipv6_set;
mp->is_add = is_add;
mp->is_ipv6 = ipv6_set;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = htonl (sw_if_index);
mp->sw_if_index = htonl (sw_if_index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (L2_FIB_TABLE_DUMP, mp);
mp->bd_id = ntohl (bd_id);
M (L2_FIB_TABLE_DUMP, mp);
mp->bd_id = ntohl (bd_id);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->new_show_dev_instance = ntohl (new_show_dev_instance);
mp->sw_if_index = ntohl (sw_if_index);
mp->new_show_dev_instance = ntohl (new_show_dev_instance);
mp->pid = getpid ();
mp->address = address.as_u32;
mp->pid = getpid ();
mp->address = address.as_u32;
mp->pid = getpid ();
clib_memcpy (mp->address, &address, sizeof (ip6_address_t));
mp->pid = getpid ();
clib_memcpy (mp->address, &address, sizeof (ip6_address_t));
mp->l2_table_index = ntohl (l2_table_index);
mp->is_add = is_add;
mp->l2_table_index = ntohl (l2_table_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (IP_ADDRESS_DUMP, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->is_ipv6 = ipv6_set;
M (IP_ADDRESS_DUMP, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->is_ipv6 = ipv6_set;
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (IP_DUMP, mp);
mp->is_ipv6 = ipv6_set;
M (IP_DUMP, mp);
mp->is_ipv6 = ipv6_set;
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->spd_id = ntohl (spd_id);
mp->is_add = is_add;
mp->spd_id = ntohl (spd_id);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->is_add = is_add;
mp->sw_if_index = ntohl (sw_if_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sa_id = ntohl (sa_id);
mp->is_add = is_add;
mp->is_ip_any = is_ip_any;
mp->sa_id = ntohl (sa_id);
mp->is_add = is_add;
mp->is_ip_any = is_ip_any;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
if (ik)
clib_memcpy (mp->integrity_key, ik, mp->integrity_key_length);
if (ik)
clib_memcpy (mp->integrity_key, ik, mp->integrity_key_length);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->is_add = is_add;
vec_free (name);
mp->is_add = is_add;
vec_free (name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
vec_free (name);
vec_free (data);
vec_free (name);
vec_free (data);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
vec_free (name);
vec_free (data);
vec_free (name);
vec_free (data);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->name, name, vec_len (name));
vec_free (name);
clib_memcpy (mp->name, name, vec_len (name));
vec_free (name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->key_file, file, vec_len (file));
vec_free (file);
clib_memcpy (mp->key_file, file, vec_len (file));
vec_free (file);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->mtu = htons (mtu);
/* send it... */
mp->mtu = htons (mtu);
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->index = ntohl (index);
/* send it... */
mp->index = ntohl (index);
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
mp->psid = ntohs (psid);
/* send it... */
mp->psid = ntohs (psid);
/* send it... */
/* Wait for a reply, return good/bad news */
W;
/* Wait for a reply, return good/bad news */
W;
M (MAP_DOMAIN_DUMP, mp);
/* send it... */
M (MAP_DOMAIN_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->domain_index = htonl (domain_index);
/* send it... */
mp->domain_index = htonl (domain_index);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (GET_FIRST_MSG_ID, mp);
clib_memcpy (mp->name, name, vec_len (name));
M (GET_FIRST_MSG_ID, mp);
clib_memcpy (mp->name, name, vec_len (name));
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->enable_disable = enable_disable;
/* send it... */
mp->enable_disable = enable_disable;
/* send it... */
/* Wait for the reply */
W;
}
/* Wait for the reply */
W;
}
mp->default_cop = default_cop;
/* send it... */
mp->default_cop = default_cop;
/* send it... */
/* Wait for the reply */
W;
}
/* Wait for the reply */
W;
}
M (GET_NODE_GRAPH, mp);
/* send it... */
M (GET_NODE_GRAPH, mp);
/* send it... */
/* Wait for the reply */
W;
}
/* Wait for the reply */
W;
}
vec_free (locators);
/* send it... */
vec_free (locators);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
vec_free (locator_set_name);
/* send it... */
vec_free (locator_set_name);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
vec_free (key);
/* send it... */
vec_free (key);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
vec_free (rmt_locs);
/* send it... */
vec_free (rmt_locs);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_en = is_en;
/* send it... */
mp->is_en = is_en;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_enabled = is_en;
/* send it... */
mp->is_enabled = is_en;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_enabled = is_en;
/* send it... */
mp->is_enabled = is_en;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_en = is_en;
/* send it... */
mp->is_en = is_en;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
M (SHOW_LISP_MAP_REGISTER_STATE, mp);
/* send */
M (SHOW_LISP_MAP_REGISTER_STATE, mp);
/* send */
M (SHOW_LISP_RLOC_PROBE_STATE, mp);
/* send */
M (SHOW_LISP_RLOC_PROBE_STATE, mp);
/* send */
M (SHOW_LISP_MAP_REQUEST_MODE, mp);
/* send */
M (SHOW_LISP_MAP_REQUEST_MODE, mp);
/* send */
mp->mode = mode;
/* send */
mp->mode = mode;
/* send */
vec_free (ls_name);
/* send */
vec_free (ls_name);
/* send */
M (SHOW_LISP_PITR, mp);
/* send it... */
M (SHOW_LISP_PITR, mp);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->is_l2 = bd_index_set;
/* send */
mp->is_l2 = bd_index_set;
/* send */
vec_free (rlocs);
/* send it... */
vec_free (rlocs);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->vni = vni;
/* send it... */
mp->vni = vni;
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
vec_free (locator_set_name);
/* send it... */
vec_free (locator_set_name);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
mp->filter = filter;
/* send it... */
mp->filter = filter;
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
mp->is_l2 = is_l2;
/* send it... */
mp->is_l2 = is_l2;
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
M (LISP_EID_TABLE_VNI_DUMP, mp);
/* send it... */
M (LISP_EID_TABLE_VNI_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
}
/* Wait for a reply... */
mp->vni = clib_host_to_net_u32 (vni);
/* send it... */
mp->vni = clib_host_to_net_u32 (vni);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->vni = clib_host_to_net_u32 (vni);
/* send it... */
mp->vni = clib_host_to_net_u32 (vni);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
M (LISP_MAP_SERVER_DUMP, mp);
/* send it... */
M (LISP_MAP_SERVER_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
M (LISP_MAP_RESOLVER_DUMP, mp);
/* send it... */
M (LISP_MAP_RESOLVER_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
M (SHOW_LISP_STATUS, mp);
/* send it... */
M (SHOW_LISP_STATUS, mp);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
M (LISP_GPE_FWD_ENTRY_PATH_DUMP, mp);
/* send it... */
M (LISP_GPE_FWD_ENTRY_PATH_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
M (LISP_GET_MAP_REQUEST_ITR_RLOCS, mp);
/* send it... */
M (LISP_GET_MAP_REQUEST_ITR_RLOCS, mp);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
mp->use_random_hw_addr = random_hw_addr;
vec_free (host_if_name);
mp->use_random_hw_addr = random_hw_addr;
vec_free (host_if_name);
W2 (fprintf (vam->ofp, " new sw_if_index = %d ", vam->sw_if_index));
/* NOTREACHED */
return 0;
W2 (fprintf (vam->ofp, " new sw_if_index = %d ", vam->sw_if_index));
/* NOTREACHED */
return 0;
clib_memcpy (mp->host_if_name, host_if_name, vec_len (host_if_name));
vec_free (host_if_name);
clib_memcpy (mp->host_if_name, host_if_name, vec_len (host_if_name));
vec_free (host_if_name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->violate_dscp = violate_action.dscp;
mp->color_aware = color_aware;
mp->violate_dscp = violate_action.dscp;
mp->color_aware = color_aware;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->match_name, match_name, vec_len (match_name));
vec_free (match_name);
/* send it... */
clib_memcpy (mp->match_name, match_name, vec_len (match_name));
vec_free (match_name);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
mp->l2_table_index = ntohl (l2_table_index);
mp->is_add = is_add;
mp->l2_table_index = ntohl (l2_table_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (POLICER_CLASSIFY_DUMP, mp);
mp->type = type;
/* send it... */
M (POLICER_CLASSIFY_DUMP, mp);
mp->type = type;
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
mp->is_master = is_master;
vec_free (if_name);
mp->is_master = is_master;
vec_free (if_name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
clib_memcpy (mp->netmap_if_name, if_name, vec_len (if_name));
vec_free (if_name);
clib_memcpy (mp->netmap_if_name, if_name, vec_len (if_name));
vec_free (if_name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (MPLS_TUNNEL_DUMP, mp);
mp->tunnel_index = htonl (index);
M (MPLS_TUNNEL_DUMP, mp);
mp->tunnel_index = htonl (index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
f64 timeout;
M (MPLS_FIB_DUMP, mp);
f64 timeout;
M (MPLS_FIB_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
f64 timeout;
M (IP_FIB_DUMP, mp);
f64 timeout;
M (IP_FIB_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (IP_NEIGHBOR_DUMP, mp);
mp->is_ipv6 = (u8) is_ipv6;
mp->sw_if_index = ntohl (sw_if_index);
M (IP_NEIGHBOR_DUMP, mp);
mp->is_ipv6 = (u8) is_ipv6;
mp->sw_if_index = ntohl (sw_if_index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
f64 timeout;
M (IP6_FIB_DUMP, mp);
f64 timeout;
M (IP6_FIB_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (CLASSIFY_TABLE_IDS, mp);
mp->context = 0;
M (CLASSIFY_TABLE_IDS, mp);
mp->context = 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->context = 0;
mp->sw_if_index = ntohl (sw_if_index);
mp->context = 0;
mp->sw_if_index = ntohl (sw_if_index);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->context = 0;
mp->table_id = ntohl (table_id);
mp->context = 0;
mp->table_id = ntohl (table_id);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (CLASSIFY_SESSION_DUMP, mp);
mp->context = 0;
mp->table_id = ntohl (table_id);
M (CLASSIFY_SESSION_DUMP, mp);
mp->context = 0;
mp->table_id = ntohl (table_id);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (IPFIX_EXPORTER_DUMP, mp);
mp->context = 0;
M (IPFIX_EXPORTER_DUMP, mp);
mp->context = 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (IPFIX_CLASSIFY_STREAM_DUMP, mp);
mp->context = 0;
M (IPFIX_CLASSIFY_STREAM_DUMP, mp);
mp->context = 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (IPFIX_CLASSIFY_TABLE_DUMP, mp);
/* send it... */
M (IPFIX_CLASSIFY_TABLE_DUMP, mp);
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->sw_if_index_to = htonl (dst_sw_if_index);
mp->state = state;
mp->sw_if_index_to = htonl (dst_sw_if_index);
mp->state = state;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
f64 timeout;
M (SW_INTERFACE_SPAN_DUMP, mp);
f64 timeout;
M (SW_INTERFACE_SPAN_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->context = 0;
mp->interface_id = ntohl (if_id);
mp->context = 0;
mp->interface_id = ntohl (if_id);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
}
vec_free (stream_name);
}
vec_free (stream_name);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->vrf_id = ntohl (vrf_id);
mp->vrf_id = ntohl (vrf_id);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->udp_in_vrf_id = ntohl (udp_in_vrf_id);
/* send it... */
mp->udp_in_vrf_id = ntohl (udp_in_vrf_id);
/* send it... */
/* Wait for a reply... */
W;
/* Wait for a reply... */
W;
clib_memcpy (mp->dst_address, &dst_address, sizeof (dst_address));
mp->is_add = is_add;
clib_memcpy (mp->dst_address, &dst_address, sizeof (dst_address));
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->l4_protocol = (u8) protocol;
mp->l4_port = htons ((u16) port);
mp->l4_protocol = (u8) protocol;
mp->l4_port = htons ((u16) port);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->sw_if_index = htonl (sw_if_index);
mp->sw_if_index = htonl (sw_if_index);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
M (DELETE_SUBIF, mp);
mp->sw_if_index = ntohl (sw_if_index);
M (DELETE_SUBIF, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->b_vlanid = ntohs (vlanid);
mp->i_sid = ntohl (sid);
mp->b_vlanid = ntohs (vlanid);
mp->i_sid = ntohl (sid);
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
mp->ip6_table_index = ntohl (ip6_table_index);
mp->is_add = is_add;
mp->ip6_table_index = ntohl (ip6_table_index);
mp->is_add = is_add;
W;
/* NOTREACHED */
return 0;
W;
/* NOTREACHED */
return 0;
M (FLOW_CLASSIFY_DUMP, mp);
mp->type = type;
/* send it... */
M (FLOW_CLASSIFY_DUMP, mp);
mp->type = type;
/* send it... */
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
}
/* Wait for a reply... */
W;
}
/* Wait for a reply... */
W;
vec_free (arc_name);
vec_free (feature_name);
vec_free (arc_name);
vec_free (feature_name);
strncpy ((char *) mp->tag, (char *) tag, ARRAY_LEN (mp->tag) - 1);
vec_free (tag);
strncpy ((char *) mp->tag, (char *) tag, ARRAY_LEN (mp->tag) - 1);
vec_free (tag);
M (L2_XCONNECT_DUMP, mp);
M (L2_XCONNECT_DUMP, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
/* Use a control ping for synchronization */
{
vl_api_control_ping_t *mp;
M (CONTROL_PING, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->mtu = ntohs ((u16) mtu);
mp->sw_if_index = ntohl (sw_if_index);
mp->mtu = ntohs ((u16) mtu);
} while(0);
/* S: send a message */
} while(0);
/* S: send a message */
-#define S (vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp))
+#define S(mp) (vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp))
/* W: wait for results, with timeout */
#define W \
/* W: wait for results, with timeout */
#define W \