Skip to contentSkip to conversation

Vmxnet3 pmd

PATCH In review Alex Markuze 4 participants 4 messages Aug 13, 2014 – Aug 29, 2014 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

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

#2 lore raw

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);

Acked-by on v1 1/1
#4 lore raw

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_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_rin
 		vmxnet3_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