Open vSwitch (OVS) is a crucial component in today's Software Defined Networking (SDN) and Network Function Virtualization (NFV) ecosystem. It has been widely deployed in datacenters to provide connectivity and virtual network services. Fast growing demands for cloud services require OVS to support complicated rules and provide high-throughput and low-latency data exchange with low host CPU overhead. However, the sophisticated packet classification operation required for every packet makes this goal a significant challenge. Hardware offloading is a popular solution boosting OVS's performance, but the significant memory usage when directly applying the OVS's rule-caching scheme makes it infeasible. In this paper, we propose OVS-CAB, an efficient rule-caching for OVS hardware offloading. OVS-CAB can handle data traffic at a high line rate, while keeping host CPU usage low by offloading rule lookup functions to a hardware-based Smart Network Interface Card (Smart-NIC). Moreover, OVS-CAB achieves a high data plane hit rate and keeps hardware memory space usage low by intelligently caching selected rules. This rule-caching algorithm between the OVS control plane and hardware data plane is based on a previously proposed rule-caching scheme, CAching in Buckets (CAB). This paper includes the rule-caching design and a detailed implementation of the update and timeout operations for cached rules. For implementation and evaluation, we prototype OVS-CAB on a Netronome Smart-NIC using the P4 programming language. Both simulated and experimental results show that OVS-CAB significantly boosts the throughput of OVS and further reduces the host CPU utilization by 97%. Compared to other OVS hardware offloading solutions, OVS-CAB increases the rule hit rate in the data plane dramatically, while keeping memory usage at a very low level.
- Open vSwitch
- Smart NIC
ASJC Scopus subject areas
- Computer Networks and Communications