Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 mode

If 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 / SoftwareSource / Image / command /Comments
Virtualization /HypervisorOracle VirtualboxTo run VMs.
Virtual Machine Image DUT-VMhttp://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-VMhttp://trex-tgn.cisco.com/trex/T_Rex_162_VM_Fedora_21.ovaT-Rex Traffic Generator VM.
OPNFV/NFVBench Docker Image
docker pull opnfv/nfvbench
This should be done on DUT-VM
Exchange of SSH-Keys between VMsStep-3 below. (option-1)To allow pwd-less access b/w VMs
New Version of T-RexStep-5 below (option-1)This should be done on TGen-VM
VSPERFStep-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.

Image Added

Network

Network/Adapter Type

(Virtualbox)

Interfaces on DUT-VMInterfaces on TGen-VMComments
test1Internaleth3eth3Interface used for data-traffic
test2Internaleth2,eth2,Interface used for data-traffic
adminBridgedeth1eth1Interface used by VSPERF to manage TGen.
InternetNATeth0eth0Interface used for connect to Internet - for downloads, and updates.

Step-1: Downloading VM-Images

Download following images for the two VMs:

  1. DUT-VM: Any Linux image. Ex: Ubuntu 16.04 (http://releases.ubuntu.com/16.04/ubuntu-16.04.5-desktop-amd64.iso
  2. TGen-VM: http://trex-tgn.cisco.com/trex/T_Rex_162_VM_Fedora_21.ova


Step-2: Installing VMs:

  1. 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) . 
    1. Please ensure that number of interfaces are 4 and configured according to the figure above.
  2. 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.
    1. 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:

  1. 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.
  2. 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:

  1. mkdir -p /mnt/huge
  2. mount -t hugetlbfs nodev /mnt/huge
  3. 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.

  1. vsperf distribution: Downloaded from here
  2. OS: Linux (ex: centos, fedora, suse, ubuntu, RHEL)
  3. Hypervisor: Qemu (> 2.3)
  4. RAM:  8-16GB
  5. 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)
  6. 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:

  1. vsperf distribution: Downloaded from here
  2. OS: Linux (ex: centos, fedora, suse, ubuntu, RHEL)
  3. Hypervisor: Qemu (> 2.3)
  4. RAM:  8-16GB
  5. NICs: 2 for data-traffic
  6. 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

  1. Hardware Traffic Generator: Ixia, Spirent, Xena, Etc.
  2. T-Rex: Instructions to install can be found here
  3. Moongen: Instructions to install can be found here
  4. NICs: 2 for data-traffic.