skip to main content
10.1145/2815675.2815692acmconferencesArticle/Chapter ViewAbstractPublication PagesimcConference Proceedingsconference-collections
research-article

MoonGen: A Scriptable High-Speed Packet Generator

Published:28 October 2015Publication History

ABSTRACT

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

References

  1. Nicola Bonelli, Andrea Di Pietro, Stefano Giordano, and Gregorio Procissi. Flexible High Performance Traffic Generation on Commodity Multi-Core Platforms. In Proceedings of the 4th International Conference on Traffic Monitoring and Analysis, pages 157--170. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alessio Botta, Alberto Dainotti, and Antonio Pescapé. Do You Trust Your Software-Based Traffic Generator? IEEE Communications Magazine, 48(9):158--165, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Scott Bradner and Jim McQuaid. Benchmarking Methodology for Network Interconnect Devices. RFC 2544 (Informational), March 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Adam Covington, Glen Gibb, John W. Lockwood, and Nick Mckeown. A Packet Generator on the NetFPGA Platform. In 17th IEEE Symposium on Field Programmable Custom Computing Machines, pages 235--238, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Paul Emmerich. MoonGen. https://github.com/emmericp/MoonGen.Google ScholarGoogle Scholar
  6. Sebastian Gallenmüller, Paul Emmerich, Florian Wohlfart, Daniel Raumer, and Georg Carle. Comparison of Frameworks for High-Performance Packet IO. In ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS 2015), May 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Luke Gorrie. Snabb Switch. https://github.com/SnabbCo/snabbswitch/.Google ScholarGoogle Scholar
  8. IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. IEEE 1588--2008, July 2008.Google ScholarGoogle Scholar
  9. IEEE. IEEE 802.3-2012 IEEE Standard for Ethernet Section Four, 2012.Google ScholarGoogle Scholar
  10. Intel. Intel Server Adapters - Linux ixgbe Base Driver. http://www.intel.com/support/network/adapter/pro100/sb/CS-032530.htm. Last visited 2015-08--24.Google ScholarGoogle Scholar
  11. Intel 82580EB Gigabit Ethernet Controller Datasheet Rev. 2.6. Intel, 2014.Google ScholarGoogle Scholar
  12. Intel 82599 10 GbE Controller Datasheet Rev. 2.76. Intel, 2012.Google ScholarGoogle Scholar
  13. Intel Ethernet Controller X540 Datasheet Rev. 2.7. Intel, 2014.Google ScholarGoogle Scholar
  14. Data Plane Development Kit. http://dpdk.org/. Last visited 2015-08-24.Google ScholarGoogle Scholar
  15. Intel Ethernet Controller XL710 Datasheet Rev. 2.1. Intel, December 2014.Google ScholarGoogle Scholar
  16. Product Brief - Intel Ethernet Controller XL710 10/40 GbE. Intel, 2014.Google ScholarGoogle Scholar
  17. NetFPGA. http://netfpga.org/. Last visited 2015-08-24.Google ScholarGoogle Scholar
  18. Ntop. PF_RING ZC (Zero Copy). http://www.ntop.org/products/pf_ring/pf_ring-zc-zero-copy/. Last visited 2015-04-28.Google ScholarGoogle Scholar
  19. Srivats P. ostinato. http://ostinato.org/. Last visited 2015-08-24.Google ScholarGoogle Scholar
  20. Mike Pall. LuaJIT. http://luajit.org/. Last visited 2015-08-24.Google ScholarGoogle Scholar
  21. Mike Pall. LuaJIT in realtime applications. http://www.freelists.org/post/luajit/LuaJIT-in-realtime-applications,3, July 2012. Mailing list post.Google ScholarGoogle Scholar
  22. Luigi Rizzo. The netmap project. http://info.iet.unipi.it/ luigi/netmap/. Last visited 2015-08-24.Google ScholarGoogle Scholar
  23. Luigi Rizzo. netmap: A Novel Framework for Fast Packet I/O. In USENIX Annual Technical Conference, pages 101--112, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Charalampos Rotsos, Nadi Sarrar, Steve Uhlig, Rob Sherwood, and Andrew W Moore. Oflops: An Open Framework for OpenFlow Switch Evaluation. In Passive and Active Measurement, pages 85--95. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Jamal Hadi Salim, Robert Olsson, and Alexey Kuznetsov. Beyond Softnet. In Proceedings of the 5th Annual Linux Showcase & Conference, volume 5, pages 18--18, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Joel Sommers and Paul Barford. Self-Configuring Network Traffic Generation. In Proceedings of the 4th ACM SIGCOMM Conference on Internet Measurement, IMC '04, pages 68--81, New York, NY, USA, 2004. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Keith Wiles. Pktgen-DPDK. http://github.com/Pktgen/Pktgen-DPDK/.Google ScholarGoogle Scholar
  28. Yinglin Yang, Sudeep Goswami, and Carl G. Hansen. 10GBASE-T Ecosystem is Ready for Broad Adoption, 2012. White paper.Google ScholarGoogle Scholar

Index Terms

  1. MoonGen: A Scriptable High-Speed Packet Generator

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        IMC '15: Proceedings of the 2015 Internet Measurement Conference
        October 2015
        550 pages
        ISBN:9781450338486
        DOI:10.1145/2815675

        Copyright © 2015 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 28 October 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        IMC '15 Paper Acceptance Rate31of96submissions,32%Overall Acceptance Rate277of1,083submissions,26%

        Upcoming Conference

        IMC '24
        ACM Internet Measurement Conference
        November 4 - 6, 2024
        Madrid , AA , Spain

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader