api: remove transport specific code from handlers
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>
diff --git a/src/plugins/acl/acl.c b/src/plugins/acl/acl.c
index b93d3bc..2a2aaa0 100644
--- a/src/plugins/acl/acl.c
+++ b/src/plugins/acl/acl.c
@@ -138,13 +138,11 @@
acl_main_t *am = &acl_main;
vl_api_acl_plugin_get_version_reply_t *rmp;
int msg_size = sizeof (*rmp);
- svm_queue_t *q;
+ 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);
@@ -154,7 +152,7 @@
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);
}
static void
@@ -1871,7 +1869,7 @@
}
static void
-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;
@@ -1897,7 +1895,7 @@
}
clib_mem_set_heap (oldheap);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
@@ -1907,15 +1905,12 @@
acl_main_t *am = &acl_main;
u32 acl_index;
acl_list_t *acl;
-
int rv = -1;
- svm_queue_t *q;
+ 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)
{
@@ -1923,7 +1918,7 @@
/* 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);
}));
/* *INDENT-ON* */
}
@@ -1933,7 +1928,7 @@
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);
}
}
@@ -1946,7 +1941,7 @@
static void
send_acl_interface_list_details (acl_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
u32 sw_if_index, u32 context)
{
vl_api_acl_interface_list_details_t *mp;
@@ -1987,7 +1982,7 @@
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);
}
static void
@@ -1999,20 +1994,18 @@
vnet_interface_main_t *im = &am->vnet_main->interface_main;
u32 sw_if_index;
- svm_queue_t *q;
+ 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,
({
- 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);
}));
/* *INDENT-ON* */
}
@@ -2020,7 +2013,7 @@
{
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);
}
}
@@ -2113,7 +2106,7 @@
}
static void
-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;
@@ -2158,7 +2151,7 @@
mp->count = 0;
}
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
@@ -2168,22 +2161,21 @@
acl_main_t *am = &acl_main;
macip_acl_list_t *acl;
- svm_queue_t *q;
+ 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, (
{
- send_macip_acl_details (am, q, acl,
- mp->
- context);}
+ send_macip_acl_details (am, reg,
+ acl,
+ mp->context);
+ }
));
/* *INDENT-ON* */
}
@@ -2193,7 +2185,7 @@
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);
}
}
}
@@ -2206,14 +2198,12 @@
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;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
int i;
- 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);
@@ -2226,12 +2216,12 @@
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,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
u32 sw_if_index,
u32 acl_index, u32 context)
{
@@ -2250,22 +2240,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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 (sw_if_index == ~0)
{
@@ -2273,7 +2261,7 @@
{
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);
@@ -2284,7 +2272,7 @@
{
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);
}
diff --git a/src/plugins/gtpu/gtpu_api.c b/src/plugins/gtpu/gtpu_api.c
index 1b93578..502720d 100644
--- a/src/plugins/gtpu/gtpu_api.c
+++ b/src/plugins/gtpu/gtpu_api.c
@@ -148,7 +148,7 @@
}
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;
@@ -177,22 +177,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -201,7 +199,7 @@
/* *INDENT-OFF* */
pool_foreach (t, gtm->tunnels,
({
- send_gtpu_tunnel_details(t, q, mp->context);
+ send_gtpu_tunnel_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -213,7 +211,7 @@
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);
}
}
diff --git a/src/plugins/memif/memif_api.c b/src/plugins/memif/memif_api.c
index 068fd3d..f9f74cc 100644
--- a/src/plugins/memif/memif_api.c
+++ b/src/plugins/memif/memif_api.c
@@ -219,7 +219,7 @@
}
static void
-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)
@@ -255,7 +255,7 @@
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);
}
/**
@@ -270,10 +270,10 @@
vnet_sw_interface_t *swif;
memif_if_t *mif;
u8 *if_name = 0;
- svm_queue_t *q;
+ 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* */
@@ -285,7 +285,7 @@
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* */
diff --git a/src/plugins/nat/nat_api.c b/src/plugins/nat/nat_api.c
index dc9fc5d..f3d353f 100644
--- a/src/plugins/nat/nat_api.c
+++ b/src/plugins/nat/nat_api.c
@@ -174,7 +174,8 @@
}
static void
-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;
@@ -189,23 +190,23 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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)
- send_nat_worker_details(*worker_index, q, mp->context);
+ send_nat_worker_details(*worker_index, reg, mp->context);
/* *INDENT-ON* */
}
@@ -315,7 +316,7 @@
typedef struct nat_api_walk_ctx_t_
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 context;
} nat_api_walk_ctx_t;
@@ -337,7 +338,7 @@
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);
return 0;
}
@@ -360,7 +361,7 @@
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);
return 0;
}
@@ -368,14 +369,14 @@
static void
vl_api_nat_reass_dump_t_handler (vl_api_nat_reass_dump_t * mp)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
@@ -468,7 +469,8 @@
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;
@@ -487,25 +489,25 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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)
- 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)
- send_nat44_address_details (a, q, mp->context, 1);
+ send_nat44_address_details (a, reg, mp->context, 1);
/* *INDENT-ON* */
}
@@ -554,7 +556,7 @@
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;
@@ -568,24 +570,24 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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,
({
- send_nat44_interface_details(i, q, mp->context);
+ send_nat44_interface_details(i, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -636,7 +638,8 @@
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;
@@ -649,25 +652,25 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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,
({
- send_nat44_interface_output_feature_details(i, q, mp->context);
+ send_nat44_interface_output_feature_details(i, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -742,7 +745,7 @@
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;
@@ -762,12 +765,13 @@
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,
- 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;
@@ -786,28 +790,28 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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))
- send_nat44_static_mapping_details (m, q, mp->context);
+ send_nat44_static_mapping_details (m, reg, mp->context);
}));
/* *INDENT-ON* */
@@ -815,7 +819,7 @@
{
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);
}
}
@@ -886,7 +890,7 @@
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;
@@ -903,12 +907,13 @@
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,
- 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;
@@ -924,28 +929,28 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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))
- send_nat44_identity_mapping_details (m, q, mp->context);
+ send_nat44_identity_mapping_details (m, reg, mp->context);
}));
/* *INDENT-ON* */
@@ -953,7 +958,7 @@
{
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);
}
}
@@ -1001,7 +1006,8 @@
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;
@@ -1014,26 +1020,26 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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)
- 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)
- send_nat44_interface_addr_details(*i, q, mp->context, 1);
+ send_nat44_interface_addr_details(*i, reg, mp->context, 1);
/* *INDENT-ON* */
}
@@ -1049,7 +1055,8 @@
}
static void
-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;
@@ -1066,25 +1073,25 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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)
- send_nat44_user_details (u, q, mp->context);
+ send_nat44_user_details (u, reg, mp->context);
/* *INDENT-ON* */
}
@@ -1100,7 +1107,7 @@
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;
@@ -1129,14 +1136,14 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
snat_main_t *sm = &snat_main;
snat_main_per_thread_data_t *tsm;
snat_session_t *s;
@@ -1147,8 +1154,8 @@
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);
@@ -1176,7 +1183,7 @@
{
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);
@@ -1260,7 +1267,8 @@
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;
@@ -1292,26 +1300,26 @@
rmp->local_num++;
}
- 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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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))
- send_nat44_lb_static_mapping_details (m, q, mp->context);
+ send_nat44_lb_static_mapping_details (m, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -1390,12 +1398,12 @@
vl_api_nat44_forwarding_is_enabled_t_handler
(vl_api_nat44_forwarding_is_enabled_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -1406,7 +1414,7 @@
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
@@ -1555,7 +1563,8 @@
}
static void
-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;
@@ -1573,23 +1582,23 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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)
- sent_nat_det_map_details(m, q, mp->context);
+ sent_nat_det_map_details(m, reg, mp->context);
/* *INDENT-ON* */
}
@@ -1770,7 +1779,7 @@
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;
@@ -1786,21 +1795,21 @@
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)
{
- svm_queue_t *q;
+ 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;
- 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;
@@ -1815,7 +1824,7 @@
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);
s++;
}
}
@@ -1888,7 +1897,7 @@
typedef struct nat64_api_walk_ctx_t_
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 context;
nat64_db_t *db;
} nat64_api_walk_ctx_t;
@@ -1915,7 +1924,7 @@
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);
return 0;
}
@@ -1923,14 +1932,14 @@
static void
vl_api_nat64_pool_addr_dump_t_handler (vl_api_nat64_pool_addr_dump_t * mp)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
@@ -1997,7 +2006,7 @@
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);
return 0;
}
@@ -2005,14 +2014,14 @@
static void
vl_api_nat64_interface_dump_t_handler (vl_api_nat64_interface_dump_t * mp)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
@@ -2095,7 +2104,7 @@
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);
return 0;
}
@@ -2103,16 +2112,16 @@
static void
vl_api_nat64_bib_dump_t_handler (vl_api_nat64_bib_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
@@ -2228,7 +2237,7 @@
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);
return 0;
}
@@ -2236,16 +2245,16 @@
static void
vl_api_nat64_st_dump_t_handler (vl_api_nat64_st_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
@@ -2312,7 +2321,7 @@
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);
return 0;
}
@@ -2320,14 +2329,14 @@
static void
vl_api_nat64_prefix_dump_t_handler (vl_api_nat64_prefix_dump_t * mp)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
diff --git a/src/plugins/pppoe/pppoe_api.c b/src/plugins/pppoe/pppoe_api.c
index f8a0227..4c65ec4 100644
--- a/src/plugins/pppoe/pppoe_api.c
+++ b/src/plugins/pppoe/pppoe_api.c
@@ -118,7 +118,7 @@
}
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;
@@ -146,22 +146,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -170,7 +168,7 @@
/* *INDENT-OFF* */
pool_foreach (t, pem->sessions,
({
- send_pppoe_session_details(t, q, mp->context);
+ send_pppoe_session_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -182,7 +180,7 @@
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);
}
}
diff --git a/src/vlibmemory/vlib_api.c b/src/vlibmemory/vlib_api.c
index 9465cfc..1067bf3 100644
--- a/src/vlibmemory/vlib_api.c
+++ b/src/vlibmemory/vlib_api.c
@@ -134,13 +134,13 @@
{
api_main_t *am = &api_main;
vl_api_api_versions_reply_t *rmp;
- svm_queue_t *q;
+ 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;
- 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);
@@ -160,7 +160,7 @@
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 \
diff --git a/src/vnet/bfd/bfd_api.c b/src/vnet/bfd/bfd_api.c
index 0d5d123..48fcdef 100644
--- a/src/vnet/bfd/bfd_api.c
+++ b/src/vnet/bfd/bfd_api.c
@@ -140,7 +140,7 @@
}
void
-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 &&
@@ -191,7 +191,7 @@
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);
}
void
@@ -199,41 +199,40 @@
{
vpe_api_main_t *vam = &vpe_api_main;
vpe_client_registration_t *reg;
- svm_queue_t *q;
+ vl_api_registration_t *vl_reg;
/* *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)
{
- svm_queue_t *q;
+ 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, ({
- 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);
+ }));
/* *INDENT-ON* */
}
@@ -274,11 +273,10 @@
static void
vl_api_bfd_auth_keys_dump_t_handler (vl_api_bfd_auth_keys_dump_t * mp)
{
- svm_queue_t *q;
+ 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_auth_key_t *key = NULL;
@@ -286,15 +284,15 @@
/* *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);
+ }));
/* *INDENT-ON* */
}
diff --git a/src/vnet/bier/bier_api.c b/src/vnet/bier/bier_api.c
index f4d3732..840c33b 100644
--- a/src/vnet/bier/bier_api.c
+++ b/src/vnet/bier/bier_api.c
@@ -106,7 +106,7 @@
}
static void
-send_bier_table_details (svm_queue_t * q,
+send_bier_table_details (vl_api_registration_t * reg,
u32 context,
const bier_table_t *bt)
{
@@ -124,18 +124,18 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
bier_table_t *bt;
- 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,
({
@@ -144,7 +144,7 @@
*/
if (bier_table_is_main(bt))
{
- send_bier_table_details(q, mp->context, bt);
+ send_bier_table_details(reg, mp->context, bt);
}
}));
}
@@ -252,7 +252,7 @@
typedef struct bier_route_details_walk_t_
{
- svm_queue_t * q;
+ vl_api_registration_t * reg;
u32 context;
} bier_route_details_walk_t;
@@ -296,17 +296,17 @@
fp++;
}
- 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)
{
- svm_queue_t *q;
+ 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,
@@ -316,7 +316,7 @@
.bti_ecmp = BIER_ECMP_TABLE_ID_MAIN,
};
bier_route_details_walk_t ctx = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
bier_table_walk(&bti, send_bier_route_details, &ctx);
@@ -371,7 +371,7 @@
}
static void
-send_bier_imp_details (svm_queue_t * q,
+send_bier_imp_details (vl_api_registration_t * reg,
u32 context,
const bier_imp_t *bi)
{
@@ -400,22 +400,22 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
bier_imp_t *bi;
- 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,
({
- send_bier_imp_details(q, mp->context, bi);
+ send_bier_imp_details(reg, mp->context, bi);
}));
}
@@ -446,7 +446,7 @@
}
static void
-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)
{
@@ -461,22 +461,22 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
bier_disp_table_t *bdt;
- 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,
({
- send_bier_disp_table_details(q, mp->context, bdt);
+ send_bier_disp_table_details(reg, mp->context, bdt);
}));
}
@@ -603,7 +603,7 @@
typedef struct bier_disp_entry_details_walk_t_
{
- svm_queue_t * q;
+ vl_api_registration_t * reg;
u32 context;
} bier_disp_entry_details_walk_t;
@@ -653,7 +653,7 @@
fp++;
}
- vl_msg_api_send_shmem (ctx->q, (u8 *) & mp);
+ vl_api_send_msg (ctx->reg, (u8 *) mp);
}
}
}
@@ -661,14 +661,14 @@
static void
vl_api_bier_disp_entry_dump_t_handler (vl_api_bier_disp_entry_dump_t * mp)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.context = mp->context,
};
bier_disp_table_walk(ntohl(mp->bde_tbl_id),
diff --git a/src/vnet/classify/classify_api.c b/src/vnet/classify/classify_api.c
index 94340f8..1893f6e 100644
--- a/src/vnet/classify/classify_api.c
+++ b/src/vnet/classify/classify_api.c
@@ -182,7 +182,8 @@
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;
@@ -193,19 +194,19 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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];
@@ -217,7 +218,7 @@
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,
mp->context);
}
}
@@ -226,10 +227,10 @@
static void
vl_api_classify_table_ids_t_handler (vl_api_classify_table_ids_t * mp)
{
- svm_queue_t *q;
+ 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;
@@ -253,7 +254,7 @@
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);
vec_free (table_ids);
}
@@ -311,10 +312,10 @@
static void
vl_api_classify_table_info_t_handler (vl_api_classify_table_info_t * mp)
{
- svm_queue_t *q;
+ 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;
@@ -355,11 +356,11 @@
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);
}
static void
-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)
@@ -377,20 +378,20 @@
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;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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* */
@@ -419,7 +420,7 @@
continue;
send_classify_session_details
- (q, table_id, t->match_n_vectors * sizeof (u32x4),
+ (reg, table_id, t->match_n_vectors * sizeof (u32x4),
v, mp->context);
}
}
@@ -455,7 +456,8 @@
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;
@@ -466,19 +468,19 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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];
@@ -490,7 +492,7 @@
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,
mp->context);
}
}
diff --git a/src/vnet/devices/tap/tapv2_api.c b/src/vnet/devices/tap/tapv2_api.c
index e161ed6..9f46884 100644
--- a/src/vnet/devices/tap/tapv2_api.c
+++ b/src/vnet/devices/tap/tapv2_api.c
@@ -54,7 +54,7 @@
{
vlib_main_t *vm = vlib_get_main ();
vl_api_tap_create_v2_reply_t *rmp;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
tap_create_if_args_t _a, *ap = &_a;
memset (ap, 0, sizeof (*ap));
@@ -98,9 +98,9 @@
tap_create_if (vm, 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);
@@ -108,12 +108,13 @@
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,
- svm_queue_t * q, u32 sw_if_index)
+ vl_api_registration_t * reg,
+ u32 sw_if_index)
{
vl_api_sw_interface_event_t *mp;
@@ -125,7 +126,7 @@
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);
}
static void
@@ -135,13 +136,13 @@
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_v2_reply_t *rmp;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -149,15 +150,15 @@
rmp->context = mp->context;
rmp->retval = ntohl (rv);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
if (!rv)
- 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,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
tap_interface_details_t * tap_if, u32 context)
{
vl_api_sw_interface_tap_v2_details_t *mp;
@@ -189,7 +190,7 @@
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);
}
static void
@@ -198,12 +199,12 @@
{
int rv;
vpe_api_main_t *am = &vpe_api_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -212,7 +213,7 @@
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);
}
vec_free (tapifs);
diff --git a/src/vnet/devices/virtio/vhost_user_api.c b/src/vnet/devices/virtio/vhost_user_api.c
index 9ddd338..442d914 100644
--- a/src/vnet/devices/virtio/vhost_user_api.c
+++ b/src/vnet/devices/virtio/vhost_user_api.c
@@ -53,7 +53,7 @@
*/
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;
@@ -65,7 +65,7 @@
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);
}
static void
@@ -127,6 +127,7 @@
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 ();
@@ -136,18 +137,18 @@
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);
- 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,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
vhost_user_intf_details_t * vui,
u32 context)
{
@@ -169,7 +170,7 @@
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);
}
static void
@@ -182,10 +183,10 @@
vlib_main_t *vm = vlib_get_main ();
vhost_user_intf_details_t *ifaces = NULL;
vhost_user_intf_details_t *vuid = NULL;
- svm_queue_t *q;
+ 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);
@@ -194,7 +195,7 @@
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);
}
vec_free (ifaces);
}
diff --git a/src/vnet/dhcp/dhcp_api.c b/src/vnet/dhcp/dhcp_api.c
index 24411af..8e210cd 100644
--- a/src/vnet/dhcp/dhcp_api.c
+++ b/src/vnet/dhcp/dhcp_api.c
@@ -110,14 +110,14 @@
static void
vl_api_dhcp_proxy_dump_t_handler (vl_api_dhcp_proxy_dump_t * mp)
{
- svm_queue_t *q;
+ 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 ?
- FIB_PROTOCOL_IP6 : FIB_PROTOCOL_IP4), q, mp->context);
+ FIB_PROTOCOL_IP6 : FIB_PROTOCOL_IP4), reg, mp->context);
}
void
@@ -125,7 +125,7 @@
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;
@@ -200,7 +200,7 @@
/* 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);
}
void
@@ -208,12 +208,12 @@
u8 mask_width, u8 is_ipv6, u8 * host_address,
u8 * router_address, u8 * host_mac)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -232,7 +232,7 @@
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
diff --git a/src/vnet/flow/flow_api.c b/src/vnet/flow/flow_api.c
index 4aa0253..d1eb2c0 100644
--- a/src/vnet/flow/flow_api.c
+++ b/src/vnet/flow/flow_api.c
@@ -148,14 +148,14 @@
vl_api_ipfix_exporter_dump_t_handler (vl_api_ipfix_exporter_dump_t * mp)
{
flow_report_main_t *frm = &flow_report_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -175,7 +175,7 @@
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);
}
static void
@@ -211,11 +211,11 @@
(vl_api_ipfix_classify_stream_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -225,7 +225,7 @@
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
@@ -308,7 +308,7 @@
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;
@@ -323,7 +323,7 @@
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);
}
static void
@@ -331,16 +331,16 @@
(vl_api_ipfix_classify_table_dump_t * mp)
{
flow_report_classify_main_t *fcm = &flow_report_classify_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 i;
- 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))
- send_ipfix_classify_table_details (i, q, mp->context);
+ send_ipfix_classify_table_details (i, reg, mp->context);
}
/*
diff --git a/src/vnet/geneve/geneve_api.c b/src/vnet/geneve/geneve_api.c
index 2708d15..9d0830c 100644
--- a/src/vnet/geneve/geneve_api.c
+++ b/src/vnet/geneve/geneve_api.c
@@ -113,7 +113,7 @@
}
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;
@@ -142,22 +142,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -166,7 +164,7 @@
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
- send_geneve_tunnel_details(t, q, mp->context);
+ send_geneve_tunnel_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -178,7 +176,7 @@
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);
}
}
diff --git a/src/vnet/gre/gre_api.c b/src/vnet/gre/gre_api.c
index baccc5f..4dad614 100644
--- a/src/vnet/gre/gre_api.c
+++ b/src/vnet/gre/gre_api.c
@@ -94,7 +94,7 @@
}
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;
@@ -122,22 +122,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -146,7 +144,7 @@
/* *INDENT-OFF* */
pool_foreach (t, gm->tunnels,
({
- send_gre_tunnel_details(t, q, mp->context);
+ send_gre_tunnel_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -158,7 +156,7 @@
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);
}
}
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c
index d3f170f..0541f31 100644
--- a/src/vnet/interface_api.c
+++ b/src/vnet/interface_api.c
@@ -529,7 +529,7 @@
}
static void
-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;
@@ -541,13 +541,13 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
fib_table_t *fib_table = 0;
u32 sw_if_index = ~0;
u32 fib_index = ~0;
@@ -555,8 +555,8 @@
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);
@@ -575,7 +575,7 @@
BAD_SW_IF_INDEX_LABEL;
- 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
@@ -724,7 +724,8 @@
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;
@@ -740,7 +741,7 @@
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);
}
static uword
@@ -754,7 +755,7 @@
vpe_client_registration_t *reg;
int i;
u32 prev_sw_if_index;
- svm_queue_t *q;
+ vl_api_registration_t *vl_reg;
vam->link_state_process_up = 1;
@@ -783,15 +784,15 @@
/* *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]);
- send_sw_interface_event (vam, reg, q, swif);
+ send_sw_interface_event (vam, reg, vl_reg, swif);
}
}
}));
@@ -948,7 +949,7 @@
uword *p;
vnet_interface_main_t *im = &vnm->interface_main;
u64 sup_and_sub_key;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
clib_error_t *error;
VALIDATE_SW_IF_INDEX (mp);
@@ -1003,8 +1004,8 @@
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));
@@ -1012,7 +1013,7 @@
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);
}
static void
diff --git a/src/vnet/ip/ip_api.c b/src/vnet/ip/ip_api.c
index d0982e9..2ea1e41 100644
--- a/src/vnet/ip/ip_api.c
+++ b/src/vnet/ip/ip_api.c
@@ -107,7 +107,8 @@
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;
@@ -121,16 +122,16 @@
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)
{
- svm_queue_t *q;
+ 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);
@@ -148,7 +149,7 @@
((n->flags & IP6_NEIGHBOR_FLAG_STATIC) ? 1 : 0),
(u8 *) n->link_layer_address,
(u8 *) & (n->key.ip6_address.as_u8),
- q, mp->context);
+ reg, mp->context);
}
/* *INDENT-ON* */
vec_free (ns);
@@ -165,7 +166,7 @@
((n->flags & ETHERNET_ARP_IP4_ENTRY_FLAG_STATIC) ? 1 : 0),
(u8*) n->ethernet_address,
(u8*) & (n->ip4_address.as_u8),
- q, mp->context);
+ reg, mp->context);
}
/* *INDENT-ON* */
vec_free (ns);
@@ -201,7 +202,7 @@
static void
send_ip_fib_details (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
@@ -264,7 +265,7 @@
fp++;
}
- 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_
@@ -286,7 +287,7 @@
vl_api_ip_fib_dump_t_handler (vl_api_ip_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
ip4_main_t *im = &ip4_main;
fib_table_t *fib_table;
fib_node_index_t *lfeip;
@@ -297,8 +298,8 @@
.feis = 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;
/* *INDENT-OFF* */
@@ -320,7 +321,7 @@
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);
vec_free (api_rpaths);
}
@@ -329,7 +330,7 @@
static void
send_ip6_fib_details (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
const fib_table_t * table,
const fib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
@@ -392,7 +393,7 @@
fp++;
}
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct apt_ip6_fib_show_ctx_t_
@@ -413,7 +414,7 @@
}
static void
-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)
{
@@ -438,7 +439,7 @@
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);
vec_free (api_rpaths);
}
@@ -448,24 +449,24 @@
static void
vl_api_ip6_fib_dump_t_handler (vl_api_ip6_fib_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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,
({
- api_ip6_fib_table_get_all(q, mp, fib_table);
+ api_ip6_fib_table_get_all(reg, mp, fib_table);
}));
/* *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;
@@ -509,7 +510,7 @@
}
vec_free (api_rpaths);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_ip_mfib_dump_ctc_t_
@@ -530,7 +531,7 @@
static void
vl_api_ip_mfib_dump_t_handler (vl_api_ip_mfib_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
ip4_main_t *im = &ip4_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
@@ -538,11 +539,10 @@
.entries = 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;
-
/* *INDENT-OFF* */
pool_foreach (mfib_table, im->mfibs,
({
@@ -554,7 +554,7 @@
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);
}
@@ -568,7 +568,7 @@
static void
send_ip6_mfib_details (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
u32 table_id,
mfib_prefix_t * pfx,
fib_route_path_encode_t * api_rpaths, u32 context)
@@ -605,7 +605,7 @@
fp++;
}
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
typedef struct vl_api_ip6_mfib_dump_ctc_t_
@@ -627,7 +627,7 @@
vl_api_ip6_mfib_dump_t_handler (vl_api_ip6_mfib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
ip6_main_t *im = &ip6_main;
mfib_table_t *mfib_table;
fib_node_index_t *mfeip;
@@ -637,8 +637,8 @@
.entries = 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;
@@ -655,7 +655,7 @@
{
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);
@@ -1418,7 +1418,8 @@
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;
@@ -1430,12 +1431,12 @@
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,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
u8 * ip, u16 prefix_length,
u32 sw_if_index, u8 is_ipv6, u32 context)
{
@@ -1459,14 +1460,14 @@
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;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
ip6_address_t *r6;
ip4_address_t *r4;
ip6_main_t *im6 = &ip6_main;
@@ -1481,8 +1482,8 @@
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)
return;
if (mp->is_ipv6)
@@ -1493,7 +1494,7 @@
({
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* */
@@ -1506,7 +1507,7 @@
({
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* */
@@ -1521,15 +1522,13 @@
vnet_main_t *vnm = vnet_get_main ();
vlib_main_t *vm = vlib_get_main ();
vnet_interface_main_t *im = &vnm->interface_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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));
@@ -1550,7 +1549,7 @@
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);
}
}
}
@@ -1668,7 +1667,7 @@
}
static void
-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)
{
@@ -1681,7 +1680,7 @@
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_
@@ -1712,13 +1711,11 @@
};
fib_node_index_t *feip;
fib_prefix_t pfx;
- svm_queue_t *q;
+ 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,
@@ -1736,7 +1733,7 @@
{
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));
diff --git a/src/vnet/ip/punt_api.c b/src/vnet/ip/punt_api.c
index 33fc3f9..55ab838 100644
--- a/src/vnet/ip/punt_api.c
+++ b/src/vnet/ip/punt_api.c
@@ -70,7 +70,7 @@
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
error = vnet_punt_socket_add (vm, ntohl (mp->header_version),
mp->is_ip4, mp->l4_protocol,
@@ -81,8 +81,8 @@
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));
@@ -92,7 +92,7 @@
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);
}
static void
@@ -102,7 +102,7 @@
vlib_main_t *vm = vlib_get_main ();
int rv = 0;
clib_error_t *error;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
error = vnet_punt_socket_del (vm, mp->is_ip4, mp->l4_protocol,
ntohs (mp->l4_port));
@@ -112,15 +112,15 @@
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);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
#define vl_msg_name_crc_list
diff --git a/src/vnet/ipsec-gre/ipsec_gre_api.c b/src/vnet/ipsec-gre/ipsec_gre_api.c
index af30030..01cc6d7 100644
--- a/src/vnet/ipsec-gre/ipsec_gre_api.c
+++ b/src/vnet/ipsec-gre/ipsec_gre_api.c
@@ -83,7 +83,7 @@
}
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;
@@ -97,22 +97,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -121,7 +119,7 @@
/* *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);
}));
/* *INDENT-ON* */
}
@@ -133,7 +131,7 @@
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);
}
}
diff --git a/src/vnet/ipsec/ipsec_api.c b/src/vnet/ipsec/ipsec_api.c
index 361bddb..da78f3d 100644
--- a/src/vnet/ipsec/ipsec_api.c
+++ b/src/vnet/ipsec/ipsec_api.c
@@ -252,7 +252,8 @@
}
static void
-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;
@@ -289,21 +290,21 @@
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)
{
- svm_queue_t *q;
+ 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
- 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));
@@ -317,7 +318,7 @@
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* */
@@ -399,7 +400,7 @@
}
static void
-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;
@@ -455,14 +456,14 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
ipsec_main_t *im = &ipsec_main;
vnet_main_t *vnm = im->vnet_main;
ipsec_sa_t *sa;
@@ -470,8 +471,8 @@
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,
@@ -492,7 +493,7 @@
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* */
diff --git a/src/vnet/l2/l2_api.c b/src/vnet/l2/l2_api.c
index 206b41f..0fe119b 100644
--- a/src/vnet/l2/l2_api.c
+++ b/src/vnet/l2/l2_api.c
@@ -72,7 +72,7 @@
_(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;
@@ -84,21 +84,21 @@
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)
{
- svm_queue_t *q;
+ 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;
- 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* */
@@ -106,7 +106,7 @@
({
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* */
@@ -126,7 +126,7 @@
static void
send_l2fib_table_entry (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
l2fib_entry_key_t * l2fe_key,
l2fib_entry_result_t * l2fe_res, u32 context)
{
@@ -146,7 +146,7 @@
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);
}
static void
@@ -158,11 +158,11 @@
l2fib_entry_result_t *l2fe_res = NULL;
u32 ni, bd_id = ntohl (mp->bd_id);
u32 bd_index;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
uword *p;
- 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" */
@@ -181,7 +181,7 @@
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);
@@ -439,7 +439,7 @@
static void
send_bridge_domain_details (l2input_main_t * l2im,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
l2_bridge_domain_t * bd_config,
u32 n_sw_ifs, u32 context)
{
@@ -480,7 +480,7 @@
}
mp->n_sw_ifs = htonl (mp->n_sw_ifs);
- vl_msg_api_send_shmem (q, (u8 *) & mp);
+ vl_api_send_msg (reg, (u8 *) mp);
}
static void
@@ -488,16 +488,17 @@
{
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)
return;
- u32 bd_id = ntohl (mp->bd_id);
+ bd_id = ntohl (mp->bd_id);
if (bd_id == 0)
return;
- u32 bd_index, end;
if (bd_id == ~0)
bd_index = 0, end = vec_len (l2im->bd_configs);
else
@@ -515,7 +516,7 @@
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);
}
diff --git a/src/vnet/l2tp/l2tp_api.c b/src/vnet/l2tp/l2tp_api.c
index aaba2b0..3c7c19d 100644
--- a/src/vnet/l2tp/l2tp_api.c
+++ b/src/vnet/l2tp/l2tp_api.c
@@ -51,7 +51,7 @@
static void
send_sw_if_l2tpv3_tunnel_details (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
l2t_session_t * s,
l2t_main_t * lm, u32 context)
{
@@ -81,7 +81,7 @@
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);
}
@@ -91,17 +91,17 @@
{
vpe_api_main_t *am = &vpe_api_main;
l2t_main_t *lm = &l2t_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
l2t_session_t *session;
- 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,
({
- send_sw_if_l2tpv3_tunnel_details (am, q, session, lm, mp->context);
+ send_sw_if_l2tpv3_tunnel_details (am, reg, session, lm, mp->context);
}));
/* *INDENT-ON* */
}
diff --git a/src/vnet/lisp-cp/lisp_api.c b/src/vnet/lisp-cp/lisp_api.c
index 9946f28..cb21dd1 100644
--- a/src/vnet/lisp-cp/lisp_api.c
+++ b/src/vnet/lisp-cp/lisp_api.c
@@ -420,7 +420,6 @@
static void
vl_api_show_lisp_use_petr_t_handler (vl_api_show_lisp_use_petr_t * mp)
{
- svm_queue_t *q = NULL;
vl_api_show_lisp_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
@@ -430,12 +429,6 @@
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)
@@ -583,7 +576,8 @@
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;
@@ -605,25 +599,23 @@
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;
- svm_queue_t *q = 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;
- 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);
@@ -647,7 +639,7 @@
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);
@@ -656,7 +648,8 @@
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;
@@ -680,22 +673,20 @@
vec_free (str);
}
- 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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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* */
@@ -706,7 +697,7 @@
{
continue;
}
- 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* */
@@ -766,7 +757,8 @@
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 ();
@@ -854,23 +846,21 @@
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;
- svm_queue_t *q = NULL;
+ 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;
- 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->eid_set)
{
@@ -884,7 +874,7 @@
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
@@ -892,7 +882,7 @@
/* *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* */
@@ -900,7 +890,8 @@
}
static void
-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;
@@ -927,31 +918,29 @@
}
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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)
{
- 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,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_lisp_map_resolver_details_t *rmp = NULL;
@@ -978,30 +967,29 @@
}
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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)
{
- send_lisp_map_resolver_details (&mr->address, q, mp->context);
+ send_lisp_map_resolver_details (&mr->address, reg, mp->context);
}
}
static void
-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;
@@ -1012,23 +1000,21 @@
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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;
if (mp->is_l2)
{
@@ -1042,13 +1028,13 @@
/* *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
-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;
@@ -1057,7 +1043,7 @@
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);
}
static void
@@ -1161,14 +1147,12 @@
{
hash_pair_t *p;
u32 *vnis = 0;
- svm_queue_t *q = 0;
+ vl_api_registration_t *reg = 0;
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,
@@ -1183,7 +1167,7 @@
hash_foreach_pair (p, vnis,
({
- send_eid_table_vni (p->key, q, mp->context);
+ send_eid_table_vni (p->key, reg, mp->context);
}));
/* *INDENT-ON* */
@@ -1193,16 +1177,9 @@
static void
vl_api_show_lisp_status_t_handler (vl_api_show_lisp_status_t * mp)
{
- svm_queue_t *q = NULL;
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,
({
@@ -1216,19 +1193,12 @@
vl_api_lisp_get_map_request_itr_rlocs_t_handler
(vl_api_lisp_get_map_request_itr_rlocs_t * mp)
{
- svm_queue_t *q = NULL;
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, " ");
@@ -1254,7 +1224,6 @@
static void
vl_api_show_lisp_pitr_t_handler (vl_api_show_lisp_pitr_t * mp)
{
- svm_queue_t *q = NULL;
vl_api_show_lisp_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
@@ -1262,12 +1231,6 @@
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;
diff --git a/src/vnet/lisp-cp/one_api.c b/src/vnet/lisp-cp/one_api.c
index 7afbf7f..cc8839d 100644
--- a/src/vnet/lisp-cp/one_api.c
+++ b/src/vnet/lisp-cp/one_api.c
@@ -68,22 +68,22 @@
#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); \
} while(0);
-#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) \
@@ -537,7 +537,6 @@
static void
vl_api_show_one_use_petr_t_handler (vl_api_show_one_use_petr_t * mp)
{
- svm_queue_t *q = NULL;
vl_api_show_one_use_petr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
@@ -547,12 +546,6 @@
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)
@@ -698,7 +691,8 @@
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;
@@ -720,25 +714,23 @@
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;
- svm_queue_t *q = 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;
- 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);
@@ -762,7 +754,7 @@
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);
@@ -771,7 +763,8 @@
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;
@@ -795,22 +788,20 @@
vec_free (str);
}
- 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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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* */
@@ -821,7 +812,7 @@
{
continue;
}
- 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* */
@@ -881,7 +872,8 @@
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 ();
@@ -975,23 +967,21 @@
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;
- svm_queue_t *q = NULL;
+ 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;
- 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->eid_set)
{
@@ -1005,7 +995,7 @@
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
@@ -1013,7 +1003,7 @@
/* *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* */
@@ -1021,7 +1011,8 @@
}
static void
-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;
@@ -1048,31 +1039,29 @@
}
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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)
{
- 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,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
vl_api_one_map_resolver_details_t *rmp = NULL;
@@ -1099,30 +1088,29 @@
}
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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)
{
- send_one_map_resolver_details (&mr->address, q, mp->context);
+ send_one_map_resolver_details (&mr->address, reg, mp->context);
}
}
static void
-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;
@@ -1133,22 +1121,20 @@
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)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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;
if (mp->is_l2)
{
@@ -1162,13 +1148,13 @@
/* *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
-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;
@@ -1177,7 +1163,7 @@
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);
}
static void
@@ -1291,14 +1277,12 @@
{
hash_pair_t *p;
u32 *vnis = 0;
- svm_queue_t *q = 0;
+ vl_api_registration_t *reg;
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,
@@ -1313,7 +1297,7 @@
hash_foreach_pair (p, vnis,
({
- send_eid_table_vni (p->key, q, mp->context);
+ send_eid_table_vni (p->key, reg, mp->context);
}));
/* *INDENT-ON* */
@@ -1370,7 +1354,6 @@
static void
vl_api_show_one_nsh_mapping_t_handler (vl_api_show_one_nsh_mapping_t * mp)
{
- svm_queue_t *q = NULL;
vl_api_show_one_nsh_mapping_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
@@ -1379,12 +1362,6 @@
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");
@@ -1419,7 +1396,6 @@
static void
vl_api_show_one_pitr_t_handler (vl_api_show_one_pitr_t * mp)
{
- svm_queue_t *q = NULL;
vl_api_show_one_pitr_reply_t *rmp = NULL;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
mapping_t *m;
@@ -1427,12 +1403,6 @@
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;
diff --git a/src/vnet/lisp-gpe/lisp_gpe_api.c b/src/vnet/lisp-gpe/lisp_gpe_api.c
index 86b2f6c..97409f5 100644
--- a/src/vnet/lisp-gpe/lisp_gpe_api.c
+++ b/src/vnet/lisp-gpe/lisp_gpe_api.c
@@ -154,13 +154,13 @@
lisp_fwd_path_t *path;
vl_api_gpe_fwd_entry_path_details_t *rmp = NULL;
lisp_gpe_main_t *lgm = &lisp_gpe_main;
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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))
@@ -187,7 +187,7 @@
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);
}
}
diff --git a/src/vnet/map/map_api.c b/src/vnet/map/map_api.c
index 8ff73ec..e06dd59 100644
--- a/src/vnet/map/map_api.c
+++ b/src/vnet/map/map_api.c
@@ -110,16 +110,14 @@
vl_api_map_domain_details_t *rmp;
map_main_t *mm = &map_main;
map_domain_t *d;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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,
@@ -141,7 +139,7 @@
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);
}));
/* *INDENT-ON* */
}
@@ -149,7 +147,7 @@
static void
vl_api_map_rule_dump_t_handler (vl_api_map_rule_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u16 i;
ip6_address_t dst;
vl_api_map_rule_details_t *rmp;
@@ -166,11 +164,9 @@
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;
for (i = 0; i < (0x1 << d->psid_length); i++)
{
@@ -185,7 +181,7 @@
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);
}
}
@@ -199,9 +195,10 @@
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;
- if (!q)
+ reg = vl_api_client_index_to_registration (mp->client_index);
+ if (!reg)
return;
rmp = vl_msg_api_alloc (sizeof (*rmp));
@@ -252,7 +249,7 @@
(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);
}
/*
diff --git a/src/vnet/mpls/mpls_api.c b/src/vnet/mpls/mpls_api.c
index d9f4050..394a6b7 100644
--- a/src/vnet/mpls/mpls_api.c
+++ b/src/vnet/mpls/mpls_api.c
@@ -376,7 +376,7 @@
typedef struct mpls_tunnel_send_walk_ctx_t_
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 index;
u32 context;
} mpls_tunnel_send_walk_ctx_t;
@@ -427,20 +427,20 @@
// 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)
{
- svm_queue_t *q;
+ 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 = {
- .q = q,
+ .reg = reg,
.index = ntohl (mp->tunnel_index),
.context = mp->context,
};
@@ -449,7 +449,7 @@
static void
send_mpls_fib_details (vpe_api_main_t * am,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
const fib_table_t * table,
u32 label, u32 eos,
fib_route_path_encode_t * api_rpaths, u32 context)
@@ -485,7 +485,7 @@
fp++;
}
- 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_
@@ -507,7 +507,7 @@
vl_api_mpls_fib_dump_t_handler (vl_api_mpls_fib_dump_t * mp)
{
vpe_api_main_t *am = &vpe_api_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
mpls_main_t *mm = &mpls_main;
fib_table_t *fib_table;
mpls_fib_t *mpls_fib;
@@ -519,8 +519,8 @@
.lfeis = 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;
/* *INDENT-OFF* */
@@ -540,7 +540,7 @@
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);
diff --git a/src/vnet/policer/policer_api.c b/src/vnet/policer/policer_api.c
index a658076..77efe85 100644
--- a/src/vnet/policer/policer_api.c
+++ b/src/vnet/policer/policer_api.c
@@ -96,7 +96,7 @@
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;
@@ -130,13 +130,13 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
vnet_policer_main_t *pm = &vnet_policer_main;
hash_pair_t *hp;
uword *p;
@@ -146,8 +146,8 @@
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)
@@ -164,7 +164,7 @@
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);
}
}
else
@@ -176,7 +176,7 @@
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);
}));
/* *INDENT-ON* */
}
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index 75bdedf..eeda839 100755
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -870,7 +870,7 @@
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 =
@@ -901,13 +901,13 @@
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,
- 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 =
@@ -938,13 +938,13 @@
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,
- svm_queue_t * q, u32 context)
+ vl_api_registration_t * reg, u32 context)
{
mma_rule_16_t *rule16;
mma_rule_40_t *rule40;
@@ -961,7 +961,7 @@
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,
- q, context);
+ reg, context);
}));
/* *INDENT-ON* */
}
@@ -974,7 +974,7 @@
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,
- q, context);
+ reg, context);
}));
/* *INDENT-ON* */
}
@@ -983,12 +983,12 @@
static void
vl_api_session_rules_dump_t_handler (vl_api_one_map_server_dump_t * mp)
{
- svm_queue_t *q = NULL;
+ vl_api_registration_t *reg;
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* */
@@ -997,7 +997,7 @@
{
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,
mp->context);
}
}));
diff --git a/src/vnet/span/span_api.c b/src/vnet/span/span_api.c
index 40dc4f3..5df93fa 100644
--- a/src/vnet/span/span_api.c
+++ b/src/vnet/span/span_api.c
@@ -66,13 +66,13 @@
vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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;
@@ -98,7 +98,7 @@
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);
}
diff --git a/src/vnet/srv6/sr_api.c b/src/vnet/srv6/sr_api.c
index 8f5f4f9..d696e06 100644
--- a/src/vnet/srv6/sr_api.c
+++ b/src/vnet/srv6/sr_api.c
@@ -191,7 +191,7 @@
}
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;
@@ -206,26 +206,24 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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,
({
- send_sr_localsid_details(t, q, mp->context);
+ send_sr_localsid_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
diff --git a/src/vnet/udp/udp_api.c b/src/vnet/udp/udp_api.c
index dddc6f9..d643f68 100644
--- a/src/vnet/udp/udp_api.c
+++ b/src/vnet/udp/udp_api.c
@@ -43,7 +43,8 @@
_(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;
@@ -74,24 +75,24 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
udp_encap_t *ue;
- 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,
({
- send_udp_encap_details(ue, q, mp->context);
+ send_udp_encap_details(ue, reg, mp->context);
}));
/* *INDENT-ON* */
}
diff --git a/src/vnet/unix/tap_api.c b/src/vnet/unix/tap_api.c
index 2375572..026a963 100644
--- a/src/vnet/unix/tap_api.c
+++ b/src/vnet/unix/tap_api.c
@@ -60,7 +60,7 @@
*/
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;
@@ -72,7 +72,7 @@
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);
}
static void
@@ -82,7 +82,7 @@
int rv;
vl_api_tap_connect_reply_t *rmp;
vnet_main_t *vnm = vnet_get_main ();
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 sw_if_index = (u32) ~ 0;
u8 *tag;
vnet_tap_connect_args_t _a, *ap = &_a;
@@ -118,8 +118,8 @@
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));
@@ -128,7 +128,7 @@
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);
}
static void
@@ -136,7 +136,7 @@
{
int rv;
vl_api_tap_modify_reply_t *rmp;
- svm_queue_t *q;
+ 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;
@@ -153,8 +153,8 @@
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));
@@ -163,7 +163,7 @@
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);
}
static void
@@ -173,7 +173,7 @@
int rv;
vpe_api_main_t *vam = &vpe_api_main;
vl_api_tap_delete_reply_t *rmp;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 sw_if_index = ntohl (mp->sw_if_index);
rv = vnet_tap_delete (vm, sw_if_index);
@@ -183,8 +183,8 @@
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));
@@ -192,15 +192,15 @@
rmp->context = mp->context;
rmp->retval = ntohl (rv);
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
if (!rv)
- 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,
- svm_queue_t * q,
+ vl_api_registration_t * reg,
tapcli_interface_details_t * tap_if,
u32 context)
{
@@ -213,7 +213,7 @@
(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);
}
static void
@@ -221,12 +221,12 @@
{
int rv = 0;
vpe_api_main_t *am = &vpe_api_main;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -235,7 +235,7 @@
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);
}
vec_free (tapifs);
diff --git a/src/vnet/vxlan-gpe/vxlan_gpe_api.c b/src/vnet/vxlan-gpe/vxlan_gpe_api.c
index b3e300e..a710bb5 100644
--- a/src/vnet/vxlan-gpe/vxlan_gpe_api.c
+++ b/src/vnet/vxlan-gpe/vxlan_gpe_api.c
@@ -144,7 +144,7 @@
}
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;
@@ -175,22 +175,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -199,7 +197,7 @@
/* *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);
}));
/* *INDENT-ON* */
}
@@ -211,7 +209,7 @@
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);
}
}
diff --git a/src/vnet/vxlan/vxlan_api.c b/src/vnet/vxlan/vxlan_api.c
index 20034f7..1227f88 100644
--- a/src/vnet/vxlan/vxlan_api.c
+++ b/src/vnet/vxlan/vxlan_api.c
@@ -116,7 +116,7 @@
}
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;
@@ -145,22 +145,20 @@
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)
{
- svm_queue_t *q;
+ vl_api_registration_t *reg;
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);
@@ -169,7 +167,7 @@
/* *INDENT-OFF* */
pool_foreach (t, vxm->tunnels,
({
- send_vxlan_tunnel_details(t, q, mp->context);
+ send_vxlan_tunnel_details(t, reg, mp->context);
}));
/* *INDENT-ON* */
}
@@ -181,7 +179,7 @@
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);
}
}
diff --git a/src/vpp/api/api.c b/src/vpp/api/api.c
index 70b1042..8bb11c9 100644
--- a/src/vpp/api/api.c
+++ b/src/vpp/api/api.c
@@ -164,16 +164,16 @@
vl_api_cli_t_handler (vl_api_cli_t * mp)
{
vl_api_cli_reply_t *rp;
- svm_queue_t *q;
+ 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;
- 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);
@@ -193,7 +193,7 @@
rp->reply_in_shmem = (uword) shmem_vec;
- vl_msg_api_send_shmem (q, (u8 *) & rp);
+ vl_api_send_msg (reg, (u8 *) rp);
}
static void
diff --git a/src/vpp/oam/oam_api.c b/src/vpp/oam/oam_api.c
index 6d25a36..915d02d 100644
--- a/src/vpp/oam/oam_api.c
+++ b/src/vpp/oam/oam_api.c
@@ -47,22 +47,22 @@
send_oam_event (oam_target_t * t)
{
vpe_api_main_t *vam = &vpe_api_main;
- svm_queue_t *q;
+ 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,
({
- 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;
- vl_msg_api_send_shmem (q, (u8 *)&mp);
+ vl_api_send_msg (vl_reg, (u8 *)mp);
}
}));
/* *INDENT-ON* */
diff --git a/src/vpp/stats/stats.c b/src/vpp/stats/stats.c
index 2c3c866..4ac96df 100644
--- a/src/vpp/stats/stats.c
+++ b/src/vpp/stats/stats.c
@@ -544,7 +544,7 @@
vl_api_want_interface_combined_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 swif;
swif = ~0; //Using same mechanism as _per_interface_
@@ -555,9 +555,8 @@
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,
@@ -570,7 +569,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
@@ -687,7 +686,7 @@
vlib_combined_counter_main_t *cm;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
int i;
u32 swif;
@@ -718,9 +717,8 @@
}
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)
{
for (i = 0; i < mp->num; i++)
{
@@ -737,7 +735,7 @@
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 */
@@ -748,7 +746,7 @@
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
- svm_queue_t *q = NULL;
+ vl_api_registration_t *vl_reg;
vlib_combined_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
@@ -790,11 +788,14 @@
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
+
+ /* *INDENT-OFF* */
pool_foreach (reg,
- 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++)
{
@@ -807,21 +808,23 @@
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];
- 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)
+ if (!vl_reg)
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_COMBINED_COUNTERS,
@@ -860,7 +863,7 @@
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);
}
}
@@ -882,7 +885,7 @@
vlib_simple_counter_main_t *cm;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
int i;
u32 swif;
@@ -912,10 +915,10 @@
}
reply:
- 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++)
{
@@ -934,7 +937,7 @@
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 */
@@ -945,7 +948,7 @@
vnet_interface_main_t *im = sm->interface_main;
api_main_t *am = sm->api_main;
vl_shmem_hdr_t *shmem_hdr = am->shmem_hdr;
- svm_queue_t *q = NULL;
+ vl_api_registration_t *vl_reg;
vlib_simple_counter_main_t *cm;
/*
* items_this_message will eventually be used to optimise the batching
@@ -987,12 +990,13 @@
timestamp = vlib_time_now (sm->vlib_main);
vec_reset_length (sm->regs_tmp);
+
+ /* *INDENT-OFF* */
pool_foreach (reg,
- 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++)
{
@@ -1005,21 +1009,22 @@
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];
- 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,
@@ -1086,7 +1091,7 @@
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);
}
}
@@ -2392,7 +2397,7 @@
uword *p;
i32 retval = 0;
u32 item;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
item = ~0; //"ALL THE THINGS IN THE THINGS
rp.client_index = mp->client_index;
@@ -2417,9 +2422,8 @@
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));
@@ -2427,7 +2431,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
@@ -2440,7 +2444,7 @@
uword *p;
i32 retval = 0;
u32 swif;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
swif = ~0; //Using same mechanism as _per_interface_
rp.client_index = mp->client_index;
@@ -2450,9 +2454,9 @@
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);
- if (!q)
+ if (!reg)
{
sm->enable_poller =
clear_client_for_stat (IDX_PER_INTERFACE_SIMPLE_COUNTERS, swif,
@@ -2465,7 +2469,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
@@ -2477,7 +2481,7 @@
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
@@ -2488,9 +2492,9 @@
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);
- if (!q)
+ if (!reg)
{
sm->enable_poller = clear_client_for_stat (IDX_IP4_FIB_COUNTERS,
fib, mp->client_index);
@@ -2502,7 +2506,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
@@ -2513,7 +2517,7 @@
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
@@ -2524,9 +2528,8 @@
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);
@@ -2538,7 +2541,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
@@ -2549,7 +2552,7 @@
vl_api_want_ip4_fib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 fib;
fib = ~0; //Using same mechanism as _per_interface_
@@ -2560,9 +2563,8 @@
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);
@@ -2574,7 +2576,7 @@
rmp->context = mp->context;
rmp->retval = retval;
- vl_msg_api_send_shmem (q, (u8 *) & rmp);
+ vl_api_send_msg (reg, (u8 *) rmp);
}
static void
@@ -2585,7 +2587,7 @@
vl_api_want_ip4_mfib_stats_reply_t *rmp;
uword *p;
i32 retval = 0;
- svm_queue_t *q;
+ vl_api_registration_t *reg;
u32 mfib;
mfib = ~0; //Using same mechanism as _per_interface_
@@ -2596,9 +2598,8 @@
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);
@@ -2610,7 +2611,7 @@
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 */
@@ -2635,13 +2636,11 @@
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);
@@ -2673,7 +2672,7 @@
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);
}
int