diff options
Diffstat (limited to 'nsh-plugin/nsh/nsh_test.c')
-rw-r--r-- | nsh-plugin/nsh/nsh_test.c | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/nsh-plugin/nsh/nsh_test.c b/nsh-plugin/nsh/nsh_test.c index d3dabee..85b48d7 100644 --- a/nsh-plugin/nsh/nsh_test.c +++ b/nsh-plugin/nsh/nsh_test.c @@ -85,7 +85,8 @@ foreach_standard_reply_retval_handler; _(NSH_ADD_DEL_ENTRY_REPLY, nsh_add_del_entry_reply) \ _(NSH_ENTRY_DETAILS, nsh_entry_details) \ _(NSH_ADD_DEL_MAP_REPLY, nsh_add_del_map_reply) \ -_(NSH_MAP_DETAILS, nsh_map_details) +_(NSH_MAP_DETAILS, nsh_map_details) \ +_(CONTROL_PING_REPLY, control_ping_reply) /* M: construct, but don't yet send a message */ @@ -124,6 +125,42 @@ do { \ return -99; \ } while(0); + +static void vl_api_control_ping_reply_t_handler +(vl_api_control_ping_reply_t * mp) +{ + vat_main_t * vam = &vat_main; + i32 retval = ntohl(mp->retval); + if (vam->async_mode) { + vam->async_errors += (retval < 0); + } else { + vam->retval = retval; + vam->result_ready = 1; + } +} + +static void vl_api_control_ping_reply_t_handler_json +(vl_api_control_ping_reply_t * mp) +{ + vat_main_t * vam = &vat_main; + i32 retval = ntohl(mp->retval); + + if (VAT_JSON_NONE != vam->json_tree.type) { + vat_json_print(vam->ofp, &vam->json_tree); + vat_json_free(&vam->json_tree); + vam->json_tree.type = VAT_JSON_NONE; + } else { + /* just print [] */ + vat_json_init_array(&vam->json_tree); + vat_json_print(vam->ofp, &vam->json_tree); + vam->json_tree.type = VAT_JSON_NONE; + } + + vam->retval = retval; + vam->result_ready = 1; +} + + static int api_nsh_add_del_entry (vat_main_t * vam) { nsh_test_main_t * sm = &nsh_test_main; |