Child pages
  • NFV Infrastructure
Skip to end of metadata
Go to start of metadata

infra networking

Compute and hypervisor domains

The compute domain provides the computational and storage resources to the VNF.


Host kvm virtualizationContainers
User spaceGuest userGuest appGuest app
User spaceGuest kernelGuest OS 
User spaceHost userQemurunc/liblxc
Kernel spaceHost kernelkvmcgroups, namespaces


In OPNFV, the only supported hypervisor is Qemu/kvm. Qemu is a user space component that provides abstractions for most hardware components.


OPNFV projects

StorPerf: The Storage Performance Benchmarking for NFVI (StorPerf) project is developing tests to benchmark the performance of the storage system

Yardstick: The Infrastructure verification (Yardstick) has general test cases for measuring the CPU and memory performance of the hardware

NFV hypervisors-kvm: The NFV Hypervisors-kvm project maintains a real-time Linux kernel and patches to the Linux kvm hypervisor that improve its latency

Open source projects

Linux kernel: The operating system. The Linux interface evolves slowly and there are no dependencies from the OPNFV stack to the actual kernel version. The NFV Hypervisors-kvm uses a real-time Linux kernel which has better real-time performance.



Interface standards


QEMUQEMU can emulate different hardware architectures. The relevant ones are ARM architecture, x86_64 architecture, Q35 and 440FX mother boards, and haswell/broadwell CPUs


Infrastructure networking domain

  • OVS
  • FDS
  • vRouter

The infrastructure networking domain covers the networking on a single server. The virtual machine typically uses the virtio interface to communicate with the host, although it is also possible to use SR-IOV and connect to the network interface card directly. The VM sees a network interface PCI device, which is implemented typically by the vhost component on the host. The vhost is connected to a virtual switch (vswitch) which is a software abstraction of a switch.


Open source projects

OpenvSwitch: Open vSwitch is a virtual switch that supports a large number of different protocols such as OpenFlow, ovsdb, NetFlow, sFlow, LACP, in addition to the standard routing and forwarding protocols. It has a user space component but in the standard configuration the data path is implemented as a Linux kernel module. OpenvSwitch supports OpenFlow version 1.0 and parts of later specifications.

Vector Packet Processing (VPP): The Vector Packet Processing (VPP) is part of the project and can be used as a virtual switch, in addition to general packet processing. It can integrate with OpenStack through an OpenDaylight SDN controller.Contrail vRouterThe Contrail vRouter acts as a virtual router when OpenContrail is used as an SDN controller.


OPNFV projects






  • No labels