aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report/vpp_functional_tests
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2018-07-09 15:14:36 +0200
committerPeter Mikus <pmikus@cisco.com>2018-07-10 11:23:31 +0000
commit61ef529d33efd51acd1b1986c325d25a9d7ba705 (patch)
treecbb5ab397295053934160102dc62aea4d53da939 /docs/report/vpp_functional_tests
parent173a910c5f56106cd5aaa620ae0f9cfb94fcfac3 (diff)
Remove THIS tag and use unix endlines
The THIS tag has sneaked in 10Ge2P1X520-Eth-L2Xcbase-Eth-1Memif-1Dcr-Mrr but usually it is only to be used in draft testing. Not sure about the way non-unix endlines crept in. Is not git supposed to perform endline conversions on text files? Or are .robot, .rst, .yaml and .vat not recognized as text? Change-Id: Ia78cf942c05c3029c340a8639782786f37e57469 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'docs/report/vpp_functional_tests')
-rw-r--r--docs/report/vpp_functional_tests/documentation.rst12
-rw-r--r--docs/report/vpp_functional_tests/overview.rst298
-rw-r--r--docs/report/vpp_functional_tests/test_environment.rst1244
3 files changed, 777 insertions, 777 deletions
diff --git a/docs/report/vpp_functional_tests/documentation.rst b/docs/report/vpp_functional_tests/documentation.rst
index e0f180c3ec..6d99185892 100644
--- a/docs/report/vpp_functional_tests/documentation.rst
+++ b/docs/report/vpp_functional_tests/documentation.rst
@@ -1,6 +1,6 @@
-Documentation
-=============
-
-`CSIT VPP Functional Tests Documentation`_ contains detailed
-functional description and input parameters for each test case.
-
+Documentation
+=============
+
+`CSIT VPP Functional Tests Documentation`_ contains detailed
+functional description and input parameters for each test case.
+
diff --git a/docs/report/vpp_functional_tests/overview.rst b/docs/report/vpp_functional_tests/overview.rst
index 1cd5def87d..32d70f102b 100644
--- a/docs/report/vpp_functional_tests/overview.rst
+++ b/docs/report/vpp_functional_tests/overview.rst
@@ -1,149 +1,149 @@
-Overview
-========
-
-Tested Virtual Topologies
--------------------------
-
-CSIT VPP functional tests are executed on virtualized topologies created using
-:abbr:`VIRL (Virtual Internet Routing Lab)` simulation platform contributed by
-Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project.
-Majority of the tests are executed in the three node logical test topology -
-Traffic Generator (TG) node and two Systems Under Test (SUT) nodes connected in
-a loop. Some tests use two node logical test topology - TG node and SUT1 node.
-Both logical test topologies are shown in the figures below.::
-
- +------------------------+ +------------------------+
- | | | |
- | +------------------+ | | +------------------+ |
- | | <-----------------> | |
- | | | | | | | |
- | | DUT1 <-----------------> DUT2 | |
- | +--^--^------------+ | | +------------^--^--+ |
- | | | | | | | |
- | | | SUT1 | | SUT2 | | |
- +------------------------+ +------------------------+
- | | | |
- | | | |
- | | +-----------+ | |
- | +---------------> <---------------+ |
- | | TG | |
- +------------------> <------------------+
- +-----------+
-
- +------------------------+
- | |
- | +------------------+ |
- +---------------> <--------------+
- | | | | | |
- | |------------> DUT1 <-----------+ |
- | | | +------------------+ | | |
- | | | | | |
- | | | SUT1 | | |
- | | +------------------------+ | |
- | | | |
- | | | |
- | | +-----------+ | |
- | +---------------> <---------------+ |
- | | TG | |
- +------------------> <------------------+
- +-----------+
-
-SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG
-is a Traffic Generator (TG, another Ubuntu VM). SUTs run VPP SW application in
-Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW
-application as a packet Traffic Generator. Logical connectivity between SUTs
-and to TG is provided using virtual NICs using VMs' virtio driver.
-
-Virtual testbeds are created on-demand whenever a verification job is started
-(e.g. triggered by the gerrit patch submission) and destroyed upon completion
-of all functional tests. Each node is a Virtual Machine and each connection
-that is drawn on the diagram is available for use in any test case. During the
-test execution, all nodes are reachable thru the Management network connected
-to every node via dedicated virtual NICs and virtual links (not shown above
-for clarity).
-
-For the test cases that require DUT (VPP) to communicate with VM over the
-vhost-user interfaces, a nested VM is created on SUT1 and/or SUT2 for the
-duration of these particular test cases only. DUT (VPP) test topology with VM
-is shown in the figure below including the applicable packet flow thru the VM
-(marked in the figure with ``***``).::
-
- +------------------------+ +------------------------+
- | +----------+ | | +----------+ |
- | | VM | | | | VM | |
- | | ****** | | | | ****** | |
- | +--^----^--+ | | +--^----^--+ |
- | *| |* | | *| |* |
- | +------v----v------+ | | +------v----v------+ |
- | | * * |**|***********|**| * * | |
- | | ***** *******<----------------->******* ***** | |
- | | * DUT1 | | | | DUT2 * | |
- | +--^---------------+ | | +---------------^--+ |
- | *| | | |* |
- | *| SUT1 | | SUT2 |* |
- +------------------------+ +------------------^-----+
- *| |*
- *| |*
- *| +-----------+ |*
- *| | | |*
- *+------------------> TG <------------------+*
- ******************* | |********************
- +-----------+
-
-Functional Tests Coverage
--------------------------
-
-Following VPP functional test areas are covered in the CSIT |release| with
-results listed in this report:
-
-- **DHCP - Client and Proxy** - Dynamic Host Control Protocol Client and Proxy
- for IPv4, IPv6.
-- **GRE Overlay Tunnels** - Generic Routing Encapsulation for IPv4.
-- **L2BD Ethernet Switching** - L2 Bridge-Domain switched-forwarding for
- untagged Ethernet, dot1q and dot1ad tagged.
-- **L2XC Ethernet Switching** - L2 Cross-Connect switched-forwarding for
- untagged Ethernet, dot1q and dot1ad tagged.
-- **LISP Overlay Tunnels** - Locator/ID Separation Protocol overlay tunnels and
- locator/id mapping control.
-- **Softwire Tunnels** - IPv4-in-IPv6 softwire tunnels.
-- **Cop Address Security** - address white-list and black-list filtering for
- IPv4, IPv6.
-- **IPSec - Tunnels and Transport** - IPSec tunnel and transport modes.
-- **IPv6 Routed-Forwarding** - IPv6 routed-forwarding, NS/ND, RA, ICMPv6.
-- **uRPF Source Security** - unicast Reverse Path Forwarding security.
-- **Tap Interface** - baseline Linux tap interface tests.
-- **Telemetry - IPFIX and SPAN** - IPFIX netflow statistics and SPAN port
- mirroring.
-- **VRF Routed-Forwarding** - multi-context IPVPN routed-forwarding for IPv4,
- IPv6.
-- **iACL Security** - ingress Access Control List security for IPv4, IPv6, MAC.
-- **IPv4 Routed-Forwarding** - IPv4 routed-forwarding, RPF, ARP, Proxy ARP,
- ICMPv4.
-- **QoS Policer Metering** - ingress packet rate measuring and marking for IPv4,
- IPv6.
-- **VLAN Tag Translation** - L2 VLAN tag translation 2to2, 2to1, 1to2, 1to1.
-- **VXLAN Overlay Tunnels** - VXLAN tunneling for L2-over-IP, for IPv4, IPv6.
-
-Functional Tests Naming
------------------------
-
-CSIT |release| follows a common structured naming convention for all performance
-and system functional tests, introduced in CSIT rls1701.
-
-The naming should be intuitive for majority of the tests. Complete description
-of CSIT test naming convention is provided on :ref:`csit_test_naming`..
-
-Here few illustrative examples of the new naming usage for functional test
-suites:
-
-#. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P**
-
- - *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline
- routed forwarding, functional tests.
-
-#. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC,
- P2V2P, NIC2VMchain2NIC, P2V2V2P**
-
- - *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of
- Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost
- interfaces and one VM, functional tests.
+Overview
+========
+
+Tested Virtual Topologies
+-------------------------
+
+CSIT VPP functional tests are executed on virtualized topologies created using
+:abbr:`VIRL (Virtual Internet Routing Lab)` simulation platform contributed by
+Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project.
+Majority of the tests are executed in the three node logical test topology -
+Traffic Generator (TG) node and two Systems Under Test (SUT) nodes connected in
+a loop. Some tests use two node logical test topology - TG node and SUT1 node.
+Both logical test topologies are shown in the figures below.::
+
+ +------------------------+ +------------------------+
+ | | | |
+ | +------------------+ | | +------------------+ |
+ | | <-----------------> | |
+ | | | | | | | |
+ | | DUT1 <-----------------> DUT2 | |
+ | +--^--^------------+ | | +------------^--^--+ |
+ | | | | | | | |
+ | | | SUT1 | | SUT2 | | |
+ +------------------------+ +------------------------+
+ | | | |
+ | | | |
+ | | +-----------+ | |
+ | +---------------> <---------------+ |
+ | | TG | |
+ +------------------> <------------------+
+ +-----------+
+
+ +------------------------+
+ | |
+ | +------------------+ |
+ +---------------> <--------------+
+ | | | | | |
+ | |------------> DUT1 <-----------+ |
+ | | | +------------------+ | | |
+ | | | | | |
+ | | | SUT1 | | |
+ | | +------------------------+ | |
+ | | | |
+ | | | |
+ | | +-----------+ | |
+ | +---------------> <---------------+ |
+ | | TG | |
+ +------------------> <------------------+
+ +-----------+
+
+SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG
+is a Traffic Generator (TG, another Ubuntu VM). SUTs run VPP SW application in
+Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW
+application as a packet Traffic Generator. Logical connectivity between SUTs
+and to TG is provided using virtual NICs using VMs' virtio driver.
+
+Virtual testbeds are created on-demand whenever a verification job is started
+(e.g. triggered by the gerrit patch submission) and destroyed upon completion
+of all functional tests. Each node is a Virtual Machine and each connection
+that is drawn on the diagram is available for use in any test case. During the
+test execution, all nodes are reachable thru the Management network connected
+to every node via dedicated virtual NICs and virtual links (not shown above
+for clarity).
+
+For the test cases that require DUT (VPP) to communicate with VM over the
+vhost-user interfaces, a nested VM is created on SUT1 and/or SUT2 for the
+duration of these particular test cases only. DUT (VPP) test topology with VM
+is shown in the figure below including the applicable packet flow thru the VM
+(marked in the figure with ``***``).::
+
+ +------------------------+ +------------------------+
+ | +----------+ | | +----------+ |
+ | | VM | | | | VM | |
+ | | ****** | | | | ****** | |
+ | +--^----^--+ | | +--^----^--+ |
+ | *| |* | | *| |* |
+ | +------v----v------+ | | +------v----v------+ |
+ | | * * |**|***********|**| * * | |
+ | | ***** *******<----------------->******* ***** | |
+ | | * DUT1 | | | | DUT2 * | |
+ | +--^---------------+ | | +---------------^--+ |
+ | *| | | |* |
+ | *| SUT1 | | SUT2 |* |
+ +------------------------+ +------------------^-----+
+ *| |*
+ *| |*
+ *| +-----------+ |*
+ *| | | |*
+ *+------------------> TG <------------------+*
+ ******************* | |********************
+ +-----------+
+
+Functional Tests Coverage
+-------------------------
+
+Following VPP functional test areas are covered in the CSIT |release| with
+results listed in this report:
+
+- **DHCP - Client and Proxy** - Dynamic Host Control Protocol Client and Proxy
+ for IPv4, IPv6.
+- **GRE Overlay Tunnels** - Generic Routing Encapsulation for IPv4.
+- **L2BD Ethernet Switching** - L2 Bridge-Domain switched-forwarding for
+ untagged Ethernet, dot1q and dot1ad tagged.
+- **L2XC Ethernet Switching** - L2 Cross-Connect switched-forwarding for
+ untagged Ethernet, dot1q and dot1ad tagged.
+- **LISP Overlay Tunnels** - Locator/ID Separation Protocol overlay tunnels and
+ locator/id mapping control.
+- **Softwire Tunnels** - IPv4-in-IPv6 softwire tunnels.
+- **Cop Address Security** - address white-list and black-list filtering for
+ IPv4, IPv6.
+- **IPSec - Tunnels and Transport** - IPSec tunnel and transport modes.
+- **IPv6 Routed-Forwarding** - IPv6 routed-forwarding, NS/ND, RA, ICMPv6.
+- **uRPF Source Security** - unicast Reverse Path Forwarding security.
+- **Tap Interface** - baseline Linux tap interface tests.
+- **Telemetry - IPFIX and SPAN** - IPFIX netflow statistics and SPAN port
+ mirroring.
+- **VRF Routed-Forwarding** - multi-context IPVPN routed-forwarding for IPv4,
+ IPv6.
+- **iACL Security** - ingress Access Control List security for IPv4, IPv6, MAC.
+- **IPv4 Routed-Forwarding** - IPv4 routed-forwarding, RPF, ARP, Proxy ARP,
+ ICMPv4.
+- **QoS Policer Metering** - ingress packet rate measuring and marking for IPv4,
+ IPv6.
+- **VLAN Tag Translation** - L2 VLAN tag translation 2to2, 2to1, 1to2, 1to1.
+- **VXLAN Overlay Tunnels** - VXLAN tunneling for L2-over-IP, for IPv4, IPv6.
+
+Functional Tests Naming
+-----------------------
+
+CSIT |release| follows a common structured naming convention for all performance
+and system functional tests, introduced in CSIT rls1701.
+
+The naming should be intuitive for majority of the tests. Complete description
+of CSIT test naming convention is provided on :ref:`csit_test_naming`..
+
+Here few illustrative examples of the new naming usage for functional test
+suites:
+
+#. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P**
+
+ - *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline
+ routed forwarding, functional tests.
+
+#. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC,
+ P2V2P, NIC2VMchain2NIC, P2V2V2P**
+
+ - *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of
+ Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost
+ interfaces and one VM, functional tests.
diff --git a/docs/report/vpp_functional_tests/test_environment.rst b/docs/report/vpp_functional_tests/test_environment.rst
index 175e5181b0..dfc40b0040 100644
--- a/docs/report/vpp_functional_tests/test_environment.rst
+++ b/docs/report/vpp_functional_tests/test_environment.rst
@@ -1,622 +1,622 @@
-Test Environment
-================
-
-CSIT functional tests are currently executed in FD.IO VIRL testbed. The physical
-VIRL testbed infrastructure consists of three VIRL hosts:
-
-- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,
- 18c, 512GB RAM)
-
-- tb4-virl1:
-
- - Status: Production
- - OS: Ubuntu 16.04.2
- - STD server version 0.10.32.16
- - UWM server version 0.10.32.16
-
-- tb4-virl2:
-
- - Status: Production
- - OS: Ubuntu 16.04.2
- - STD server version 0.10.32.16
- - UWM server version 0.10.32.16
-
-- tb4-virl3:
-
- - Status: Testing
- - OS: Ubuntu 16.04.2
- - STD server version 0.10.32.19
- - UWM server version 0.10.32.19
-
-Whenever a patch is submitted to gerrit for review, parallel VIRL simulations
-are started to reduce the time of execution of all functional tests. The number
-of parallel VIRL simulations is equal to number of test groups defined by
-TEST_GROUPS variable in :file:`csit/bootstrap.sh` file. The VIRL host to run
-VIRL simulation is selected based on least load algorithm per VIRL simulation.
-
-Every VIRL simulation uses the same three-node - Traffic Generator (TG node) and
-two Systems Under Test (SUT1 and SUT2) - "double-ring" topology. The appropriate
-pre-built VPP packages built by Jenkins for the patch under review are then
-installed on the two SUTs, along with their :file:`/etc/vpp/startup.conf` file,
-in all VIRL simulations.
-
-SUT Configuration - VIRL Guest VM
----------------------------------
-
-Configurations of the SUT VMs is defined in `VIRL topologies directory`_
-
-- List of SUT VM interfaces:::
-
- <interface id="0" name="GigabitEthernet0/4/0"/>
- <interface id="1" name="GigabitEthernet0/5/0"/>
- <interface id="2" name="GigabitEthernet0/6/0"/>
- <interface id="3" name="GigabitEthernet0/7/0"/>
-
-- Number of 2MB hugepages: 1024
-
-- Maximum number of memory map areas: 20000
-
-- Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024)
-
-SUT Configuration - VIRL Guest OS Linux
----------------------------------------
-
-In CSIT terminology, the VM operating system for both SUTs that |vpp-release| has
-been tested with, is the following:
-
-#. **Ubuntu VIRL image**
-
- This image implies Ubuntu 16.04.1 LTS, current as of yyyy-mm-dd (that is,
- package versions are those that would have been installed by a
- :command:`apt-get update`, :command:`apt-get upgrade` on that day), produced
- by CSIT disk image build scripts.
-
- The exact list of installed packages and their versions (including the Linux
- kernel package version) are included in `VIRL ubuntu images lists`_.
-
- A replica of this VM image can be built by running the :command:`build.sh`
- script in CSIT repository.
-
-#. **CentOS VIRL image**
-
- This image implies Centos 7.4-1711, current as of yyyy-mm-dd (that is,
- package versions are those that would have been installed by a
- :command:`yum update`, :command:`yum upgrade` on that day), produced
- by CSIT disk image build scripts.
-
- The exact list of installed packages and their versions (including the Linux
- kernel package version) are included in `VIRL centos images lists`_.
-
- A replica of this VM image can be built by running the :command:`build.sh`
- script in CSIT repository.
-
-#. **Nested VM image**
-
- In addition to the "main" VM image, tests which require VPP to communicate to
- a VM over a vhost-user interface, utilize a "nested" VM image.
-
- This "nested" VM is dynamically created and destroyed as part of a test case,
- and therefore the "nested" VM image is optimized to be small, lightweight and
- have a short boot time. The "nested" VM image is not built around any
- established Linux distribution, but is based on `BuildRoot
- <https://buildroot.org/>`_, a tool for building embedded Linux systems. Just
- as for the "main" image, scripts to produce an identical replica of the
- "nested" image are included in CSIT GIT repository, and the image can be
- rebuilt using the "build.sh" script at `VIRL nested`_.
-
-DUT Configuration - VPP
------------------------
-
-Every System Under Test runs VPP SW application in Linux user-mode as a Device
-Under Test (DUT) node.
-
-**DUT port configuration**
-
-Port configuration of DUTs is defined in topology file that is generated per
-VIRL simulation based on the definition stored in `VIRL topologies directory`_.
-
-Example of DUT nodes configuration:::
-
- DUT1:
- type: DUT
- host: "10.30.51.157"
- port: 22
- username: cisco
- honeycomb:
- user: admin
- passwd: admin
- port: 8183
- netconf_port: 2831
- priv_key: |
- -----BEGIN RSA PRIVATE KEY-----
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
- -----END RSA PRIVATE KEY-----
-
- interfaces:
- port1:
- mac_address: "fa:16:3e:9b:89:52"
- pci_address: "0000:00:04.0"
- link: link1
- port2:
- mac_address: "fa:16:3e:7a:33:60"
- pci_address: "0000:00:05.0"
- link: link4
- port3:
- mac_address: "fa:16:3e:29:b7:ae"
- pci_address: "0000:00:06.0"
- link: link3
- port4:
- mac_address: "fa:16:3e:76:8d:ff"
- pci_address: "0000:00:07.0"
- link: link6
- DUT2:
- type: DUT
- host: "10.30.51.156"
- port: 22
- username: cisco
- honeycomb:
- user: admin
- passwd: admin
- port: 8183
- netconf_port: 2831
- priv_key: |
- -----BEGIN RSA PRIVATE KEY-----
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
- -----END RSA PRIVATE KEY-----
-
- interfaces:
- port1:
- mac_address: "fa:16:3e:ad:6c:7d"
- pci_address: "0000:00:04.0"
- link: link2
- port2:
- mac_address: "fa:16:3e:94:a4:99"
- pci_address: "0000:00:05.0"
- link: link5
- port3:
- mac_address: "fa:16:3e:75:92:da"
- pci_address: "0000:00:06.0"
- link: link3
- port4:
- mac_address: "fa:16:3e:2c:b1:2a"
- pci_address: "0000:00:07.0"
- link: link6
-
-**VPP Version**
-
-|vpp-release|
-
-**VPP Installed Packages - Ubuntu**
-::
-
- $ dpkg -l vpp\*
- Desired=Unknown/Install/Remove/Purge/Hold
- | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
- |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
- ||/ Name Version Architecture Description
- +++-==============-=============-============-=================================================
- ii vpp 18.04-release amd64 Vector Packet Processing--executables
- ii vpp-dbg 18.04-release amd64 Vector Packet Processing--debug symbols
- ii vpp-dev 18.04-release amd64 Vector Packet Processing--development support
- ii vpp-dpdk-dkms 18.02-vpp1 amd64 DPDK Development Package for VPP - Kernel Modules
- ii vpp-lib 18.04-release amd64 Vector Packet Processing--runtime libraries
- ii vpp-plugins 18.04-release amd64 Vector Packet Processing--runtime plugins
-
-**VPP Installed Packages - Centos**
-::
-
- $ rpm -qai vpp*
- Name : vpp
- Version : 18.04
- Release : release
- Architecture: x86_64
- Install Date: Fri 04 May 2018 02:47:36 AM EDT
- Group : Unspecified
- Size : 2311324
- License : ASL 2.0
- Signature : (none)
- Source RPM : vpp-18.04-release.src.rpm
- Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
- Build Host : c29a51c12e88
- Relocations : (not relocatable)
- Summary : Vector Packet Processing
- Description :
- This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
- vpp - the vector packet engine
- vpp_api_test - vector packet engine API test tool
- vpp_json_test - vector packet engine JSON test tool
- Name : vpp-lib
- Version : 18.04
- Release : release
- Architecture: x86_64
- Install Date: Fri 04 May 2018 02:47:36 AM EDT
- Group : System Environment/Libraries
- Size : 24949034
- License : ASL 2.0
- Signature : (none)
- Source RPM : vpp-18.04-release.src.rpm
- Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
- Build Host : c29a51c12e88
- Relocations : (not relocatable)
- Summary : VPP libraries
- Description :
- This package contains the VPP shared libraries, including:
- vppinfra - foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.
- svm - vm library
- vlib - vector processing library
- vlib-api - binary API library
- vnet - network stack library
- Name : vpp-selinux-policy
- Version : 18.04
- Release : release
- Architecture: x86_64
- Install Date: Fri 04 May 2018 02:47:35 AM EDT
- Group : System Environment/Base
- Size : 86170
- License : ASL 2.0
- Signature : (none)
- Source RPM : vpp-18.04-release.src.rpm
- Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
- Build Host : c29a51c12e88
- Relocations : (not relocatable)
- Summary : VPP Security-Enhanced Linux (SELinux) policy
- Description :
- This package contains a tailored VPP SELinux policy
- Name : vpp-devel
- Version : 18.04
- Release : release
- Architecture: x86_64
- Install Date: Fri 04 May 2018 02:47:38 AM EDT
- Group : Development/Libraries
- Size : 10632218
- License : ASL 2.0
- Signature : (none)
- Source RPM : vpp-18.04-release.src.rpm
- Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
- Build Host : c29a51c12e88
- Relocations : (not relocatable)
- Summary : VPP header files, static libraries
- Description :
- This package contains the header files for VPP.
- Install this package if you want to write a
- program for compilation and linking with vpp lib.
- vlib
- vlibmemory
- vnet - devices, classify, dhcp, ethernet flow, gre, ip, etc.
- vpp-api
- vppinfra
- Name : vpp-plugins
- Version : 18.04
- Release : release
- Architecture: x86_64
- Install Date: Fri 04 May 2018 02:47:37 AM EDT
- Group : System Environment/Libraries
- Size : 44145968
- License : ASL 2.0
- Signature : (none)
- Source RPM : vpp-18.04-release.src.rpm
- Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
- Build Host : c29a51c12e88
- Relocations : (not relocatable)
- Summary : Vector Packet Processing--runtime plugins
- Description :
- This package contains VPP plugins
-
-**VPP Startup Configuration**
-
-VPP startup configuration is common for all test cases except test cases related
-to SW Crypto device.
-
-**Default**
-
-::
-
- $ cat /etc/vpp/startup.conf
- unix {
- nodaemon
- log /var/log/vpp/vpp.log
- full-coredump
- cli-listen /run/vpp/cli.sock
- gid vpp
- }
-
- api-trace {
- ## This stanza controls binary API tracing. Unless there is a very strong reason,
- ## please leave this feature enabled.
- on
- ## Additional parameters:
- ##
- ## To set the number of binary API trace records in the circular buffer, configure nitems
- ##
- ## nitems <nnn>
- ##
- ## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
- ## Very handy for understanding api message changes between versions, identifying missing
- ## plugins, and so forth.
- ##
- ## save-api-table <filename>
- }
-
- api-segment {
- gid vpp
- }
-
- cpu {
- ## In the VPP there is one main thread and optionally the user can create worker(s)
- ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically
-
- ## Manual pinning of thread(s) to CPU core(s)
-
- ## Set logical CPU core where main thread runs
- # main-core 1
-
- ## Set logical CPU core(s) where worker threads are running
- # corelist-workers 2-3,18-19
-
- ## Automatic pinning of thread(s) to CPU core(s)
-
- ## Sets number of CPU core(s) to be skipped (1 ... N-1)
- ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).
- ## The main thread is automatically pinned to the first available CPU core and worker(s)
- ## are pinned to next free CPU core(s) after core assigned to main thread
- # skip-cores 4
-
- ## Specify a number of workers to be created
- ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)
- ## and main thread's CPU core
- # workers 2
-
- ## Set scheduling policy and priority of main and worker threads
-
- ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)
- ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)
- # scheduler-policy fifo
-
- ## Scheduling priority is used only for "real-time policies (fifo and rr),
- ## and has to be in the range of priorities supported for a particular policy
- # scheduler-priority 50
- }
-
- # dpdk {
- ## Change default settings for all intefaces
- # dev default {
- ## Number of receive queues, enables RSS
- ## Default is 1
- # num-rx-queues 3
-
- ## Number of transmit queues, Default is equal
- ## to number of worker threads or 1 if no workers treads
- # num-tx-queues 3
-
- ## Number of descriptors in transmit and receive rings
- ## increasing or reducing number can impact performance
- ## Default is 1024 for both rx and tx
- # num-rx-desc 512
- # num-tx-desc 512
-
- ## VLAN strip offload mode for interface
- ## Default is off
- # vlan-strip-offload on
- # }
-
- ## Whitelist specific interface by specifying PCI address
- # dev 0000:02:00.0
-
- ## Whitelist specific interface by specifying PCI address and in
- ## addition specify custom parameters for this interface
- # dev 0000:02:00.1 {
- # num-rx-queues 2
- # }
-
- ## Specify bonded interface and its slaves via PCI addresses
- ##
- ## Bonded interface in XOR load balance mode (mode 2) with L3 and L4 headers
- # vdev eth_bond0,mode=2,slave=0000:02:00.0,slave=0000:03:00.0,xmit_policy=l34
- # vdev eth_bond1,mode=2,slave=0000:02:00.1,slave=0000:03:00.1,xmit_policy=l34
- ##
- ## Bonded interface in Active-Back up mode (mode 1)
- # vdev eth_bond0,mode=1,slave=0000:02:00.0,slave=0000:03:00.0
- # vdev eth_bond1,mode=1,slave=0000:02:00.1,slave=0000:03:00.1
-
- ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
- ## uio_pci_generic or auto (default)
- # uio-driver vfio-pci
-
- ## Disable mutli-segment buffers, improves performance but
- ## disables Jumbo MTU support
- # no-multi-seg
-
- ## Increase number of buffers allocated, needed only in scenarios with
- ## large number of interfaces and worker threads. Value is per CPU socket.
- ## Default is 16384
- # num-mbufs 128000
-
- ## Change hugepages allocation per-socket, needed only if there is need for
- ## larger number of mbufs. Default is 256M on each detected CPU socket
- # socket-mem 2048,2048
-
- ## Disables UDP / TCP TX checksum offload. Typically needed for use
- ## faster vector PMDs (together with no-multi-seg)
- # no-tx-checksum-offload
- # }
-
-
- # plugins {
- ## Adjusting the plugin path depending on where the VPP plugins are
- # path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
-
- ## Disable all plugins by default and then selectively enable specific plugins
- # plugin default { disable }
- # plugin dpdk_plugin.so { enable }
- # plugin acl_plugin.so { enable }
-
- ## Enable all plugins by default and then selectively disable specific plugins
- # plugin dpdk_plugin.so { disable }
- # plugin acl_plugin.so { disable }
- # }
-
- ## Alternate syntax to choose plugin path
- # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
-
-**SW Crypto Device**
-
-::
-
- $ cat /etc/vpp/startup.conf
- unix
- {
- cli-listen /run/vpp/cli.sock
- gid vpp
- nodaemon
- full-coredump
- log /tmp/vpp.log
- }
- api-segment
- {
- gid vpp
- }
- dpdk
- {
- vdev cryptodev_aesni_gcm_pmd,socket_id=0
- vdev cryptodev_aesni_mb_pmd,socket_id=0
- }
-
-TG Configuration
-----------------
-
-Traffic Generator node is VM running the same OS Linux as SUTs. Ports of this
-VM are used as source (Tx) and destination (Rx) ports for the traffic.
-
-Traffic scripts of test cases are executed on this VM.
-
-**TG VM configuration**
-
-Configuration of the TG VMs is defined in `VIRL topologies directory`_.
-
- /csit/resources/tools/virl/topologies/double-ring-nested.xenial.virl
-
-- List of TG VM interfaces:::
-
- <interface id="0" name="eth1"/>
- <interface id="1" name="eth2"/>
- <interface id="2" name="eth3"/>
- <interface id="3" name="eth4"/>
- <interface id="4" name="eth5"/>
- <interface id="5" name="eth6"/>
-
-**TG node port configuration**
-
-Port configuration of TG is defined in topology file that is generated per VIRL
-simulation based on the definition stored in `VIRL topologies directory`_.
-
-Example of TG node configuration:::
-
- TG:
- type: TG
- host: "10.30.51.155"
- port: 22
- username: cisco
- priv_key: |
- -----BEGIN RSA PRIVATE KEY-----
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
- -----END RSA PRIVATE KEY-----
-
- interfaces:
- port3:
- mac_address: "fa:16:3e:b9:e1:27"
- pci_address: "0000:00:06.0"
- link: link1
- driver: virtio-pci
- port4:
- mac_address: "fa:16:3e:e9:c8:68"
- pci_address: "0000:00:07.0"
- link: link4
- driver: virtio-pci
- port5:
- mac_address: "fa:16:3e:e8:d3:47"
- pci_address: "0000:00:08.0"
- link: link2
- driver: virtio-pci
- port6:
- mac_address: "fa:16:3e:cf:ca:58"
- pci_address: "0000:00:09.0"
- link: link5
- driver: virtio-pci
-
-**Traffic generator**
-
-Functional tests utilize Scapy as a traffic generator. There was used Scapy
-v2.3.1 for |vpp-release| tests.
-
+Test Environment
+================
+
+CSIT functional tests are currently executed in FD.IO VIRL testbed. The physical
+VIRL testbed infrastructure consists of three VIRL hosts:
+
+- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,
+ 18c, 512GB RAM)
+
+- tb4-virl1:
+
+ - Status: Production
+ - OS: Ubuntu 16.04.2
+ - STD server version 0.10.32.16
+ - UWM server version 0.10.32.16
+
+- tb4-virl2:
+
+ - Status: Production
+ - OS: Ubuntu 16.04.2
+ - STD server version 0.10.32.16
+ - UWM server version 0.10.32.16
+
+- tb4-virl3:
+
+ - Status: Testing
+ - OS: Ubuntu 16.04.2
+ - STD server version 0.10.32.19
+ - UWM server version 0.10.32.19
+
+Whenever a patch is submitted to gerrit for review, parallel VIRL simulations
+are started to reduce the time of execution of all functional tests. The number
+of parallel VIRL simulations is equal to number of test groups defined by
+TEST_GROUPS variable in :file:`csit/bootstrap.sh` file. The VIRL host to run
+VIRL simulation is selected based on least load algorithm per VIRL simulation.
+
+Every VIRL simulation uses the same three-node - Traffic Generator (TG node) and
+two Systems Under Test (SUT1 and SUT2) - "double-ring" topology. The appropriate
+pre-built VPP packages built by Jenkins for the patch under review are then
+installed on the two SUTs, along with their :file:`/etc/vpp/startup.conf` file,
+in all VIRL simulations.
+
+SUT Configuration - VIRL Guest VM
+---------------------------------
+
+Configurations of the SUT VMs is defined in `VIRL topologies directory`_
+
+- List of SUT VM interfaces:::
+
+ <interface id="0" name="GigabitEthernet0/4/0"/>
+ <interface id="1" name="GigabitEthernet0/5/0"/>
+ <interface id="2" name="GigabitEthernet0/6/0"/>
+ <interface id="3" name="GigabitEthernet0/7/0"/>
+
+- Number of 2MB hugepages: 1024
+
+- Maximum number of memory map areas: 20000
+
+- Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024)
+
+SUT Configuration - VIRL Guest OS Linux
+---------------------------------------
+
+In CSIT terminology, the VM operating system for both SUTs that |vpp-release| has
+been tested with, is the following:
+
+#. **Ubuntu VIRL image**
+
+ This image implies Ubuntu 16.04.1 LTS, current as of yyyy-mm-dd (that is,
+ package versions are those that would have been installed by a
+ :command:`apt-get update`, :command:`apt-get upgrade` on that day), produced
+ by CSIT disk image build scripts.
+
+ The exact list of installed packages and their versions (including the Linux
+ kernel package version) are included in `VIRL ubuntu images lists`_.
+
+ A replica of this VM image can be built by running the :command:`build.sh`
+ script in CSIT repository.
+
+#. **CentOS VIRL image**
+
+ This image implies Centos 7.4-1711, current as of yyyy-mm-dd (that is,
+ package versions are those that would have been installed by a
+ :command:`yum update`, :command:`yum upgrade` on that day), produced
+ by CSIT disk image build scripts.
+
+ The exact list of installed packages and their versions (including the Linux
+ kernel package version) are included in `VIRL centos images lists`_.
+
+ A replica of this VM image can be built by running the :command:`build.sh`
+ script in CSIT repository.
+
+#. **Nested VM image**
+
+ In addition to the "main" VM image, tests which require VPP to communicate to
+ a VM over a vhost-user interface, utilize a "nested" VM image.
+
+ This "nested" VM is dynamically created and destroyed as part of a test case,
+ and therefore the "nested" VM image is optimized to be small, lightweight and
+ have a short boot time. The "nested" VM image is not built around any
+ established Linux distribution, but is based on `BuildRoot
+ <https://buildroot.org/>`_, a tool for building embedded Linux systems. Just
+ as for the "main" image, scripts to produce an identical replica of the
+ "nested" image are included in CSIT GIT repository, and the image can be
+ rebuilt using the "build.sh" script at `VIRL nested`_.
+
+DUT Configuration - VPP
+-----------------------
+
+Every System Under Test runs VPP SW application in Linux user-mode as a Device
+Under Test (DUT) node.
+
+**DUT port configuration**
+
+Port configuration of DUTs is defined in topology file that is generated per
+VIRL simulation based on the definition stored in `VIRL topologies directory`_.
+
+Example of DUT nodes configuration:::
+
+ DUT1:
+ type: DUT
+ host: "10.30.51.157"
+ port: 22
+ username: cisco
+ honeycomb:
+ user: admin
+ passwd: admin
+ port: 8183
+ netconf_port: 2831
+ priv_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
+ v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
+ vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
+ 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
+ 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
+ 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
+ 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
+ EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
+ 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
+ MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
+ p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
+ 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
+ OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
+ GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
+ bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
+ 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
+ f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
+ UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
+ +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
+ D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
+ sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
+ g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
+ qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
+ EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
+ BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
+ -----END RSA PRIVATE KEY-----
+
+ interfaces:
+ port1:
+ mac_address: "fa:16:3e:9b:89:52"
+ pci_address: "0000:00:04.0"
+ link: link1
+ port2:
+ mac_address: "fa:16:3e:7a:33:60"
+ pci_address: "0000:00:05.0"
+ link: link4
+ port3:
+ mac_address: "fa:16:3e:29:b7:ae"
+ pci_address: "0000:00:06.0"
+ link: link3
+ port4:
+ mac_address: "fa:16:3e:76:8d:ff"
+ pci_address: "0000:00:07.0"
+ link: link6
+ DUT2:
+ type: DUT
+ host: "10.30.51.156"
+ port: 22
+ username: cisco
+ honeycomb:
+ user: admin
+ passwd: admin
+ port: 8183
+ netconf_port: 2831
+ priv_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
+ v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
+ vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
+ 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
+ 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
+ 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
+ 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
+ EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
+ 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
+ MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
+ p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
+ 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
+ OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
+ GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
+ bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
+ 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
+ f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
+ UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
+ +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
+ D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
+ sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
+ g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
+ qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
+ EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
+ BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
+ -----END RSA PRIVATE KEY-----
+
+ interfaces:
+ port1:
+ mac_address: "fa:16:3e:ad:6c:7d"
+ pci_address: "0000:00:04.0"
+ link: link2
+ port2:
+ mac_address: "fa:16:3e:94:a4:99"
+ pci_address: "0000:00:05.0"
+ link: link5
+ port3:
+ mac_address: "fa:16:3e:75:92:da"
+ pci_address: "0000:00:06.0"
+ link: link3
+ port4:
+ mac_address: "fa:16:3e:2c:b1:2a"
+ pci_address: "0000:00:07.0"
+ link: link6
+
+**VPP Version**
+
+|vpp-release|
+
+**VPP Installed Packages - Ubuntu**
+::
+
+ $ dpkg -l vpp\*
+ Desired=Unknown/Install/Remove/Purge/Hold
+ | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
+ |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
+ ||/ Name Version Architecture Description
+ +++-==============-=============-============-=================================================
+ ii vpp 18.04-release amd64 Vector Packet Processing--executables
+ ii vpp-dbg 18.04-release amd64 Vector Packet Processing--debug symbols
+ ii vpp-dev 18.04-release amd64 Vector Packet Processing--development support
+ ii vpp-dpdk-dkms 18.02-vpp1 amd64 DPDK Development Package for VPP - Kernel Modules
+ ii vpp-lib 18.04-release amd64 Vector Packet Processing--runtime libraries
+ ii vpp-plugins 18.04-release amd64 Vector Packet Processing--runtime plugins
+
+**VPP Installed Packages - Centos**
+::
+
+ $ rpm -qai vpp*
+ Name : vpp
+ Version : 18.04
+ Release : release
+ Architecture: x86_64
+ Install Date: Fri 04 May 2018 02:47:36 AM EDT
+ Group : Unspecified
+ Size : 2311324
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-18.04-release.src.rpm
+ Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
+ Build Host : c29a51c12e88
+ Relocations : (not relocatable)
+ Summary : Vector Packet Processing
+ Description :
+ This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
+ vpp - the vector packet engine
+ vpp_api_test - vector packet engine API test tool
+ vpp_json_test - vector packet engine JSON test tool
+ Name : vpp-lib
+ Version : 18.04
+ Release : release
+ Architecture: x86_64
+ Install Date: Fri 04 May 2018 02:47:36 AM EDT
+ Group : System Environment/Libraries
+ Size : 24949034
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-18.04-release.src.rpm
+ Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
+ Build Host : c29a51c12e88
+ Relocations : (not relocatable)
+ Summary : VPP libraries
+ Description :
+ This package contains the VPP shared libraries, including:
+ vppinfra - foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.
+ svm - vm library
+ vlib - vector processing library
+ vlib-api - binary API library
+ vnet - network stack library
+ Name : vpp-selinux-policy
+ Version : 18.04
+ Release : release
+ Architecture: x86_64
+ Install Date: Fri 04 May 2018 02:47:35 AM EDT
+ Group : System Environment/Base
+ Size : 86170
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-18.04-release.src.rpm
+ Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
+ Build Host : c29a51c12e88
+ Relocations : (not relocatable)
+ Summary : VPP Security-Enhanced Linux (SELinux) policy
+ Description :
+ This package contains a tailored VPP SELinux policy
+ Name : vpp-devel
+ Version : 18.04
+ Release : release
+ Architecture: x86_64
+ Install Date: Fri 04 May 2018 02:47:38 AM EDT
+ Group : Development/Libraries
+ Size : 10632218
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-18.04-release.src.rpm
+ Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
+ Build Host : c29a51c12e88
+ Relocations : (not relocatable)
+ Summary : VPP header files, static libraries
+ Description :
+ This package contains the header files for VPP.
+ Install this package if you want to write a
+ program for compilation and linking with vpp lib.
+ vlib
+ vlibmemory
+ vnet - devices, classify, dhcp, ethernet flow, gre, ip, etc.
+ vpp-api
+ vppinfra
+ Name : vpp-plugins
+ Version : 18.04
+ Release : release
+ Architecture: x86_64
+ Install Date: Fri 04 May 2018 02:47:37 AM EDT
+ Group : System Environment/Libraries
+ Size : 44145968
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-18.04-release.src.rpm
+ Build Date : Wed 25 Apr 2018 01:00:24 PM EDT
+ Build Host : c29a51c12e88
+ Relocations : (not relocatable)
+ Summary : Vector Packet Processing--runtime plugins
+ Description :
+ This package contains VPP plugins
+
+**VPP Startup Configuration**
+
+VPP startup configuration is common for all test cases except test cases related
+to SW Crypto device.
+
+**Default**
+
+::
+
+ $ cat /etc/vpp/startup.conf
+ unix {
+ nodaemon
+ log /var/log/vpp/vpp.log
+ full-coredump
+ cli-listen /run/vpp/cli.sock
+ gid vpp
+ }
+
+ api-trace {
+ ## This stanza controls binary API tracing. Unless there is a very strong reason,
+ ## please leave this feature enabled.
+ on
+ ## Additional parameters:
+ ##
+ ## To set the number of binary API trace records in the circular buffer, configure nitems
+ ##
+ ## nitems <nnn>
+ ##
+ ## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
+ ## Very handy for understanding api message changes between versions, identifying missing
+ ## plugins, and so forth.
+ ##
+ ## save-api-table <filename>
+ }
+
+ api-segment {
+ gid vpp
+ }
+
+ cpu {
+ ## In the VPP there is one main thread and optionally the user can create worker(s)
+ ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically
+
+ ## Manual pinning of thread(s) to CPU core(s)
+
+ ## Set logical CPU core where main thread runs
+ # main-core 1
+
+ ## Set logical CPU core(s) where worker threads are running
+ # corelist-workers 2-3,18-19
+
+ ## Automatic pinning of thread(s) to CPU core(s)
+
+ ## Sets number of CPU core(s) to be skipped (1 ... N-1)
+ ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).
+ ## The main thread is automatically pinned to the first available CPU core and worker(s)
+ ## are pinned to next free CPU core(s) after core assigned to main thread
+ # skip-cores 4
+
+ ## Specify a number of workers to be created
+ ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)
+ ## and main thread's CPU core
+ # workers 2
+
+ ## Set scheduling policy and priority of main and worker threads
+
+ ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)
+ ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)
+ # scheduler-policy fifo
+
+ ## Scheduling priority is used only for "real-time policies (fifo and rr),
+ ## and has to be in the range of priorities supported for a particular policy
+ # scheduler-priority 50
+ }
+
+ # dpdk {
+ ## Change default settings for all intefaces
+ # dev default {
+ ## Number of receive queues, enables RSS
+ ## Default is 1
+ # num-rx-queues 3
+
+ ## Number of transmit queues, Default is equal
+ ## to number of worker threads or 1 if no workers treads
+ # num-tx-queues 3
+
+ ## Number of descriptors in transmit and receive rings
+ ## increasing or reducing number can impact performance
+ ## Default is 1024 for both rx and tx
+ # num-rx-desc 512
+ # num-tx-desc 512
+
+ ## VLAN strip offload mode for interface
+ ## Default is off
+ # vlan-strip-offload on
+ # }
+
+ ## Whitelist specific interface by specifying PCI address
+ # dev 0000:02:00.0
+
+ ## Whitelist specific interface by specifying PCI address and in
+ ## addition specify custom parameters for this interface
+ # dev 0000:02:00.1 {
+ # num-rx-queues 2
+ # }
+
+ ## Specify bonded interface and its slaves via PCI addresses
+ ##
+ ## Bonded interface in XOR load balance mode (mode 2) with L3 and L4 headers
+ # vdev eth_bond0,mode=2,slave=0000:02:00.0,slave=0000:03:00.0,xmit_policy=l34
+ # vdev eth_bond1,mode=2,slave=0000:02:00.1,slave=0000:03:00.1,xmit_policy=l34
+ ##
+ ## Bonded interface in Active-Back up mode (mode 1)
+ # vdev eth_bond0,mode=1,slave=0000:02:00.0,slave=0000:03:00.0
+ # vdev eth_bond1,mode=1,slave=0000:02:00.1,slave=0000:03:00.1
+
+ ## Change UIO driver used by VPP, Options are: igb_uio, vfio-pci,
+ ## uio_pci_generic or auto (default)
+ # uio-driver vfio-pci
+
+ ## Disable mutli-segment buffers, improves performance but
+ ## disables Jumbo MTU support
+ # no-multi-seg
+
+ ## Increase number of buffers allocated, needed only in scenarios with
+ ## large number of interfaces and worker threads. Value is per CPU socket.
+ ## Default is 16384
+ # num-mbufs 128000
+
+ ## Change hugepages allocation per-socket, needed only if there is need for
+ ## larger number of mbufs. Default is 256M on each detected CPU socket
+ # socket-mem 2048,2048
+
+ ## Disables UDP / TCP TX checksum offload. Typically needed for use
+ ## faster vector PMDs (together with no-multi-seg)
+ # no-tx-checksum-offload
+ # }
+
+
+ # plugins {
+ ## Adjusting the plugin path depending on where the VPP plugins are
+ # path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
+
+ ## Disable all plugins by default and then selectively enable specific plugins
+ # plugin default { disable }
+ # plugin dpdk_plugin.so { enable }
+ # plugin acl_plugin.so { enable }
+
+ ## Enable all plugins by default and then selectively disable specific plugins
+ # plugin dpdk_plugin.so { disable }
+ # plugin acl_plugin.so { disable }
+ # }
+
+ ## Alternate syntax to choose plugin path
+ # plugin_path /home/bms/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins
+
+**SW Crypto Device**
+
+::
+
+ $ cat /etc/vpp/startup.conf
+ unix
+ {
+ cli-listen /run/vpp/cli.sock
+ gid vpp
+ nodaemon
+ full-coredump
+ log /tmp/vpp.log
+ }
+ api-segment
+ {
+ gid vpp
+ }
+ dpdk
+ {
+ vdev cryptodev_aesni_gcm_pmd,socket_id=0
+ vdev cryptodev_aesni_mb_pmd,socket_id=0
+ }
+
+TG Configuration
+----------------
+
+Traffic Generator node is VM running the same OS Linux as SUTs. Ports of this
+VM are used as source (Tx) and destination (Rx) ports for the traffic.
+
+Traffic scripts of test cases are executed on this VM.
+
+**TG VM configuration**
+
+Configuration of the TG VMs is defined in `VIRL topologies directory`_.
+
+ /csit/resources/tools/virl/topologies/double-ring-nested.xenial.virl
+
+- List of TG VM interfaces:::
+
+ <interface id="0" name="eth1"/>
+ <interface id="1" name="eth2"/>
+ <interface id="2" name="eth3"/>
+ <interface id="3" name="eth4"/>
+ <interface id="4" name="eth5"/>
+ <interface id="5" name="eth6"/>
+
+**TG node port configuration**
+
+Port configuration of TG is defined in topology file that is generated per VIRL
+simulation based on the definition stored in `VIRL topologies directory`_.
+
+Example of TG node configuration:::
+
+ TG:
+ type: TG
+ host: "10.30.51.155"
+ port: 22
+ username: cisco
+ priv_key: |
+ -----BEGIN RSA PRIVATE KEY-----
+ MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb
+ v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd
+ vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2
+ 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc
+ 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs
+ 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7
+ 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN
+ EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN
+ 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU
+ MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD
+ p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW
+ 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG
+ OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD
+ GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef
+ bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg
+ 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu
+ f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u
+ UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/
+ +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT
+ D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/
+ sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn
+ g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY
+ qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8
+ EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD
+ BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN
+ -----END RSA PRIVATE KEY-----
+
+ interfaces:
+ port3:
+ mac_address: "fa:16:3e:b9:e1:27"
+ pci_address: "0000:00:06.0"
+ link: link1
+ driver: virtio-pci
+ port4:
+ mac_address: "fa:16:3e:e9:c8:68"
+ pci_address: "0000:00:07.0"
+ link: link4
+ driver: virtio-pci
+ port5:
+ mac_address: "fa:16:3e:e8:d3:47"
+ pci_address: "0000:00:08.0"
+ link: link2
+ driver: virtio-pci
+ port6:
+ mac_address: "fa:16:3e:cf:ca:58"
+ pci_address: "0000:00:09.0"
+ link: link5
+ driver: virtio-pci
+
+**Traffic generator**
+
+Functional tests utilize Scapy as a traffic generator. There was used Scapy
+v2.3.1 for |vpp-release| tests.
+