[ovs-dev] [PATCH 1/5] lib/dp-packet: init the mbuf to zero when build with DPDK

Michael Qiu qdy220091330 at gmail.com
Mon Jun 19 05:28:59 UTC 2017


From: Michael Qiu <qiudayu at chinac.com>

When building with DPDK, and using xmalloc() to get a new packet,
field mbuf of the packet will not be initialized, but it's very important for
DPDK port when copying the data to DPDK mbuf, because if ol_flags
and other info are random values, DPDK driver may hang.

Signed-off-by: Michael Qiu <qiudayu at chinac.com>
---
 lib/dp-packet.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/dp-packet.c b/lib/dp-packet.c
index 67aa406..ee2c449 100644
--- a/lib/dp-packet.c
+++ b/lib/dp-packet.c
@@ -134,6 +134,9 @@ struct dp_packet *
 dp_packet_new(size_t size)
 {
     struct dp_packet *b = xmalloc(sizeof *b);
+#ifdef DPDK_NETDEV
+    memset(&(b->mbuf), 0, sizeof(struct rte_mbuf));
+#endif
     dp_packet_init(b, size);
     return b;
 }
-- 
1.8.3.1



More information about the dev mailing list