[dpdk-users] Issue in freeing and recreating mempools for Transmission
karthikraj.palanichamy at veryxtech.com
Fri Feb 17 11:14:14 CET 2017
I am using dpdk to develop a traffic generator (both rx and tx).
At the start, I will create a memory pool for Rx with default data room
size : RTE_MBUF_DEFAULT_BUF_SIZE.
For Tx, I will dynamically create memory pool based on the frame size to
To transmit 80 bytes frames, I configured (80 +/RTE_PKTMBUF_HEADROOM/).
There was no problem and transmission was successful.
I will do `rte_mempool_free()` once the transmission is over.
I will again create mem pool when transmission is again set ON.
So, my code flow is /: create mempool -> transmit pkts -> free mempool/
When I repeat this for 3 to 5 times, I get segmentation fault in the
transmission API of the PMD. - 'eth_igb_xmit_pkts' for igb PMD and
'ixgbe_xmit_pkts_vec()' for ixgbe PMD.
When I do /`rte_eth_dev_close()`/ and `rte_eth_dev_start()` after
freeing the mem pool, everything works fine.
But I couldn't afford to do `rte_eth_dev_close()` since Rx will be
running in parallel and Rx shouldn't be stopped.
I tried `rte_eth_dev_tx_queue_stop()` but issue persists.
Thanks in advance for any help.
DISCLAIMER: Privileged and/or Confidential information may be
contained in this message. If you are not the addressee of this message,
you may not copy, use or deliver this message to anyone. In such
event,you should destroy the message and kindly notify the sender by
It is understood that opinions or conclusions that do not relate to the
official business of the company are neither given nor endorsed by the
More information about the users