The Open vSwitch (OVS) is the most popular server-based virtual networking switch, and likely the most deployed switch overall after the Broadcom Trident hardware switch chips used in TOR switches. In fact, based on a recent survey from the OpenStack community, OVS is used in more than 60% of their installations. Hardware switch chips have been in existence much longer than OVS and hence test tools for benchmarking switches have been geared toward fixed function and high performance hardware switches. Test tools used with hardware switches are hardware-based, focused on high speed packet generation so that line rate terabits per second (Tb/s) performance and low port-to-port latency can be measured with accurate timestamps. These hardware tools are expensive and are proprietary. OVS is open source, runs on COTS servers that are cheaper and run open source operating systems; it has changed the game in how network services are delivered in a distributed fashion for NFV and SDN applications. How switches in server-based networking get benchmarked – in an open, cheap and flexible way – is the next frontier.
As with traditional hardware switches, hardware-based packet generators are fast, but lack flexibility. Data center traffic patterns are evolving rapidly. With OVS, networking services are delivered close to the applications in servers and such services are based on flow processing concepts that are commonly used for security, load balancing, telemetry and other applications. While is it important to generate packets at high speeds, it is equally important to generate traffic and burst patterns that adequately reflect real life data center traffic.
MoonGen is a high-speed packet generator built on DPDK and LUA-based scripting. It is designed for benchmarking server-based networking data planes such as OVS and can saturate 10 to 50 Gb/s connections at small packet sizes (or 30Mpps) utilizing one to eight x86 CPU cores in COTS servers. This level of performance is adequate for modern data center servers. MoonGen can execute user-provided LUA scripts to generate traffic and burst patterns that more realistically approximate real world traffic seen in live networks. Finally, open source MoonGen running on COTS servers is much cheaper than hardware-based and proprietary traffic generators. In the world of virtual switch benchmarking, this makes OVS and MoonGen go together like bread and butter.
The OVS, executing in a server, forms the foundation for delivering networking services to VNFs in a scalable and cost-effective way. The OPNFV community has aptly chosen MoonGen as a test tool for benchmarking VNFs with OVS. The OPNFV is driving VSPERF benchmarks specifically designed for benchmarking virtual switches through development of appropriate and purpose-built traffic generators in the open source community.
At Netronome, we have been benchmarking hardware-accelerated OVS on the Agilio server networking platform, executing on joint proof-of-concepts with leading data center operators and OEMs. We have invested many hundred person years to date benchmarking OVS in our labs and at customer labs. We ran into challenges, finding existing traffic generators inadequate in many areas: lack of openness, high cost, inadequate performance and lack of flexibility. The evolution of MoonGen and VSPERF in the OPNFV community is very encouraging. Netronome is actively making contributions to the MoonGen and VSPERF open source projects.
Specifically, we made recent contributions in two areas:
1. Submitted patches to the MoonGen project to enable the test tools to work with SmartNICs that offload the entire OVS datapath, delivering up to 28Mpps of OVS performance using only one x86 CPU core. We plan to extend this to support Contrail vRouter in the near future.
2. Contributed LUA scripts that can been used with MoonGen to generate traffic and burst patterns that more realistically approximate real world traffic commonly seen in live networks. These comprehensive scripts have been developed over many months with significant R&D investments by Netronome and its customers.
Come visit us at the OPNFV Summit in Berlin in booth C15, to learn more about our work around open source projects such as OVS, Contrail vRouter, OpenStack, MoonGen and others.