Hello Stephen,

Thank you for response, it helps me a lot. I understand problem better. 

After reading mbuf library (https://doc.dpdk.org/guides/prog_guide/mempool_lib.html)  i realized that 31 units allocation memory slot doesn't return to pool!

1 unit mbuf can be freed via rte_pktmbuf_free so it can back to pool.

Main problem is that allocation doesn't return to original pool, act as used. So, after following rte_pktmbuf_free function, i realized that there is 2 function to helps to mbufs back to pool.

These are rte_mbuf_raw_free and rte_pktmbuf_free_seg. I will focus on them.

If there is another suggestion, I will be very pleased. 

Best regards.

Yasin CANER
Ulak