blob: a53e3f49715f2644ec90f3f097b132c44bc455d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
Overview
========
Virtual Topologies
------------------
CSIT VPP Device tests are executed in Physical containerized topologies
created on demand using set of scripts hosted and developed under CSIT
repository. It runs on physical baremetal servers hosted by LF FD.io project.
Based on the packet path thru SUT Containers, three distinct logical topology
types are used for VPP DUT data plane testing:
#. vfNIC-to-vfNIC switching topologies.
#. vfNIC-to-vhost-user switching topologies.
#. vfNIC-to-memif switching topologies.
vfNIC-to-vfNIC Switching
~~~~~~~~~~~~~~~~~~~~~~~~
The simplest physical topology for software data plane application like
VPP is vfNIC-to-vfNIC switching. Tested virtual topologies for 2-Node testbeds
are shown in figures below.
.. only:: latex
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_tmp/src/vpp_device_tests/}}
\includegraphics[width=0.90\textwidth]{vf-2n-nic2nic}
\label{fig:vf-2n-nic2nic}
\end{figure}
.. only:: html
.. figure:: ../vpp_device_tests/vf-2n-nic2nic.svg
:alt: vf-2n-nic2nic
:align: center
SUT1 is Docker Container (running Ubuntu, depending on the test suite), TG is
a Traffic Generator (running Ubuntu Container). SUTs run VPP
SW application in Linux user-mode as a Device Under Test (DUT) within
the container. TG runs Scapy SW application as a packet Traffic Generator.
Network connectivity between SUTs and to TG is provided using virtual function
of physical NICs.
Virtual topologies 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 container running on
physical server. During the test execution, all nodes are reachable thru
the Management (not shown above for clarity).
vfNIC-to-vhost-user Switching
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vfNIC-to-vhost-user switching topology test cases require VPP DUT to communicate
with Virtual Machine (VM) over Vhost-user virtual interfaces. VM is created on
SUT1 for the duration of these particular test cases only. Virtual test topology
with VM is shown in the figure below.
.. only:: latex
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_tmp/src/vpp_device_tests/}}
\includegraphics[width=0.90\textwidth]{vf-2n-nic2vhost}
\label{fig:vf-2n-nic2vhost}
\end{figure}
.. only:: html
.. figure:: ../vpp_device_tests/vf-2n-nic2vhost.svg
:alt: vf-2n-nic2vhost
:align: center
vfNIC-to-memif Switching
~~~~~~~~~~~~~~~~~~~~~~~~
vfNIC-to-memif switching topology test cases require VPP DUT to communicate
with another Docker Container over memif interfaces. Container is created for
the duration of these particular test cases only and it is running the same VPP
version as running on DUT. Virtual test topology with Memif is shown in
the figure below.
.. only:: latex
.. raw:: latex
\begin{figure}[H]
\centering
\graphicspath{{../_tmp/src/vpp_device_tests/}}
\includegraphics[width=0.90\textwidth]{vf-2n-nic2memif}
\label{fig:vf-2n-nic2memif}
\end{figure}
.. only:: html
.. figure:: ../vpp_device_tests/vf-2n-nic2memif.svg
:alt: vf-2n-nic2memif
:align: center
Functional Tests Coverage
-------------------------
|csit-release| includes following VPP functionality tested in VPP Device
environment:
+-----------------------+----------------------------------------------+
| Functionality | Description |
+=======================+==============================================+
| IPv4 | IPv4 routing, ICMPv4. |
+-----------------------+----------------------------------------------+
| IPv6 | IPv4 routing, ICMPv6. |
+-----------------------+----------------------------------------------+
| L2BD | L2 Bridge-Domain switching for untagged |
| | Ethernet. |
+-----------------------+----------------------------------------------+
| L2XC | L2 Cross-Connect switching for untagged |
| | Ethernet. |
+-----------------------+----------------------------------------------+
| Vhost-user Interface | Baseline VPP vhost-user interface tests. |
+-----------------------+----------------------------------------------+
| Memif Interface | Baseline VPP memif interface tests. |
+-----------------------+----------------------------------------------+
Tests Naming
------------
|csit-release| follows a common structured naming convention for all
performance and system functional tests, introduced in CSIT-17.01.
The naming should be intuitive for majority of the tests. Complete
description of CSIT test naming convention is provided on
:ref:`csit_test_naming`.
|