The OpenContrail system enables OpenStack to support virtual networks that span across datacenters, using a vRouter software dataplane component. However, running the dataplane purely within the hypervisor can have a significant CPU and memory bandwidth cost.
We describe how a programmable NIC (SmartNIC) can accelerate the dataplane by offloading the routing function and directly delivering traffic into and out of VMs. With the concept of “representative interfaces” and a vendor-neutral offload API, the presence of hardware acceleration can be almost transparent to the orchestration and management layers.
This new approach requires OpenStack to treat VM and hardware interfaces differently from those of traditional NICs. We examine the tradeoffs of various acceleration architectures, and the implications of SmartNICs to OpenStack architecture. The resulting system offers the flexibility of software while improving on the resource usage and performance of traditional hardware.
This presentation will describe the approach the accelerated vRouter team took, and issues encountered, in offloading Contrail vRouter to a SmartNIC. This includes:
- Hardware acceleration model for OpenStack networking. This model applies to OpenContrail, OVS, or any other vRouter/vSwitch based datacenter
- The concept of “representative interfaces” will be examined in their use with hardware offload and Contrail vRouter OpenStack integration
- Novel Contrail vRouter hardware offload API
- Criteria for choosing Contrail vRouter dataplane functionality to be offloaded to a SmartNIC versus functionality that remains with the host vRouter
- Performance gains in a SmartNIC accelerated OpenStack deployment
- Live migration and the SmartNIC