tap: fix the total length of packet for stats byte 44/20244/3
authorMohsin Kazmi <sykazmi@cisco.com>
Wed, 19 Jun 2019 18:25:37 +0000 (20:25 +0200)
committerDamjan Marion <dmarion@me.com>
Thu, 20 Jun 2019 03:43:28 +0000 (03:43 +0000)
Type: fix
Fixes: 8389fb9

Change-Id: I31076db78507736631609146d4cca28597aca704
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
src/vnet/devices/virtio/node.c

index 686d90c..4602d56 100644 (file)
@@ -313,12 +313,12 @@ virtio_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
            {
              virtio_input_trace_t *tr;
              vlib_trace_buffer (vm, node, next0, b0,
-                                /* follow_chain */ 0);
+                                /* follow_chain */ 1);
              vlib_set_trace_count (vm, node, --n_trace);
              tr = vlib_add_trace (vm, node, b0, sizeof (*tr));
              tr->next_index = next0;
              tr->hw_if_index = vif->hw_if_index;
-             tr->len = len;
+             tr->len = len + b0->total_length_not_including_first_buffer;
              clib_memcpy_fast (&tr->hdr, hdr, hdr_sz);
            }
 
@@ -336,7 +336,7 @@ virtio_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
 
          /* next packet */
          n_rx_packets++;
-         n_rx_bytes += len;
+         n_rx_bytes += (len + b0->total_length_not_including_first_buffer);
        }
       vlib_put_next_frame (vm, node, next_index, n_left_to_next);
     }