emmericp / MoonGen

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.
MIT License
1.04k stars 234 forks source link

Unable to generate more than 10 Mpps using 64 bytes packet #274

Open harshgondaliya opened 4 years ago

harshgondaliya commented 4 years ago

Hello,

I am using Intel Ethernet Server Adapter X520-DA2 on Dell Optiplex 9010 (Core i7) to generate 10G traffic with 64 bytes packets. On running l3-load-latency.lua with 64 bytes as packet size, I achieve the max throughput of 10 Mpps.

Topology: Two 10G ports from host PC are connected to two ports of NetFPGA SUME (programmed using P4 to do IPv4 forwarding).

I am not sure why I am unable to achieve the expected 14.88 Mpps throughput.

Is it because of the limitation of NetFPGA or of the host CPU that I am using? How can I achieve the ~14.88 Mpps(~10Gbps) rate for 64 bytes packet in my setup?

emmericp commented 4 years ago

can you try with l2-load-latency instead? Or try to use multiple threads. The bottleneck are UDP checksums on some systems (despite offloading)