5b29b2d80bb0479b005eeb1dddc3451e605978ee
[csit.git] / docs / report / vpp_functional_tests / test_environment.rst
1 Test Environment\r
2 ================\r
3 \r
4 CSIT functional tests are currently executed in FD.IO VIRL testbed. The physical\r
5 VIRL testbed infrastructure consists of three VIRL hosts:\r
6 \r
7 - All hosts are Cisco UCS C240-M4 (2x Intel(R) Xeon(R) CPU E5-2699 v3 @2.30GHz,\r
8   18c, 512GB RAM)\r
9 \r
10 - tb4-virl1:\r
11 \r
12   - Status: Production\r
13   - OS: Ubuntu 16.04.2\r
14   - STD server version 0.10.32.16\r
15   - UWM server version 0.10.32.16\r
16 \r
17 - tb4-virl2:\r
18 \r
19   - Status: Production\r
20   - OS: Ubuntu 16.04.2\r
21   - STD server version 0.10.32.16\r
22   - UWM server version 0.10.32.16\r
23 \r
24 - tb4-virl3:\r
25 \r
26   - Status: Testing\r
27   - OS: Ubuntu 16.04.2\r
28   - STD server version 0.10.32.19\r
29   - UWM server version 0.10.32.19\r
30 \r
31 Whenever a patch is submitted to gerrit for review, parallel VIRL simulations\r
32 are started to reduce the time of execution of all functional tests. The number\r
33 of parallel VIRL simulations is equal to number of test groups defined by\r
34 TEST_GROUPS variable in :file:`csit/bootstrap.sh` file. The VIRL host to run\r
35 VIRL simulation is selected based on least load algorithm per VIRL simulation.\r
36 \r
37 Every VIRL simulation uses the same three-node - Traffic Generator (TG node) and\r
38 two Systems Under Test (SUT1 and SUT2) - "double-ring" topology. The appropriate\r
39 pre-built VPP packages built by Jenkins for the patch under review are then\r
40 installed on the two SUTs, along with their :file:`/etc/vpp/startup.conf` file,\r
41 in all VIRL simulations.\r
42 \r
43 SUT Configuration - VIRL Guest VM\r
44 ---------------------------------\r
45 \r
46 Configurations of the SUT VMs is defined in `VIRL topologies directory`_\r
47 \r
48 - List of SUT VM interfaces:::\r
49 \r
50     <interface id="0" name="GigabitEthernet0/4/0"/>\r
51     <interface id="1" name="GigabitEthernet0/5/0"/>\r
52     <interface id="2" name="GigabitEthernet0/6/0"/>\r
53     <interface id="3" name="GigabitEthernet0/7/0"/>\r
54 \r
55 - Number of 2MB hugepages: 1024\r
56 \r
57 - Maximum number of memory map areas: 20000\r
58 \r
59 - Kernel Shared Memory Max: 2147483648 (vm.nr_hugepages * 2 * 1024 * 1024)\r
60 \r
61 SUT Configuration - VIRL Guest OS Linux\r
62 ---------------------------------------\r
63 \r
64 In CSIT terminology, the VM operating system for both SUTs that |vpp-release| has\r
65 been tested with, is the following:\r
66 \r
67 #. **Ubuntu VIRL image**\r
68 \r
69    This image implies Ubuntu 16.04.1 LTS, current as of yyyy-mm-dd (that is,\r
70    package versions are those that would have been installed by a\r
71    :command:`apt-get update`, :command:`apt-get upgrade` on that day), produced\r
72    by CSIT disk image build scripts.\r
73 \r
74    The exact list of installed packages and their versions (including the Linux\r
75    kernel package version) are included in `VIRL images lists`_.\r
76 \r
77    A replica of this VM image can be built by running the :command:`build.sh`\r
78    script in CSIT repository.\r
79 \r
80 #. **CentOS VIRL image**\r
81 \r
82    The Centos7.3 image is ready to be used but no tests running on it now.\r
83    Corresponding Jenkins jobs are under preparation.\r
84 \r
85    The exact list of installed packages and their versions (including the Linux\r
86    kernel package version) are included in `VIRL images lists`_.\r
87 \r
88    A replica of this VM image can be built by running the :command:`build.sh`\r
89    script in CSIT repository.\r
90 \r
91 #. **Nested VM image**\r
92 \r
93    In addition to the "main" VM image, tests which require VPP to communicate to\r
94    a VM over a vhost-user interface, utilize a "nested" VM image.\r
95 \r
96    This "nested" VM is dynamically created and destroyed as part of a test case,\r
97    and therefore the "nested" VM image is optimized to be small, lightweight and\r
98    have a short boot time. The "nested" VM image is not built around any\r
99    established Linux distribution, but is based on `BuildRoot\r
100    <https://buildroot.org/>`_, a tool for building embedded Linux systems. Just\r
101    as for the "main" image, scripts to produce an identical replica of the\r
102    "nested" image are included in CSIT GIT repository, and the image can be\r
103    rebuilt using the "build.sh" script at `VIRL nested`_.\r
104 \r
105 DUT Configuration - VPP\r
106 -----------------------\r
107 \r
108 Every System Under Test runs VPP SW application in Linux user-mode as a Device\r
109 Under Test (DUT) node.\r
110 \r
111 **DUT port configuration**\r
112 \r
113 Port configuration of DUTs is defined in topology file that is generated per\r
114 VIRL simulation based on the definition stored in `VIRL topologies directory`_.\r
115 \r
116 Example of DUT nodes configuration:::\r
117 \r
118     DUT1:\r
119         type: DUT\r
120         host: "10.30.51.157"\r
121         port: 22\r
122         username: cisco\r
123         honeycomb:\r
124           user: admin\r
125           passwd: admin\r
126           port: 8183\r
127           netconf_port: 2831\r
128         priv_key: |\r
129           -----BEGIN RSA PRIVATE KEY-----\r
130           MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
131           v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
132           vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
133           4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
134           1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
135           8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
136           0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
137           EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
138           0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
139           MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
140           p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
141           79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
142           OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
143           GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
144           bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
145           8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
146           f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
147           UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
148           +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
149           D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
150           sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
151           g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
152           qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
153           EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
154           BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
155           -----END RSA PRIVATE KEY-----\r
156 \r
157         interfaces:\r
158           port1:\r
159             mac_address: "fa:16:3e:9b:89:52"\r
160             pci_address: "0000:00:04.0"\r
161             link: link1\r
162           port2:\r
163             mac_address: "fa:16:3e:7a:33:60"\r
164             pci_address: "0000:00:05.0"\r
165             link: link4\r
166           port3:\r
167             mac_address: "fa:16:3e:29:b7:ae"\r
168             pci_address: "0000:00:06.0"\r
169             link: link3\r
170           port4:\r
171             mac_address: "fa:16:3e:76:8d:ff"\r
172             pci_address: "0000:00:07.0"\r
173             link: link6\r
174       DUT2:\r
175         type: DUT\r
176         host: "10.30.51.156"\r
177         port: 22\r
178         username: cisco\r
179         honeycomb:\r
180           user: admin\r
181           passwd: admin\r
182           port: 8183\r
183           netconf_port: 2831\r
184         priv_key: |\r
185           -----BEGIN RSA PRIVATE KEY-----\r
186           MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
187           v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
188           vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
189           4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
190           1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
191           8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
192           0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
193           EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
194           0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
195           MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
196           p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
197           79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
198           OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
199           GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
200           bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
201           8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
202           f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
203           UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
204           +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
205           D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
206           sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
207           g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
208           qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
209           EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
210           BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
211           -----END RSA PRIVATE KEY-----\r
212 \r
213         interfaces:\r
214           port1:\r
215             mac_address: "fa:16:3e:ad:6c:7d"\r
216             pci_address: "0000:00:04.0"\r
217             link: link2\r
218           port2:\r
219             mac_address: "fa:16:3e:94:a4:99"\r
220             pci_address: "0000:00:05.0"\r
221             link: link5\r
222           port3:\r
223             mac_address: "fa:16:3e:75:92:da"\r
224             pci_address: "0000:00:06.0"\r
225             link: link3\r
226           port4:\r
227             mac_address: "fa:16:3e:2c:b1:2a"\r
228             pci_address: "0000:00:07.0"\r
229             link: link6\r
230 \r
231 **VPP Version**\r
232 \r
233 |vpp-release|\r
234 \r
235 **VPP Installed Packages**\r
236 ::\r
237 \r
238     $ dpkg -l vpp\*\r
239     Desired=Unknown/Install/Remove/Purge/Hold\r
240     | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend\r
241     |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)\r
242     ||/ Name           Version       Architecture Description\r
243     +++-==============-=============-============-=============================================\r
244     ii  vpp            17.07-release amd64        Vector Packet Processing--executables\r
245     ii  vpp-dbg        17.07-release amd64        Vector Packet Processing--debug symbols\r
246     ii  vpp-dev        17.07-release amd64        Vector Packet Processing--development support\r
247     ii  vpp-dpdk-dev   17.07-release amd64        Vector Packet Processing--development support\r
248     ii  vpp-dpdk-dkms  17.07-release amd64        DPDK 2.1 igb_uio_driver\r
249     ii  vpp-lib        17.07-release amd64        Vector Packet Processing--runtime libraries\r
250     ii  vpp-plugins    17.07-release amd64        Vector Packet Processing--runtime plugins\r
251 \r
252 **VPP Startup Configuration**\r
253 \r
254 VPP startup configuration is common for all test cases.\r
255 \r
256 ::\r
257 \r
258     $ cat /etc/vpp/startup.conf\r
259     unix {\r
260       nodaemon\r
261       log /tmp/vpp.log\r
262       full-coredump\r
263     }\r
264 \r
265     api-trace {\r
266       on\r
267     }\r
268 \r
269     api-segment {\r
270       gid vpp\r
271     }\r
272 \r
273     cpu {\r
274         ## In the VPP there is one main thread and optionally the user can create worker(s)\r
275         ## The main thread and worker thread(s) can be pinned to CPU core(s) manually or automatically\r
276 \r
277         ## Manual pinning of thread(s) to CPU core(s)\r
278 \r
279         ## Set logical CPU core where main thread runs\r
280         # main-core 1\r
281 \r
282         ## Set logical CPU core(s) where worker threads are running\r
283         # corelist-workers 2-3,18-19\r
284 \r
285         ## Automatic pinning of thread(s) to CPU core(s)\r
286 \r
287         ## Sets number of CPU core(s) to be skipped (1 ... N-1)\r
288         ## Skipped CPU core(s) are not used for pinning main thread and working thread(s).\r
289         ## The main thread is automatically pinned to the first available CPU core and worker(s)\r
290         ## are pinned to next free CPU core(s) after core assigned to main thread\r
291         # skip-cores 4\r
292 \r
293         ## Specify a number of workers to be created\r
294         ## Workers are pinned to N consecutive CPU cores while skipping "skip-cores" CPU core(s)\r
295         ## and main thread's CPU core\r
296         # workers 2\r
297 \r
298         ## Set scheduling policy and priority of main and worker threads\r
299 \r
300         ## Scheduling policy options are: other (SCHED_OTHER), batch (SCHED_BATCH)\r
301         ## idle (SCHED_IDLE), fifo (SCHED_FIFO), rr (SCHED_RR)\r
302         # scheduler-policy fifo\r
303 \r
304         ## Scheduling priority is used only for "real-time policies (fifo and rr),\r
305         ## and has to be in the range of priorities supported for a particular policy\r
306         # scheduler-priority 50\r
307     }\r
308 \r
309     dpdk {\r
310         ## Change default settings for all intefaces\r
311         # dev default {\r
312             ## Number of receive queues, enables RSS\r
313             ## Default is 1\r
314             # num-rx-queues 3\r
315 \r
316             ## Number of transmit queues, Default is equal\r
317             ## to number of worker threads or 1 if no workers treads\r
318             # num-tx-queues 3\r
319 \r
320             ## Number of descriptors in transmit and receive rings\r
321             ## increasing or reducing number can impact performance\r
322             ## Default is 1024 for both rx and tx\r
323             # num-rx-desc 512\r
324             # num-tx-desc 512\r
325 \r
326             ## VLAN strip offload mode for interface\r
327             ## Default is off\r
328             # vlan-strip-offload on\r
329         # }\r
330 \r
331         ## Whitelist specific interface by specifying PCI address\r
332         # dev 0000:02:00.0\r
333 \r
334         ## Whitelist specific interface by specifying PCI address and in\r
335         ## addition specify custom parameters for this interface\r
336         # dev 0000:02:00.1 {\r
337         #       num-rx-queues 2\r
338         # }\r
339 \r
340         ## Change UIO driver used by VPP, Options are: uio_pci_generic, vfio-pci\r
341         ## and igb_uio (default)\r
342         # uio-driver uio_pci_generic\r
343 \r
344         ## Disable mutli-segment buffers, improves performance but\r
345         ## disables Jumbo MTU support\r
346         # no-multi-seg\r
347 \r
348         ## Increase number of buffers allocated, needed only in scenarios with\r
349         ## large number of interfaces and worker threads. Value is per CPU socket.\r
350         ## Default is 32768\r
351         # num-mbufs 128000\r
352 \r
353         ## Change hugepages allocation per-socket, needed only if there is need for\r
354         ## larger number of mbufs. Default is 256M on each detected CPU socket\r
355         # socket-mem 2048,2048\r
356     }\r
357 \r
358 TG Configuration\r
359 ----------------\r
360 \r
361 Traffic Generator node is VM running the same OS Linux as SUTs. Ports of this\r
362 VM are used as source (Tx) and destination (Rx) ports for the traffic.\r
363 \r
364 Traffic scripts of test cases are executed on this VM.\r
365 \r
366 **TG VM configuration**\r
367 \r
368 Configuration of the TG VMs is defined in `VIRL topologies directory`_.\r
369 \r
370    /csit/resources/tools/virl/topologies/double-ring-nested.xenial.virl\r
371 \r
372 - List of TG VM interfaces:::\r
373 \r
374     <interface id="0" name="eth1"/>\r
375     <interface id="1" name="eth2"/>\r
376     <interface id="2" name="eth3"/>\r
377     <interface id="3" name="eth4"/>\r
378     <interface id="4" name="eth5"/>\r
379     <interface id="5" name="eth6"/>\r
380 \r
381 **TG node port configuration**\r
382 \r
383 Port configuration of TG is defined in topology file that is generated per VIRL\r
384 simulation based on the definition stored in `VIRL topologies directory`_.\r
385 \r
386 Example of TG node configuration:::\r
387 \r
388     TG:\r
389         type: TG\r
390         host: "10.30.51.155"\r
391         port: 22\r
392         username: cisco\r
393         priv_key: |\r
394           -----BEGIN RSA PRIVATE KEY-----\r
395           MIIEpgIBAAKCAQEAwUDlTpzSHpwLQotZOFS4AgcPNEWCnP1AB2hWFmvI+8Kah/gb\r
396           v8ruZU9RqhPs56tyKzxbhvNkY4VbH5F1GilHZu3mLqzM4KfghMmaeMEjO1T7BYYd\r
397           vuBfTvIluljfQ2vAlnYrDwn+ClxJk81m0pDgvrLEX4qVVh2sGh7UEkYy5r82DNa2\r
398           4VjzPB1J/c8a9zP8FoZUhYIzF4FLvRMjUADpbMXgJMsGpaZLmz95ap0Eot7vb1Cc\r
399           1LvF97iyBCrtIOSKRKA50ZhLGjMKmOwnYU+cP5718tbproDVi6VJOo7zeuXyetMs\r
400           8YBl9kWblWG9BqP9jctFvsmi5G7hXgq1Y8u+DwIDAQABAoIBAQC/W4E0DHjLMny7\r
401           0bvw2YKzD0Zw3fttdB94tkm4PdZv5MybooPnsAvLaXVV0hEdfVi5kzSWNl/LY/tN\r
402           EP1BgGphc2QgB59/PPxGwFIjDCvUzlsZpynBHe+B/qh5ExNQcVvsIOqWI7DXlXaN\r
403           0i/khOzmJ6HncRRah1spKimYRsaUUDskyg7q3QqMWVaqBbbMvLs/w7ZWd/zoDqCU\r
404           MY/pCI6hkB3QbRo0OdiZLohphBl2ShABTwjvVyyKL5UA4jAEneJrhH5gWVLXnfgD\r
405           p62W5CollKEYblC8mUkPxpP7Qo277zw3xaq+oktIZhc5SUEUd7nJZtNqVAHqkItW\r
406           79VmpKyxAoGBAPfU+kqNPaTSvp+x1n5sn2SgipzDtgi9QqNmC4cjtrQQaaqI57SG\r
407           OHw1jX8i7L2G1WvVtkHg060nlEVo5n65ffFOqeVBezLVJ7ghWI8U+oBiJJyQ4boD\r
408           GJVNsoOSUQ0rtuGd9eVwfDk3ol9aCN0KK53oPfIYli29pyu4l095kg11AoGBAMef\r
409           bPEMBI/2XmCPshLSwhGFl+dW8d+Klluj3CUQ/0vUlvma3dfBOYNsIwAgTP0iIUTg\r
410           8DYE6KBCdPtxAUEI0YAEAKB9ry1tKR2NQEIPfslYytKErtwjAiqSi0heM6+zwEzu\r
411           f54Z4oBhsMSL0jXoOMnu+NZzEc6EUdQeY4O+jhjzAoGBAIogC3dtjMPGKTP7+93u\r
412           UE/XIioI8fWg9fj3sMka4IMu+pVvRCRbAjRH7JrFLkjbUyuMqs3Arnk9K+gbdQt/\r
413           +m95Njtt6WoFXuPCwgbM3GidSmZwYT4454SfDzVBYScEDCNm1FuR+8ov9bFLDtGT\r
414           D4gsngnGJj1MDFXTxZEn4nzZAoGBAKCg4WmpUPaCuXibyB+rZavxwsTNSn2lJ83/\r
415           sYJGBhf/raiV/FLDUcM1vYg5dZnu37RsB/5/vqxOLZGyYd7x+Jo5HkQGPnKgNwhn\r
416           g8BkdZIRF8uEJqxOo0ycdOU7n/2O93swIpKWo5LIiRPuqqzj+uZKnAL7vuVdxfaY\r
417           qVz2daMPAoGBALgaaKa3voU/HO1PYLWIhFrBThyJ+BQSQ8OqrEzC8AnegWFxRAM8\r
418           EqrzZXl7ACUuo1dH0Eipm41j2+BZWlQjiUgq5uj8+yzy+EU1ZRRyJcOKzbDACeuD\r
419           BpWWSXGBI5G4CppeYLjMUHZpJYeX1USULJQd2c4crLJKb76E8gz3Z9kN\r
420           -----END RSA PRIVATE KEY-----\r
421 \r
422         interfaces:\r
423           port3:\r
424             mac_address: "fa:16:3e:b9:e1:27"\r
425             pci_address: "0000:00:06.0"\r
426             link: link1\r
427             driver: virtio-pci\r
428           port4:\r
429             mac_address: "fa:16:3e:e9:c8:68"\r
430             pci_address: "0000:00:07.0"\r
431             link: link4\r
432             driver: virtio-pci\r
433           port5:\r
434             mac_address: "fa:16:3e:e8:d3:47"\r
435             pci_address: "0000:00:08.0"\r
436             link: link2\r
437             driver: virtio-pci\r
438           port6:\r
439             mac_address: "fa:16:3e:cf:ca:58"\r
440             pci_address: "0000:00:09.0"\r
441             link: link5\r
442             driver: virtio-pci\r
443 \r
444 **Traffic generator**\r
445 \r
446 Functional tests utilize Scapy as a traffic generator. There was used Scapy\r
447 v2.3.1 for |vpp-release| tests.\r
448 \r