This does not update api client code. In other words, if the client
assumes the transport is shmem based, this patch does not change that.
Furthermore, code that checks queue size, for tail dropping, is not
updated.
Done for the following apis:
Plugins
- acl
- gtpu
- memif
- nat
- pppoe
VNET
- bfd
- bier
- tapv2
- vhost user
- dhcp
- flow
- geneve
- ip
- punt
- ipsec/ipsec-gre
- l2
- l2tp
- lisp-cp/one-cp
- lisp-gpe
- map
- mpls
- policer
- session
- span
- udp
- tap
- vxlan/vxlan-gpe
- interface
VPP
- api/api.c
OAM
- oam_api.c
Stats
- stats.c
Change-Id: I0e33ecefb2bdab0295698c0add948068a5a83345
Signed-off-by: Florin Coras <fcoras@cisco.com>
38 files changed:
acl_main_t *am = &acl_main;
vl_api_acl_plugin_get_version_reply_t *rmp;
int msg_size = sizeof (*rmp);
acl_main_t *am = &acl_main;
vl_api_acl_plugin_get_version_reply_t *rmp;
int msg_size = sizeof (*rmp);
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
rmp = vl_msg_api_alloc (msg_size);
memset (rmp, 0, msg_size);
rmp = vl_msg_api_alloc (msg_size);
memset (rmp, 0, msg_size);
rmp->major = htonl (ACL_PLUGIN_VERSION_MAJOR);
rmp->minor = htonl (ACL_PLUGIN_VERSION_MINOR);
rmp->major = htonl (ACL_PLUGIN_VERSION_MAJOR);
rmp->minor = htonl (ACL_PLUGIN_VERSION_MINOR);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
-send_acl_details (acl_main_t * am, svm_queue_t * q,
+send_acl_details (acl_main_t * am, vl_api_registration_t * reg,
acl_list_t * acl, u32 context)
{
vl_api_acl_details_t *mp;
acl_list_t * acl, u32 context)
{
vl_api_acl_details_t *mp;
}
clib_mem_set_heap (oldheap);
}
clib_mem_set_heap (oldheap);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
acl_main_t *am = &acl_main;
u32 acl_index;
acl_list_t *acl;
acl_main_t *am = &acl_main;
u32 acl_index;
acl_list_t *acl;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
if (mp->acl_index == ~0)
{
if (mp->acl_index == ~0)
{
/* Just dump all ACLs */
pool_foreach (acl, am->acls,
({
/* Just dump all ACLs */
pool_foreach (acl, am->acls,
({
- send_acl_details(am, q, acl, mp->context);
+ send_acl_details(am, reg, acl, mp->context);
if (!pool_is_free_index (am->acls, acl_index))
{
acl = pool_elt_at_index (am->acls, acl_index);
if (!pool_is_free_index (am->acls, acl_index))
{
acl = pool_elt_at_index (am->acls, acl_index);
- send_acl_details (am, q, acl, mp->context);
+ send_acl_details (am, reg, acl, mp->context);
static void
send_acl_interface_list_details (acl_main_t * am,
static void
send_acl_interface_list_details (acl_main_t * am,
+ vl_api_registration_t * reg,
u32 sw_if_index, u32 context)
{
vl_api_acl_interface_list_details_t *mp;
u32 sw_if_index, u32 context)
{
vl_api_acl_interface_list_details_t *mp;
htonl (am->output_acl_vec_by_sw_if_index[sw_if_index][i]);
}
clib_mem_set_heap (oldheap);
htonl (am->output_acl_vec_by_sw_if_index[sw_if_index][i]);
}
clib_mem_set_heap (oldheap);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
vnet_interface_main_t *im = &am->vnet_main->interface_main;
u32 sw_if_index;
vnet_interface_main_t *im = &am->vnet_main->interface_main;
u32 sw_if_index;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
if (mp->sw_if_index == ~0)
{
/* *INDENT-OFF* */
pool_foreach (swif, im->sw_interfaces,
({
if (mp->sw_if_index == ~0)
{
/* *INDENT-OFF* */
pool_foreach (swif, im->sw_interfaces,
({
- send_acl_interface_list_details(am, q, swif->sw_if_index, mp->context);
+ send_acl_interface_list_details(am, reg, swif->sw_if_index, mp->context);
{
sw_if_index = ntohl (mp->sw_if_index);
if (!pool_is_free_index (im->sw_interfaces, sw_if_index))
{
sw_if_index = ntohl (mp->sw_if_index);
if (!pool_is_free_index (im->sw_interfaces, sw_if_index))
- send_acl_interface_list_details (am, q, sw_if_index, mp->context);
+ send_acl_interface_list_details (am, reg, sw_if_index, mp->context);
-send_macip_acl_details (acl_main_t * am, svm_queue_t * q,
+send_macip_acl_details (acl_main_t * am, vl_api_registration_t * reg,
macip_acl_list_t * acl, u32 context)
{
vl_api_macip_acl_details_t *mp;
macip_acl_list_t * acl, u32 context)
{
vl_api_macip_acl_details_t *mp;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
acl_main_t *am = &acl_main;
macip_acl_list_t *acl;
acl_main_t *am = &acl_main;
macip_acl_list_t *acl;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
if (mp->acl_index == ~0)
{
/* Just dump all ACLs for now, with sw_if_index = ~0 */
pool_foreach (acl, am->macip_acls, (
{
if (mp->acl_index == ~0)
{
/* Just dump all ACLs for now, with sw_if_index = ~0 */
pool_foreach (acl, am->macip_acls, (
{
- send_macip_acl_details (am, q, acl,
- mp->
- context);}
+ send_macip_acl_details (am, reg,
+ acl,
+ mp->context);
+ }
if (!pool_is_free_index (am->macip_acls, acl_index))
{
acl = pool_elt_at_index (am->macip_acls, acl_index);
if (!pool_is_free_index (am->macip_acls, acl_index))
{
acl = pool_elt_at_index (am->macip_acls, acl_index);
- send_macip_acl_details (am, q, acl, mp->context);
+ send_macip_acl_details (am, reg, acl, mp->context);
vl_api_macip_acl_interface_get_reply_t *rmp;
u32 count = vec_len (am->macip_acl_by_sw_if_index);
int msg_size = sizeof (*rmp) + sizeof (rmp->acls[0]) * count;
vl_api_macip_acl_interface_get_reply_t *rmp;
u32 count = vec_len (am->macip_acl_by_sw_if_index);
int msg_size = sizeof (*rmp) + sizeof (rmp->acls[0]) * count;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
rmp = vl_msg_api_alloc (msg_size);
memset (rmp, 0, msg_size);
rmp = vl_msg_api_alloc (msg_size);
memset (rmp, 0, msg_size);
rmp->acls[i] = htonl (am->macip_acl_by_sw_if_index[i]);
}
rmp->acls[i] = htonl (am->macip_acl_by_sw_if_index[i]);
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
send_macip_acl_interface_list_details (acl_main_t * am,
}
static void
send_macip_acl_interface_list_details (acl_main_t * am,
+ vl_api_registration_t * reg,
u32 sw_if_index,
u32 acl_index, u32 context)
{
u32 sw_if_index,
u32 acl_index, u32 context)
{
rmp->sw_if_index = htonl (sw_if_index);
rmp->acls[0] = htonl (acl_index);
rmp->sw_if_index = htonl (sw_if_index);
rmp->acls[0] = htonl (acl_index);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_macip_acl_interface_list_dump_t_handler
(vl_api_macip_acl_interface_list_dump_t * mp)
{
}
static void
vl_api_macip_acl_interface_list_dump_t_handler
(vl_api_macip_acl_interface_list_dump_t * mp)
{
+ vl_api_registration_t *reg;
acl_main_t *am = &acl_main;
u32 sw_if_index = ntohl (mp->sw_if_index);
acl_main_t *am = &acl_main;
u32 sw_if_index = ntohl (mp->sw_if_index);
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
{
if (~0 != am->macip_acl_by_sw_if_index[sw_if_index])
{
{
if (~0 != am->macip_acl_by_sw_if_index[sw_if_index])
{
- send_macip_acl_interface_list_details (am, q, sw_if_index,
+ send_macip_acl_interface_list_details (am, reg, sw_if_index,
am->macip_acl_by_sw_if_index
[sw_if_index],
mp->context);
am->macip_acl_by_sw_if_index
[sw_if_index],
mp->context);
{
if (vec_len (am->macip_acl_by_sw_if_index) > sw_if_index)
{
{
if (vec_len (am->macip_acl_by_sw_if_index) > sw_if_index)
{
- send_macip_acl_interface_list_details (am, q, sw_if_index,
+ send_macip_acl_interface_list_details (am, reg, sw_if_index,
am->macip_acl_by_sw_if_index
[sw_if_index], mp->context);
}
am->macip_acl_by_sw_if_index
[sw_if_index], mp->context);
}
}
static void send_gtpu_tunnel_details
}
static void send_gtpu_tunnel_details
- (gtpu_tunnel_t * t, svm_queue_t * q, u32 context)
+ (gtpu_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_gtpu_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
{
vl_api_gtpu_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_gtpu_tunnel_dump_t_handler (vl_api_gtpu_tunnel_dump_t * mp)
{
}
static void
vl_api_gtpu_tunnel_dump_t_handler (vl_api_gtpu_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
gtpu_main_t *gtm = >pu_main;
gtpu_tunnel_t *t;
u32 sw_if_index;
gtpu_main_t *gtm = >pu_main;
gtpu_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, gtm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, gtm->tunnels,
({
- send_gtpu_tunnel_details(t, q, mp->context);
+ send_gtpu_tunnel_details(t, reg, mp->context);
return;
}
t = >m->tunnels[gtm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = >m->tunnels[gtm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_gtpu_tunnel_details (t, q, mp->context);
+ send_gtpu_tunnel_details (t, reg, mp->context);
-send_memif_details (svm_queue_t * q,
+send_memif_details (vl_api_registration_t * reg,
memif_if_t * mif,
vnet_sw_interface_t * swif,
u8 * interface_name, u32 context)
memif_if_t * mif,
vnet_sw_interface_t * swif,
u8 * interface_name, u32 context)
mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
mp->link_up_down = (hwif->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
mp->link_up_down = (hwif->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
vnet_sw_interface_t *swif;
memif_if_t *mif;
u8 *if_name = 0;
vnet_sw_interface_t *swif;
memif_if_t *mif;
u8 *if_name = 0;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
format_vnet_sw_interface_name,
vnm, swif, 0);
format_vnet_sw_interface_name,
vnm, swif, 0);
- send_memif_details (q, mif, swif, if_name, mp->context);
+ send_memif_details (reg, mif, swif, if_name, mp->context);
_vec_len (if_name) = 0;
}));
/* *INDENT-ON* */
_vec_len (if_name) = 0;
}));
/* *INDENT-ON* */
-send_nat_worker_details (u32 worker_index, svm_queue_t * q, u32 context)
+send_nat_worker_details (u32 worker_index, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat_worker_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat_worker_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->lcore_id = htonl (w->lcore_id);
strncpy ((char *) rmp->name, (char *) w->name, ARRAY_LEN (rmp->name) - 1);
rmp->lcore_id = htonl (w->lcore_id);
strncpy ((char *) rmp->name, (char *) w->name, ARRAY_LEN (rmp->name) - 1);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat_worker_dump_t_handler (vl_api_nat_worker_dump_t * mp)
{
}
static void
vl_api_nat_worker_dump_t_handler (vl_api_nat_worker_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
u32 *worker_index;
snat_main_t *sm = &snat_main;
u32 *worker_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
vec_foreach (worker_index, sm->workers)
return;
/* *INDENT-OFF* */
vec_foreach (worker_index, sm->workers)
- send_nat_worker_details(*worker_index, q, mp->context);
+ send_nat_worker_details(*worker_index, reg, mp->context);
typedef struct nat_api_walk_ctx_t_
{
typedef struct nat_api_walk_ctx_t_
{
+ vl_api_registration_t *reg;
u32 context;
} nat_api_walk_ctx_t;
u32 context;
} nat_api_walk_ctx_t;
rmp->frag_n = reass->frag_n;
rmp->is_ip4 = 1;
rmp->frag_n = reass->frag_n;
rmp->is_ip4 = 1;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
rmp->frag_n = reass->frag_n;
rmp->is_ip4 = 0;
rmp->frag_n = reass->frag_n;
rmp->is_ip4 = 0;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat_reass_dump_t_handler (vl_api_nat_reass_dump_t * mp)
{
static void
vl_api_nat_reass_dump_t_handler (vl_api_nat_reass_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat_api_walk_ctx_t ctx = {
return;
nat_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
static void
send_nat44_address_details (snat_address_t * a,
static void
send_nat44_address_details (snat_address_t * a,
- svm_queue_t * q, u32 context, u8 twice_nat)
+ vl_api_registration_t * reg, u32 context,
+ u8 twice_nat)
{
vl_api_nat44_address_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_address_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->twice_nat = twice_nat;
rmp->context = context;
rmp->twice_nat = twice_nat;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_address_dump_t_handler (vl_api_nat44_address_dump_t * mp)
{
}
static void
vl_api_nat44_address_dump_t_handler (vl_api_nat44_address_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_address_t *a;
snat_main_t *sm = &snat_main;
snat_address_t *a;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
vec_foreach (a, sm->addresses)
return;
/* *INDENT-OFF* */
vec_foreach (a, sm->addresses)
- send_nat44_address_details (a, q, mp->context, 0);
+ send_nat44_address_details (a, reg, mp->context, 0);
vec_foreach (a, sm->twice_nat_addresses)
vec_foreach (a, sm->twice_nat_addresses)
- send_nat44_address_details (a, q, mp->context, 1);
+ send_nat44_address_details (a, reg, mp->context, 1);
static void
send_nat44_interface_details (snat_interface_t * i,
static void
send_nat44_interface_details (snat_interface_t * i,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_nat44_interface_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_interface_details_t *rmp;
snat_main_t *sm = &snat_main;
nat_interface_is_inside (i);
rmp->context = context;
nat_interface_is_inside (i);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_interface_dump_t_handler (vl_api_nat44_interface_dump_t * mp)
{
}
static void
vl_api_nat44_interface_dump_t_handler (vl_api_nat44_interface_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_interface_t *i;
snat_main_t *sm = &snat_main;
snat_interface_t *i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (i, sm->interfaces,
({
return;
/* *INDENT-OFF* */
pool_foreach (i, sm->interfaces,
({
- send_nat44_interface_details(i, q, mp->context);
+ send_nat44_interface_details(i, reg, mp->context);
static void
send_nat44_interface_output_feature_details (snat_interface_t * i,
static void
send_nat44_interface_output_feature_details (snat_interface_t * i,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat44_interface_output_feature_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_interface_output_feature_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->context = context;
rmp->is_inside = nat_interface_is_inside (i);
rmp->context = context;
rmp->is_inside = nat_interface_is_inside (i);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_interface_output_feature_dump_t_handler
(vl_api_nat44_interface_output_feature_dump_t * mp)
{
}
static void
vl_api_nat44_interface_output_feature_dump_t_handler
(vl_api_nat44_interface_output_feature_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_interface_t *i;
snat_main_t *sm = &snat_main;
snat_interface_t *i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (i, sm->output_feature_interfaces,
({
return;
/* *INDENT-OFF* */
pool_foreach (i, sm->output_feature_interfaces,
({
- send_nat44_interface_output_feature_details(i, q, mp->context);
+ send_nat44_interface_output_feature_details(i, reg, mp->context);
static void
send_nat44_static_mapping_details (snat_static_mapping_t * m,
static void
send_nat44_static_mapping_details (snat_static_mapping_t * m,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_nat44_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->context = context;
rmp->twice_nat = m->twice_nat;
rmp->context = context;
rmp->twice_nat = m->twice_nat;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
send_nat44_static_map_resolve_details (snat_static_map_resolve_t * m,
}
static void
send_nat44_static_map_resolve_details (snat_static_map_resolve_t * m,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat44_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->context = context;
rmp->twice_nat = m->twice_nat;
rmp->context = context;
rmp->twice_nat = m->twice_nat;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_static_mapping_dump_t_handler (vl_api_nat44_static_mapping_dump_t
* mp)
{
}
static void
vl_api_nat44_static_mapping_dump_t_handler (vl_api_nat44_static_mapping_dump_t
* mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
snat_static_map_resolve_t *rp;
int j;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
snat_static_map_resolve_t *rp;
int j;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (!vec_len(m->locals) && (m->local_addr.as_u32 != m->external_addr.as_u32))
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (!vec_len(m->locals) && (m->local_addr.as_u32 != m->external_addr.as_u32))
- send_nat44_static_mapping_details (m, q, mp->context);
+ send_nat44_static_mapping_details (m, reg, mp->context);
{
rp = sm->to_resolve + j;
if (rp->l_addr.as_u32 != 0)
{
rp = sm->to_resolve + j;
if (rp->l_addr.as_u32 != 0)
- send_nat44_static_map_resolve_details (rp, q, mp->context);
+ send_nat44_static_map_resolve_details (rp, reg, mp->context);
static void
send_nat44_identity_mapping_details (snat_static_mapping_t * m,
static void
send_nat44_identity_mapping_details (snat_static_mapping_t * m,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_nat44_identity_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_identity_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->protocol = snat_proto_to_ip_proto (m->proto);
rmp->context = context;
rmp->protocol = snat_proto_to_ip_proto (m->proto);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
send_nat44_identity_map_resolve_details (snat_static_map_resolve_t * m,
}
static void
send_nat44_identity_map_resolve_details (snat_static_map_resolve_t * m,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat44_identity_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_identity_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->protocol = snat_proto_to_ip_proto (m->proto);
rmp->context = context;
rmp->protocol = snat_proto_to_ip_proto (m->proto);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_identity_mapping_dump_t_handler
(vl_api_nat44_identity_mapping_dump_t * mp)
{
}
static void
vl_api_nat44_identity_mapping_dump_t_handler
(vl_api_nat44_identity_mapping_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
snat_static_map_resolve_t *rp;
int j;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
snat_static_map_resolve_t *rp;
int j;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (!vec_len(m->locals) && (m->local_addr.as_u32 == m->external_addr.as_u32))
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (!vec_len(m->locals) && (m->local_addr.as_u32 == m->external_addr.as_u32))
- send_nat44_identity_mapping_details (m, q, mp->context);
+ send_nat44_identity_mapping_details (m, reg, mp->context);
{
rp = sm->to_resolve + j;
if (rp->l_addr.as_u32 == 0)
{
rp = sm->to_resolve + j;
if (rp->l_addr.as_u32 == 0)
- send_nat44_identity_map_resolve_details (rp, q, mp->context);
+ send_nat44_identity_map_resolve_details (rp, reg, mp->context);
static void
send_nat44_interface_addr_details (u32 sw_if_index,
static void
send_nat44_interface_addr_details (u32 sw_if_index,
- svm_queue_t * q, u32 context, u8 twice_nat)
+ vl_api_registration_t * reg, u32 context,
+ u8 twice_nat)
{
vl_api_nat44_interface_addr_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_interface_addr_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->twice_nat = twice_nat;
rmp->context = context;
rmp->twice_nat = twice_nat;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_interface_addr_dump_t_handler (vl_api_nat44_interface_addr_dump_t
* mp)
{
}
static void
vl_api_nat44_interface_addr_dump_t_handler (vl_api_nat44_interface_addr_dump_t
* mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
u32 *i;
snat_main_t *sm = &snat_main;
u32 *i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
vec_foreach (i, sm->auto_add_sw_if_indices)
return;
/* *INDENT-OFF* */
vec_foreach (i, sm->auto_add_sw_if_indices)
- send_nat44_interface_addr_details(*i, q, mp->context, 0);
+ send_nat44_interface_addr_details(*i, reg, mp->context, 0);
vec_foreach (i, sm->auto_add_sw_if_indices_twice_nat)
vec_foreach (i, sm->auto_add_sw_if_indices_twice_nat)
- send_nat44_interface_addr_details(*i, q, mp->context, 1);
+ send_nat44_interface_addr_details(*i, reg, mp->context, 1);
-send_nat44_user_details (snat_user_t * u, svm_queue_t * q, u32 context)
+send_nat44_user_details (snat_user_t * u, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat44_user_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_user_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->nstaticsessions = ntohl (u->nstaticsessions);
rmp->context = context;
rmp->nstaticsessions = ntohl (u->nstaticsessions);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_user_dump_t_handler (vl_api_nat44_user_dump_t * mp)
{
}
static void
vl_api_nat44_user_dump_t_handler (vl_api_nat44_user_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_main_per_thread_data_t *tsm;
snat_user_t *u;
snat_main_t *sm = &snat_main;
snat_main_per_thread_data_t *tsm;
snat_user_t *u;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
vec_foreach (tsm, sm->per_thread_data)
vec_foreach (u, tsm->users)
return;
/* *INDENT-OFF* */
vec_foreach (tsm, sm->per_thread_data)
vec_foreach (u, tsm->users)
- send_nat44_user_details (u, q, mp->context);
+ send_nat44_user_details (u, reg, mp->context);
static void
send_nat44_user_session_details (snat_session_t * s,
static void
send_nat44_user_session_details (snat_session_t * s,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_nat44_user_session_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_user_session_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->protocol = ntohs (snat_proto_to_ip_proto (s->in2out.protocol));
}
rmp->protocol = ntohs (snat_proto_to_ip_proto (s->in2out.protocol));
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_user_session_dump_t_handler (vl_api_nat44_user_session_dump_t *
mp)
{
}
static void
vl_api_nat44_user_session_dump_t_handler (vl_api_nat44_user_session_dump_t *
mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_main_per_thread_data_t *tsm;
snat_session_t *s;
snat_main_t *sm = &snat_main;
snat_main_per_thread_data_t *tsm;
snat_session_t *s;
dlist_elt_t *head, *elt;
ip4_header_t ip;
dlist_elt_t *head, *elt;
ip4_header_t ip;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
clib_memcpy (&ukey.addr, mp->ip_address, 4);
return;
clib_memcpy (&ukey.addr, mp->ip_address, 4);
{
s = pool_elt_at_index (tsm->sessions, session_index);
{
s = pool_elt_at_index (tsm->sessions, session_index);
- send_nat44_user_session_details (s, q, mp->context);
+ send_nat44_user_session_details (s, reg, mp->context);
elt_index = elt->next;
elt = pool_elt_at_index (tsm->list_pool, elt_index);
elt_index = elt->next;
elt = pool_elt_at_index (tsm->list_pool, elt_index);
static void
send_nat44_lb_static_mapping_details (snat_static_mapping_t * m,
static void
send_nat44_lb_static_mapping_details (snat_static_mapping_t * m,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat44_lb_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat44_lb_static_mapping_details_t *rmp;
snat_main_t *sm = &snat_main;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat44_lb_static_mapping_dump_t_handler
(vl_api_nat44_lb_static_mapping_dump_t * mp)
{
}
static void
vl_api_nat44_lb_static_mapping_dump_t_handler
(vl_api_nat44_lb_static_mapping_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
snat_main_t *sm = &snat_main;
snat_static_mapping_t *m;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (vec_len(m->locals))
return;
/* *INDENT-OFF* */
pool_foreach (m, sm->static_mappings,
({
if (vec_len(m->locals))
- send_nat44_lb_static_mapping_details (m, q, mp->context);
+ send_nat44_lb_static_mapping_details (m, reg, mp->context);
vl_api_nat44_forwarding_is_enabled_t_handler
(vl_api_nat44_forwarding_is_enabled_t * mp)
{
vl_api_nat44_forwarding_is_enabled_t_handler
(vl_api_nat44_forwarding_is_enabled_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
vl_api_nat44_forwarding_is_enabled_reply_t *rmp;
snat_main_t *sm = &snat_main;
vl_api_nat44_forwarding_is_enabled_reply_t *rmp;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->enabled = sm->forwarding_enabled;
rmp->enabled = sm->forwarding_enabled;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void *vl_api_nat44_forwarding_is_enabled_t_print
}
static void *vl_api_nat44_forwarding_is_enabled_t_print
-sent_nat_det_map_details (snat_det_map_t * m, svm_queue_t * q, u32 context)
+sent_nat_det_map_details (snat_det_map_t * m, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_nat_det_map_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat_det_map_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->ses_num = htonl (m->ses_num);
rmp->context = context;
rmp->ses_num = htonl (m->ses_num);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat_det_map_dump_t_handler (vl_api_nat_det_map_dump_t * mp)
{
}
static void
vl_api_nat_det_map_dump_t_handler (vl_api_nat_det_map_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_det_map_t *m;
snat_main_t *sm = &snat_main;
snat_det_map_t *m;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
vec_foreach(m, sm->det_maps)
return;
/* *INDENT-OFF* */
vec_foreach(m, sm->det_maps)
- sent_nat_det_map_details(m, q, mp->context);
+ sent_nat_det_map_details(m, reg, mp->context);
static void
send_nat_det_session_details (snat_det_session_t * s,
static void
send_nat_det_session_details (snat_det_session_t * s,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_nat_det_session_details_t *rmp;
snat_main_t *sm = &snat_main;
{
vl_api_nat_det_session_details_t *rmp;
snat_main_t *sm = &snat_main;
rmp->expire = ntohl (s->expire);
rmp->context = context;
rmp->expire = ntohl (s->expire);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_nat_det_session_dump_t_handler (vl_api_nat_det_session_dump_t * mp)
{
}
static void
vl_api_nat_det_session_dump_t_handler (vl_api_nat_det_session_dump_t * mp)
{
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
ip4_address_t user_addr;
snat_det_map_t *dm;
snat_det_session_t *s, empty_ses;
u16 i;
snat_main_t *sm = &snat_main;
ip4_address_t user_addr;
snat_det_map_t *dm;
snat_det_session_t *s, empty_ses;
u16 i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
if (!mp->is_nat44)
return;
return;
if (!mp->is_nat44)
return;
for (i = 0; i < SNAT_DET_SES_PER_USER; i++)
{
if (s->out.as_u64)
for (i = 0; i < SNAT_DET_SES_PER_USER; i++)
{
if (s->out.as_u64)
- send_nat_det_session_details (s, q, mp->context);
+ send_nat_det_session_details (s, reg, mp->context);
typedef struct nat64_api_walk_ctx_t_
{
typedef struct nat64_api_walk_ctx_t_
{
+ vl_api_registration_t *reg;
u32 context;
nat64_db_t *db;
} nat64_api_walk_ctx_t;
u32 context;
nat64_db_t *db;
} nat64_api_walk_ctx_t;
rmp->vrf_id = ~0;
rmp->context = ctx->context;
rmp->vrf_id = ~0;
rmp->context = ctx->context;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat64_pool_addr_dump_t_handler (vl_api_nat64_pool_addr_dump_t * mp)
{
static void
vl_api_nat64_pool_addr_dump_t_handler (vl_api_nat64_pool_addr_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat64_api_walk_ctx_t ctx = {
return;
nat64_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
nat_interface_is_inside (i);
rmp->context = ctx->context;
nat_interface_is_inside (i);
rmp->context = ctx->context;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat64_interface_dump_t_handler (vl_api_nat64_interface_dump_t * mp)
{
static void
vl_api_nat64_interface_dump_t_handler (vl_api_nat64_interface_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat64_api_walk_ctx_t ctx = {
return;
nat64_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
rmp->is_static = bibe->is_static;
rmp->ses_num = ntohl (bibe->ses_num);
rmp->is_static = bibe->is_static;
rmp->ses_num = ntohl (bibe->ses_num);
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat64_bib_dump_t_handler (vl_api_nat64_bib_dump_t * mp)
{
static void
vl_api_nat64_bib_dump_t_handler (vl_api_nat64_bib_dump_t * mp)
{
+ vl_api_registration_t *reg;
nat64_main_t *nm = &nat64_main;
nat64_db_t *db;
nat64_main_t *nm = &nat64_main;
nat64_db_t *db;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat64_api_walk_ctx_t ctx = {
return;
nat64_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
rmp->vrf_id = ntohl (fib->ft_table_id);
rmp->proto = ste->proto;
rmp->vrf_id = ntohl (fib->ft_table_id);
rmp->proto = ste->proto;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat64_st_dump_t_handler (vl_api_nat64_st_dump_t * mp)
{
static void
vl_api_nat64_st_dump_t_handler (vl_api_nat64_st_dump_t * mp)
{
+ vl_api_registration_t *reg;
nat64_main_t *nm = &nat64_main;
nat64_db_t *db;
nat64_main_t *nm = &nat64_main;
nat64_db_t *db;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat64_api_walk_ctx_t ctx = {
return;
nat64_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
rmp->vrf_id = ntohl (p->vrf_id);
rmp->context = ctx->context;
rmp->vrf_id = ntohl (p->vrf_id);
rmp->context = ctx->context;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & rmp);
+ vl_api_send_msg (ctx->reg, (u8 *) rmp);
static void
vl_api_nat64_prefix_dump_t_handler (vl_api_nat64_prefix_dump_t * mp)
{
static void
vl_api_nat64_prefix_dump_t_handler (vl_api_nat64_prefix_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
nat64_api_walk_ctx_t ctx = {
return;
nat64_api_walk_ctx_t ctx = {
.context = mp->context,
};
.context = mp->context,
};
}
static void send_pppoe_session_details
}
static void send_pppoe_session_details
- (pppoe_session_t * t, svm_queue_t * q, u32 context)
+ (pppoe_session_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_pppoe_session_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
{
vl_api_pppoe_session_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_pppoe_session_dump_t_handler (vl_api_pppoe_session_dump_t * mp)
{
}
static void
vl_api_pppoe_session_dump_t_handler (vl_api_pppoe_session_dump_t * mp)
{
+ vl_api_registration_t *reg;
pppoe_main_t *pem = &pppoe_main;
pppoe_session_t *t;
u32 sw_if_index;
pppoe_main_t *pem = &pppoe_main;
pppoe_session_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, pem->sessions,
({
/* *INDENT-OFF* */
pool_foreach (t, pem->sessions,
({
- send_pppoe_session_details(t, q, mp->context);
+ send_pppoe_session_details(t, reg, mp->context);
return;
}
t = &pem->sessions[pem->session_index_by_sw_if_index[sw_if_index]];
return;
}
t = &pem->sessions[pem->session_index_by_sw_if_index[sw_if_index]];
- send_pppoe_session_details (t, q, mp->context);
+ send_pppoe_session_details (t, reg, mp->context);
{
api_main_t *am = &api_main;
vl_api_api_versions_reply_t *rmp;
{
api_main_t *am = &api_main;
vl_api_api_versions_reply_t *rmp;
+ vl_api_registration_t *reg;
u32 nmsg = vec_len (am->api_version_list);
int msg_size = sizeof (*rmp) + sizeof (rmp->api_versions[0]) * nmsg;
int i;
u32 nmsg = vec_len (am->api_version_list);
int msg_size = sizeof (*rmp) + sizeof (rmp->api_versions[0]) * nmsg;
int i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (msg_size);
return;
rmp = vl_msg_api_alloc (msg_size);
strncpy ((char *) rmp->api_versions[i].name, vl->name, 64 - 1);
}
strncpy ((char *) rmp->api_versions[i].name, vl->name, 64 - 1);
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
#define foreach_vlib_api_msg \
}
#define foreach_vlib_api_msg \
-send_bfd_udp_session_details (svm_queue_t * q, u32 context,
+send_bfd_udp_session_details (vl_api_registration_t * reg, u32 context,
bfd_session_t * bs)
{
if (bs->transport != BFD_TRANSPORT_UDP4 &&
bfd_session_t * bs)
{
if (bs->transport != BFD_TRANSPORT_UDP4 &&
clib_host_to_net_u32 (bs->config_required_min_rx_usec);
mp->desired_min_tx = clib_host_to_net_u32 (bs->config_desired_min_tx_usec);
mp->detect_mult = bs->local_detect_mult;
clib_host_to_net_u32 (bs->config_required_min_rx_usec);
mp->desired_min_tx = clib_host_to_net_u32 (bs->config_desired_min_tx_usec);
mp->detect_mult = bs->local_detect_mult;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
{
vpe_api_main_t *vam = &vpe_api_main;
vpe_client_registration_t *reg;
{
vpe_api_main_t *vam = &vpe_api_main;
vpe_client_registration_t *reg;
+ vl_api_registration_t *vl_reg;
/* *INDENT-OFF* */
pool_foreach (reg, vam->bfd_events_registrations, ({
/* *INDENT-OFF* */
pool_foreach (reg, vam->bfd_events_registrations, ({
- q = vl_api_client_index_to_input_queue (reg->client_index);
- if (q)
- {
- switch (bs->transport)
- {
- case BFD_TRANSPORT_UDP4:
- /* fallthrough */
- case BFD_TRANSPORT_UDP6:
- send_bfd_udp_session_details (q, 0, bs);
- }
- }
- }));
+ vl_reg = vl_api_client_index_to_registration (reg->client_index);
+ if (vl_reg)
+ {
+ switch (bs->transport)
+ {
+ case BFD_TRANSPORT_UDP4:
+ /* fallthrough */
+ case BFD_TRANSPORT_UDP6:
+ send_bfd_udp_session_details (vl_reg, 0, bs);
+ }
+ }
+ }));
/* *INDENT-ON* */
}
static void
vl_api_bfd_udp_session_dump_t_handler (vl_api_bfd_udp_session_dump_t * mp)
{
/* *INDENT-ON* */
}
static void
vl_api_bfd_udp_session_dump_t_handler (vl_api_bfd_udp_session_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
bfd_session_t *bs = NULL;
/* *INDENT-OFF* */
pool_foreach (bs, bfd_main.sessions, ({
return;
bfd_session_t *bs = NULL;
/* *INDENT-OFF* */
pool_foreach (bs, bfd_main.sessions, ({
- if (bs->transport == BFD_TRANSPORT_UDP4 ||
- bs->transport == BFD_TRANSPORT_UDP6)
- send_bfd_udp_session_details (q, mp->context, bs);
- }));
+ if (bs->transport == BFD_TRANSPORT_UDP4 ||
+ bs->transport == BFD_TRANSPORT_UDP6)
+ send_bfd_udp_session_details (reg, mp->context, bs);
+ }));
static void
vl_api_bfd_auth_keys_dump_t_handler (vl_api_bfd_auth_keys_dump_t * mp)
{
static void
vl_api_bfd_auth_keys_dump_t_handler (vl_api_bfd_auth_keys_dump_t * mp)
{
- svm_queue_t *q;
-
- q = vl_api_client_index_to_input_queue (mp->client_index);
+ vl_api_registration_t *reg;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
bfd_auth_key_t *key = NULL;
return;
bfd_auth_key_t *key = NULL;
/* *INDENT-OFF* */
pool_foreach (key, bfd_main.auth_keys, ({
/* *INDENT-OFF* */
pool_foreach (key, bfd_main.auth_keys, ({
- rmp = vl_msg_api_alloc (sizeof (*rmp));
- memset (rmp, 0, sizeof (*rmp));
- rmp->_vl_msg_id = ntohs (VL_API_BFD_AUTH_KEYS_DETAILS);
- rmp->context = mp->context;
- rmp->conf_key_id = clib_host_to_net_u32 (key->conf_key_id);
- rmp->auth_type = key->auth_type;
- rmp->use_count = clib_host_to_net_u32 (key->use_count);
- vl_msg_api_send_shmem (q, (u8 *)&rmp);
- }));
+ rmp = vl_msg_api_alloc (sizeof (*rmp));
+ memset (rmp, 0, sizeof (*rmp));
+ rmp->_vl_msg_id = ntohs (VL_API_BFD_AUTH_KEYS_DETAILS);
+ rmp->context = mp->context;
+ rmp->conf_key_id = clib_host_to_net_u32 (key->conf_key_id);
+ rmp->auth_type = key->auth_type;
+ rmp->use_count = clib_host_to_net_u32 (key->use_count);
+ vl_api_send_msg (reg, (u8 *)&rmp);
+ }));
-send_bier_table_details (svm_queue_t * q,
+send_bier_table_details (vl_api_registration_t * reg,
u32 context,
const bier_table_t *bt)
{
u32 context,
const bier_table_t *bt)
{
mp->bt_tbl_id.bt_sub_domain = bt->bt_id.bti_sub_domain;
mp->bt_tbl_id.bt_hdr_len_id = bt->bt_id.bti_hdr_len;
mp->bt_tbl_id.bt_sub_domain = bt->bt_id.bti_sub_domain;
mp->bt_tbl_id.bt_hdr_len_id = bt->bt_id.bti_hdr_len;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_bier_table_dump_t_handler (vl_api_bier_table_dump_t * mp)
{
}
static void
vl_api_bier_table_dump_t_handler (vl_api_bier_table_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
pool_foreach(bt, bier_table_pool,
({
pool_foreach(bt, bier_table_pool,
({
*/
if (bier_table_is_main(bt))
{
*/
if (bier_table_is_main(bt))
{
- send_bier_table_details(q, mp->context, bt);
+ send_bier_table_details(reg, mp->context, bt);
typedef struct bier_route_details_walk_t_
{
typedef struct bier_route_details_walk_t_
{
+ vl_api_registration_t * reg;
u32 context;
} bier_route_details_walk_t;
u32 context;
} bier_route_details_walk_t;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & mp);
+ vl_api_send_msg (ctx->reg, (u8 *) mp);
}
static void
vl_api_bier_route_dump_t_handler (vl_api_bier_route_dump_t * mp)
{
}
static void
vl_api_bier_route_dump_t_handler (vl_api_bier_route_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
bier_table_id_t bti = {
.bti_set = mp->br_tbl_id.bt_set,
bier_table_id_t bti = {
.bti_set = mp->br_tbl_id.bt_set,
.bti_ecmp = BIER_ECMP_TABLE_ID_MAIN,
};
bier_route_details_walk_t ctx = {
.bti_ecmp = BIER_ECMP_TABLE_ID_MAIN,
};
bier_route_details_walk_t ctx = {
.context = mp->context,
};
bier_table_walk(&bti, send_bier_route_details, &ctx);
.context = mp->context,
};
bier_table_walk(&bti, send_bier_route_details, &ctx);
-send_bier_imp_details (svm_queue_t * q,
+send_bier_imp_details (vl_api_registration_t * reg,
u32 context,
const bier_imp_t *bi)
{
u32 context,
const bier_imp_t *bi)
{
mp->bi_n_bytes = n_bytes;
memcpy(mp->bi_bytes, bi->bi_bits.bits, n_bytes);
mp->bi_n_bytes = n_bytes;
memcpy(mp->bi_bytes, bi->bi_bits.bits, n_bytes);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_bier_imp_dump_t_handler (vl_api_bier_imp_dump_t * mp)
{
}
static void
vl_api_bier_imp_dump_t_handler (vl_api_bier_imp_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
pool_foreach(bi, bier_imp_pool,
({
pool_foreach(bi, bier_imp_pool,
({
- send_bier_imp_details(q, mp->context, bi);
+ send_bier_imp_details(reg, mp->context, bi);
-send_bier_disp_table_details (svm_queue_t * q,
+send_bier_disp_table_details (vl_api_registration_t * reg,
u32 context,
const bier_disp_table_t *bdt)
{
u32 context,
const bier_disp_table_t *bdt)
{
mp->bdt_tbl_id = htonl(bdt->bdt_table_id);
mp->bdt_tbl_id = htonl(bdt->bdt_table_id);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_bier_disp_table_dump_t_handler (vl_api_bier_disp_table_dump_t * mp)
{
}
static void
vl_api_bier_disp_table_dump_t_handler (vl_api_bier_disp_table_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
pool_foreach(bdt, bier_disp_table_pool,
({
pool_foreach(bdt, bier_disp_table_pool,
({
- send_bier_disp_table_details(q, mp->context, bdt);
+ send_bier_disp_table_details(reg, mp->context, bdt);
typedef struct bier_disp_entry_details_walk_t_
{
typedef struct bier_disp_entry_details_walk_t_
{
+ vl_api_registration_t * reg;
u32 context;
} bier_disp_entry_details_walk_t;
u32 context;
} bier_disp_entry_details_walk_t;
- vl_msg_api_send_shmem (ctx->q, (u8 *) & mp);
+ vl_api_send_msg (ctx->reg, (u8 *) mp);
static void
vl_api_bier_disp_entry_dump_t_handler (vl_api_bier_disp_entry_dump_t * mp)
{
static void
vl_api_bier_disp_entry_dump_t_handler (vl_api_bier_disp_entry_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
bier_disp_entry_details_walk_t ctx = {
bier_disp_entry_details_walk_t ctx = {
.context = mp->context,
};
bier_disp_table_walk(ntohl(mp->bde_tbl_id),
.context = mp->context,
};
bier_disp_table_walk(ntohl(mp->bde_tbl_id),
static void
send_policer_classify_details (u32 sw_if_index,
static void
send_policer_classify_details (u32 sw_if_index,
- u32 table_index, svm_queue_t * q, u32 context)
+ u32 table_index, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_policer_classify_details_t *mp;
{
vl_api_policer_classify_details_t *mp;
mp->sw_if_index = htonl (sw_if_index);
mp->table_index = htonl (table_index);
mp->sw_if_index = htonl (sw_if_index);
mp->table_index = htonl (table_index);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_policer_classify_dump_t_handler (vl_api_policer_classify_dump_t * mp)
{
}
static void
vl_api_policer_classify_dump_t_handler (vl_api_policer_classify_dump_t * mp)
{
+ vl_api_registration_t *reg;
policer_classify_main_t *pcm = &policer_classify_main;
u32 *vec_tbl;
int i;
policer_classify_main_t *pcm = &policer_classify_main;
u32 *vec_tbl;
int i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
return;
vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
if (vec_elt (vec_tbl, i) == ~0)
continue;
if (vec_elt (vec_tbl, i) == ~0)
continue;
- send_policer_classify_details (i, vec_elt (vec_tbl, i), q,
+ send_policer_classify_details (i, vec_elt (vec_tbl, i), reg,
static void
vl_api_classify_table_ids_t_handler (vl_api_classify_table_ids_t * mp)
{
static void
vl_api_classify_table_ids_t_handler (vl_api_classify_table_ids_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
vnet_classify_main_t *cm = &vnet_classify_main;
return;
vnet_classify_main_t *cm = &vnet_classify_main;
clib_memcpy (rmp->ids, table_ids, count * sizeof (u32));
rmp->retval = 0;
clib_memcpy (rmp->ids, table_ids, count * sizeof (u32));
rmp->retval = 0;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
static void
vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t * mp)
{
static void
vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
vl_api_classify_table_info_reply_t *rmp = 0;
return;
vl_api_classify_table_info_reply_t *rmp = 0;
rmp->retval = ntohl (VNET_API_ERROR_CLASSIFY_TABLE_NOT_FOUND);
}
rmp->retval = ntohl (VNET_API_ERROR_CLASSIFY_TABLE_NOT_FOUND);
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
-send_classify_session_details (svm_queue_t * q,
+send_classify_session_details (vl_api_registration_t * reg,
u32 table_id,
u32 match_length,
vnet_classify_entry_t * e, u32 context)
u32 table_id,
u32 match_length,
vnet_classify_entry_t * e, u32 context)
rmp->match_length = ntohl (match_length);
clib_memcpy (rmp->match, e->key, match_length);
rmp->match_length = ntohl (match_length);
clib_memcpy (rmp->match, e->key, match_length);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_classify_session_dump_t_handler (vl_api_classify_session_dump_t * mp)
{
vnet_classify_main_t *cm = &vnet_classify_main;
}
static void
vl_api_classify_session_dump_t_handler (vl_api_classify_session_dump_t * mp)
{
vnet_classify_main_t *cm = &vnet_classify_main;
+ vl_api_registration_t *reg;
u32 table_id = ntohl (mp->table_id);
vnet_classify_table_t *t;
u32 table_id = ntohl (mp->table_id);
vnet_classify_table_t *t;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
continue;
send_classify_session_details
continue;
send_classify_session_details
- (q, table_id, t->match_n_vectors * sizeof (u32x4),
+ (reg, table_id, t->match_n_vectors * sizeof (u32x4),
static void
send_flow_classify_details (u32 sw_if_index,
static void
send_flow_classify_details (u32 sw_if_index,
- u32 table_index, svm_queue_t * q, u32 context)
+ u32 table_index, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_flow_classify_details_t *mp;
{
vl_api_flow_classify_details_t *mp;
mp->sw_if_index = htonl (sw_if_index);
mp->table_index = htonl (table_index);
mp->sw_if_index = htonl (sw_if_index);
mp->table_index = htonl (table_index);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_flow_classify_dump_t_handler (vl_api_flow_classify_dump_t * mp)
{
}
static void
vl_api_flow_classify_dump_t_handler (vl_api_flow_classify_dump_t * mp)
{
+ vl_api_registration_t *reg;
flow_classify_main_t *pcm = &flow_classify_main;
u32 *vec_tbl;
int i;
flow_classify_main_t *pcm = &flow_classify_main;
u32 *vec_tbl;
int i;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
return;
vec_tbl = pcm->classify_table_index_by_sw_if_index[mp->type];
if (vec_elt (vec_tbl, i) == ~0)
continue;
if (vec_elt (vec_tbl, i) == ~0)
continue;
- send_flow_classify_details (i, vec_elt (vec_tbl, i), q,
+ send_flow_classify_details (i, vec_elt (vec_tbl, i), reg,
{
vlib_main_t *vm = vlib_get_main ();
vl_api_tap_create_v2_reply_t *rmp;
{
vlib_main_t *vm = vlib_get_main ();
vl_api_tap_create_v2_reply_t *rmp;
+ vl_api_registration_t *reg;
tap_create_if_args_t _a, *ap = &_a;
memset (ap, 0, sizeof (*ap));
tap_create_if_args_t _a, *ap = &_a;
memset (ap, 0, sizeof (*ap));
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_TAP_CREATE_V2_REPLY);
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_TAP_CREATE_V2_REPLY);
rmp->retval = ntohl (ap->rv);
rmp->sw_if_index = ntohl (ap->sw_if_index);
rmp->retval = ntohl (ap->rv);
rmp->sw_if_index = ntohl (ap->sw_if_index);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
tap_send_sw_interface_event_deleted (vpe_api_main_t * am,
}
static void
tap_send_sw_interface_event_deleted (vpe_api_main_t * am,
- svm_queue_t * q, u32 sw_if_index)
+ vl_api_registration_t * reg,
+ u32 sw_if_index)
{
vl_api_sw_interface_event_t *mp;
{
vl_api_sw_interface_event_t *mp;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_v2_reply_t *rmp;
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_v2_reply_t *rmp;
+ vl_api_registration_t *reg;
u32 sw_if_index = ntohl (mp->sw_if_index);
rv = tap_delete_if (vm, sw_if_index);
u32 sw_if_index = ntohl (mp->sw_if_index);
rv = tap_delete_if (vm, sw_if_index);
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->context = mp->context;
rmp->retval = ntohl (rv);
rmp->context = mp->context;
rmp->retval = ntohl (rv);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
- tap_send_sw_interface_event_deleted (vam, q, sw_if_index);
+ tap_send_sw_interface_event_deleted (vam, reg, sw_if_index);
}
static void
tap_send_sw_interface_details (vpe_api_main_t * am,
}
static void
tap_send_sw_interface_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
tap_interface_details_t * tap_if, u32 context)
{
vl_api_sw_interface_tap_v2_details_t *mp;
tap_interface_details_t * tap_if, u32 context)
{
vl_api_sw_interface_tap_v2_details_t *mp;
mp->host_ip6_prefix_len = tap_if->host_ip6_prefix_len;
mp->context = context;
mp->host_ip6_prefix_len = tap_if->host_ip6_prefix_len;
mp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
{
int rv;
vpe_api_main_t *am = &vpe_api_main;
{
int rv;
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
tap_interface_details_t *tapifs = NULL;
tap_interface_details_t *tap_if = NULL;
tap_interface_details_t *tapifs = NULL;
tap_interface_details_t *tap_if = NULL;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rv = tap_dump_ifs (&tapifs);
return;
rv = tap_dump_ifs (&tapifs);
vec_foreach (tap_if, tapifs)
{
vec_foreach (tap_if, tapifs)
{
- tap_send_sw_interface_details (am, q, tap_if, mp->context);
+ tap_send_sw_interface_details (am, reg, tap_if, mp->context);
*/
static void
send_sw_interface_event_deleted (vpe_api_main_t * am,
*/
static void
send_sw_interface_event_deleted (vpe_api_main_t * am,
- svm_queue_t * q, u32 sw_if_index)
+ vl_api_registration_t * reg, u32 sw_if_index)
{
vl_api_sw_interface_event_t *mp;
{
vl_api_sw_interface_event_t *mp;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
vl_api_delete_vhost_user_if_reply_t *rmp;
vpe_api_main_t *vam = &vpe_api_main;
u32 sw_if_index = ntohl (mp->sw_if_index);
vl_api_delete_vhost_user_if_reply_t *rmp;
vpe_api_main_t *vam = &vpe_api_main;
u32 sw_if_index = ntohl (mp->sw_if_index);
+ vl_api_registration_t *reg;
vnet_main_t *vnm = vnet_get_main ();
vlib_main_t *vm = vlib_get_main ();
vnet_main_t *vnm = vnet_get_main ();
vlib_main_t *vm = vlib_get_main ();
REPLY_MACRO (VL_API_DELETE_VHOST_USER_IF_REPLY);
if (!rv)
{
REPLY_MACRO (VL_API_DELETE_VHOST_USER_IF_REPLY);
if (!rv)
{
- svm_queue_t *q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
vnet_clear_sw_interface_tag (vnm, sw_if_index);
return;
vnet_clear_sw_interface_tag (vnm, sw_if_index);
- send_sw_interface_event_deleted (vam, q, sw_if_index);
+ send_sw_interface_event_deleted (vam, reg, sw_if_index);
}
}
static void
send_sw_interface_vhost_user_details (vpe_api_main_t * am,
}
}
static void
send_sw_interface_vhost_user_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
vhost_user_intf_details_t * vui,
u32 context)
{
vhost_user_intf_details_t * vui,
u32 context)
{
strncpy ((char *) mp->interface_name,
(char *) vui->if_name, ARRAY_LEN (mp->interface_name) - 1);
strncpy ((char *) mp->interface_name,
(char *) vui->if_name, ARRAY_LEN (mp->interface_name) - 1);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
vlib_main_t *vm = vlib_get_main ();
vhost_user_intf_details_t *ifaces = NULL;
vhost_user_intf_details_t *vuid = NULL;
vlib_main_t *vm = vlib_get_main ();
vhost_user_intf_details_t *ifaces = NULL;
vhost_user_intf_details_t *vuid = NULL;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rv = vhost_user_dump_ifs (vnm, vm, &ifaces);
return;
rv = vhost_user_dump_ifs (vnm, vm, &ifaces);
vec_foreach (vuid, ifaces)
{
vec_foreach (vuid, ifaces)
{
- send_sw_interface_vhost_user_details (am, q, vuid, mp->context);
+ send_sw_interface_vhost_user_details (am, reg, vuid, mp->context);
static void
vl_api_dhcp_proxy_dump_t_handler (vl_api_dhcp_proxy_dump_t * mp)
{
static void
vl_api_dhcp_proxy_dump_t_handler (vl_api_dhcp_proxy_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;;
dhcp_proxy_dump ((mp->is_ip6 == 1 ?
dhcp_proxy_dump ((mp->is_ip6 == 1 ?
- FIB_PROTOCOL_IP6 : FIB_PROTOCOL_IP4), q, mp->context);
+ FIB_PROTOCOL_IP6 : FIB_PROTOCOL_IP4), reg, mp->context);
void *opaque, u32 context, dhcp_proxy_t * proxy)
{
vl_api_dhcp_proxy_details_t *mp;
void *opaque, u32 context, dhcp_proxy_t * proxy)
{
vl_api_dhcp_proxy_details_t *mp;
- svm_queue_t *q = opaque;
+ vl_api_registration_t *reg = opaque;
vl_api_dhcp_server_t *v_server;
dhcp_server_t *server;
fib_table_t *s_fib;
vl_api_dhcp_server_t *v_server;
dhcp_server_t *server;
fib_table_t *s_fib;
/* put the address in the first bytes */
memcpy (mp->dhcp_src_address, &proxy->dhcp_src_address.ip4, 4);
}
/* put the address in the first bytes */
memcpy (mp->dhcp_src_address, &proxy->dhcp_src_address.ip4, 4);
}
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
u8 mask_width, u8 is_ipv6, u8 * host_address,
u8 * router_address, u8 * host_mac)
{
u8 mask_width, u8 is_ipv6, u8 * host_address,
u8 * router_address, u8 * host_mac)
{
+ vl_api_registration_t *reg;
vl_api_dhcp_compl_event_t *mp;
u32 len;
vl_api_dhcp_compl_event_t *mp;
u32 len;
- q = vl_api_client_index_to_input_queue (client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (client_index);
+ if (!reg)
return;
mp = vl_msg_api_alloc (sizeof (*mp));
return;
mp = vl_msg_api_alloc (sizeof (*mp));
mp->_vl_msg_id = ntohs (VL_API_DHCP_COMPL_EVENT);
mp->_vl_msg_id = ntohs (VL_API_DHCP_COMPL_EVENT);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void vl_api_dhcp_client_config_t_handler
}
static void vl_api_dhcp_client_config_t_handler
vl_api_ipfix_exporter_dump_t_handler (vl_api_ipfix_exporter_dump_t * mp)
{
flow_report_main_t *frm = &flow_report_main;
vl_api_ipfix_exporter_dump_t_handler (vl_api_ipfix_exporter_dump_t * mp)
{
flow_report_main_t *frm = &flow_report_main;
+ vl_api_registration_t *reg;
vl_api_ipfix_exporter_details_t *rmp;
ip4_main_t *im = &ip4_main;
u32 vrf_id;
vl_api_ipfix_exporter_details_t *rmp;
ip4_main_t *im = &ip4_main;
u32 vrf_id;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;;
rmp = vl_msg_api_alloc (sizeof (*rmp));
memset (rmp, 0, sizeof (*rmp));
rmp = vl_msg_api_alloc (sizeof (*rmp));
memset (rmp, 0, sizeof (*rmp));
rmp->template_interval = htonl (frm->template_interval);
rmp->udp_checksum = (frm->udp_checksum != 0);
rmp->template_interval = htonl (frm->template_interval);
rmp->udp_checksum = (frm->udp_checksum != 0);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
(vl_api_ipfix_classify_stream_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
(vl_api_ipfix_classify_stream_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
+ vl_api_registration_t *reg;
vl_api_ipfix_classify_stream_details_t *rmp;
vl_api_ipfix_classify_stream_details_t *rmp;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->domain_id = htonl (fcm->domain_id);
rmp->src_port = htons (fcm->src_port);
rmp->domain_id = htonl (fcm->domain_id);
rmp->src_port = htons (fcm->src_port);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
static void
send_ipfix_classify_table_details (u32 table_index,
static void
send_ipfix_classify_table_details (u32 table_index,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
vl_api_ipfix_classify_table_details_t *mp;
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
vl_api_ipfix_classify_table_details_t *mp;
mp->ip_version = table->ip_version;
mp->transport_protocol = table->transport_protocol;
mp->ip_version = table->ip_version;
mp->transport_protocol = table->transport_protocol;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
(vl_api_ipfix_classify_table_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
(vl_api_ipfix_classify_table_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
for (i = 0; i < vec_len (fcm->tables); i++)
if (ipfix_classify_table_index_valid (i))
return;
for (i = 0; i < vec_len (fcm->tables); i++)
if (ipfix_classify_table_index_valid (i))
- send_ipfix_classify_table_details (i, q, mp->context);
+ send_ipfix_classify_table_details (i, reg, mp->context);
}
static void send_geneve_tunnel_details
}
static void send_geneve_tunnel_details
- (geneve_tunnel_t * t, svm_queue_t * q, u32 context)
+ (geneve_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_geneve_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
{
vl_api_geneve_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void vl_api_geneve_tunnel_dump_t_handler
(vl_api_geneve_tunnel_dump_t * mp)
{
}
static void vl_api_geneve_tunnel_dump_t_handler
(vl_api_geneve_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
geneve_main_t *vxm = &geneve_main;
geneve_tunnel_t *t;
u32 sw_if_index;
geneve_main_t *vxm = &geneve_main;
geneve_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
- send_geneve_tunnel_details(t, q, mp->context);
+ send_geneve_tunnel_details(t, reg, mp->context);
return;
}
t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_geneve_tunnel_details (t, q, mp->context);
+ send_geneve_tunnel_details (t, reg, mp->context);
}
static void send_gre_tunnel_details
}
static void send_gre_tunnel_details
- (gre_tunnel_t * t, svm_queue_t * q, u32 context)
+ (gre_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_gre_tunnel_details_t *rmp;
u8 is_ipv6 = t->tunnel_dst.fp_proto == FIB_PROTOCOL_IP6 ? 1 : 0;
{
vl_api_gre_tunnel_details_t *rmp;
u8 is_ipv6 = t->tunnel_dst.fp_proto == FIB_PROTOCOL_IP6 ? 1 : 0;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_gre_tunnel_dump_t_handler (vl_api_gre_tunnel_dump_t * mp)
{
}
static void
vl_api_gre_tunnel_dump_t_handler (vl_api_gre_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
gre_main_t *gm = &gre_main;
gre_tunnel_t *t;
u32 sw_if_index;
gre_main_t *gm = &gre_main;
gre_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, gm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, gm->tunnels,
({
- send_gre_tunnel_details(t, q, mp->context);
+ send_gre_tunnel_details(t, reg, mp->context);
return;
}
t = &gm->tunnels[gm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = &gm->tunnels[gm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_gre_tunnel_details (t, q, mp->context);
+ send_gre_tunnel_details (t, reg, mp->context);
-send_sw_interface_get_table_reply (svm_queue_t * q,
+send_sw_interface_get_table_reply (vl_api_registration_t * reg,
u32 context, int retval, u32 vrf_id)
{
vl_api_sw_interface_get_table_reply_t *mp;
u32 context, int retval, u32 vrf_id)
{
vl_api_sw_interface_get_table_reply_t *mp;
mp->retval = htonl (retval);
mp->vrf_id = htonl (vrf_id);
mp->retval = htonl (retval);
mp->vrf_id = htonl (vrf_id);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_sw_interface_get_table_t_handler (vl_api_sw_interface_get_table_t * mp)
{
}
static void
vl_api_sw_interface_get_table_t_handler (vl_api_sw_interface_get_table_t * mp)
{
+ vl_api_registration_t *reg;
fib_table_t *fib_table = 0;
u32 sw_if_index = ~0;
u32 fib_index = ~0;
fib_table_t *fib_table = 0;
u32 sw_if_index = ~0;
u32 fib_index = ~0;
fib_protocol_t fib_proto = FIB_PROTOCOL_IP4;
int rv = 0;
fib_protocol_t fib_proto = FIB_PROTOCOL_IP4;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
VALIDATE_SW_IF_INDEX (mp);
return;
VALIDATE_SW_IF_INDEX (mp);
- send_sw_interface_get_table_reply (q, mp->context, rv, table_id);
+ send_sw_interface_get_table_reply (reg, mp->context, rv, table_id);
}
static void vl_api_sw_interface_set_unnumbered_t_handler
}
static void vl_api_sw_interface_set_unnumbered_t_handler
static void
send_sw_interface_event (vpe_api_main_t * am,
vpe_client_registration_t * reg,
static void
send_sw_interface_event (vpe_api_main_t * am,
vpe_client_registration_t * reg,
- svm_queue_t * q, vnet_sw_interface_t * swif)
+ vl_api_registration_t * vl_reg,
+ vnet_sw_interface_t * swif)
{
vl_api_sw_interface_event_t *mp;
vnet_main_t *vnm = am->vnet_main;
{
vl_api_sw_interface_event_t *mp;
vnet_main_t *vnm = am->vnet_main;
mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
mp->admin_up_down = (swif->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) ? 1 : 0;
mp->link_up_down = (hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP) ? 1 : 0;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (vl_reg, (u8 *) mp);
vpe_client_registration_t *reg;
int i;
u32 prev_sw_if_index;
vpe_client_registration_t *reg;
int i;
u32 prev_sw_if_index;
+ vl_api_registration_t *vl_reg;
vam->link_state_process_up = 1;
vam->link_state_process_up = 1;
/* *INDENT-OFF* */
pool_foreach(reg, vam->interface_events_registrations,
({
/* *INDENT-OFF* */
pool_foreach(reg, vam->interface_events_registrations,
({
- q = vl_api_client_index_to_input_queue (reg->client_index);
- if (q)
+ vl_reg = vl_api_client_index_to_registration (reg->client_index);
+ if (vl_reg)
{
/* sw_interface may be deleted already */
if (!pool_is_free_index (vnm->interface_main.sw_interfaces,
event_data[i]))
{
swif = vnet_get_sw_interface (vnm, event_data[i]);
{
/* sw_interface may be deleted already */
if (!pool_is_free_index (vnm->interface_main.sw_interfaces,
event_data[i]))
{
swif = vnet_get_sw_interface (vnm, event_data[i]);
- send_sw_interface_event (vam, reg, q, swif);
+ send_sw_interface_event (vam, reg, vl_reg, swif);
uword *p;
vnet_interface_main_t *im = &vnm->interface_main;
u64 sup_and_sub_key;
uword *p;
vnet_interface_main_t *im = &vnm->interface_main;
u64 sup_and_sub_key;
+ vl_api_registration_t *reg;
clib_error_t *error;
VALIDATE_SW_IF_INDEX (mp);
clib_error_t *error;
VALIDATE_SW_IF_INDEX (mp);
BAD_SW_IF_INDEX_LABEL;
out:
BAD_SW_IF_INDEX_LABEL;
out:
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->context = mp->context;
rmp->retval = htonl (rv);
rmp->sw_if_index = htonl (sw_if_index);
rmp->context = mp->context;
rmp->retval = htonl (rv);
rmp->sw_if_index = htonl (sw_if_index);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
u8 is_ipv6,
u8 is_static,
u8 * mac_address,
u8 is_ipv6,
u8 is_static,
u8 * mac_address,
- u8 * ip_address, svm_queue_t * q, u32 context)
+ u8 * ip_address, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_ip_neighbor_details_t *mp;
{
vl_api_ip_neighbor_details_t *mp;
memcpy (mp->mac_address, mac_address, 6);
memcpy (mp->ip_address, ip_address, (is_ipv6) ? 16 : 4);
memcpy (mp->mac_address, mac_address, 6);
memcpy (mp->ip_address, ip_address, (is_ipv6) ? 16 : 4);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_ip_neighbor_dump_t_handler (vl_api_ip_neighbor_dump_t * mp)
{
}
static void
vl_api_ip_neighbor_dump_t_handler (vl_api_ip_neighbor_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
u32 sw_if_index = ntohl (mp->sw_if_index);
return;
u32 sw_if_index = ntohl (mp->sw_if_index);
((n->flags & IP6_NEIGHBOR_FLAG_STATIC) ? 1 : 0),
(u8 *) n->link_layer_address,
(u8 *) & (n->key.ip6_address.as_u8),
((n->flags & IP6_NEIGHBOR_FLAG_STATIC) ? 1 : 0),
(u8 *) n->link_layer_address,
(u8 *) & (n->key.ip6_address.as_u8),
}
/* *INDENT-ON* */
vec_free (ns);
}
/* *INDENT-ON* */
vec_free (ns);
((n->flags & ETHERNET_ARP_IP4_ENTRY_FLAG_STATIC) ? 1 : 0),
(u8*) n->ethernet_address,
(u8*) & (n->ip4_address.as_u8),
((n->flags & ETHERNET_ARP_IP4_ENTRY_FLAG_STATIC) ? 1 : 0),
(u8*) n->ethernet_address,
(u8*) & (n->ip4_address.as_u8),
}
/* *INDENT-ON* */
vec_free (ns);
}
/* *INDENT-ON* */
vec_free (ns);
static void
send_ip_fib_details (vpe_api_main_t * am,
static void
send_ip_fib_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_ip_fib_dump_walk_ctx_t_
}
typedef struct vl_api_ip_fib_dump_walk_ctx_t_
vl_api_ip_fib_dump_t_handler (vl_api_ip_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
vl_api_ip_fib_dump_t_handler (vl_api_ip_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
ip4_main_t *im = &ip4_main;
fib_table_t *fib_table;
fib_node_index_t *lfeip;
ip4_main_t *im = &ip4_main;
fib_table_t *fib_table;
fib_node_index_t *lfeip;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
fib_table = fib_table_get (fib_index, pfx.fp_proto);
api_rpaths = NULL;
fib_entry_encode (*lfeip, &api_rpaths);
fib_table = fib_table_get (fib_index, pfx.fp_proto);
api_rpaths = NULL;
fib_entry_encode (*lfeip, &api_rpaths);
- send_ip_fib_details (am, q, fib_table, &pfx, api_rpaths, mp->context);
+ send_ip_fib_details (am, reg, fib_table, &pfx, api_rpaths, mp->context);
static void
send_ip6_fib_details (vpe_api_main_t * am,
static void
send_ip6_fib_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct apt_ip6_fib_show_ctx_t_
}
typedef struct apt_ip6_fib_show_ctx_t_
-api_ip6_fib_table_get_all (svm_queue_t * q,
+api_ip6_fib_table_get_all (vl_api_registration_t * reg,
vl_api_ip6_fib_dump_t * mp,
fib_table_t * fib_table)
{
vl_api_ip6_fib_dump_t * mp,
fib_table_t * fib_table)
{
fib_entry_get_prefix (*fib_entry_index, &pfx);
api_rpaths = NULL;
fib_entry_encode (*fib_entry_index, &api_rpaths);
fib_entry_get_prefix (*fib_entry_index, &pfx);
api_rpaths = NULL;
fib_entry_encode (*fib_entry_index, &api_rpaths);
- send_ip6_fib_details (am, q, fib_table, &pfx, api_rpaths, mp->context);
+ send_ip6_fib_details (am, reg, fib_table, &pfx, api_rpaths, mp->context);
static void
vl_api_ip6_fib_dump_t_handler (vl_api_ip6_fib_dump_t * mp)
{
static void
vl_api_ip6_fib_dump_t_handler (vl_api_ip6_fib_dump_t * mp)
{
+ vl_api_registration_t *reg;
ip6_main_t *im6 = &ip6_main;
fib_table_t *fib_table;
ip6_main_t *im6 = &ip6_main;
fib_table_t *fib_table;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (fib_table, im6->fibs,
({
return;
/* *INDENT-OFF* */
pool_foreach (fib_table, im6->fibs,
({
- api_ip6_fib_table_get_all(q, mp, fib_table);
+ api_ip6_fib_table_get_all(reg, mp, fib_table);
}));
/* *INDENT-ON* */
}
static void
}));
/* *INDENT-ON* */
}
static void
-send_ip_mfib_details (svm_queue_t * q,
+send_ip_mfib_details (vl_api_registration_t * reg,
u32 context, u32 table_id, fib_node_index_t mfei)
{
fib_route_path_encode_t *api_rpath, *api_rpaths = NULL;
u32 context, u32 table_id, fib_node_index_t mfei)
{
fib_route_path_encode_t *api_rpath, *api_rpaths = NULL;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_ip_mfib_dump_ctc_t_
}
typedef struct vl_api_ip_mfib_dump_ctc_t_
static void
vl_api_ip_mfib_dump_t_handler (vl_api_ip_mfib_dump_t * mp)
{
static void
vl_api_ip_mfib_dump_t_handler (vl_api_ip_mfib_dump_t * mp)
{
+ vl_api_registration_t *reg;
ip4_main_t *im = &ip4_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
ip4_main_t *im = &ip4_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
/* *INDENT-OFF* */
pool_foreach (mfib_table, im->mfibs,
({
/* *INDENT-OFF* */
pool_foreach (mfib_table, im->mfibs,
({
vec_foreach (mfeip, ctx.entries)
{
vec_foreach (mfeip, ctx.entries)
{
- send_ip_mfib_details (q, mp->context,
+ send_ip_mfib_details (reg, mp->context,
mfib_table->mft_table_id,
*mfeip);
}
mfib_table->mft_table_id,
*mfeip);
}
static void
send_ip6_mfib_details (vpe_api_main_t * am,
static void
send_ip6_mfib_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
u32 table_id,
mfib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
u32 table_id,
mfib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_ip6_mfib_dump_ctc_t_
}
typedef struct vl_api_ip6_mfib_dump_ctc_t_
vl_api_ip6_mfib_dump_t_handler (vl_api_ip6_mfib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
vl_api_ip6_mfib_dump_t_handler (vl_api_ip6_mfib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
ip6_main_t *im = &ip6_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
ip6_main_t *im = &ip6_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
mfib_entry_get_prefix (*mfeip, &pfx);
mfib_entry_encode (*mfeip, &api_rpaths);
{
mfib_entry_get_prefix (*mfeip, &pfx);
mfib_entry_encode (*mfeip, &api_rpaths);
- send_ip6_mfib_details (am, q,
+ send_ip6_mfib_details (am, reg,
mfib_table->mft_table_id,
&pfx, api_rpaths,
mp->context);
mfib_table->mft_table_id,
&pfx, api_rpaths,
mp->context);
static void
send_ip_details (vpe_api_main_t * am,
static void
send_ip_details (vpe_api_main_t * am,
- svm_queue_t * q, u32 sw_if_index, u8 is_ipv6, u32 context)
+ vl_api_registration_t * reg, u32 sw_if_index, u8 is_ipv6,
+ u32 context)
{
vl_api_ip_details_t *mp;
{
vl_api_ip_details_t *mp;
mp->is_ipv6 = is_ipv6;
mp->context = context;
mp->is_ipv6 = is_ipv6;
mp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
send_ip_address_details (vpe_api_main_t * am,
}
static void
send_ip_address_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
u8 * ip, u16 prefix_length,
u32 sw_if_index, u8 is_ipv6, u32 context)
{
u8 * ip, u16 prefix_length,
u32 sw_if_index, u8 is_ipv6, u32 context)
{
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;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_ip_address_dump_t_handler (vl_api_ip_address_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
}
static void
vl_api_ip_address_dump_t_handler (vl_api_ip_address_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
ip6_address_t *r6;
ip4_address_t *r4;
ip6_main_t *im6 = &ip6_main;
ip6_address_t *r6;
ip4_address_t *r4;
ip6_main_t *im6 = &ip6_main;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
({
r6 = ip_interface_address_get_address (lm6, ia);
u16 prefix_length = ia->address_length;
({
r6 = ip_interface_address_get_address (lm6, ia);
u16 prefix_length = ia->address_length;
- send_ip_address_details(am, q, (u8*)r6, prefix_length,
+ send_ip_address_details(am, reg, (u8*)r6, prefix_length,
sw_if_index, 1, mp->context);
}));
/* *INDENT-ON* */
sw_if_index, 1, mp->context);
}));
/* *INDENT-ON* */
({
r4 = ip_interface_address_get_address (lm4, ia);
u16 prefix_length = ia->address_length;
({
r4 = ip_interface_address_get_address (lm4, ia);
u16 prefix_length = ia->address_length;
- send_ip_address_details(am, q, (u8*)r4, prefix_length,
+ send_ip_address_details(am, reg, (u8*)r4, prefix_length,
sw_if_index, 0, mp->context);
}));
/* *INDENT-ON* */
sw_if_index, 0, mp->context);
}));
/* *INDENT-ON* */
vnet_main_t *vnm = vnet_get_main ();
vlib_main_t *vm = vlib_get_main ();
vnet_interface_main_t *im = &vnm->interface_main;
vnet_main_t *vnm = vnet_get_main ();
vlib_main_t *vm = vlib_get_main ();
vnet_interface_main_t *im = &vnm->interface_main;
+ vl_api_registration_t *reg;
vnet_sw_interface_t *si, *sorted_sis;
u32 sw_if_index = ~0;
vnet_sw_interface_t *si, *sorted_sis;
u32 sw_if_index = ~0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* Gather interfaces. */
sorted_sis = vec_new (vnet_sw_interface_t, pool_elts (im->sw_interfaces));
/* Gather interfaces. */
sorted_sis = vec_new (vnet_sw_interface_t, pool_elts (im->sw_interfaces));
continue;
}
sw_if_index = si->sw_if_index;
continue;
}
sw_if_index = si->sw_if_index;
- send_ip_details (am, q, sw_if_index, mp->is_ipv6, mp->context);
+ send_ip_details (am, reg, sw_if_index, mp->is_ipv6, mp->context);
-send_ip6nd_proxy_details (svm_queue_t * q,
+send_ip6nd_proxy_details (vl_api_registration_t * reg,
u32 context,
const ip46_address_t * addr, u32 sw_if_index)
{
u32 context,
const ip46_address_t * addr, u32 sw_if_index)
{
mp->sw_if_index = htonl (sw_if_index);
memcpy (mp->address, addr, 16);
mp->sw_if_index = htonl (sw_if_index);
memcpy (mp->address, addr, 16);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct api_ip6nd_proxy_fib_table_walk_ctx_t_
}
typedef struct api_ip6nd_proxy_fib_table_walk_ctx_t_
};
fib_node_index_t *feip;
fib_prefix_t pfx;
};
fib_node_index_t *feip;
fib_prefix_t pfx;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
pool_foreach (fib_table, im6->fibs,
/* *INDENT-OFF* */
pool_foreach (fib_table, im6->fibs,
{
fib_entry_get_prefix (*feip, &pfx);
{
fib_entry_get_prefix (*feip, &pfx);
- send_ip6nd_proxy_details (q,
+ send_ip6nd_proxy_details (reg,
mp->context,
&pfx.fp_addr,
fib_entry_get_resolving_interface (*feip));
mp->context,
&pfx.fp_addr,
fib_entry_get_resolving_interface (*feip));
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
+ vl_api_registration_t *reg;
error = vnet_punt_socket_add (vm, ntohl (mp->header_version),
mp->is_ip4, mp->l4_protocol,
error = vnet_punt_socket_add (vm, ntohl (mp->header_version),
mp->is_ip4, mp->l4_protocol,
clib_error_report (error);
}
clib_error_report (error);
}
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
char *p = vnet_punt_get_server_pathname ();
/* Abstract pathnames start with \0 */
memcpy ((char *) rmp->pathname, p, sizeof (rmp->pathname));
char *p = vnet_punt_get_server_pathname ();
/* Abstract pathnames start with \0 */
memcpy ((char *) rmp->pathname, p, sizeof (rmp->pathname));
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
+ vl_api_registration_t *reg;
error = vnet_punt_socket_del (vm, mp->is_ip4, mp->l4_protocol,
ntohs (mp->l4_port));
error = vnet_punt_socket_del (vm, mp->is_ip4, mp->l4_protocol,
ntohs (mp->l4_port));
clib_error_report (error);
}
clib_error_report (error);
}
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = htons (VL_API_PUNT_SOCKET_DEREGISTER_REPLY);
rmp->context = mp->context;
rmp->retval = htonl (rv);
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = htons (VL_API_PUNT_SOCKET_DEREGISTER_REPLY);
rmp->context = mp->context;
rmp->retval = htonl (rv);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
#define vl_msg_name_crc_list
}
#define vl_msg_name_crc_list
}
static void send_ipsec_gre_tunnel_details
}
static void send_ipsec_gre_tunnel_details
- (ipsec_gre_tunnel_t * t, svm_queue_t * q, u32 context)
+ (ipsec_gre_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_ipsec_gre_tunnel_details_t *rmp;
{
vl_api_ipsec_gre_tunnel_details_t *rmp;
rmp->remote_sa_id = htonl (t->remote_sa_id);
rmp->context = context;
rmp->remote_sa_id = htonl (t->remote_sa_id);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void vl_api_ipsec_gre_tunnel_dump_t_handler
(vl_api_ipsec_gre_tunnel_dump_t * mp)
{
}
static void vl_api_ipsec_gre_tunnel_dump_t_handler
(vl_api_ipsec_gre_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
ipsec_gre_main_t *igm = &ipsec_gre_main;
ipsec_gre_tunnel_t *t;
u32 sw_if_index;
ipsec_gre_main_t *igm = &ipsec_gre_main;
ipsec_gre_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, igm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, igm->tunnels,
({
- send_ipsec_gre_tunnel_details(t, q, mp->context);
+ send_ipsec_gre_tunnel_details(t, reg, mp->context);
return;
}
t = &igm->tunnels[igm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = &igm->tunnels[igm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_ipsec_gre_tunnel_details (t, q, mp->context);
+ send_ipsec_gre_tunnel_details (t, reg, mp->context);
-send_ipsec_spd_details (ipsec_policy_t * p, svm_queue_t * q, u32 context)
+send_ipsec_spd_details (ipsec_policy_t * p, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_ipsec_spd_details_t *mp;
{
vl_api_ipsec_spd_details_t *mp;
mp->bytes = clib_host_to_net_u64 (p->counter.bytes);
mp->packets = clib_host_to_net_u64 (p->counter.packets);
mp->bytes = clib_host_to_net_u64 (p->counter.bytes);
mp->packets = clib_host_to_net_u64 (p->counter.packets);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_ipsec_spd_dump_t_handler (vl_api_ipsec_spd_dump_t * mp)
{
}
static void
vl_api_ipsec_spd_dump_t_handler (vl_api_ipsec_spd_dump_t * mp)
{
+ vl_api_registration_t *reg;
ipsec_main_t *im = &ipsec_main;
ipsec_policy_t *policy;
ipsec_spd_t *spd;
uword *p;
u32 spd_index;
#if WITH_LIBSSL > 0
ipsec_main_t *im = &ipsec_main;
ipsec_policy_t *policy;
ipsec_spd_t *spd;
uword *p;
u32 spd_index;
#if WITH_LIBSSL > 0
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
p = hash_get (im->spd_index_by_spd_id, ntohl (mp->spd_id));
return;
p = hash_get (im->spd_index_by_spd_id, ntohl (mp->spd_id));
pool_foreach (policy, spd->policies,
({
if (mp->sa_id == ~(0) || ntohl (mp->sa_id) == policy->sa_id)
pool_foreach (policy, spd->policies,
({
if (mp->sa_id == ~(0) || ntohl (mp->sa_id) == policy->sa_id)
- send_ipsec_spd_details (policy, q,
+ send_ipsec_spd_details (policy, reg,
mp->context);}
));
/* *INDENT-ON* */
mp->context);}
));
/* *INDENT-ON* */
-send_ipsec_sa_details (ipsec_sa_t * sa, svm_queue_t * q,
+send_ipsec_sa_details (ipsec_sa_t * sa, vl_api_registration_t * reg,
u32 context, u32 sw_if_index)
{
vl_api_ipsec_sa_details_t *mp;
u32 context, u32 sw_if_index)
{
vl_api_ipsec_sa_details_t *mp;
mp->replay_window = clib_host_to_net_u64 (sa->replay_window);
mp->total_data_size = clib_host_to_net_u64 (sa->total_data_size);
mp->replay_window = clib_host_to_net_u64 (sa->replay_window);
mp->total_data_size = clib_host_to_net_u64 (sa->total_data_size);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_ipsec_sa_dump_t_handler (vl_api_ipsec_sa_dump_t * mp)
{
}
static void
vl_api_ipsec_sa_dump_t_handler (vl_api_ipsec_sa_dump_t * mp)
{
+ vl_api_registration_t *reg;
ipsec_main_t *im = &ipsec_main;
vnet_main_t *vnm = im->vnet_main;
ipsec_sa_t *sa;
ipsec_main_t *im = &ipsec_main;
vnet_main_t *vnm = im->vnet_main;
ipsec_sa_t *sa;
u32 *sa_index_to_tun_if_index = 0;
#if WITH_LIBSSL > 0
u32 *sa_index_to_tun_if_index = 0;
#if WITH_LIBSSL > 0
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0 || pool_elts (im->sad) == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg || pool_elts (im->sad) == 0)
return;
vec_validate_init_empty (sa_index_to_tun_if_index, vec_len (im->sad) - 1,
return;
vec_validate_init_empty (sa_index_to_tun_if_index, vec_len (im->sad) - 1,
pool_foreach (sa, im->sad,
({
if (mp->sa_id == ~(0) || ntohl (mp->sa_id) == sa->id)
pool_foreach (sa, im->sad,
({
if (mp->sa_id == ~(0) || ntohl (mp->sa_id) == sa->id)
- send_ipsec_sa_details (sa, q, mp->context,
+ send_ipsec_sa_details (sa, reg, mp->context,
sa_index_to_tun_if_index[sa - im->sad]);
}));
/* *INDENT-ON* */
sa_index_to_tun_if_index[sa - im->sad]);
}));
/* *INDENT-ON* */
_(SW_INTERFACE_SET_VPATH, sw_interface_set_vpath)
static void
_(SW_INTERFACE_SET_VPATH, sw_interface_set_vpath)
static void
-send_l2_xconnect_details (svm_queue_t * q, u32 context,
+send_l2_xconnect_details (vl_api_registration_t * reg, u32 context,
u32 rx_sw_if_index, u32 tx_sw_if_index)
{
vl_api_l2_xconnect_details_t *mp;
u32 rx_sw_if_index, u32 tx_sw_if_index)
{
vl_api_l2_xconnect_details_t *mp;
mp->rx_sw_if_index = htonl (rx_sw_if_index);
mp->tx_sw_if_index = htonl (tx_sw_if_index);
mp->rx_sw_if_index = htonl (rx_sw_if_index);
mp->tx_sw_if_index = htonl (tx_sw_if_index);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_l2_xconnect_dump_t_handler (vl_api_l2_xconnect_dump_t * mp)
{
}
static void
vl_api_l2_xconnect_dump_t_handler (vl_api_l2_xconnect_dump_t * mp)
{
+ vl_api_registration_t *reg;
vnet_main_t *vnm = vnet_get_main ();
vnet_interface_main_t *im = &vnm->interface_main;
l2input_main_t *l2im = &l2input_main;
vnet_sw_interface_t *swif;
l2_input_config_t *config;
vnet_main_t *vnm = vnet_get_main ();
vnet_interface_main_t *im = &vnm->interface_main;
l2input_main_t *l2im = &l2input_main;
vnet_sw_interface_t *swif;
l2_input_config_t *config;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
({
config = vec_elt_at_index (l2im->configs, swif->sw_if_index);
if (config->xconnect)
({
config = vec_elt_at_index (l2im->configs, swif->sw_if_index);
if (config->xconnect)
- send_l2_xconnect_details (q, mp->context, swif->sw_if_index,
+ send_l2_xconnect_details (reg, mp->context, swif->sw_if_index,
config->output_sw_if_index);
}));
/* *INDENT-ON* */
config->output_sw_if_index);
}));
/* *INDENT-ON* */
static void
send_l2fib_table_entry (vpe_api_main_t * am,
static void
send_l2fib_table_entry (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
l2fib_entry_key_t * l2fe_key,
l2fib_entry_result_t * l2fe_res, u32 context)
{
l2fib_entry_key_t * l2fe_key,
l2fib_entry_result_t * l2fe_res, u32 context)
{
mp->bvi_mac = l2fe_res->fields.bvi;
mp->context = context;
mp->bvi_mac = l2fe_res->fields.bvi;
mp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
l2fib_entry_result_t *l2fe_res = NULL;
u32 ni, bd_id = ntohl (mp->bd_id);
u32 bd_index;
l2fib_entry_result_t *l2fe_res = NULL;
u32 ni, bd_id = ntohl (mp->bd_id);
u32 bd_index;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* see l2fib_table_dump: ~0 means "any" */
return;
/* see l2fib_table_dump: ~0 means "any" */
vec_foreach_index (ni, l2fe_key)
{
vec_foreach_index (ni, l2fe_key)
{
- send_l2fib_table_entry (am, q, vec_elt_at_index (l2fe_key, ni),
+ send_l2fib_table_entry (am, reg, vec_elt_at_index (l2fe_key, ni),
vec_elt_at_index (l2fe_res, ni), mp->context);
}
vec_free (l2fe_key);
vec_elt_at_index (l2fe_res, ni), mp->context);
}
vec_free (l2fe_key);
static void
send_bridge_domain_details (l2input_main_t * l2im,
static void
send_bridge_domain_details (l2input_main_t * l2im,
+ vl_api_registration_t * reg,
l2_bridge_domain_t * bd_config,
u32 n_sw_ifs, u32 context)
{
l2_bridge_domain_t * bd_config,
u32 n_sw_ifs, u32 context)
{
}
mp->n_sw_ifs = htonl (mp->n_sw_ifs);
}
mp->n_sw_ifs = htonl (mp->n_sw_ifs);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
{
bd_main_t *bdm = &bd_main;
l2input_main_t *l2im = &l2input_main;
{
bd_main_t *bdm = &bd_main;
l2input_main_t *l2im = &l2input_main;
+ vl_api_registration_t *reg;
+ u32 bd_id, bd_index, end;
- svm_queue_t *q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
- u32 bd_id = ntohl (mp->bd_id);
+ bd_id = ntohl (mp->bd_id);
if (bd_id == ~0)
bd_index = 0, end = vec_len (l2im->bd_configs);
else
if (bd_id == ~0)
bd_index = 0, end = vec_len (l2im->bd_configs);
else
l2input_bd_config_from_index (l2im, bd_index);
/* skip dummy bd_id 0 */
if (bd_config && (bd_config->bd_id > 0))
l2input_bd_config_from_index (l2im, bd_index);
/* skip dummy bd_id 0 */
if (bd_config && (bd_config->bd_id > 0))
- send_bridge_domain_details (l2im, q, bd_config,
+ send_bridge_domain_details (l2im, reg, bd_config,
vec_len (bd_config->members),
mp->context);
}
vec_len (bd_config->members),
mp->context);
}
static void
send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t * am,
static void
send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
l2t_session_t * s,
l2t_main_t * lm, u32 context)
{
l2t_session_t * s,
l2t_main_t * lm, u32 context)
{
mp->l2_sublayer_present = s->l2_sublayer_present;
mp->context = context;
mp->l2_sublayer_present = s->l2_sublayer_present;
mp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
{
vpe_api_main_t *am = &vpe_api_main;
l2t_main_t *lm = &l2t_main;
{
vpe_api_main_t *am = &vpe_api_main;
l2t_main_t *lm = &l2t_main;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach (session, lm->sessions,
({
return;
/* *INDENT-OFF* */
pool_foreach (session, lm->sessions,
({
- send_sw_if_l2tpv3_tunnel_details (am, q, session, lm, mp->context);
+ send_sw_if_l2tpv3_tunnel_details (am, reg, session, lm, mp->context);
static void
vl_api_show_lisp_use_petr_t_handler (vl_api_show_lisp_use_petr_t * mp)
{
static void
vl_api_show_lisp_use_petr_t_handler (vl_api_show_lisp_use_petr_t * mp)
{
vl_api_show_lisp_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
vl_api_show_lisp_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
u8 status = 0;
gid_address_t addr;
u8 status = 0;
gid_address_t addr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
memset (&addr, 0, sizeof (addr));
status = lcm->flags & LISP_FLAG_USE_PETR;
if (status)
memset (&addr, 0, sizeof (addr));
status = lcm->flags & LISP_FLAG_USE_PETR;
if (status)
static void
send_lisp_locator_details (lisp_cp_main_t * lcm,
static void
send_lisp_locator_details (lisp_cp_main_t * lcm,
- locator_t * loc, svm_queue_t * q, u32 context)
+ locator_t * loc, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_lisp_locator_details_t *rmp;
{
vl_api_lisp_locator_details_t *rmp;
rmp->priority = loc->priority;
rmp->weight = loc->weight;
rmp->priority = loc->priority;
rmp->weight = loc->weight;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_locator_dump_t_handler (vl_api_lisp_locator_dump_t * mp)
{
u8 *ls_name = 0;
}
static void
vl_api_lisp_locator_dump_t_handler (vl_api_lisp_locator_dump_t * mp)
{
u8 *ls_name = 0;
+ vl_api_registration_t *reg = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = 0;
locator_t *loc = 0;
u32 ls_index = ~0, *locit = 0;
uword *p = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = 0;
locator_t *loc = 0;
u32 ls_index = ~0, *locit = 0;
uword *p = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
if (mp->is_index_set)
ls_index = htonl (mp->ls_index);
if (mp->is_index_set)
ls_index = htonl (mp->ls_index);
vec_foreach (locit, lsit->locator_indices)
{
loc = pool_elt_at_index (lcm->locator_pool, locit[0]);
vec_foreach (locit, lsit->locator_indices)
{
loc = pool_elt_at_index (lcm->locator_pool, locit[0]);
- send_lisp_locator_details (lcm, loc, q, mp->context);
+ send_lisp_locator_details (lcm, loc, reg, mp->context);
};
out:
vec_free (ls_name);
};
out:
vec_free (ls_name);
static void
send_lisp_locator_set_details (lisp_cp_main_t * lcm,
locator_set_t * lsit,
static void
send_lisp_locator_set_details (lisp_cp_main_t * lcm,
locator_set_t * lsit,
- svm_queue_t * q, u32 context, u32 ls_index)
+ vl_api_registration_t * reg, u32 context,
+ u32 ls_index)
{
vl_api_lisp_locator_set_details_t *rmp;
u8 *str = 0;
{
vl_api_lisp_locator_set_details_t *rmp;
u8 *str = 0;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_locator_set_dump_t_handler (vl_api_lisp_locator_set_dump_t * mp)
{
}
static void
vl_api_lisp_locator_set_dump_t_handler (vl_api_lisp_locator_set_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = NULL;
u8 filter;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = NULL;
u8 filter;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
filter = mp->filter;
/* *INDENT-OFF* */
filter = mp->filter;
/* *INDENT-OFF* */
- send_lisp_locator_set_details (lcm, lsit, q, mp->context,
+ send_lisp_locator_set_details (lcm, lsit, reg, mp->context,
lsit - lcm->locator_set_pool);
}));
/* *INDENT-ON* */
lsit - lcm->locator_set_pool);
}));
/* *INDENT-ON* */
static void
send_lisp_eid_table_details (mapping_t * mapit,
static void
send_lisp_eid_table_details (mapping_t * mapit,
- svm_queue_t * q, u32 context, u8 filter)
+ vl_api_registration_t * reg, u32 context,
+ u8 filter)
{
fid_address_t *fid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
{
fid_address_t *fid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
rmp->key_id = clib_host_to_net_u16 (mapit->key_id);
memcpy (rmp->key, mapit->key, vec_len (mapit->key));
rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
rmp->key_id = clib_host_to_net_u16 (mapit->key_id);
memcpy (rmp->key, mapit->key, vec_len (mapit->key));
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_eid_table_dump_t_handler (vl_api_lisp_eid_table_dump_t * mp)
{
u32 mi;
}
static void
vl_api_lisp_eid_table_dump_t_handler (vl_api_lisp_eid_table_dump_t * mp)
{
u32 mi;
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *mapit = NULL;
gid_address_t _eid, *eid = &_eid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *mapit = NULL;
gid_address_t _eid, *eid = &_eid;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
return;
mapit = pool_elt_at_index (lcm->mapping_pool, mi);
return;
mapit = pool_elt_at_index (lcm->mapping_pool, mi);
- send_lisp_eid_table_details (mapit, q, mp->context,
+ send_lisp_eid_table_details (mapit, reg, mp->context,
0 /* ignore filter */ );
}
else
0 /* ignore filter */ );
}
else
/* *INDENT-OFF* */
pool_foreach (mapit, lcm->mapping_pool,
({
/* *INDENT-OFF* */
pool_foreach (mapit, lcm->mapping_pool,
({
- send_lisp_eid_table_details(mapit, q, mp->context,
+ send_lisp_eid_table_details(mapit, reg, mp->context,
mp->filter);
}));
/* *INDENT-ON* */
mp->filter);
}));
/* *INDENT-ON* */
-send_lisp_map_server_details (ip_address_t * ip, svm_queue_t * q, u32 context)
+send_lisp_map_server_details (ip_address_t * ip, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_lisp_map_server_details_t *rmp = NULL;
{
vl_api_lisp_map_server_details_t *rmp = NULL;
}
rmp->context = context;
}
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_map_server_dump_t_handler (vl_api_lisp_map_server_dump_t * mp)
{
}
static void
vl_api_lisp_map_server_dump_t_handler (vl_api_lisp_map_server_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
vec_foreach (mr, lcm->map_servers)
{
vec_foreach (mr, lcm->map_servers)
{
- send_lisp_map_server_details (&mr->address, q, mp->context);
+ send_lisp_map_server_details (&mr->address, reg, mp->context);
}
}
static void
send_lisp_map_resolver_details (ip_address_t * ip,
}
}
static void
send_lisp_map_resolver_details (ip_address_t * ip,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_lisp_map_resolver_details_t *rmp = NULL;
{
vl_api_lisp_map_resolver_details_t *rmp = NULL;
}
rmp->context = context;
}
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_map_resolver_dump_t_handler (vl_api_lisp_map_resolver_dump_t * mp)
{
}
static void
vl_api_lisp_map_resolver_dump_t_handler (vl_api_lisp_map_resolver_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
vec_foreach (mr, lcm->map_resolvers)
{
vec_foreach (mr, lcm->map_resolvers)
{
- send_lisp_map_resolver_details (&mr->address, q, mp->context);
+ send_lisp_map_resolver_details (&mr->address, reg, mp->context);
-send_eid_table_map_pair (hash_pair_t * p, svm_queue_t * q, u32 context)
+send_eid_table_map_pair (hash_pair_t * p, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_lisp_eid_table_map_details_t *rmp = NULL;
{
vl_api_lisp_eid_table_map_details_t *rmp = NULL;
rmp->vni = clib_host_to_net_u32 (p->key);
rmp->dp_table = clib_host_to_net_u32 (p->value[0]);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (p->key);
rmp->dp_table = clib_host_to_net_u32 (p->value[0]);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_lisp_eid_table_map_dump_t_handler (vl_api_lisp_eid_table_map_dump_t *
mp)
{
}
static void
vl_api_lisp_eid_table_map_dump_t_handler (vl_api_lisp_eid_table_map_dump_t *
mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
hash_pair_t *p;
uword *vni_table = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
hash_pair_t *p;
uword *vni_table = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
hash_foreach_pair (p, vni_table,
({
/* *INDENT-OFF* */
hash_foreach_pair (p, vni_table,
({
- send_eid_table_map_pair (p, q, mp->context);
+ send_eid_table_map_pair (p, reg, mp->context);
}));
/* *INDENT-ON* */
}
static void
}));
/* *INDENT-ON* */
}
static void
-send_eid_table_vni (u32 vni, svm_queue_t * q, u32 context)
+send_eid_table_vni (u32 vni, vl_api_registration_t * reg, u32 context)
{
vl_api_lisp_eid_table_vni_details_t *rmp = 0;
{
vl_api_lisp_eid_table_vni_details_t *rmp = 0;
rmp->_vl_msg_id = ntohs (VL_API_LISP_EID_TABLE_VNI_DETAILS);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (vni);
rmp->_vl_msg_id = ntohs (VL_API_LISP_EID_TABLE_VNI_DETAILS);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (vni);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
{
hash_pair_t *p;
u32 *vnis = 0;
{
hash_pair_t *p;
u32 *vnis = 0;
+ vl_api_registration_t *reg = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
hash_foreach_pair (p, lcm->table_id_by_vni,
/* *INDENT-OFF* */
hash_foreach_pair (p, lcm->table_id_by_vni,
hash_foreach_pair (p, vnis,
({
hash_foreach_pair (p, vnis,
({
- send_eid_table_vni (p->key, q, mp->context);
+ send_eid_table_vni (p->key, reg, mp->context);
static void
vl_api_show_lisp_status_t_handler (vl_api_show_lisp_status_t * mp)
{
static void
vl_api_show_lisp_status_t_handler (vl_api_show_lisp_status_t * mp)
{
vl_api_show_lisp_status_reply_t *rmp = NULL;
int rv = 0;
vl_api_show_lisp_status_reply_t *rmp = NULL;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
/* *INDENT-OFF* */
REPLY_MACRO2(VL_API_SHOW_LISP_STATUS_REPLY,
({
/* *INDENT-OFF* */
REPLY_MACRO2(VL_API_SHOW_LISP_STATUS_REPLY,
({
vl_api_lisp_get_map_request_itr_rlocs_t_handler
(vl_api_lisp_get_map_request_itr_rlocs_t * mp)
{
vl_api_lisp_get_map_request_itr_rlocs_t_handler
(vl_api_lisp_get_map_request_itr_rlocs_t * mp)
{
vl_api_lisp_get_map_request_itr_rlocs_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *loc_set = 0;
u8 *tmp_str = 0;
int rv = 0;
vl_api_lisp_get_map_request_itr_rlocs_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *loc_set = 0;
u8 *tmp_str = 0;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
if (~0 == lcm->mreq_itr_rlocs)
{
tmp_str = format (0, " ");
if (~0 == lcm->mreq_itr_rlocs)
{
tmp_str = format (0, " ");
static void
vl_api_show_lisp_pitr_t_handler (vl_api_show_lisp_pitr_t * mp)
{
static void
vl_api_show_lisp_pitr_t_handler (vl_api_show_lisp_pitr_t * mp)
{
vl_api_show_lisp_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
vl_api_show_lisp_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
u8 *tmp_str = 0;
int rv = 0;
u8 *tmp_str = 0;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
u8 is_enabled = (lcm->flags & LISP_FLAG_PITR_MODE)
&& lcm->pitr_map_index != ~0;
u8 is_enabled = (lcm->flags & LISP_FLAG_PITR_MODE)
&& lcm->pitr_map_index != ~0;
#include <vlibapi/api_helper_macros.h>
#include <vlibapi/api_helper_macros.h>
-#define REPLY_DETAILS(t, body) \
-do { \
- svm_queue_t * q; \
- rv = vl_msg_api_pd_handler (mp, rv); \
- q = vl_api_client_index_to_input_queue (mp->client_index); \
- if (!q) \
- return; \
- \
- rmp = vl_msg_api_alloc (sizeof (*rmp)); \
- rmp->_vl_msg_id = ntohs((t)); \
- rmp->context = mp->context; \
- do {body;} while (0); \
- vl_msg_api_send_shmem (q, (u8 *)&rmp); \
+#define REPLY_DETAILS(t, body) \
+do { \
+ vl_api_registration_t * reg; \
+ rv = vl_msg_api_pd_handler (mp, rv); \
+ reg = vl_api_client_index_to_registration (mp->client_index); \
+ if (!reg) \
+ return; \
+ \
+ rmp = vl_msg_api_alloc (sizeof (*rmp)); \
+ rmp->_vl_msg_id = ntohs((t)); \
+ rmp->context = mp->context; \
+ do {body;} while (0); \
+ vl_api_send_msg (reg, (u8 *)&rmp); \
-#define foreach_vpe_api_msg \
+#define foreach_vpe_api_msg \
_(ONE_ADD_DEL_LOCATOR_SET, one_add_del_locator_set) \
_(ONE_ADD_DEL_LOCATOR, one_add_del_locator) \
_(ONE_ADD_DEL_LOCAL_EID, one_add_del_local_eid) \
_(ONE_ADD_DEL_LOCATOR_SET, one_add_del_locator_set) \
_(ONE_ADD_DEL_LOCATOR, one_add_del_locator) \
_(ONE_ADD_DEL_LOCAL_EID, one_add_del_local_eid) \
static void
vl_api_show_one_use_petr_t_handler (vl_api_show_one_use_petr_t * mp)
{
static void
vl_api_show_one_use_petr_t_handler (vl_api_show_one_use_petr_t * mp)
{
vl_api_show_one_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
vl_api_show_one_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
u8 status = 0;
gid_address_t addr;
u8 status = 0;
gid_address_t addr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
memset (&addr, 0, sizeof (addr));
status = lcm->flags & LISP_FLAG_USE_PETR;
if (status)
memset (&addr, 0, sizeof (addr));
status = lcm->flags & LISP_FLAG_USE_PETR;
if (status)
static void
send_one_locator_details (lisp_cp_main_t * lcm,
static void
send_one_locator_details (lisp_cp_main_t * lcm,
- locator_t * loc, svm_queue_t * q, u32 context)
+ locator_t * loc, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_one_locator_details_t *rmp;
{
vl_api_one_locator_details_t *rmp;
rmp->priority = loc->priority;
rmp->weight = loc->weight;
rmp->priority = loc->priority;
rmp->weight = loc->weight;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_locator_dump_t_handler (vl_api_one_locator_dump_t * mp)
{
u8 *ls_name = 0;
}
static void
vl_api_one_locator_dump_t_handler (vl_api_one_locator_dump_t * mp)
{
u8 *ls_name = 0;
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = 0;
locator_t *loc = 0;
u32 ls_index = ~0, *locit = 0;
uword *p = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = 0;
locator_t *loc = 0;
u32 ls_index = ~0, *locit = 0;
uword *p = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
if (mp->is_index_set)
ls_index = htonl (mp->ls_index);
if (mp->is_index_set)
ls_index = htonl (mp->ls_index);
vec_foreach (locit, lsit->locator_indices)
{
loc = pool_elt_at_index (lcm->locator_pool, locit[0]);
vec_foreach (locit, lsit->locator_indices)
{
loc = pool_elt_at_index (lcm->locator_pool, locit[0]);
- send_one_locator_details (lcm, loc, q, mp->context);
+ send_one_locator_details (lcm, loc, reg, mp->context);
};
out:
vec_free (ls_name);
};
out:
vec_free (ls_name);
static void
send_one_locator_set_details (lisp_cp_main_t * lcm,
locator_set_t * lsit,
static void
send_one_locator_set_details (lisp_cp_main_t * lcm,
locator_set_t * lsit,
- svm_queue_t * q, u32 context, u32 ls_index)
+ vl_api_registration_t * reg, u32 context,
+ u32 ls_index)
{
vl_api_one_locator_set_details_t *rmp;
u8 *str = 0;
{
vl_api_one_locator_set_details_t *rmp;
u8 *str = 0;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_locator_set_dump_t_handler (vl_api_one_locator_set_dump_t * mp)
{
}
static void
vl_api_one_locator_set_dump_t_handler (vl_api_one_locator_set_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = NULL;
u8 filter;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
locator_set_t *lsit = NULL;
u8 filter;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
filter = mp->filter;
/* *INDENT-OFF* */
filter = mp->filter;
/* *INDENT-OFF* */
- send_one_locator_set_details (lcm, lsit, q, mp->context,
+ send_one_locator_set_details (lcm, lsit, reg, mp->context,
lsit - lcm->locator_set_pool);
}));
/* *INDENT-ON* */
lsit - lcm->locator_set_pool);
}));
/* *INDENT-ON* */
static void
send_one_eid_table_details (mapping_t * mapit,
static void
send_one_eid_table_details (mapping_t * mapit,
- svm_queue_t * q, u32 context, u8 filter)
+ vl_api_registration_t * reg, u32 context,
+ u8 filter)
{
fid_address_t *fid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
{
fid_address_t *fid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
rmp->key_id = clib_host_to_net_u16 (mapit->key_id);
memcpy (rmp->key, mapit->key, vec_len (mapit->key));
rmp->vni = clib_host_to_net_u32 (gid_address_vni (gid));
rmp->key_id = clib_host_to_net_u16 (mapit->key_id);
memcpy (rmp->key, mapit->key, vec_len (mapit->key));
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_eid_table_dump_t_handler (vl_api_one_eid_table_dump_t * mp)
{
u32 mi;
}
static void
vl_api_one_eid_table_dump_t_handler (vl_api_one_eid_table_dump_t * mp)
{
u32 mi;
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *mapit = NULL;
gid_address_t _eid, *eid = &_eid;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *mapit = NULL;
gid_address_t _eid, *eid = &_eid;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
return;
mapit = pool_elt_at_index (lcm->mapping_pool, mi);
return;
mapit = pool_elt_at_index (lcm->mapping_pool, mi);
- send_one_eid_table_details (mapit, q, mp->context,
+ send_one_eid_table_details (mapit, reg, mp->context,
0 /* ignore filter */ );
}
else
0 /* ignore filter */ );
}
else
/* *INDENT-OFF* */
pool_foreach (mapit, lcm->mapping_pool,
({
/* *INDENT-OFF* */
pool_foreach (mapit, lcm->mapping_pool,
({
- send_one_eid_table_details(mapit, q, mp->context,
+ send_one_eid_table_details(mapit, reg, mp->context,
mp->filter);
}));
/* *INDENT-ON* */
mp->filter);
}));
/* *INDENT-ON* */
-send_one_map_server_details (ip_address_t * ip, svm_queue_t * q, u32 context)
+send_one_map_server_details (ip_address_t * ip, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_one_map_server_details_t *rmp = NULL;
{
vl_api_one_map_server_details_t *rmp = NULL;
}
rmp->context = context;
}
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_map_server_dump_t_handler (vl_api_one_map_server_dump_t * mp)
{
}
static void
vl_api_one_map_server_dump_t_handler (vl_api_one_map_server_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
vec_foreach (mr, lcm->map_servers)
{
vec_foreach (mr, lcm->map_servers)
{
- send_one_map_server_details (&mr->address, q, mp->context);
+ send_one_map_server_details (&mr->address, reg, mp->context);
}
}
static void
send_one_map_resolver_details (ip_address_t * ip,
}
}
static void
send_one_map_resolver_details (ip_address_t * ip,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_one_map_resolver_details_t *rmp = NULL;
{
vl_api_one_map_resolver_details_t *rmp = NULL;
}
rmp->context = context;
}
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_map_resolver_dump_t_handler (vl_api_one_map_resolver_dump_t * mp)
{
}
static void
vl_api_one_map_resolver_dump_t_handler (vl_api_one_map_resolver_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_msmr_t *mr;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
vec_foreach (mr, lcm->map_resolvers)
{
vec_foreach (mr, lcm->map_resolvers)
{
- send_one_map_resolver_details (&mr->address, q, mp->context);
+ send_one_map_resolver_details (&mr->address, reg, mp->context);
-send_eid_table_map_pair (hash_pair_t * p, svm_queue_t * q, u32 context)
+send_eid_table_map_pair (hash_pair_t * p, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_one_eid_table_map_details_t *rmp = NULL;
{
vl_api_one_eid_table_map_details_t *rmp = NULL;
rmp->vni = clib_host_to_net_u32 (p->key);
rmp->dp_table = clib_host_to_net_u32 (p->value[0]);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (p->key);
rmp->dp_table = clib_host_to_net_u32 (p->value[0]);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
vl_api_one_eid_table_map_dump_t_handler (vl_api_one_eid_table_map_dump_t * mp)
{
}
static void
vl_api_one_eid_table_map_dump_t_handler (vl_api_one_eid_table_map_dump_t * mp)
{
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
hash_pair_t *p;
uword *vni_table = 0;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
hash_pair_t *p;
uword *vni_table = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
hash_foreach_pair (p, vni_table,
({
/* *INDENT-OFF* */
hash_foreach_pair (p, vni_table,
({
- send_eid_table_map_pair (p, q, mp->context);
+ send_eid_table_map_pair (p, reg, mp->context);
}));
/* *INDENT-ON* */
}
static void
}));
/* *INDENT-ON* */
}
static void
-send_eid_table_vni (u32 vni, svm_queue_t * q, u32 context)
+send_eid_table_vni (u32 vni, vl_api_registration_t * reg, u32 context)
{
vl_api_one_eid_table_vni_details_t *rmp = 0;
{
vl_api_one_eid_table_vni_details_t *rmp = 0;
rmp->_vl_msg_id = ntohs (VL_API_ONE_EID_TABLE_VNI_DETAILS);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (vni);
rmp->_vl_msg_id = ntohs (VL_API_ONE_EID_TABLE_VNI_DETAILS);
rmp->context = context;
rmp->vni = clib_host_to_net_u32 (vni);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
{
hash_pair_t *p;
u32 *vnis = 0;
{
hash_pair_t *p;
u32 *vnis = 0;
+ vl_api_registration_t *reg;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
hash_foreach_pair (p, lcm->table_id_by_vni,
/* *INDENT-OFF* */
hash_foreach_pair (p, lcm->table_id_by_vni,
hash_foreach_pair (p, vnis,
({
hash_foreach_pair (p, vnis,
({
- send_eid_table_vni (p->key, q, mp->context);
+ send_eid_table_vni (p->key, reg, mp->context);
static void
vl_api_show_one_nsh_mapping_t_handler (vl_api_show_one_nsh_mapping_t * mp)
{
static void
vl_api_show_one_nsh_mapping_t_handler (vl_api_show_one_nsh_mapping_t * mp)
{
vl_api_show_one_nsh_mapping_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
vl_api_show_one_nsh_mapping_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
u8 is_set = 0;
int rv = 0;
u8 is_set = 0;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
if (lcm->nsh_map_index == (u32) ~ 0)
{
tmp_str = format (0, "N/A");
if (lcm->nsh_map_index == (u32) ~ 0)
{
tmp_str = format (0, "N/A");
static void
vl_api_show_one_pitr_t_handler (vl_api_show_one_pitr_t * mp)
{
static void
vl_api_show_one_pitr_t_handler (vl_api_show_one_pitr_t * mp)
{
vl_api_show_one_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
vl_api_show_one_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
u8 *tmp_str = 0;
int rv = 0;
u8 *tmp_str = 0;
int rv = 0;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
-
u8 is_enabled = (lcm->flags & LISP_FLAG_PITR_MODE)
&& lcm->pitr_map_index != ~0;
u8 is_enabled = (lcm->flags & LISP_FLAG_PITR_MODE)
&& lcm->pitr_map_index != ~0;
lisp_fwd_path_t *path;
vl_api_gpe_fwd_entry_path_details_t *rmp = NULL;
lisp_gpe_main_t *lgm = &lisp_gpe_main;
lisp_fwd_path_t *path;
vl_api_gpe_fwd_entry_path_details_t *rmp = NULL;
lisp_gpe_main_t *lgm = &lisp_gpe_main;
+ vl_api_registration_t *reg;
lisp_gpe_fwd_entry_t *lfe;
gpe_fwd_entry_path_dump_t_net_to_host (mp);
lisp_gpe_fwd_entry_t *lfe;
gpe_fwd_entry_path_dump_t_net_to_host (mp);
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
if (pool_is_free_index (lgm->lisp_fwd_entry_pool, mp->fwd_entry_index))
return;
if (pool_is_free_index (lgm->lisp_fwd_entry_pool, mp->fwd_entry_index))
lisp_api_set_locator (&rmp->lcl_loc, &lgt->key->lcl, path->weight);
rmp->context = mp->context;
lisp_api_set_locator (&rmp->lcl_loc, &lgt->key->lcl, path->weight);
rmp->context = mp->context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vl_api_map_domain_details_t *rmp;
map_main_t *mm = &map_main;
map_domain_t *d;
vl_api_map_domain_details_t *rmp;
map_main_t *mm = &map_main;
map_domain_t *d;
+ vl_api_registration_t *reg;
if (pool_elts (mm->domains) == 0)
return;
if (pool_elts (mm->domains) == 0)
return;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
pool_foreach(d, mm->domains,
/* *INDENT-OFF* */
pool_foreach(d, mm->domains,
rmp->is_translation = (d->flags & MAP_DOMAIN_TRANSLATION);
rmp->context = mp->context;
rmp->is_translation = (d->flags & MAP_DOMAIN_TRANSLATION);
rmp->context = mp->context;
- vl_msg_api_send_shmem (q, (u8 *)&rmp);
+ vl_api_send_msg (reg, (u8 *)&rmp);
static void
vl_api_map_rule_dump_t_handler (vl_api_map_rule_dump_t * mp)
{
static void
vl_api_map_rule_dump_t_handler (vl_api_map_rule_dump_t * mp)
{
+ vl_api_registration_t *reg;
u16 i;
ip6_address_t dst;
vl_api_map_rule_details_t *rmp;
u16 i;
ip6_address_t dst;
vl_api_map_rule_details_t *rmp;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
for (i = 0; i < (0x1 << d->psid_length); i++)
{
for (i = 0; i < (0x1 << d->psid_length); i++)
{
rmp->psid = htons (i);
clib_memcpy (rmp->ip6_dst, &dst, sizeof (rmp->ip6_dst));
rmp->context = mp->context;
rmp->psid = htons (i);
clib_memcpy (rmp->ip6_dst, &dst, sizeof (rmp->ip6_dst));
rmp->context = mp->context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
u64 total_pkts[VLIB_N_RX_TX];
u64 total_bytes[VLIB_N_RX_TX];
map_main_t *mm = &map_main;
u64 total_pkts[VLIB_N_RX_TX];
u64 total_bytes[VLIB_N_RX_TX];
map_main_t *mm = &map_main;
- svm_queue_t *q = vl_api_client_index_to_input_queue (mp->client_index);
+ vl_api_registration_t *reg;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
(ip4_map_node.index, MAP_ERROR_DECAP_SEC_CHECK));
out:
(ip4_map_node.index, MAP_ERROR_DECAP_SEC_CHECK));
out:
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
typedef struct mpls_tunnel_send_walk_ctx_t_
{
typedef struct mpls_tunnel_send_walk_ctx_t_
{
+ vl_api_registration_t *reg;
u32 index;
u32 context;
} mpls_tunnel_send_walk_ctx_t;
u32 index;
u32 context;
} mpls_tunnel_send_walk_ctx_t;
// mt->mt_label_stack, nlabels * sizeof (u32));
// mt->mt_label_stack, nlabels * sizeof (u32));
- vl_msg_api_send_shmem (ctx->q, (u8 *) & mp);
+ vl_api_send_msg (ctx->reg, (u8 *) mp);
}
static void
vl_api_mpls_tunnel_dump_t_handler (vl_api_mpls_tunnel_dump_t * mp)
{
}
static void
vl_api_mpls_tunnel_dump_t_handler (vl_api_mpls_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
mpls_tunnel_send_walk_ctx_t ctx = {
return;
mpls_tunnel_send_walk_ctx_t ctx = {
.index = ntohl (mp->tunnel_index),
.context = mp->context,
};
.index = ntohl (mp->tunnel_index),
.context = mp->context,
};
static void
send_mpls_fib_details (vpe_api_main_t * am,
static void
send_mpls_fib_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
const fib_table_t * table,
u32 label, u32 eos,
fib_route_path_encode_t * api_rpaths, u32 context)
const fib_table_t * table,
u32 label, u32 eos,
fib_route_path_encode_t * api_rpaths, u32 context)
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_mpls_fib_dump_table_walk_ctx_t_
}
typedef struct vl_api_mpls_fib_dump_table_walk_ctx_t_
vl_api_mpls_fib_dump_t_handler (vl_api_mpls_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
vl_api_mpls_fib_dump_t_handler (vl_api_mpls_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
mpls_main_t *mm = &mpls_main;
fib_table_t *fib_table;
mpls_fib_t *mpls_fib;
mpls_main_t *mm = &mpls_main;
fib_table_t *fib_table;
mpls_fib_t *mpls_fib;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
fib_table = fib_table_get (fib_index, pfx.fp_proto);
api_rpaths = NULL;
fib_entry_encode (*lfeip, &api_rpaths);
fib_table = fib_table_get (fib_index, pfx.fp_proto);
api_rpaths = NULL;
fib_entry_encode (*lfeip, &api_rpaths);
- send_mpls_fib_details (am, q,
+ send_mpls_fib_details (am, reg,
fib_table, pfx.fp_label,
pfx.fp_eos, api_rpaths, mp->context);
vec_free (api_rpaths);
fib_table, pfx.fp_label,
pfx.fp_eos, api_rpaths, mp->context);
vec_free (api_rpaths);
send_policer_details (u8 * name,
sse2_qos_pol_cfg_params_st * config,
policer_read_response_type_st * templ,
send_policer_details (u8 * name,
sse2_qos_pol_cfg_params_st * config,
policer_read_response_type_st * templ,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_policer_details_t *mp;
{
vl_api_policer_details_t *mp;
strncpy ((char *) mp->name, (char *) name, ARRAY_LEN (mp->name) - 1);
strncpy ((char *) mp->name, (char *) name, ARRAY_LEN (mp->name) - 1);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_policer_dump_t_handler (vl_api_policer_dump_t * mp)
{
}
static void
vl_api_policer_dump_t_handler (vl_api_policer_dump_t * mp)
{
+ vl_api_registration_t *reg;
vnet_policer_main_t *pm = &vnet_policer_main;
hash_pair_t *hp;
uword *p;
vnet_policer_main_t *pm = &vnet_policer_main;
hash_pair_t *hp;
uword *p;
sse2_qos_pol_cfg_params_st *config;
policer_read_response_type_st *templ;
sse2_qos_pol_cfg_params_st *config;
policer_read_response_type_st *templ;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
if (mp->match_name_valid)
return;
if (mp->match_name_valid)
pool_index = p[0];
config = pool_elt_at_index (pm->configs, pool_index);
templ = pool_elt_at_index (pm->policer_templates, pool_index);
pool_index = p[0];
config = pool_elt_at_index (pm->configs, pool_index);
templ = pool_elt_at_index (pm->policer_templates, pool_index);
- send_policer_details (match_name, config, templ, q, mp->context);
+ send_policer_details (match_name, config, templ, reg, mp->context);
pool_index = hp->value[0];
config = pool_elt_at_index (pm->configs, pool_index);
templ = pool_elt_at_index (pm->policer_templates, pool_index);
pool_index = hp->value[0];
config = pool_elt_at_index (pm->configs, pool_index);
templ = pool_elt_at_index (pm->policer_templates, pool_index);
- send_policer_details(name, config, templ, q, mp->context);
+ send_policer_details(name, config, templ, reg, mp->context);
static void
send_session_rule_details4 (mma_rule_16_t * rule, u8 is_local,
u8 transport_proto, u32 appns_index, u8 * tag,
static void
send_session_rule_details4 (mma_rule_16_t * rule, u8 is_local,
u8 transport_proto, u32 appns_index, u8 * tag,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_session_rules_details_t *rmp = 0;
session_mask_or_match_4_t *match =
{
vl_api_session_rules_details_t *rmp = 0;
session_mask_or_match_4_t *match =
rmp->tag[vec_len (tag)] = 0;
}
rmp->tag[vec_len (tag)] = 0;
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
send_session_rule_details6 (mma_rule_40_t * rule, u8 is_local,
u8 transport_proto, u32 appns_index, u8 * tag,
}
static void
send_session_rule_details6 (mma_rule_40_t * rule, u8 is_local,
u8 transport_proto, u32 appns_index, u8 * tag,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_session_rules_details_t *rmp = 0;
session_mask_or_match_6_t *match =
{
vl_api_session_rules_details_t *rmp = 0;
session_mask_or_match_6_t *match =
rmp->tag[vec_len (tag)] = 0;
}
rmp->tag[vec_len (tag)] = 0;
}
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
send_session_rules_table_details (session_rules_table_t * srt, u8 fib_proto,
u8 tp, u8 is_local, u32 appns_index,
}
static void
send_session_rules_table_details (session_rules_table_t * srt, u8 fib_proto,
u8 tp, u8 is_local, u32 appns_index,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
mma_rule_16_t *rule16;
mma_rule_40_t *rule40;
{
mma_rule_16_t *rule16;
mma_rule_40_t *rule40;
ri = mma_rules_table_rule_index_16 (srt16, rule16);
tag = session_rules_table_rule_tag (srt, ri, 1);
send_session_rule_details4 (rule16, is_local, tp, appns_index, tag,
ri = mma_rules_table_rule_index_16 (srt16, rule16);
tag = session_rules_table_rule_tag (srt, ri, 1);
send_session_rule_details4 (rule16, is_local, tp, appns_index, tag,
ri = mma_rules_table_rule_index_40 (srt40, rule40);
tag = session_rules_table_rule_tag (srt, ri, 1);
send_session_rule_details6 (rule40, is_local, tp, appns_index, tag,
ri = mma_rules_table_rule_index_40 (srt40, rule40);
tag = session_rules_table_rule_tag (srt, ri, 1);
send_session_rule_details6 (rule40, is_local, tp, appns_index, tag,
static void
vl_api_session_rules_dump_t_handler (vl_api_one_map_server_dump_t * mp)
{
static void
vl_api_session_rules_dump_t_handler (vl_api_one_map_server_dump_t * mp)
{
+ vl_api_registration_t *reg;
session_table_t *st;
u8 tp;
session_table_t *st;
u8 tp;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
return;
/* *INDENT-OFF* */
{
send_session_rules_table_details (&st->session_rules[tp],
st->active_fib_proto, tp,
{
send_session_rules_table_details (&st->session_rules[tp],
st->active_fib_proto, tp,
- st->is_local, st->appns_index, q,
+ st->is_local, st->appns_index, reg,
vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp)
{
vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp)
{
+ vl_api_registration_t *reg;
span_interface_t *si;
vl_api_sw_interface_span_details_t *rmp;
span_main_t *sm = &span_main;
span_interface_t *si;
vl_api_sw_interface_span_details_t *rmp;
span_main_t *sm = &span_main;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
span_feat_t sf = mp->is_l2 ? SPAN_FEAT_L2 : SPAN_FEAT_DEVICE;
return;
span_feat_t sf = mp->is_l2 ? SPAN_FEAT_L2 : SPAN_FEAT_DEVICE;
rmp->state = (u8) (clib_bitmap_get (rxm->mirror_ports, i) +
clib_bitmap_get (txm->mirror_ports, i) * 2);
rmp->state = (u8) (clib_bitmap_get (rxm->mirror_ports, i) +
clib_bitmap_get (txm->mirror_ports, i) * 2);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}));
clib_bitmap_free (b);
}
}));
clib_bitmap_free (b);
}
}
static void send_sr_localsid_details
}
static void send_sr_localsid_details
- (ip6_sr_localsid_t * t, svm_queue_t * q, u32 context)
+ (ip6_sr_localsid_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_sr_localsids_details_t *rmp;
{
vl_api_sr_localsids_details_t *rmp;
rmp->xconnect_iface_or_vrf_table = htonl (t->sw_if_index);
rmp->context = context;
rmp->xconnect_iface_or_vrf_table = htonl (t->sw_if_index);
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void vl_api_sr_localsids_dump_t_handler
(vl_api_sr_localsids_dump_t * mp)
{
}
static void vl_api_sr_localsids_dump_t_handler
(vl_api_sr_localsids_dump_t * mp)
{
+ vl_api_registration_t *reg;
ip6_sr_main_t *sm = &sr_main;
ip6_sr_localsid_t *t;
ip6_sr_main_t *sm = &sr_main;
ip6_sr_localsid_t *t;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
/* *INDENT-OFF* */
pool_foreach (t, sm->localsids,
({
/* *INDENT-OFF* */
pool_foreach (t, sm->localsids,
({
- send_sr_localsid_details(t, q, mp->context);
+ send_sr_localsid_details(t, reg, mp->context);
_(UDP_ENCAP_DUMP, udp_encap_dump)
static void
_(UDP_ENCAP_DUMP, udp_encap_dump)
static void
-send_udp_encap_details (const udp_encap_t * ue, svm_queue_t * q, u32 context)
+send_udp_encap_details (const udp_encap_t * ue, vl_api_registration_t * reg,
+ u32 context)
{
vl_api_udp_encap_details_t *mp;
fib_table_t *fib_table;
{
vl_api_udp_encap_details_t *mp;
fib_table_t *fib_table;
mp->table_id = htonl (fib_table->ft_table_id);
mp->id = htonl (ue->ue_id);
mp->table_id = htonl (fib_table->ft_table_id);
mp->id = htonl (ue->ue_id);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
vl_api_udp_encap_dump_t_handler (vl_api_udp_encap_dump_t * mp,
vlib_main_t * vm)
{
}
static void
vl_api_udp_encap_dump_t_handler (vl_api_udp_encap_dump_t * mp,
vlib_main_t * vm)
{
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
/* *INDENT-OFF* */
pool_foreach(ue, udp_encap_pool,
({
return;
/* *INDENT-OFF* */
pool_foreach(ue, udp_encap_pool,
({
- send_udp_encap_details(ue, q, mp->context);
+ send_udp_encap_details(ue, reg, mp->context);
*/
static void
send_sw_interface_event_deleted (vpe_api_main_t * am,
*/
static void
send_sw_interface_event_deleted (vpe_api_main_t * am,
- svm_queue_t * q, u32 sw_if_index)
+ vl_api_registration_t * reg, u32 sw_if_index)
{
vl_api_sw_interface_event_t *mp;
{
vl_api_sw_interface_event_t *mp;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
mp->admin_up_down = 0;
mp->link_up_down = 0;
mp->deleted = 1;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
int rv;
vl_api_tap_connect_reply_t *rmp;
vnet_main_t *vnm = vnet_get_main ();
int rv;
vl_api_tap_connect_reply_t *rmp;
vnet_main_t *vnm = vnet_get_main ();
+ vl_api_registration_t *reg;
u32 sw_if_index = (u32) ~ 0;
u8 *tag;
vnet_tap_connect_args_t _a, *ap = &_a;
u32 sw_if_index = (u32) ~ 0;
u8 *tag;
vnet_tap_connect_args_t _a, *ap = &_a;
vnet_set_sw_interface_tag (vnm, tag, sw_if_index);
}
vnet_set_sw_interface_tag (vnm, tag, sw_if_index);
}
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->retval = ntohl (rv);
rmp->sw_if_index = ntohl (sw_if_index);
rmp->retval = ntohl (rv);
rmp->sw_if_index = ntohl (sw_if_index);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
{
int rv;
vl_api_tap_modify_reply_t *rmp;
{
int rv;
vl_api_tap_modify_reply_t *rmp;
+ vl_api_registration_t *reg;
u32 sw_if_index = (u32) ~ 0;
vlib_main_t *vm = vlib_get_main ();
vnet_tap_connect_args_t _a, *ap = &_a;
u32 sw_if_index = (u32) ~ 0;
vlib_main_t *vm = vlib_get_main ();
vnet_tap_connect_args_t _a, *ap = &_a;
rv = vnet_tap_modify (vm, ap);
rv = vnet_tap_modify (vm, ap);
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->retval = ntohl (rv);
rmp->sw_if_index = ntohl (sw_if_index);
rmp->retval = ntohl (rv);
rmp->sw_if_index = ntohl (sw_if_index);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_reply_t *rmp;
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_reply_t *rmp;
+ vl_api_registration_t *reg;
u32 sw_if_index = ntohl (mp->sw_if_index);
rv = vnet_tap_delete (vm, sw_if_index);
u32 sw_if_index = ntohl (mp->sw_if_index);
rv = vnet_tap_delete (vm, sw_if_index);
vnet_clear_sw_interface_tag (vnm, sw_if_index);
}
vnet_clear_sw_interface_tag (vnm, sw_if_index);
}
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->context = mp->context;
rmp->retval = ntohl (rv);
rmp->context = mp->context;
rmp->retval = ntohl (rv);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
- send_sw_interface_event_deleted (vam, q, sw_if_index);
+ send_sw_interface_event_deleted (vam, reg, sw_if_index);
}
static void
send_sw_interface_tap_details (vpe_api_main_t * am,
}
static void
send_sw_interface_tap_details (vpe_api_main_t * am,
+ vl_api_registration_t * reg,
tapcli_interface_details_t * tap_if,
u32 context)
{
tapcli_interface_details_t * tap_if,
u32 context)
{
(char *) tap_if->dev_name, ARRAY_LEN (mp->dev_name) - 1);
mp->context = context;
(char *) tap_if->dev_name, ARRAY_LEN (mp->dev_name) - 1);
mp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
{
int rv = 0;
vpe_api_main_t *am = &vpe_api_main;
{
int rv = 0;
vpe_api_main_t *am = &vpe_api_main;
+ vl_api_registration_t *reg;
tapcli_interface_details_t *tapifs = NULL;
tapcli_interface_details_t *tap_if = NULL;
tapcli_interface_details_t *tapifs = NULL;
tapcli_interface_details_t *tap_if = NULL;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rv = vnet_tap_dump_ifs (&tapifs);
return;
rv = vnet_tap_dump_ifs (&tapifs);
vec_foreach (tap_if, tapifs)
{
vec_foreach (tap_if, tapifs)
{
- send_sw_interface_tap_details (am, q, tap_if, mp->context);
+ send_sw_interface_tap_details (am, reg, tap_if, mp->context);
}
static void send_vxlan_gpe_tunnel_details
}
static void send_vxlan_gpe_tunnel_details
- (vxlan_gpe_tunnel_t * t, svm_queue_t * q, u32 context)
+ (vxlan_gpe_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_vxlan_gpe_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
{
vl_api_vxlan_gpe_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void vl_api_vxlan_gpe_tunnel_dump_t_handler
(vl_api_vxlan_gpe_tunnel_dump_t * mp)
{
}
static void vl_api_vxlan_gpe_tunnel_dump_t_handler
(vl_api_vxlan_gpe_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
vxlan_gpe_main_t *vgm = &vxlan_gpe_main;
vxlan_gpe_tunnel_t *t;
u32 sw_if_index;
vxlan_gpe_main_t *vgm = &vxlan_gpe_main;
vxlan_gpe_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, vgm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, vgm->tunnels,
({
- send_vxlan_gpe_tunnel_details(t, q, mp->context);
+ send_vxlan_gpe_tunnel_details(t, reg, mp->context);
return;
}
t = &vgm->tunnels[vgm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = &vgm->tunnels[vgm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_vxlan_gpe_tunnel_details (t, q, mp->context);
+ send_vxlan_gpe_tunnel_details (t, reg, mp->context);
}
static void send_vxlan_tunnel_details
}
static void send_vxlan_tunnel_details
- (vxlan_tunnel_t * t, svm_queue_t * q, u32 context)
+ (vxlan_tunnel_t * t, vl_api_registration_t * reg, u32 context)
{
vl_api_vxlan_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
{
vl_api_vxlan_tunnel_details_t *rmp;
ip4_main_t *im4 = &ip4_main;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
rmp->is_ipv6 = is_ipv6;
rmp->context = context;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void vl_api_vxlan_tunnel_dump_t_handler
(vl_api_vxlan_tunnel_dump_t * mp)
{
}
static void vl_api_vxlan_tunnel_dump_t_handler
(vl_api_vxlan_tunnel_dump_t * mp)
{
+ vl_api_registration_t *reg;
vxlan_main_t *vxm = &vxlan_main;
vxlan_tunnel_t *t;
u32 sw_if_index;
vxlan_main_t *vxm = &vxlan_main;
vxlan_tunnel_t *t;
u32 sw_if_index;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (q == 0)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
sw_if_index = ntohl (mp->sw_if_index);
sw_if_index = ntohl (mp->sw_if_index);
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
- send_vxlan_tunnel_details(t, q, mp->context);
+ send_vxlan_tunnel_details(t, reg, mp->context);
return;
}
t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
return;
}
t = &vxm->tunnels[vxm->tunnel_index_by_sw_if_index[sw_if_index]];
- send_vxlan_tunnel_details (t, q, mp->context);
+ send_vxlan_tunnel_details (t, reg, mp->context);
vl_api_cli_t_handler (vl_api_cli_t * mp)
{
vl_api_cli_reply_t *rp;
vl_api_cli_t_handler (vl_api_cli_t * mp)
{
vl_api_cli_reply_t *rp;
+ vl_api_registration_t *reg;
vlib_main_t *vm = vlib_get_main ();
api_main_t *am = &api_main;
unformat_input_t input;
u8 *shmem_vec = 0;
void *oldheap;
vlib_main_t *vm = vlib_get_main ();
api_main_t *am = &api_main;
unformat_input_t input;
u8 *shmem_vec = 0;
void *oldheap;
- q = vl_api_client_index_to_input_queue (mp->client_index);
- if (!q)
- return;
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;;
rp = vl_msg_api_alloc (sizeof (*rp));
rp->_vl_msg_id = ntohs (VL_API_CLI_REPLY);
rp = vl_msg_api_alloc (sizeof (*rp));
rp->_vl_msg_id = ntohs (VL_API_CLI_REPLY);
rp->reply_in_shmem = (uword) shmem_vec;
rp->reply_in_shmem = (uword) shmem_vec;
- vl_msg_api_send_shmem (q, (u8 *) & rp);
+ vl_api_send_msg (reg, (u8 *) rp);
send_oam_event (oam_target_t * t)
{
vpe_api_main_t *vam = &vpe_api_main;
send_oam_event (oam_target_t * t)
{
vpe_api_main_t *vam = &vpe_api_main;
+ vl_api_registration_t *vl_reg;
vpe_client_registration_t *reg;
vl_api_oam_event_t *mp;
/* *INDENT-OFF* */
pool_foreach(reg, vam->oam_events_registrations,
({
vpe_client_registration_t *reg;
vl_api_oam_event_t *mp;
/* *INDENT-OFF* */
pool_foreach(reg, vam->oam_events_registrations,
({
- q = vl_api_client_index_to_input_queue (reg->client_index);
- if (q)
+ vl_reg = vl_api_client_index_to_registration (reg->client_index);
+ if (vl_reg)
{
mp = vl_msg_api_alloc (sizeof (*mp));
mp->_vl_msg_id = ntohs (VL_API_OAM_EVENT);
clib_memcpy (mp->dst_address, &t->dst_address,
sizeof (mp->dst_address));
mp->state = t->state;
{
mp = vl_msg_api_alloc (sizeof (*mp));
mp->_vl_msg_id = ntohs (VL_API_OAM_EVENT);
clib_memcpy (mp->dst_address, &t->dst_address,
sizeof (mp->dst_address));
mp->state = t->state;
- vl_msg_api_send_shmem (q, (u8 *)&mp);
+ vl_api_send_msg (vl_reg, (u8 *)mp);
vl_api_want_interface_combined_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
vl_api_want_interface_combined_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
u32 swif;
swif = ~0; //Using same mechanism as _per_interface_
u32 swif;
swif = ~0; //Using same mechanism as _per_interface_
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_COMBINED_COUNTERS, swif,
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_COMBINED_COUNTERS, swif,
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vlib_combined_counter_main_t *cm;
uword *p;
i32 retval = 0;
vlib_combined_counter_main_t *cm;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
for (i = 0; i < mp->num; i++)
{
{
for (i = 0; i < mp->num; i++)
{
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
/* Per Interface Combined distribution to client */
}
/* Per Interface Combined distribution to client */
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+ vl_api_registration_t *vl_reg;
vlib_combined_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
vlib_combined_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
- sm->stats_registrations[IDX_PER_INTERFACE_COMBINED_COUNTERS],
- (
- {
- vec_add1 (sm->regs_tmp, reg);}));
+ sm->stats_registrations[IDX_PER_INTERFACE_COMBINED_COUNTERS],
+ ({
+ vec_add1 (sm->regs_tmp, reg);
+ }));
+ /* *INDENT-ON* */
for (i = 0; i < vec_len (sm->regs_tmp); i++)
{
for (i = 0; i < vec_len (sm->regs_tmp); i++)
{
continue;
}
vec_reset_length (sm->clients_tmp);
continue;
}
vec_reset_length (sm->clients_tmp);
- pool_foreach (client, reg->clients, (
- {
- vec_add1 (sm->clients_tmp,
- client);}
- ));
+
+ /* *INDENT-OFF* */
+ pool_foreach (client, reg->clients, ({
+ vec_add1 (sm->clients_tmp, client);
+ }));
+ /* *INDENT-ON* */
//FIXME - should be doing non-variant part of mp here and managing
// any alloc per client in that vec_foreach
for (j = 0; j < vec_len (sm->clients_tmp); j++)
{
client = sm->clients_tmp[j];
//FIXME - should be doing non-variant part of mp here and managing
// any alloc per client in that vec_foreach
for (j = 0; j < vec_len (sm->clients_tmp); j++)
{
client = sm->clients_tmp[j];
- q = vl_api_client_index_to_input_queue (client->client_index);
+
+ vl_reg = vl_api_client_index_to_registration (client->client_index);
//Client may have disconnected abrubtly, clean up so we don't poll nothing.
//Client may have disconnected abrubtly, clean up so we don't poll nothing.
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_COMBINED_COUNTERS,
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_COMBINED_COUNTERS,
clib_mem_unaligned (&vp->tx_bytes, u64) =
clib_host_to_net_u64 (v.bytes);
clib_mem_unaligned (&vp->tx_bytes, u64) =
clib_host_to_net_u64 (v.bytes);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (vl_reg, (u8 *) mp);
vlib_simple_counter_main_t *cm;
uword *p;
i32 retval = 0;
vlib_simple_counter_main_t *cm;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
- q = vl_api_client_index_to_input_queue (mp->client_index);
+ reg = vl_api_client_index_to_registration (mp->client_index);
- //Client may have disconnected abrubtly, clean up so we don't poll nothing.
- if (!q)
+ /* Client may have disconnected abruptly, clean up */
+ if (!reg)
{
for (i = 0; i < mp->num; i++)
{
{
for (i = 0; i < mp->num; i++)
{
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
/* Per Interface Simple distribution to client */
}
/* Per Interface Simple distribution to client */
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
+ vl_api_registration_t *vl_reg;
vlib_simple_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
vlib_simple_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
- sm->stats_registrations[IDX_PER_INTERFACE_SIMPLE_COUNTERS], (
- {
- vec_add1
- (sm->regs_tmp,
- reg);}));
+ sm->stats_registrations[IDX_PER_INTERFACE_SIMPLE_COUNTERS], ({
+ vec_add1 (sm->regs_tmp, reg);
+ }));
+ /* *INDENT-ON* */
for (i = 0; i < vec_len (sm->regs_tmp); i++)
{
for (i = 0; i < vec_len (sm->regs_tmp); i++)
{
continue;
}
vec_reset_length (sm->clients_tmp);
continue;
}
vec_reset_length (sm->clients_tmp);
- pool_foreach (client, reg->clients, (
- {
- vec_add1 (sm->clients_tmp,
- client);}
- ));
+
+ /* *INDENT-OFF* */
+ pool_foreach (client, reg->clients, ({
+ vec_add1 (sm->clients_tmp, client);
+ }));
+ /* *INDENT-ON* */
//FIXME - should be doing non-variant part of mp here and managing
// any alloc per client in that vec_foreach
for (j = 0; j < vec_len (sm->clients_tmp); j++)
{
client = sm->clients_tmp[j];
//FIXME - should be doing non-variant part of mp here and managing
// any alloc per client in that vec_foreach
for (j = 0; j < vec_len (sm->clients_tmp); j++)
{
client = sm->clients_tmp[j];
- q = vl_api_client_index_to_input_queue (client->client_index);
+ vl_reg = vl_api_client_index_to_registration (client->client_index);
- //Client may have disconnected abrubtly, clean up so we don't poll nothing.
- if (!q)
+ /* Client may have disconnected abrubtly, clean up */
+ if (!vl_reg)
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_SIMPLE_COUNTERS,
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_SIMPLE_COUNTERS,
v = vlib_get_simple_counter (cm, reg->item);
clib_mem_unaligned (&vp->rx_mpls, u64) = clib_host_to_net_u64 (v);
v = vlib_get_simple_counter (cm, reg->item);
clib_mem_unaligned (&vp->rx_mpls, u64) = clib_host_to_net_u64 (v);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (vl_reg, (u8 *) mp);
uword *p;
i32 retval = 0;
u32 item;
uword *p;
i32 retval = 0;
u32 item;
+ vl_api_registration_t *reg;
item = ~0; //"ALL THE THINGS IN THE THINGS
rp.client_index = mp->client_index;
item = ~0; //"ALL THE THINGS IN THE THINGS
rp.client_index = mp->client_index;
item, mp->enable_disable);
reply:
item, mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
uword *p;
i32 retval = 0;
u32 swif;
uword *p;
i32 retval = 0;
u32 swif;
+ vl_api_registration_t *reg;
swif = ~0; //Using same mechanism as _per_interface_
rp.client_index = mp->client_index;
swif = ~0; //Using same mechanism as _per_interface_
rp.client_index = mp->client_index;
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
+ reg = vl_api_client_index_to_registration (mp->client_index);
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_SIMPLE_COUNTERS, swif,
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_SIMPLE_COUNTERS, swif,
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
+ reg = vl_api_client_index_to_registration (mp->client_index);
{
sm->enable_poller = clear_client_for_stat (IDX_IP4_FIB_COUNTERS,
fib, mp->client_index);
{
sm->enable_poller = clear_client_for_stat (IDX_IP4_FIB_COUNTERS,
fib, mp->client_index);
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
sm->enable_poller = clear_client_for_stat (IDX_IP4_MFIB_COUNTERS,
mfib, mp->client_index);
{
sm->enable_poller = clear_client_for_stat (IDX_IP4_MFIB_COUNTERS,
mfib, mp->client_index);
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
sm->enable_poller = clear_client_for_stat (IDX_IP6_FIB_COUNTERS,
fib, mp->client_index);
{
sm->enable_poller = clear_client_for_stat (IDX_IP6_FIB_COUNTERS,
fib, mp->client_index);
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
+ vl_api_registration_t *reg;
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
mp->enable_disable);
reply:
mp->enable_disable);
reply:
- q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
{
sm->enable_poller = clear_client_for_stat (IDX_IP6_MFIB_COUNTERS,
mfib, mp->client_index);
{
sm->enable_poller = clear_client_for_stat (IDX_IP6_MFIB_COUNTERS,
mfib, mp->client_index);
rmp->context = mp->context;
rmp->retval = retval;
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
/* FIXME - NBR stats broken - this will be fixed in subsequent patch */
}
/* FIXME - NBR stats broken - this will be fixed in subsequent patch */
int i, which;
u64 total_pkts[VLIB_N_RX_TX];
u64 total_bytes[VLIB_N_RX_TX];
int i, which;
u64 total_pkts[VLIB_N_RX_TX];
u64 total_bytes[VLIB_N_RX_TX];
+ vl_api_registration_t *reg;
- svm_queue_t *q = vl_api_client_index_to_input_queue (mp->client_index);
-
- if (!q)
- {
- return;
- }
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
+ return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_VNET_GET_SUMMARY_STATS_REPLY);
rmp = vl_msg_api_alloc (sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_VNET_GET_SUMMARY_STATS_REPLY);
rmp->vector_rate =
clib_host_to_net_u64 (vlib_last_vector_length_per_node (sm->vlib_main));
rmp->vector_rate =
clib_host_to_net_u64 (vlib_last_vector_length_per_node (sm->vlib_main));
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);