Init rte_mbuf length fields in af_packet driver
[vpp.git] / 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;