MoonGen: A Scriptable High-Speed Packet Generator

By Paul Emmerich, Sebastian Gallenmüller, F. Wohlfart, Daniel Raumer, Georg Carle. ACM/SIGCOMM Internet Measurement Conference, 2014

433 citations recorded by the source corpus.

We present MoonGen, a flexible high-speed packet generator. It can saturate 10 GbE links with minimum-sized packets while using only a single CPU core by running on top of the packet processing framework DPDK. Linear multi-core scaling allows for even higher rates: We have tested MoonGen with up to 178.5 Mpps at 120 Gbit/s. Moving the whole packet generation logic into user-controlled Lua scripts allows us to achieve the highest possible flexibility. In addition, we utilize hardware features of commodity NICs that have not been used for packet generators previously. A key feature is the measurement of latency with sub-microsecond precision and accuracy by using hardware timestamping capabilities of modern commodity NICs. We address timing issues with software-based packet generators and apply methods to mitigate them with both hardware support and with a novel method to control the inter-packet gap in software. Features that were previously only possible with hardware-based solutions are now provided by MoonGen on commodity hardware. MoonGen is available as free software under the MIT license in our git repository at https://github.com/emmericp/MoonGen

Subfields: Computer Networks and Communications, Electrical and Electronic Engineering

View Paper: https://www.semanticscholar.org/paper/89a69d2e1eccb56ba05ccb34b54725c73181822c

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. N. Feamster
  2. Jennifer Rexford
  3. Walter Willinger
  4. Marco Canini
  5. Danda B. Rawat
  6. S. Reddy
  7. Mosharaf Chowdhury
  8. Raouf Boutaba

In Electrical and Electronic Engineering

  1. Marco Canini
  2. Jennifer Rexford
  3. N. Feamster

Citations in the corpus