nsim: fix quad-loop packet trace 11/25111/2
authorDave Barach <dave@barachs.net>
Thu, 13 Feb 2020 15:08:01 +0000 (10:08 -0500)
committerDave Barach <openvpp@barachs.net>
Thu, 13 Feb 2020 23:48:36 +0000 (23:48 +0000)
Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I756170bd799d1f482186cbb4b5dff9373ae6e08f

src/plugins/nsim/node.c

index 96a712c..57afbd2 100644 (file)
@@ -179,16 +179,15 @@ nsim_inline (vlib_main_t * vm,
          ep->buffer_index = from[0];
          buffered++;
        }
-
       if (is_trace)
        {
-         if (b[1]->flags & VLIB_BUFFER_IS_TRACED)
+         if (b[0]->flags & VLIB_BUFFER_IS_TRACED)
            {
-             nsim_trace_t *t = vlib_add_trace (vm, node, b[1], sizeof (*t));
+             nsim_trace_t *t = vlib_add_trace (vm, node, b[0], sizeof (*t));
              t->expires = expires;
-             t->is_drop = is_drop[1];
-             t->is_lost = b[1]->error == loss_error;
-             t->tx_sw_if_index = (is_drop[1] == 0) ? ep->tx_sw_if_index : 0;
+             t->is_drop = is_drop[0];
+             t->is_lost = b[0]->error == loss_error;
+             t->tx_sw_if_index = (is_drop[0] == 0) ? ep->tx_sw_if_index : 0;
            }
        }
 
@@ -224,15 +223,16 @@ nsim_inline (vlib_main_t * vm,
 
       if (is_trace)
        {
-         if (b[2]->flags & VLIB_BUFFER_IS_TRACED)
+         if (b[1]->flags & VLIB_BUFFER_IS_TRACED)
            {
-             nsim_trace_t *t = vlib_add_trace (vm, node, b[2], sizeof (*t));
+             nsim_trace_t *t = vlib_add_trace (vm, node, b[1], sizeof (*t));
              t->expires = expires;
-             t->is_drop = is_drop[2];
-             t->is_lost = b[2]->error == loss_error;
-             t->tx_sw_if_index = (is_drop[2] == 0) ? ep->tx_sw_if_index : 0;
+             t->is_drop = is_drop[1];
+             t->is_lost = b[1]->error == loss_error;
+             t->tx_sw_if_index = (is_drop[1] == 0) ? ep->tx_sw_if_index : 0;
            }
        }
+
       if (PREDICT_TRUE (is_drop[2] == 0))
        {
          ep = wp->entries + wp->tail;
@@ -274,6 +274,7 @@ nsim_inline (vlib_main_t * vm,
              t->tx_sw_if_index = (is_drop[2] == 0) ? ep->tx_sw_if_index : 0;
            }
        }
+
       if (PREDICT_TRUE (is_drop[3] == 0))
        {
          ep = wp->entries + wp->tail;