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.05k
stars
235
forks
source link
Rate Limiting in MoonGen Simple vs Example Scripts #299
When I run moon-gen simple, I can successfully set a rate limit. However, when I use the scripts in sxample folder, it gives me the warning
[WARN] Per-queue rate limit is not supported on this device, setting per-device rate limit to 1 Mbit/s instead (note: this may fail as well if the NIC doesn't support any rate limiting).
and does not set the rate. If the problem was my NIC, then moongen-simple should also not set the rate.
`sudo ./build/MoonGen examples/l3-tcp-syn-flood.lua 0 -r 10
[INFO] Initializing DPDK. This will take a few seconds...
EAL: Detected 32 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL: probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:04:00.1 on NUMA socket 0
EAL: probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:06:00.0 on NUMA socket 0
EAL: probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:06:00.1 on NUMA socket 0
EAL: probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:06:00.2 on NUMA socket 0
EAL: probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:06:00.3 on NUMA socket 0
EAL: probe driver: 8086:1572 net_i40e
[INFO] Found 1 usable devices:
Device 0: 3C:FD:FE:05:94:C2 (Intel Corporation Ethernet Controller X710 for 10GbE SFP+)
[INFO] Device 0 (3C:FD:FE:05:94:C2) is up: 10000 MBit/s
[WARN] Per-queue rate limit is not supported on this device, setting per-device rate limit to 10 Mbit/s instead (note: this may fail as well if the NIC doesn't support any rate limiting).
[INFO] Detected an IPv4 address.
Hi,
When I run moon-gen simple, I can successfully set a rate limit. However, when I use the scripts in sxample folder, it gives me the warning [WARN] Per-queue rate limit is not supported on this device, setting per-device rate limit to 1 Mbit/s instead (note: this may fail as well if the NIC doesn't support any rate limiting).
and does not set the rate. If the problem was my NIC, then moongen-simple should also not set the rate.
`sudo ./build/MoonGen examples/l3-tcp-syn-flood.lua 0 -r 10 [INFO] Initializing DPDK. This will take a few seconds... EAL: Detected 32 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: PCI device 0000:04:00.0 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device 0000:04:00.1 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device 0000:06:00.0 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.1 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.2 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.3 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e [INFO] Found 1 usable devices: Device 0: 3C:FD:FE:05:94:C2 (Intel Corporation Ethernet Controller X710 for 10GbE SFP+) [INFO] Device 0 (3C:FD:FE:05:94:C2) is up: 10000 MBit/s [WARN] Per-queue rate limit is not supported on this device, setting per-device rate limit to 10 Mbit/s instead (note: this may fail as well if the NIC doesn't support any rate limiting). [INFO] Detected an IPv4 address.
[Device: id=0] TX: 14.84 Mpps, 7597 Mbit/s (9972 Mbit/s with framing) [Device: id=0] TX: 14.60 Mpps, 7476 Mbit/s (9812 Mbit/s with framing) [Device: id=0] TX: 14.86 Mpps, 7609 Mbit/s (9986 Mbit/s with framing) [Device: id=0] TX: 14.85 Mpps, 7604 Mbit/s (9981 Mbit/s with framing) [Device: id=0] TX: 14.85 Mpps, 7604 Mbit/s (9981 Mbit/s with framing)`
and with moon-gen simple I get:
sudo ./moongen-simple start tcp-syn-flood4:0:0:rate=10mbit/s [INFO] Initializing DPDK. This will take a few seconds... EAL: Detected 32 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: PCI device 0000:04:00.0 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device 0000:04:00.1 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device 0000:06:00.0 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.1 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.2 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:06:00.3 on NUMA socket 0 EAL: probe driver: 8086:1572 net_i40e [INFO] Found 1 usable devices: Device 0: 3C:FD:FE:05:94:C2 (Intel Corporation Ethernet Controller X710 for 10GbE SFP+) [INFO] Flow tcp-syn-flood4 => 0x1 [INFO] Waiting for devices to come up... [INFO] Device 0 (3C:FD:FE:05:94:C2) is up: 10000 MBit/s [INFO] 1 device is up. [Device: id=0] TX: 0.02 Mpps, 10 Mbit/s (13 Mbit/s with framing) [Device: id=0] RX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Flow: dev=0 uid=0x1] TX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Flow: dev=0 uid=?] RX: 0.02 Mpps, 9 Mbit/s (12 Mbit/s with framing) [Device: id=0] TX: 0.02 Mpps, 10 Mbit/s (13 Mbit/s with framing) [Flow: dev=0 uid=?] RX: 0.02 Mpps, 9 Mbit/s (12 Mbit/s with framing) [Device: id=0] RX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Flow: dev=0 uid=0x1] TX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Device: id=0] TX: 0.02 Mpps, 10 Mbit/s (13 Mbit/s with framing) [Flow: dev=0 uid=?] RX: 0.02 Mpps, 9 Mbit/s (12 Mbit/s with framing) [Flow: dev=0 uid=0x1] TX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Device: id=0] RX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Device: id=0] TX: 0.02 Mpps, 10 Mbit/s (13 Mbit/s with framing) [Flow: dev=0 uid=?] RX: 0.02 Mpps, 9 Mbit/s (12 Mbit/s with framing) [Flow: dev=0 uid=0x1] TX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Device: id=0] RX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) ^C[Flow: dev=0 uid=?] RX: 0.02 (StdDev 0.00) Mpps, 9 (StdDev 0) Mbit/s (12 Mbit/s with framing), total 86670 packets with 5546880 bytes (incl. CRC) [Flow: dev=0 uid=0x1] TX: 0.00 (StdDev 0.00) Mpps, 0 (StdDev 0) Mbit/s (0 Mbit/s with framing), total 0 packets with 0 bytes (incl. CRC) [Device: id=0] TX: 0.02 (StdDev 0.00) Mpps, 10 (StdDev 0) Mbit/s (13 Mbit/s with framing), total 86720 packets with 5896960 bytes (incl. CRC) [Device: id=0] RX: 0.00 (StdDev 0.00) Mpps, 0 (StdDev 0) Mbit/s (0 Mbit/s with framing), total 0 packets with 0 bytes (incl. CRC)