diff options
Diffstat (limited to 'src/vlib/handoff_trace.c')
-rw-r--r-- | src/vlib/handoff_trace.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/vlib/handoff_trace.c b/src/vlib/handoff_trace.c index d268b565fe4..964c095b9f6 100644 --- a/src/vlib/handoff_trace.c +++ b/src/vlib/handoff_trace.c @@ -96,7 +96,7 @@ VLIB_REGISTER_NODE (handoff_trace_node, static) = }; /* *INDENT-ON* */ -void +int vlib_add_handoff_trace (vlib_main_t * vm, vlib_buffer_t * b) { u32 prev_thread = vlib_buffer_get_trace_thread (b); @@ -105,13 +105,15 @@ vlib_add_handoff_trace (vlib_main_t * vm, vlib_buffer_t * b) vlib_node_runtime_t *node = vlib_node_get_runtime (vm, handoff_trace_node.index); - vlib_trace_buffer (vm, node, 0 /* fake next frame index */ , - b, 1 /* folllow chain */ ); + if (PREDICT_FALSE + (!vlib_trace_buffer + (vm, node, 0 /* fake next frame index */ , b, 1 /* follow chain */ ))) + return 0; t = vlib_add_trace (vm, node, b, sizeof (*t)); - t->prev_thread = prev_thread; t->prev_trace_index = prev_trace_index; + return 1; } |