Vmxnet3 pmd
Hi, I Have a simple dpdk app - basically a KNI interface with the dpdk layer serving only as a pipeline.
This allows me to ping between vEth0 on different VM's works great with ixgbevf. Now I moved to ESXi5.5 , Ubuntu14.4 VM (Dpdk 1.7).
When running the same code* I've discovered that the polling doesn't retrieve any packets after vEth0 gents an IP. I've resolved this issue by removing the dev restart calls I had in the callback.
// rte_eth_dev_stop(port_id);
// ret = rte_eth_dev_start(port_id);Is this a know issue? how can I report a BUG if its not.
Thanks
Alex.
*Except this line I needed to add to setup the TXQ. tx_conf.txq_flags |= (ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS);
A message that is not in the archive (sent off-list or not yet received): CAKfHP0V4xx3mwg0dYMDFcQOVdN1BfBzuHfnT59KKFVy9LAz70Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Hi Alex,
This is known issue with dev_stop of vmxnet3_pmd. Vmxnet3_cmd_ring_release() routine calls rte_free(ring->buf_info), which should be reused instead. Because it's not being reallocated at dev_start, otherwise reallocation is needed. I've a patch that works for me, I'll submit it after some testing.
Thanks,
Rashmin
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Alex Markuze
Sent: Wednesday, August 13, 2014 3:14 AM
To: [email protected]
Subject: [dpdk-dev] Vmxnet3 pmd
Hi, I Have a simple dpdk app - basically a KNI interface with the dpdk layer serving only as a pipeline.
This allows me to ping between vEth0 on different VM's works great with ixgbevf.
Now I moved to ESXi5.5 , Ubuntu14.4 VM (Dpdk 1.7).
When running the same code* I've discovered that the polling doesn't retrieve any packets after vEth0 gents an IP. I've resolved this issue by removing the dev restart calls I had in the callback.
// rte_eth_dev_stop(port_id);
// ret = rte_eth_dev_start(port_id);Is this a know issue? how can I report a BUG if its not.
Thanks
Alex.
*Except this line I needed to add to setup the TXQ. tx_conf.txq_flags |= (ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS);
PATCH 1/1 vmxnet3: fix crash on stop
In reply to a message not in the archiveThe cmd_ring_release can be called twice if queue has already been released. This cause crash on shutdown.
lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c +1 -0
@@ -173,6 +173,7 @@ vmxnet3_cmd_ring_release(vmxnet3_cmd_rinvmxnet3_cmd_ring_adv_next2comp (ring); }rte_free (ring->buf_info); + ring->buf_info =NULL ; }void
Re: [PATCH] vmxnet3: fix crash on stop
lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c vmxnet3_cmd_ring_release(vmxnet3_cmd_rin · line 177
Quoted 11 lines
The
cmd_ring_releasecan be called twice if queue has already been released. This cause crash on shutdown.Signed-off-by Stephen Hemminger <[email protected]>lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c +1
-0@@ -173,6 +173,7 @@ vmxnet3_cmd_ring_release(vmxnet3_cmd_rinvmxnet3_cmd_ring_adv_next2comp (ring); }rte_free (ring->buf_info); + ring->buf_info =NULL ; }
Applied for version 1.7.1.
Thanks
Signature · 1 line
Thomas