diff options
author | Matej Perina <mperina@cisco.com> | 2017-09-21 17:03:27 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2017-09-27 20:55:50 +0000 |
commit | 75a17ecddc9dc579a3aecfc5b53cbb60e993965f (patch) | |
tree | 6a744ee248063303ce1b60a3f92130a0e0b167de /src/vlibapi | |
parent | a4980b8f3e53bd0917c75910938fbb077105821f (diff) |
VPP-990 remove registered handler if control ping failsv18.01-rc0
Change-Id: I5ca5763f0dc0a73cc6f014b855426b7ac180f356
Signed-off-by: Matej Perina <mperina@cisco.com>
Diffstat (limited to 'src/vlibapi')
-rw-r--r-- | src/vlibapi/api_common.h | 1 | ||||
-rw-r--r-- | src/vlibapi/api_shared.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/vlibapi/api_common.h b/src/vlibapi/api_common.h index 770cf47d188..8e6ab0ff094 100644 --- a/src/vlibapi/api_common.h +++ b/src/vlibapi/api_common.h @@ -144,6 +144,7 @@ void vl_msg_api_set_handlers (int msg_id, char *msg_name, void *cleanup, void *endian, void *print, int msg_size, int traced); +void vl_msg_api_clean_handlers (int msg_id); void vl_msg_api_config (vl_msg_api_msg_config_t *); void vl_msg_api_set_cleanup_handler (int msg_id, void *fp); void vl_msg_api_queue_handler (unix_shared_memory_queue_t * q); diff --git a/src/vlibapi/api_shared.c b/src/vlibapi/api_shared.c index 0c4952b189c..27898c3b952 100644 --- a/src/vlibapi/api_shared.c +++ b/src/vlibapi/api_shared.c @@ -717,6 +717,18 @@ vl_msg_api_set_handlers (int id, char *name, void *handler, void *cleanup, } void +vl_msg_api_clean_handlers (int msg_id) +{ + vl_msg_api_msg_config_t cfg; + vl_msg_api_msg_config_t *c = &cfg; + + memset (c, 0, sizeof (*c)); + + c->id = msg_id; + vl_msg_api_config (c); +} + +void vl_msg_api_set_cleanup_handler (int msg_id, void *fp) { api_main_t *am = &api_main; |