Thanks to everyone who joined us for our DemoFriday™ on May 23 when 6WIND and Red Hat teamed up to show how to build network functions virtualization infrastructure (NFVI) and eliminate network bottlenecks when transitioning to software-based NFV.
Yann Rapaport, 6WIND product manager, and Red Hat’s Glenn Rudolph, global partner and alliances ISV, demonstrated how to build high-performance networking applications using standard Linux OSs, hypervisors, and management without modifying existing architecture. Following the demo, the panelists took questions from participants. You can read that Q&A below, watch the full presentation, or check out the teaser video and other resources below.
What hardware platforms does 6WINDGate support?
6WIND supports major hardware platforms such as Intel, Cavium, Broadcom, and Tilera. In addition, on Intel platforms, 6WIND provides multivendor support such as Mellanox with the ConnectX-3 Pro PMD or Cavium with Nitrox crypto.
For your Accelerated Open vSwitch solution, does 6WINDGate require any changes to Open vSwitch?
As 6WINDGate™ relies on standard Linux mechanisms, it is fully transparent and does not require any changes to Open vSwitch, or the OS, hypervisor, management, or OpenFlow controller.
Does 6WINDGate require any change to Linux?
6WINDGate relies on standard Linux mechanisms that are part of any Linux kernel and as such does not require any change to Linux or its applications.
With 6WINDGate, what sort of performance should customers expect when transitioning from physical appliances to network functions virtualization?
By offloading packet processing from the Linux networking stack, and thanks to a very efficient fast-path implementation, 6WINDGate provides more than 10x Linux packet processing performance. We have developed virtual switch acceleration and very efficient Fast vNIC drivers to make sure that this remains true in both physical and virtual environments.
Does “6WIND DPDK” mean 6WIND is using the DPDK API?
It means “DPDK” that is provided, extended, and supported by 6WIND. The 6WINDGate packet processing software implements a complete, high performance, ready-to-use networking stack on top of the Intel DPDK without the need to modify existing Linux applications, in both physical and virtual environments. In addition, 6WIND delivers a number of value-added enhancements to the DPDK library that provide increased system functionality and performance compared to the baseline software. This includes add-ons for crypto support and third-party network interface cards (NICs).
Isn’t DPDK supposed to bypass the host/hypervisor networking stack and OVS?
Exactly. 6WINDGate runs in user space on the host side, linked with DPDK APIs, and bypasses the Linux networking stack. But contrary to the raw DPDK, 6WINDGate provides a complete networking stack, transparently synchronized and integrated with Linux, so that no modification is needed to existing Linux applications or management tools.
Is PMD similar to NAPI?
NAPI polls packets in kernel space and therefore suffers from the Linux kernel’s performance bottlenecks. A DPDK poll mode driver (PMD) polls packets in user space independently from the Linux kernel, which allows for much higher performance.
Can you explain what configurations you do to OVS?
OpenFlow rules based on destination MAC address are configured through a standard OpenFlow controller. As the same 17-tuple is used whatever the format of the rules, the performance is the same, independently of the complexity of the rules.
What is the VM-Host I/O virtualization method that you are using for the demo?
KVM is used with the 6WINDGate DPDK add-on Fast vNIC PMD to achieve more than 10 times the performance of a standard vNIC such as Virtio. Compared to PCI passthrough (with or without SR-IOV), the Fast vNIC PMD also does not suffer from the PCI bandwidth bottleneck and scalability issues in terms of number of VMs.
Is 6WINDGate a replacement for OVS or does it co-exists with OVS?
6WINDGate runs transparently with OVS. No change is required.
Our application modifies OVS to add our own extensions. How difficult would it be to integrate our extensions into the 6WIND environment?
6WINDGate can be provided as source code for users who need to make their own modifications. 6WINDGate is written in C and designed to be extensible with well-documented APIs.
Does 6WIND’s Stack provide an API to develop NFV applications?
6WINDGate provides a large set of Layer 2-4 networking protocols including IP forwarding, IPsec, TCP/UDP termination, Open vSwitch acceleration and more. 6WINDGate can be provided as source code for users who need to make their own modifications. 6WINDGate is written in C and designed to be extensible with well-documented APIs.
Are the quoted performance numbers for a single static flow?
Several flows are used to leverage multiple cores using RSS. In the demo, 10 different flows are used in both directions.
Can you please discuss the fast-path portion in the virtual machine?
6WINDGate in the virtual machine combines the DPDK with the 6WINDGate Fast vNIC PMD and the 6WINDGate fast-path IP forwarding module to offload packet processing from Linux in the VM.
Does an app require 6WIND code or is it all contained in the hypervisor?
By using the Fast vNIC Linux driver, existing VNFs do not need to be modified to benefit from the 6WINDGate-accelerated hypervisor. To get the highest performance, one should use the Fast vNIC PMD and 6WINDGate fast path in the VM (as is the case in the demo).