-Test Environment\r
-================\r
-\r
-CSIT functional tests are currently executed in FD.IO VIRL testbed. The physical\r
-VIRL testbed infrastructure consists of three VIRL hosts:\r
-\r
-- All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,\r
- 18c, 512GB RAM)\r
-- tb4-virl1:\r
-\r
- - Status: Production\r
- - OS: Ubuntu 16.04.2\r
- - STD server version 0.10.32.16\r
- - UWM server version 0.10.32.16\r
-\r
-- tb4-virl2:\r
-\r
- - Status: Production\r
- - OS: Ubuntu 16.04.2\r
- - STD server version 0.10.32.16\r
- - UWM server version 0.10.32.16\r
-\r
-- tb4-virl3:\r
-\r
- - Status: Production\r
- - OS: Ubuntu 14.04.3\r
- - STD server version 0.10.24.7\r
- - UWM server version 0.10.24.7\r
-\r
-Whenever a patch is submitted to gerrit for review, parallel VIRL simulations\r
-are started to reduce the time of execution of all functional tests. The number\r
-of parallel VIRL simulations is equal to number of test groups defined by\r
-TEST_GROUPS variable in csit/bootstrap.sh file. The VIRL host to run VIRL\r
-simulation is selected based on least load algorithm per VIRL simulation.\r
-\r
-Every VIRL simulation uses the same three-node - Traffic Generator (TG node) and\r
-two Systems Under Test (SUT1 and SUT2) - "double-ring" topology. The appropriate\r
-pre-built VPP packages built by Jenkins for the patch under review are then\r
-installed on the two SUTs, along with their /etc/vpp/startup.conf file, in all\r
-VIRL simulations.\r
-\r
-SUT Configuration - VIRL Guest VM\r
----------------------------------\r
-\r
-Configuration of the SUT VMs is defined in file\r
-\r
- /csit/resources/tools/virl/topologies/double-ring-nested.xenial.virl\r
-\r
-- List of SUT VM interfaces:::\r
-\r
- <interface id="0" name="GigabitEthernet0/4/0"/>\r
- <interface id="1" name="GigabitEthernet0/5/0"/>\r
- <interface id="2" name="GigabitEthernet0/6/0"/>\r
- <interface id="3" name="GigabitEthernet0/7/0"/>\r
-\r
-- Number of 2MB hugepages: 1024\r
-\r
-- Maximum number of memory map areas: 20000\r
-\r
-- Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024)\r
-\r
-SUT Configuration - VIRL Guest OS Linux\r
----------------------------------------\r
-\r
-In CSIT terminology, the VM operating system for both SUTs that |vpp-release| has\r
-been tested with, is the following:\r
-\r
-**#. Ubuntu VIRL image**\r
-\r
-This image implies Ubuntu 16.04.1 LTS, current as of yyyy-mm-dd (that is,\r
-package versions are those that would have been installed by a "apt-get update",\r
-"apt-get upgrade" on that day), produced by CSIT disk image build scripts.\r
-\r
-The exact list of installed packages and their versions (including the Linux\r
-kernel package version) are included in CSIT source repository:\r
-\r
- resources/tools/disk-image-builder/ubuntu/lists/|virl-image-ubuntu|\r
-\r
-A replica of this VM image can be built by running the "build.sh" script in CSIT\r
-repository resources/tools/disk-image-builder/ubuntu.\r
-\r
-**#. CentOS VIRL image**\r
-\r
-The Centos7.3 image is ready to be used but no tests running on it now.\r
-Corresponding Jenkins jobs are under preparation.\r
-\r
-The exact list of installed packages and their versions (including the Linux\r
-kernel package version) are included in CSIT source repository:\r
-\r
- resources/tools/disk-image-builder/ubuntu/lists/|virl-image-centos|\r
-\r
-A replica of this VM image can be built by running the "build.sh" script in CSIT\r
-repository resources/tools/disk-image-builder/centos.\r
-\r
-**#. Nested VM image**\r
-\r
-In addition to the "main" VM image, tests which require VPP to communicate to a\r
-VM over a vhost-user interface, utilize a "nested" VM image.\r
-\r
-This "nested" VM is dynamically created and destroyed as part of a test case,\r
-and therefore the "nested" VM image is optimized to be small, lightweight and\r
-have a short boot time. The "nested" VM image is not built around any\r
-established Linux distribution, but is based on `BuildRoot\r
-<https://buildroot.org/>`_, a tool for building embedded Linux systems. Just as\r
-for the "main" image, scripts to produce an identical replica of the "nested"\r
-image are included in CSIT GIT repository, and the image can be rebuilt using\r
-the "build.sh" script at:\r
-\r
- resources/tools/disk-image-builder/ubuntu/lists/nested\r
-\r
-DUT Configuration - VPP\r
------------------------\r
-\r
-Every System Under Test runs VPP SW application in Linux user-mode as a Device\r
-Under Test (DUT) node.\r
-\r
-**DUT port configuration**\r
-\r
-Port configuration of DUTs is defined in topology file that is generated per\r
-VIRL simulation based on the definition stored in file\r
-\r
- /csit/resources/tools/virl/topologies/double-ring-nested.xenial.yaml\r
-\r
-Example of DUT nodes configuration:::\r
-\r
- DUT1:\r
- type: DUT\r
- host: "10.30.51.157"\r
- port: 22\r
- username: cisco\r
- honeycomb:\r
- user: admin\r
- passwd: admin\r
- port: 8183\r
- netconf_port: 2831\r
- priv_key: |\r
- -----BEGIN RSA PRIVATE KEY-----\r
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
- -----END RSA PRIVATE KEY-----\r
-\r
- interfaces:\r
- port1:\r
- mac_address: "fa:16:3e:9b:89:52"\r
- pci_address: "0000:00:04.0"\r
- link: link1\r
- port2:\r
- mac_address: "fa:16:3e:7a:33:60"\r
- pci_address: "0000:00:05.0"\r
- link: link4\r
- port3:\r
- mac_address: "fa:16:3e:29:b7:ae"\r
- pci_address: "0000:00:06.0"\r
- link: link3\r
- port4:\r
- mac_address: "fa:16:3e:76:8d:ff"\r
- pci_address: "0000:00:07.0"\r
- link: link6\r
- DUT2:\r
- type: DUT\r
- host: "10.30.51.156"\r
- port: 22\r
- username: cisco\r
- honeycomb:\r
- user: admin\r
- passwd: admin\r
- port: 8183\r
- netconf_port: 2831\r
- priv_key: |\r
- -----BEGIN RSA PRIVATE KEY-----\r
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
- -----END RSA PRIVATE KEY-----\r
-\r
- interfaces:\r
- port1:\r
- mac_address: "fa:16:3e:ad:6c:7d"\r
- pci_address: "0000:00:04.0"\r
- link: link2\r
- port2:\r
- mac_address: "fa:16:3e:94:a4:99"\r
- pci_address: "0000:00:05.0"\r
- link: link5\r
- port3:\r
- mac_address: "fa:16:3e:75:92:da"\r
- pci_address: "0000:00:06.0"\r
- link: link3\r
- port4:\r
- mac_address: "fa:16:3e:2c:b1:2a"\r
- pci_address: "0000:00:07.0"\r
- link: link6\r
-\r
-**VPP Version**\r
-\r
-|vpp-release|\r
-\r
-**VPP Installed Packages**\r
-::\r
-\r
- $ dpkg -l vpp\*\r
- Desired=Unknown/Install/Remove/Purge/Hold\r
- | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend\r
- |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)\r
- ||/ Name Version Architecture Description\r
- +++-==============-=============-============-=============================================\r
- ii vpp 17.07-release amd64 Vector Packet Processing--executables\r
- ii vpp-dbg 17.07-release amd64 Vector Packet Processing--debug symbols\r
- ii vpp-dev 17.07-release amd64 Vector Packet Processing--development support\r
- ii vpp-dpdk-dev 17.07-release amd64 Vector Packet Processing--development support\r
- ii vpp-dpdk-dkms 17.07-release amd64 DPDK 2.1 igb_uio_driver\r
- ii vpp-lib 17.07-release amd64 Vector Packet Processing--runtime libraries\r
- ii vpp-plugins 17.07-release amd64 Vector Packet Processing--runtime plugins\r
-\r
-**VPP Startup Configuration**\r
-\r
-VPP startup configuration is common for all test cases.\r
-\r
-::\r
-\r
- $ cat /etc/vpp/startup.conf\r
- unix {\r
- nodaemon\r
- log /tmp/vpp.log\r
- full-coredump\r
- }\r
-\r
- api-trace {\r
- on\r
- }\r
-\r
- api-segment {\r
- gid vpp\r
- }\r
-\r
- cpu {\r
- ## In the VPP there is one main thread and optionally the user can create worker(s)\r
- ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically\r
-\r
- ## Manual pinning of thread(s) to CPU core(s)\r
-\r
- ## Set logical CPU core where main thread runs\r
- # main-core 1\r
-\r
- ## Set logical CPU core(s) where worker threads are running\r
- # corelist-workers 2-3,18-19\r
-\r
- ## Automatic pinning of thread(s) to CPU core(s)\r
-\r
- ## Sets number of CPU core(s) to be skipped (1 ... N-1)\r
- ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).\r
- ## The main thread is automatically pinned to the first available CPU core and worker(s)\r
- ## are pinned to next free CPU core(s) after core assigned to main thread\r
- # skip-cores 4\r
-\r
- ## Specify a number of workers to be created\r
- ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)\r
- ## and main thread's CPU core\r
- # workers 2\r
-\r
- ## Set scheduling policy and priority of main and worker threads\r
-\r
- ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)\r
- ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)\r
- # scheduler-policy fifo\r
-\r
- ## Scheduling priority is used only for "real-time policies (fifo and rr),\r
- ## and has to be in the range of priorities supported for a particular policy\r
- # scheduler-priority 50\r
- }\r
-\r
- dpdk {\r
- ## Change default settings for all intefaces\r
- # dev default {\r
- ## Number of receive queues, enables RSS\r
- ## Default is 1\r
- # num-rx-queues 3\r
-\r
- ## Number of transmit queues, Default is equal\r
- ## to number of worker threads or 1 if no workers treads\r
- # num-tx-queues 3\r
-\r
- ## Number of descriptors in transmit and receive rings\r
- ## increasing or reducing number can impact performance\r
- ## Default is 1024 for both rx and tx\r
- # num-rx-desc 512\r
- # num-tx-desc 512\r
-\r
- ## VLAN strip offload mode for interface\r
- ## Default is off\r
- # vlan-strip-offload on\r
- # }\r
-\r
- ## Whitelist specific interface by specifying PCI address\r
- # dev 0000:02:00.0\r
-\r
- ## Whitelist specific interface by specifying PCI address and in\r
- ## addition specify custom parameters for this interface\r
- # dev 0000:02:00.1 {\r
- # num-rx-queues 2\r
- # }\r
-\r
- ## Change UIO driver used by VPP, Options are: uio_pci_generic, vfio-pci\r
- ## and igb_uio (default)\r
- # uio-driver uio_pci_generic\r
-\r
- ## Disable mutli-segment buffers, improves performance but\r
- ## disables Jumbo MTU support\r
- # no-multi-seg\r
-\r
- ## Increase number of buffers allocated, needed only in scenarios with\r
- ## large number of interfaces and worker threads. Value is per CPU socket.\r
- ## Default is 32768\r
- # num-mbufs 128000\r
-\r
- ## Change hugepages allocation per-socket, needed only if there is need for\r
- ## larger number of mbufs. Default is 256M on each detected CPU socket\r
- # socket-mem 2048,2048\r
- }\r
-\r
-TG Configuration\r
-----------------\r
-\r
-Traffic Generator node is VM running the same OS Linux as SUTs. Ports of this\r
-VM are used as source (Tx) and destination (Rx) ports for the traffic.\r
-\r
-Traffic scripts of test cases are executed on this VM.\r
-\r
-**TG VM configuration**\r
-\r
-Configuration of the TG VMs is defined in file\r
-\r
- /csit/resources/tools/virl/topologies/double-ring-nested.xenial.virl\r
-\r
-- List of TG VM interfaces:::\r
-\r
- <interface id="0" name="eth1"/>\r
- <interface id="1" name="eth2"/>\r
- <interface id="2" name="eth3"/>\r
- <interface id="3" name="eth4"/>\r
- <interface id="4" name="eth5"/>\r
- <interface id="5" name="eth6"/>\r
-\r
-**TG node port configuration**\r
-\r
-Port configuration of TG is defined in topology file that is generated per VIRL\r
-simulation based on the definition stored in file\r
-\r
- /csit/resources/tools/virl/topologies/double-ring-nested.xenial.yaml\r
-\r
-Example of TG node configuration:::\r
-\r
- TG:\r
- type: TG\r
- host: "10.30.51.155"\r
- port: 22\r
- username: cisco\r
- priv_key: |\r
- -----BEGIN RSA PRIVATE KEY-----\r
- MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
- v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
- vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
- 4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
- 1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
- 8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
- 0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
- EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
- 0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
- MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
- p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
- 79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
- OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
- GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
- bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
- 8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
- f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
- UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
- +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
- D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
- sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
- g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
- qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
- EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
- BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
- -----END RSA PRIVATE KEY-----\r
-\r
- interfaces:\r
- port3:\r
- mac_address: "fa:16:3e:b9:e1:27"\r
- pci_address: "0000:00:06.0"\r
- link: link1\r
- driver: virtio-pci\r
- port4:\r
- mac_address: "fa:16:3e:e9:c8:68"\r
- pci_address: "0000:00:07.0"\r
- link: link4\r
- driver: virtio-pci\r
- port5:\r
- mac_address: "fa:16:3e:e8:d3:47"\r
- pci_address: "0000:00:08.0"\r
- link: link2\r
- driver: virtio-pci\r
- port6:\r
- mac_address: "fa:16:3e:cf:ca:58"\r
- pci_address: "0000:00:09.0"\r
- link: link5\r
- driver: virtio-pci\r
-\r
-**Traffic generator**\r
-\r
-Functional tests utilize Scapy as a traffic generator. There was used Scapy\r
-v2.3.1 for |vpp-release| tests.\r
-\r
+Test Environment
+================
+
+CSIT VPP functional tests are executed in FD.io VIRL testbeds. The
+physical VIRL testbed infrastructure consists of three VIRL servers:
+
+- tb4-virl1:
+
+ - Status: Production
+ - OS: Ubuntu 16.04.2
+ - VIRL STD server version: 0.10.32.16
+ - VIRL UWM server version: 0.10.32.16
+
+- tb4-virl2:
+
+ - Status: Production
+ - OS: Ubuntu 16.04.2
+ - VIRL STD server version: 0.10.32.16
+ - VIRL UWM server version: 0.10.32.16
+
+- tb4-virl3:
+
+ - Status: Production
+ - OS: Ubuntu 16.04.2
+ - VIRL STD server version: 0.10.32.19
+ - VIRL UWM server version: 0.10.32.19
+
+- VIRL hosts: Cisco UCS C240-M4, each with 2x Intel Xeon E5-2699
+ v3 (2.30 GHz, 18c), 512GB RAM.
+
+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 a
+number of test groups defined by TEST_GROUPS variable in
+:file:`csit/bootstrap.sh` file. VIRL host to run VIRL simulation is
+selected based on least load algorithm per VIRL simulation.
+
+Every VIRL simulation uses the same three-node logical ring topology -
+Traffic Generator (TG node) and two Systems Under Test (SUT1 and SUT2).
+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 Settings - VIRL Guest VM
+----------------------------
+
+SUT VMs' settings are 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 Settings - 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 Settings - 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"
+ arch: x86_64
+ 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"
+ arch: x86_64
+ 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 | grep vpp
+ ii libvppinfra 19.08-release amd64 Vector Packet Processing--runtime libraries
+ ii libvppinfra-dev 19.08-release amd64 Vector Packet Processing--runtime libraries
+ ii python3-vpp-api 19.08-release amd64 VPP Python3 API bindings
+ ii vpp 19.08-release amd64 Vector Packet Processing--executables
+ ii vpp-api-python 19.08-release amd64 VPP Python API bindings
+ ii vpp-dbg 19.08-release amd64 Vector Packet Processing--debug symbols
+ ii vpp-dev 19.08-release amd64 Vector Packet Processing--development support
+ ii vpp-plugin-core 19.08-release amd64 Vector Packet Processing--runtime core plugins
+ ii vpp-plugin-dpdk 19.08-release amd64 Vector Packet Processing--runtime dpdk plugin
+
+VPP Installed Packages - Centos
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+ $ rpm -qai *vpp*
+ vpp-api-python
+ Version : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:57 AM EDT
+ Group : Development/Libraries
+ Size : 195318
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ Relocations : (not relocatable)
+ Summary : VPP api python bindings
+ Description :
+ This package contains the python bindings for the vpp api
+ Name : vpp
+ Version : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:57 AM EDT
+ Group : Unspecified
+ Size : 2681317
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ 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 : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:57 AM EDT
+ Group : System Environment/Libraries
+ Size : 43222411
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ 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-devel
+ Version : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:59 AM EDT
+ Group : Development/Libraries
+ Size : 13906969
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ 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-selinux-policy
+ Version : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:56 AM EDT
+ Group : System Environment/Base
+ Size : 102929
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ Relocations : (not relocatable)
+ Summary : VPP Security-Enhanced Linux (SELinux) policy
+ Description :
+ This package contains a tailored VPP SELinux policy
+ Name : vpp-plugins
+ Version : 19.08
+ Release : release
+ Architecture: x86_64
+ Install Date: Wed 28 Aug 2019 01:35:59 AM EDT
+ Group : System Environment/Libraries
+ Size : 34150451
+ License : ASL 2.0
+ Signature : (none)
+ Source RPM : vpp-19.08-release.src.rpm
+ Build Date : Wed 21 Aug 2019 02:30:08 PM EDT
+ Build Host : 05ab23f629ba
+ 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.
+
+**Common Configuration**
+
+There is used the default startup configuration as defined in `VPP startup.conf`_
+
+TG Settings - Scapy
+-------------------
+
+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 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"
+ arch: x86_64
+ 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. Scapy v2.3.1 is
+used for |vpp-release| tests.
+