UNO: Unifying Host and Smart NIC Offload for Flexible Packet Processing
Increasingly, Smart Network Interface Cards (sNICs) are used in data centers to partially offload networking functions from host processors thereby making these processors available for running tenant applications.Modern sNICs have fullyprogrammable, energy-efficient multi-core processors on which many packet processing functions including a full-blown software switch (e.g., Open vSwitch) can run. However, having multiple instances of software switches, deployed across the host hypervisor and the attached sNICs, makes controlling them difficult and data plane operations more complex. In this paper, we propose an end-host architecture called UNO that can transparently offload some of the host processors' packet processing functions to sNICs by using multiple switches in the host and while keeping their northbound control and management plane unmodified. UNO exposes a single virtual control plane for multiple switches and hides dynamic packet processing function offload between the host hypervisor and the sNIC behind a unified virtual management plane. We demonstrate several use cases of UNO, present evidence of its feasibility and discuss ongoing work.