A Framework for eBPF-Based Network Functions in an Era of Microservices
Authors: Sebastiano Miano ,Fulvio Risso, Mauricio Vasquez Bernal, Matteo Bertrone, and Yunsong Lu
Link: https://ieeexplore.ieee.org/abstract/document/9340283
Date: July 27th, 2021
WHAT?
Polycube, an in kernel software framework intended to facilitate Network Function Virtualization (NFV) implementations that provide the needed characteristics of isolation, persistence and composability with a user space control plane that simplifies debugging and introspection in cloud based environments.
WHY?
- Kernel packet processing is difficult to implement and the current implementation of Network Functions (NF) in software often rely on kernel bypass approaches that give user-space processes direct access to the underlying hardware and require the dedicated allocation of CPU cores for acceptable performance, require re-implementation of ther network stack in user space , require non standard Network Interface Card (NIC) drivers as well as the need for custom APIs such as mTCP or application modification to leverage StackMap. This hinders deployment within cloud-native platforms requiring NFs to be packaged in containers and follow standard DevOps processes and continuous delivery workflows.
HOW?
Polycube; leverages the extended Berkeley Packet Filter (eBPF) to build the data plane of the NFs with the following architecture:
Whose objective is to provide:
- A common structure and abstraction of in-Kernel Network Functions (NF)
- A Programmable and Extensible NF Chainring
- Simple management and execution of the NFs
- Simple development of the Control and Management Plane
CONTRIBUTIONS:
The authors provided a C++ daemon that does not require a modified Linux Kernel nor custom drivers.
RESULTS:
>
CONCLUSION:
Polycube accommodates the demands of microservice implementations within cloud environments and allows for a continuous runtime configuration with the possibility to dynamically inject and modify existing Network Functions without incurring a traffic disruption.
RELATED WORK:
Key Words:
eBPF, DPDK, Linux, NFV, SmartNICS, Kernel Bypass