Target Audience: Those who are new to VSPERF and would like to try it out locally.
The requirements depends on mainly two things (a) Topology and the (b) Mode. In this page, we will describe the minimal requirements considering both the topology and the modeIf you are attending a VSPERF-training session (ex: IEEE NFVSDN tutorial), kindly download and install following, before the training-sessions.
(Note: Of the three options described below, we'll only use Option-1 for IEEE NFVSDN Tutorial).
System / Software | Source / Image / command / | Comments |
---|---|---|
Virtualization /Hypervisor | Oracle Virtualbox | To run VMs. |
Virtual Machine Image DUT-VM | http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso | Please install Docker on this system* Reuse of thttp://nof2020.dnac.org/tutorials/his VM to try NFVBench |
TGen-VM | http://trex-tgn.cisco.com/trex/T_Rex_162_VM_Fedora_21.ova | T-Rex Traffic Generator VM. |
OPNFV/NFVBench Docker Image | docker pull opnfv/nfvbench | This should be done on DUT-VM |
Exchange of SSH-Keys between VMs | Step-3 below. (option-1) | To allow pwd-less access b/w VMs |
New Version of T-Rex | Step-5 below (option-1) | This should be done on TGen-VM |
VSPERF | Step-4 below (option-1) | This should be done on DUT-VM |
The Installation and configuration details are provided below.
Option-1: Experimenting VSPERF with Oracle Virtualbox:
You would need two VMs in this scenario. Figure below shows the setup.
Network | Network/Adapter Type (Virtualbox) | Interfaces on DUT-VM | Interfaces on TGen-VM | Comments |
---|---|---|---|---|
test1 | Internal | eth3 | eth3 | Interface used for data-traffic |
test2 | Internal | eth2, | eth2, | Interface used for data-traffic |
admin | Bridged | eth1 | eth1 | Interface used by VSPERF to manage TGen. |
Internet | NAT | eth0 | eth0 | Interface used for connect to Internet - for downloads, and updates. |
Step-1: Downloading VM-Images
Download following images for the two VMs:
- DUT-VM: Any Linux image. Ex: Ubuntu 16.04 (http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso)
- TGen-VM: http://trex-tgn.cisco.com/trex/T_Rex_162_VM_Fedora_21.ova.
Step-2: Installing VMs:
- DUT-VM: This is just a standard VM-from-ISO installation procedure. You will find many step-by-step description (, https://itsfoss.com/install-linux-in-virtualbox/) of this, including Videos (Ex: https://www.youtube.com/watch?v=QbmRXJJKsvs) .
- Please ensure that number of interfaces are 4 and configured according to the figure above.
- TGen-VM: The details of installation of the OVA can be found here: https://trex-tgn.cisco.com/trex/doc/trex_vm_manual.html, under TRex inside Virtual Box.
- Please ensure that number of interfaces are 4 and configured according to the figure above.
The names of the interfaces maybe different - for example on Ubuntu it may be enp0s2/3/4...
Step-3: Copying SSH keys between VMs.
To ensure smoother access, ensure DUT-VM can ssh to TGen-VM without password-probe, copy the SSH public keys. The step to follow:
- If no identity is created yet (ex: if you don't find id_rsa.pub in ~/.ssh folder) Run ssh-keygen. It will generate the necessary identify.
- Use ssh-copy-id command. ssh-copy-id username_of_tgen_vm@ipaddress_of_tgen_vm
Step-4: Installing VSPERF on DUT-VM
Instructions to install and configure (including tuning) VSPERF can be found here
You may have to configure hugepages before running the install script - by running following commands:
- mkdir -p /mnt/huge
- mount -t hugetlbfs nodev /mnt/huge
- echo "vm.nr_hugepages=64" >> /etc/sysctl.conf
Step-5: Updating T-Rex on TGen-VM
Download the latest T-Rex: wget --no-cache http://trex-tgn.cisco.com/trex/release/latest. to the home (/home/trex) folder.
Untar it.
Step-6: Docker Installation on DUT-VM
Install Docker on DUT-VM. You can follow the steps described here for Ubuntu.
Step-7: Running Tests
Instructions to run tests can be found here. This would be covered during the training session.
Option-2: Experimenting with Single Physical System
In this scenario, both the DUT (vswitch with/without VNFs) and the Traffic-Generator run on same System.
- vsperf distribution: Downloaded from here
- OS: Linux (ex: centos, fedora, suse, ubuntu, RHEL)
- Hypervisor: Qemu (> 2.3)
- RAM: 8-16GB
- TGen-VM: TRex-VM (VSPERF includes this image as part of its artifacts - https://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-16.04_trex_20180209.qcow2)
- VNF: vloop-VNF (VSPERF includes this image as part of its artifacts - http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160823.qcow2)
Option-3: Experimenting with Two Physical Systems
In this scenario, DUT runs on first system and the Traffic-generator runs on a different system. (Note: The second system could be a hardware traffic-generator - Spirent, Ixia, Xena, etc.)
System-1:
- vsperf distribution: Downloaded from here
- OS: Linux (ex: centos, fedora, suse, ubuntu, RHEL)
- Hypervisor: Qemu (> 2.3)
- RAM: 8-16GB
- NICs: 2 for data-traffic
- VNF: vloop-VNF (VSPERF includes this image as part of its artifacts - http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160823.qcow2)
System-2:
There are multiple options here - user can choose any one of the following
- Hardware Traffic Generator: Ixia, Spirent, Xena, Etc.
- T-Rex: Instructions to install can be found here
- Moongen: Instructions to install can be found here
- NICs: 2 for data-traffic.