Overview of openNetVM components
masteropenNetVM is a system composed of three primary components:
- Manager: Orchestrates traffic between Network Functions (NFs). It handles all Rx/Tx traffic entering and leaving the system, manages the dynamic starting and stopping of NFs, and provides system-wide statistics.
- NF Library: Provides the interface for NFs to communicate with the Manager. It allows NFs to initialize and send/receive packets. The library requires the NF to provide a function pointer to its
packet_handlerto the Manager. - Packet Helper Library: A utility library used to extract TCP/IP, UDP, and other packet headers that are lost when using Intel DPDK. Since DPDK bypasses the Linux Kernel to bring packet data into userspace, it wraps data in
rte_mbufstructures, losing the standard kernel-level encapsulation/decapsulation.