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

Key Words Index Terms