Init rte_mbuf length fields in af_packet driver 41/741/2
authorDamjan Marion <damarion@cisco.com>
Tue, 12 Apr 2016 03:33:06 +0000 (05:33 +0200)
committerGerrit Code Review <gerrit@fd.io>
Thu, 14 Apr 2016 23:29:04 +0000 (23:29 +0000)
Change-Id: I30cdad9585c1457c0d8ceecb3e5110ad40740021
Signed-off-by: Damjan Marion <damarion@cisco.com>
vnet/vnet/devices/af_packet/node.c

index 1739cb3..9c1c4a3 100644 (file)
@@ -188,6 +188,11 @@ af_packet_device_input_fn  (vlib_main_t * vm, vlib_node_runtime_t * node,
 
              if (offset == 0)
                {
+#if DPDK > 0
+                 struct rte_mbuf * mb = rte_mbuf_from_vlib_buffer(b0);
+                 rte_pktmbuf_data_len (mb) = b0->current_length;
+                 rte_pktmbuf_pkt_len (mb) = b0->current_length;
+#endif
                  b0->total_length_not_including_first_buffer = 0;
                  b0->flags = VLIB_BUFFER_TOTAL_LENGTH_VALID;
                  vnet_buffer(b0)->sw_if_index[VLIB_RX] = apif->sw_if_index;