Hi all, I am a newbie to DPDK and in one of the applications I am building , I am trying to capture more than 150M packets and save them to file. I noticed that with packet count > 134M, the check 'count > RTE_RING_SZ_MASK' fails as RTE_RING_SZ_MASK is set to 0x0FFFFFFF. So I tried changing RTE_RING_SZ_MASK to 0x7FFFFFFF and it took me past the check 'count > RTE_RING_SZ_MASK' and the DPDK booted successfully. No error messages. But when I try to save the packets captured in memory pool into the file, I notice that it fails(my application exits without any error message) to write beyond a number of packets.
I noticed that this failure to write packets happens only when I change the RTE_RING_SZ_MASK to 0x7FFFFFFF from original value 0x0FFFFFFF. I have below questions to understand this further. *1) Why is RTE_RING_SZ_MASK set to 0x0FFFFFFF. Why are the 4 bits left unused? Is it because ring size shouldn't exceed 2 power 32?2) If yes to above question, can anybody please explain why ring size can't exceed 2 power 32 as ssize_t can hold more than 2 power 32? * *3) What should be the approach if we want to capture more than 200M(200,000,000) packets? * Thanks in Advance venky