I am trying to control precisely packet spacing on an Intel X710 NIC using DPDK i40e poll mode driver. To do so i just try the naive way : the software loop asks for a packet burst of 1 packet every 10us (i'm working around 1 Gbps with packets of size 1400). But what i'm seeing on the other side is bursts of around 10 packets (precisely around 9 packets spaced by ~2us, then 1 spaced by ~100us).
I have also tried to push more packets each time, using 5 packets bursts and spacing calls by 50us, but the result seems to be the same.
I know that controlling packet gap in software can be tricky, but i was wondering if anyone had some ideas on how to improve the behaviour (i could be very happy with bursts of 3-4 packets spaced by 30-40us).
I have also read this paper on the subject : https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/MoonGen_IMC2015.pdf https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/MoonGen_IMC2015.pdf but sadly i cannot use tx queue rate control on i40e (only available on ixgbe), so i can't tell if this could be a solution. I am currently evaluating the "fill gaps with bad packets" solution, but it is more a dirty hack to me than a proper solution.
Finally, i am not familiar on how the NIC is supposed to behave on the matter. Maybe this NIC is not ideal for what i'm trying to do, and an other one could be better.
Any advice is welcome
Thank you for the inquiry. For question that involves DPDK, you can visit the http://premier.intel.com/premier or access your IBL account and click the Intel® Premier Support link to enter issues under the Product Name "Data Plane Development Kit (DPDK)", then this will be routed to our support team. Thanks.