nf.io provides a file system abstraction for Virtual Network Function (VNF) management and Orchestration. It exposes the Linux file system interface as the northbound API, enabling user to manage and orchestrate VNFs by performing simple file and directory manipulation operations.


nf.io Architecture
A high-level view of the nf.io architecture is shown in the above figure. The nf.io File System is a virtual file system layered on top of the OS file system. VNF operations are triggered when a user writes special strings (e.g., 'activate', 'stop', etc.) in action files. nf.io performs these operations by using three resource drivers: (i) Hypervisor Driver, (ii) Network Driver, and (iii) Chain Driver. The hypervisor and network drivers manage the compute and network resources, respectively. The chain driver manages VNF chains by configuring traffic forwarding rules between VNFs.


Source Code

The source code is available at https://github.com/WatNFV/nf.io