MoonGen: A scriptable high-speed packet generator

Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, Georg Carle

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

308 Scopus citations

Abstract

We present MoonGen, a flexible high-speed packet generator. It can saturate 10GbE links with minimum-sized packets while using only a single CPU core by running on top of the packet processing framework DPDK. Linear multicore scaling allows for even higher rates: We have tested MoonGen with up to 178.5 Mpps at 120Gbit/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.

Original languageEnglish
Title of host publicationIMC 2015 - Proceedings of the 2015 ACM Internet Measurement Conference
PublisherAssociation for Computing Machinery
Pages275-287
Number of pages13
ISBN (Electronic)9781450338486
DOIs
StatePublished - 28 Oct 2015
EventACM Internet Measurement Conference, IMC 2015 - Tokyo, Japan
Duration: 28 Oct 201530 Oct 2015

Publication series

NameProceedings of the ACM SIGCOMM Internet Measurement Conference, IMC
Volume2015-October

Conference

ConferenceACM Internet Measurement Conference, IMC 2015
Country/TerritoryJapan
CityTokyo
Period28/10/1530/10/15

Keywords

  • DPDK
  • Lua
  • Packet generation
  • User space networking

Fingerprint

Dive into the research topics of 'MoonGen: A scriptable high-speed packet generator'. Together they form a unique fingerprint.

Cite this