lacp: continuing input packet trace from device driver 08/21608/1
authorSteven Luong <sluong@cisco.com>
Thu, 29 Aug 2019 16:50:28 +0000 (09:50 -0700)
committerSteven Luong <sluong@cisco.com>
Thu, 29 Aug 2019 16:54:31 +0000 (09:54 -0700)
lacp gets the packet from the device driver. Let's continue the input
packet trace's trajectory instead of restarting it in lacp-input.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I4d4537e050742a23f74287086d38d39673ebd60f

src/plugins/lacp/node.c

index 1a5cb45..4f78880 100644 (file)
@@ -68,7 +68,6 @@ lacp_node_fn (vlib_main_t * vm,
 {
   u32 n_left_from, *from;
   lacp_input_trace_t *t0;
-  uword n_trace = vlib_get_trace_count (vm, node);
 
   from = vlib_frame_vector_args (frame);       /* array of buffer indices */
   n_left_from = frame->n_vectors;      /* number of buffer indices */
@@ -89,12 +88,10 @@ lacp_node_fn (vlib_main_t * vm,
       b0->error = node->errors[error0];
 
       /* If this pkt is traced, snapshoot the data */
-      if (PREDICT_FALSE (n_trace > 0))
+      if (PREDICT_FALSE (node->flags & VLIB_NODE_FLAG_TRACE))
        {
          int len;
-         vlib_trace_buffer (vm, node, next0, b0,
-                            /* follow_chain */ 0);
-         vlib_set_trace_count (vm, node, --n_trace);
+
          t0 = vlib_add_trace (vm, node, b0, sizeof (*t0));
          len = (b0->current_length < sizeof (t0->pkt))
            ? b0->current_length : sizeof (t0->pkt);