Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
PAPI: Use UNIX domain sockets instead of shared memory
[vpp.git]
/
src
/
vlibmemory
/
vlib_api.c
diff --git
a/src/vlibmemory/vlib_api.c
b/src/vlibmemory/vlib_api.c
index
9465cfc
..
15a0ba8
100644
(file)
--- a/
src/vlibmemory/vlib_api.c
+++ b/
src/vlibmemory/vlib_api.c
@@
-109,9
+109,8
@@
vl_api_get_first_msg_id_t_handler (vl_api_get_first_msg_id_t * mp)
if (am->msg_range_by_name == 0)
goto out;
if (am->msg_range_by_name == 0)
goto out;
-
- strncpy ((char *) name, (char *) mp->name, ARRAY_LEN (name) - 1);
-
+ strncpy ((char *) name, (char *) mp->name, ARRAY_LEN (name));
+ name[ARRAY_LEN (name) - 1] = '\0';
p = hash_get_mem (am->msg_range_by_name, name);
if (p == 0)
goto out;
p = hash_get_mem (am->msg_range_by_name, name);
if (p == 0)
goto out;
@@
-134,13
+133,13
@@
vl_api_api_versions_t_handler (vl_api_api_versions_t * mp)
{
api_main_t *am = &api_main;
vl_api_api_versions_reply_t *rmp;
{
api_main_t *am = &api_main;
vl_api_api_versions_reply_t *rmp;
-
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;
u32 nmsg = vec_len (am->api_version_list);
int msg_size = sizeof (*rmp) + sizeof (rmp->api_versions[0]) * nmsg;
int i;
-
q = vl_api_client_index_to_input_queue
(mp->client_index);
- if (
q == 0
)
+
reg = vl_api_client_index_to_registration
(mp->client_index);
+ if (
!reg
)
return;
rmp = vl_msg_api_alloc (msg_size);
return;
rmp = vl_msg_api_alloc (msg_size);
@@
-157,14
+156,17
@@
vl_api_api_versions_t_handler (vl_api_api_versions_t * mp)
rmp->api_versions[i].major = htonl (vl->major);
rmp->api_versions[i].minor = htonl (vl->minor);
rmp->api_versions[i].patch = htonl (vl->patch);
rmp->api_versions[i].major = htonl (vl->major);
rmp->api_versions[i].minor = htonl (vl->minor);
rmp->api_versions[i].patch = htonl (vl->patch);
- strncpy ((char *) rmp->api_versions[i].name, vl->name, 64 - 1);
+ strncpy ((char *) rmp->api_versions[i].name, vl->name,
+ ARRAY_LEN (rmp->api_versions[i].name));
+ rmp->api_versions[i].name[ARRAY_LEN (rmp->api_versions[i].name) - 1] =
+ '\0';
}
}
- vl_
msg_api_send_shmem (q, (u8 *) &
rmp);
+ vl_
api_send_msg (reg, (u8 *)
rmp);
}
}
-#define foreach_vlib_api_msg
\
-_(GET_FIRST_MSG_ID, get_first_msg_id)
\
+#define foreach_vlib_api_msg \
+_(GET_FIRST_MSG_ID, get_first_msg_id) \
_(API_VERSIONS, api_versions)
/*
_(API_VERSIONS, api_versions)
/*
@@
-287,12
+289,6
@@
vl_api_clnt_process (vlib_main_t * vm, vlib_node_runtime_t * node,
uword *event_data = 0;
f64 now;
uword *event_data = 0;
f64 now;
- if ((rv = vl_mem_api_init (am->region_name)) < 0)
- {
- clib_warning ("memory_api_init returned %d, quitting...", rv);
- return 0;
- }
-
if ((error = vl_sock_api_init (vm)))
{
clib_error_report (error);
if ((error = vl_sock_api_init (vm)))
{
clib_error_report (error);
@@
-391,9
+387,9
@@
vl_api_clnt_process (vlib_main_t * vm, vlib_node_runtime_t * node,
*/
if (PREDICT_FALSE (vec_len (am->vlib_private_rps)))
{
*/
if (PREDICT_FALSE (vec_len (am->vlib_private_rps)))
{
- vl_mem_api_handle_msg_private (vm, node, private_segment_rotor++);
if (private_segment_rotor >= vec_len (am->vlib_private_rps))
private_segment_rotor = 0;
if (private_segment_rotor >= vec_len (am->vlib_private_rps))
private_segment_rotor = 0;
+ vl_mem_api_handle_msg_private (vm, node, private_segment_rotor++);
}
vlib_process_wait_for_event_or_clock (vm, sleep_time);
}
vlib_process_wait_for_event_or_clock (vm, sleep_time);