Enea VNF Example Use-casesEnea NFV Access is a complete NFV Infrastructure (NFVI) platform
designed for deployment on white box uCPEs at the customer premise, and
optimized for common Virtual Customer Premises Equipment (vCPE) and SD-WAN
use cases.PrerequisitesThe following file(s) are needed for this example use-case:
enea-nfv-access-vnf-qemux86-64.qcow2. This image is
provided with your release.TestPMD VNFIn this use-case, uCPE device 1 will run pktgen
(the DPDK application) and uCPE device 2 will onboard
and instantiate two VNFs. One VNF will run testpmd_fwd,
forwarding traffic, and the other will run testpmd_term
which will terminate traffic.Use-case SetupConfiguring Network Interfaces on uCPE
devices:Bind the host interfaces to the DPDK by selecting
uCPE device 1 first, then accessing
Configuration ->
OpenVSwitch -> Host
Interfaces -> Add.Select the network interface that will be used to connect to
the second uCPE device and configure it for the DPDK.Select the Create button to send the
configuration to uCPE device 1.Repeat these same steps on uCPE device
2.Click the Add button from the Bridges
tab.Create an Open vSwitch bridge (ovsbr0) on
uCPE device 1 that uses one DPDK interface, by
selecting uCPE device 1, then:
Configuration ->OpenVSwitch
->Bridges.Onboarding the VNF:Select VNF
->Descriptor ->
On-board.Select the VM Image radio button.Provide the path to the qcow image by selecting
Browse from the VM image file
option.Fill the required fields below and press
Onboard:Memory in MB: 1024Nr. of CPUs: 1Storage in GB: 10Instantiating two VNFs on uCPE device
2:Select uCPE device 2, then access VNF ->
Instances -> Add.Fill-in the required fields and click
Create.Configure VNF 1 to forward traffic.Configure VNF 2 to terminate traffic.Add Open vSwitch flows to control this traffic:Start pktgen on uCPE device 1. Connect to the device by
selecting it first, then access SSH ->
user (root) and perform the following:cd /usr/share/apps/pktgen/
./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:05:00.3 -- \
-P -m "[1:2].0"
Pktgen:/> start 0The PCI address <0000:05:00.3> used in this example
varies depending on the uCPE device. To determine the exact PCI
address used, look in the uCPE device specific Network
configuration.Testing the Use-caseConnect to the forwarder VNF in order to check the traffic
statistics, by selecting the uCPE device first, then accessing
SSH -> user (root):Virsh list
Virsh console 1
# Qemux86-64 login: root
tail -f /var/log/testpmd-outTestPMD VNF using PCI passthroughIn this use case, uCPE device 1 will run the Pktgen and uCPE
device 2 will run the TestPMD VNF. Both will be using PCI
passthrough:Make sure that neither uCPE device 1 nor uCPE device 2 have
any configured host interfaces by selcting uCPE device :
Configuration ->
OpenVSwitch -> Host
Interfaces.On uCPE device 1 start the Pktgen VNF. Select
PciPassthrough as the Interface type.From the drop-down list, select the PCI interface
corresponding to the NIC which is connected to uCPE device 2:On uCPE device 2, start the TestPmdForwarder VNF. Select
"PciPassthrough" as the Interface type. From the drop-down list,
select the PCI interface corresponding to the NIC which is connected
to uCPE device 1:To check that traffic is being forwarded from uCPE device 2,
SSH to the uCPE device and connect to the VNFs console:Right click on uCPE device 2 and select SSH.
Run: virsh list
Run: virsh console [VM NAME]
Run: tail -f /opt/testpmd-out