Update of VPP_STABLE_VER files
[csit.git] / docs / report / vpp_functional_tests / overview.rst
1 Overview
2 ========
3
4 Virtual Topologies
5 ------------------
6
7 CSIT VPP functional tests are executed in VM-based virtual topologies
8 created on demand using :abbr:`VIRL (Virtual Internet Routing Lab)`
9 simulation platform contributed by Cisco. VIRL runs on physical
10 baremetal servers hosted by LF FD.io project. Based on the packet path
11 thru SUT VMs, two distinct logical topology types are used for VPP DUT
12 data plane testing:
13
14 #. vNIC-to-vNIC switching topologies.
15 #. Nested-VM service switching topologies.
16
17 vNIC-to-vNIC Switching
18 ~~~~~~~~~~~~~~~~~~~~~~
19
20 The simplest virtual topology for software data plane application like
21 VPP is vNIC-to-vNIC switching. Tested virtual topologies for 2-Node and
22 3-Node testbeds are shown in figures below.
23
24 .. only:: latex
25
26     .. raw:: latex
27
28         \begin{figure}[H]
29             \centering
30                 \graphicspath{{../_tmp/src/vpp_functional_tests/}}
31                 \includegraphics[width=0.90\textwidth]{virtual-2n-nic2nic}
32                 \label{fig:virtual-2n-nic2nic}
33         \end{figure}
34
35 .. only:: html
36
37     .. figure:: ../vpp_functional_tests/virtual-2n-nic2nic.svg
38         :alt: virtual-2n-nic2nic
39         :align: center
40
41
42 .. only:: latex
43
44     .. raw:: latex
45
46         \begin{figure}[H]
47             \centering
48                 \graphicspath{{../_tmp/src/vpp_functional_tests/}}
49                 \includegraphics[width=0.90\textwidth]{virtual-3n-nic2nic}
50                 \label{fig:virtual-3n-nic2nic}
51         \end{figure}
52
53 .. only:: html
54
55     .. figure:: ../vpp_functional_tests/virtual-3n-nic2nic.svg
56         :alt: virtual-3n-nic2nic
57         :align: center
58
59 SUT1 and SUT2 are two VMs (running Ubuntu or Centos, depending on the test
60 suite), TG is a Traffic Generator (running Ubuntu VM). SUTs run VPP
61 SW application in Linux user-mode as a Device Under Test (DUT) within
62 the VM. TG runs Scapy SW application as a packet Traffic Generator.
63 Network connectivity between SUTs and to TG is provided using virtual
64 NICs and VMs' virtio drivers.
65
66 Virtual testbeds are created on-demand whenever a verification job is
67 started (e.g. triggered by the gerrit patch submission) and destroyed
68 upon completion of all functional tests. Each node is a Virtual Machine
69 and each connection that is drawn on the diagram is available for use in
70 any test case. During the test execution, all nodes are reachable thru
71 the Management network connected to every node via dedicated virtual
72 NICs and virtual links (not shown above for clarity).
73
74 Nested-VM Service Switching
75 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
77 Nested-VM (Virtual Machine) service switching topology test cases
78 require VPP DUT to communicate with nested-VM(s) over vhost-user virtual
79 interfaces. Nested-VM(s) is(are) created on SUT1 and/or SUT2 for the
80 duration of these particular test cases only. Virtual test topology with
81 nested-VM(s) is shown in the figure below.
82
83 .. only:: latex
84
85     .. raw:: latex
86
87         \begin{figure}[H]
88             \centering
89                 \graphicspath{{../_tmp/src/vpp_functional_tests/}}
90                 \includegraphics[width=0.90\textwidth]{virtual-3n-vm-vhost}
91                 \label{fig:virtual-3n-vm-vhost}
92         \end{figure}
93
94 .. only:: html
95
96     .. figure:: ../vpp_functional_tests/virtual-3n-vm-vhost.svg
97         :alt: virtual-3n-vm-vhost
98         :align: center
99
100 Functional Tests Coverage
101 -------------------------
102
103 |csit-release| includes following VPP functionality tested in virtual VM
104 environment:
105
106 +-----------------------+----------------------------------------------+
107 | Functionality         |  Description                                 |
108 +=======================+==============================================+
109 | LISP                  | Locator/ID Separation Protocol overlay       |
110 |                       | tunnels and locator/id mapping control.      |
111 +-----------------------+----------------------------------------------+
112
113 Functional Tests Naming
114 -----------------------
115
116 |csit-release| follows a common structured naming convention for all
117 performance and system functional tests, introduced in CSIT-17.01.
118
119 The naming should be intuitive for majority of the tests. Complete
120 description of CSIT test naming convention is provided on
121 :ref:`csit_test_naming`.