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