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 <qiud...@chinac.com> Signed-off-by: Jijiang Liu <liujiji...@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 8e7defc..bf8522e 100644 --- a/lib/dp-packet.c +++ b/lib/dp-packet.c @@ -131,6 +131,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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev