Fix typo in nat44_cli.c:nat_ha_failover_command_fn.
[vpp.git] / src / vnet / pg / input.c
index 138a575..7171bbd 100644 (file)
@@ -1108,7 +1108,7 @@ init_buffers_inline (vlib_main_t * vm,
        vnet_buffer (b1)->sw_if_index[VLIB_RX] = s->sw_if_index[VLIB_RX];
 
       vnet_buffer (b0)->sw_if_index[VLIB_TX] =
-       vnet_buffer (b1)->sw_if_index[VLIB_TX] = (u32) ~ 0;
+       vnet_buffer (b1)->sw_if_index[VLIB_TX] = s->sw_if_index[VLIB_TX];
 
       if (set_data)
        {
@@ -1133,8 +1133,7 @@ init_buffers_inline (vlib_main_t * vm,
 
       b0 = vlib_get_buffer (vm, bi0);
       vnet_buffer (b0)->sw_if_index[VLIB_RX] = s->sw_if_index[VLIB_RX];
-      /* s->sw_if_index[VLIB_TX]; */
-      vnet_buffer (b0)->sw_if_index[VLIB_TX] = (u32) ~ 0;
+      vnet_buffer (b0)->sw_if_index[VLIB_TX] = s->sw_if_index[VLIB_TX];
 
       if (set_data)
        clib_memcpy_fast (b0->data, data, n_data);
@@ -1266,7 +1265,7 @@ pg_stream_fill_replay (pg_main_t * pg, pg_stream_t * s, u32 n_alloc)
          b = vlib_get_buffer (vm, buffers[current_buffer_index]);
          clib_memcpy_fast (b->data, d0 + data_offset, bytes_this_chunk);
          vnet_buffer (b)->sw_if_index[VLIB_RX] = s->sw_if_index[VLIB_RX];
-         vnet_buffer (b)->sw_if_index[VLIB_TX] = (u32) ~ 0;
+         vnet_buffer (b)->sw_if_index[VLIB_TX] = s->sw_if_index[VLIB_TX];
          b->flags = 0;
          b->next_buffer = 0;
          b->current_data = 0;
@@ -1450,16 +1449,14 @@ format_pg_input_trace (u8 * s, va_list * va)
 
 static void
 pg_input_trace (pg_main_t * pg,
-               vlib_node_runtime_t * node,
-               pg_stream_t * s, u32 * buffers, u32 n_buffers)
+               vlib_node_runtime_t * node, u32 stream_index, u32 next_index,
+               u32 * buffers, u32 n_buffers)
 {
   vlib_main_t *vm = vlib_get_main ();
-  u32 *b, n_left, stream_index, next_index;
+  u32 *b, n_left;
 
   n_left = n_buffers;
   b = buffers;
-  stream_index = s - pg->streams;
-  next_index = s->next_index;
 
   while (n_left >= 2)
     {
@@ -1577,6 +1574,7 @@ pg_generate_packets (vlib_node_runtime_t * node,
          pi = pool_elt_at_index (pg->interfaces, s->pg_if_index);
          ef->sw_if_index = pi->sw_if_index;
          ef->hw_if_index = pi->hw_if_index;
+         vlib_frame_no_append (f);
        }
       else
        vlib_get_next_frame (vm, node, next_index, to_next, n_left);
@@ -1621,7 +1619,7 @@ pg_generate_packets (vlib_node_runtime_t * node,
       if (n_trace > 0)
        {
          u32 n = clib_min (n_trace, n_this_frame);
-         pg_input_trace (pg, node, s, to_next, n);
+         pg_input_trace (pg, node, s - pg->streams, next_index, to_next, n);
          vlib_set_trace_count (vm, node, n_trace - n);
        }
       n_packets_to_generate -= n_this_frame;
@@ -1632,7 +1630,7 @@ pg_generate_packets (vlib_node_runtime_t * node,
          int i;
          vlib_buffer_t *b;
 
-         for (i = 0; i < VLIB_FRAME_SIZE - n_left; i++)
+         for (i = 0; i < n_this_frame; i++)
            {
              b = vlib_get_buffer (vm, to_next[i]);
              ASSERT ((b->flags & VLIB_BUFFER_NEXT_PRESENT) == 0 ||