X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibapi%2Fapi_shared.c;h=cee9cd54f5f6687c79574b4f665fa92c8de5d29a;hb=75f9fb6c16a749d80a1ae020d6cf7f2b222f757c;hp=07abe3e27598952a59b375cc21e424580683da6a;hpb=ef71ef0ac31895a66c678f84533c8699e4b0328d;p=vpp.git diff --git a/src/vlibapi/api_shared.c b/src/vlibapi/api_shared.c index 07abe3e2759..cee9cd54f5f 100644 --- a/src/vlibapi/api_shared.c +++ b/src/vlibapi/api_shared.c @@ -466,6 +466,7 @@ vl_msg_api_handler_with_vm_node (api_main_t * am, { u16 id = ntohs (*((u16 *) the_msg)); u8 *(*handler) (void *, void *, void *); + u8 *(*print_fp) (void *, void *); if (PREDICT_FALSE (vm->elog_trace_api_messages)) { @@ -491,9 +492,23 @@ vl_msg_api_handler_with_vm_node (api_main_t * am, { handler = (void *) am->msg_handlers[id]; - if (am->rx_trace && am->rx_trace->enabled) + if (PREDICT_FALSE (am->rx_trace && am->rx_trace->enabled)) vl_msg_api_trace (am, am->rx_trace, the_msg); + if (PREDICT_FALSE (am->msg_print_flag)) + { + fformat (stdout, "[%d]: %s\n", id, am->msg_names[id]); + print_fp = (void *) am->msg_print_handlers[id]; + if (print_fp == 0) + { + fformat (stdout, " [no registered print fn for msg %d]\n", id); + } + else + { + (*print_fp) (the_msg, vm); + } + } + if (!am->is_mp_safe[id]) { vl_msg_api_barrier_trace_context (am->msg_names[id]);