Network Function Virtualization (NFV)
Converting classes of functions previously performed by networking equipment into software functions that can be chained together in software programs to provide network services.
Virtualization refers to converting functions that were performed special purpose hardware and software built for that hardware into general purpose software – called virtual network functions (VNFs) that can be executed on a Linux Operating system running on an x86 sever – called NFV infrastructure (NFVI). This software can therefore easily be configured by other software, be replicated, or be moved. Systems that coordinate multiple VNFs chained into network services and running on NFVI is called NDV management and orchestration or MANO.
There is overlap between NFV MANO software and the function of an SDN controller. Presumably in NFV MANO all of the elements are fully virtualized. In practice, SDN and NFV are used together in large scale network modernization projects.