summaryrefslogtreecommitdiffstats
path: root/src/vlibmemory
diff options
context:
space:
mode:
authorVladislav Grishenko <themiron@yandex-team.ru>2023-03-19 02:57:01 +0500
committerOle Tr�an <otroan@employees.org>2023-09-06 08:34:33 +0000
commite7c57c45aa981cee0b3376d63125c80c5c79e104 (patch)
tree9d5e3f15ecda2af85f780fa7dfbbb2f76c283a23 /src/vlibmemory
parentdb8c2850812b210efde447b29bcd93a695ed4ed8 (diff)
api: fix mp-safe mark for some messages and add more
Several api messages were not mp-safe although marked as such because non-zero base id was not taken into account, and therefore some other (from zero base id) were falsely mp-safe instead. Keep messages as mp-safe, as they falsely were before: 10 get_first_msg_id 0 1 12 api_versions 0 1 Messages that are no longer mp-safe as they weren't marked: 15 sockclnt_create 0 1 33 proxy_arp_intfc_dump 0 1 Fix messages to be really mp-safe: 809 bridge_domain_dump 0 1 920 ip_route_add_del 0 1 921 ip_route_add_del_v2 0 1 1362 get_node_graph 0 1 1671 create_vhost_user_if 0 1 1675 create_vhost_user_if_v2 0 1 Additionally mark messages as mp-safe, seems they need no barrier: 1360 show_threads 0 1 1370 show_version 0 1 1372 show_vpe_system_time 0 1 Type: fix Change-Id: Ie6c1e3aa89f26bf51bfbcb7e7c4d9fee885487b7 Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Diffstat (limited to 'src/vlibmemory')
-rw-r--r--src/vlibmemory/memclnt_api.c3
-rw-r--r--src/vlibmemory/vlib_api.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/vlibmemory/memclnt_api.c b/src/vlibmemory/memclnt_api.c
index 728edf7804a..7eb61fe7875 100644
--- a/src/vlibmemory/memclnt_api.c
+++ b/src/vlibmemory/memclnt_api.c
@@ -190,6 +190,9 @@ vlib_api_init (void)
foreach_vlib_api_msg;
#undef _
+ /* Mark messages as mp safe */
+ vl_api_set_msg_thread_safe (am, VL_API_GET_FIRST_MSG_ID, 1);
+ vl_api_set_msg_thread_safe (am, VL_API_API_VERSIONS, 1);
vl_api_set_msg_thread_safe (am, VL_API_CONTROL_PING, 1);
vl_api_set_msg_thread_safe (am, VL_API_CONTROL_PING_REPLY, 1);
diff --git a/src/vlibmemory/vlib_api.c b/src/vlibmemory/vlib_api.c
index 3d4f8829d9a..705e9c241a6 100644
--- a/src/vlibmemory/vlib_api.c
+++ b/src/vlibmemory/vlib_api.c
@@ -340,7 +340,10 @@ vlib_apis_hookup (vlib_main_t *vm)
*/
msg_id_base = setup_message_id_table ();
- vl_api_set_msg_thread_safe (am, VL_API_GET_NODE_GRAPH, 1);
+ /* Mark messages as mp safe */
+ vl_api_set_msg_thread_safe (am, msg_id_base + VL_API_GET_NODE_GRAPH, 1);
+ vl_api_set_msg_thread_safe (am, msg_id_base + VL_API_SHOW_THREADS, 1);
+
return 0;
}