c9156fb22d4eccfbc89f38a9dab91c5638c5211c
[csit.git] / docs / report / nsh_sfc_functional_tests / overview.rst
1 Overview
2 ========
3
4 Virtual Topologies
5 ------------------
6
7 CSIT NSH_SFC functional tests are executed on virtualized topologies created
8 using :abbr:`VIRL (Virtual Internet Routing Lab)` simulation platform
9 contributed by Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io
10 project. Based on the packet path thru server SUTs, one logical
11 topology type is used for VPP DUT data plane testing:
12
13 #. NIC-to-NIC switching topologies.
14
15 NIC-to-NIC Switching
16 ~~~~~~~~~~~~~~~~~~~~
17
18 The simplest logical topology for software data plane application like
19 VPP is NIC-to-NIC switching. Tested topology for the 3-Node
20 testbeds is shown in the figure below.
21
22 .. only:: latex
23
24     .. raw:: latex
25
26         \begin{figure}[H]
27             \centering
28                 \graphicspath{{../_tmp/src/vpp_performance_tests/}}
29                 \includegraphics[width=0.90\textwidth]{logical-3n-nic2nic}
30                 \label{fig:logical-3n-nic2nic}
31         \end{figure}
32
33 .. only:: html
34
35     .. figure:: ../vpp_performance_tests/logical-3n-nic2nic.svg
36         :alt: logical-3n-nic2nic
37         :align: center
38
39 SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG
40 is a Traffic Generator (TG, another Ubuntu VM). SUTs run NSH_SFC SW application
41 in Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW
42 application as a packet Traffic Generator. Logical connectivity between SUTs
43 and to TG is provided using virtual NICs using VMs' virtio driver.
44
45 Virtual testbeds are created on-demand whenever a verification job is started
46 (e.g. triggered by the gerrit patch submission) and destroyed upon completion
47 of all functional tests. Each node is a Virtual Machine and each connection
48 that is drawn on the diagram is available for use in any test case. During the
49 test execution, all nodes are reachable thru the Management network connected
50 to every node via dedicated virtual NICs and virtual links (not shown above
51 for clarity).
52
53 NSH_SFC Functional Tests Coverage
54 ---------------------------------
55
56 Following NSH_SFC functional test areas are covered in the |csit-release| with
57 results listed in this report:
58
59 - **NSH SFC Classifier** - TG sends some TCP packets to test NSH SFC
60   Classifier functional. DUT1 will receive these packets from one NIC and
61   loopback the VXLAN-GPE-NSH encapsulated packets to the TG from other NIC.
62
63   - Test case count: 7
64
65 - **NSH SFC Proxy Inbound** - TG sends some VXLAN-GPE-NSH encapsulated packets
66   to test NSH SFC Proxy Inbound functional. DUT1 will receive these packets from
67   one NIC and loopback the VXLAN encapsulated packets to the TG from other NIC.
68
69   - Test case count: 6
70
71 - **NSH SFC Proxy Outbound** - TG sends some VXLAN encapsulated packets to test
72   NSH SFC Proxy Outbound functional. DUT1 will receive these packets from one
73   NIC and loopback the VXLAN-GPE-NSH encapsulated packets to the TG from other
74   NIC.
75
76   - Test case count: 6
77
78 - **NSH SFC Service Function Forward** - TG sends some VXLAN-GPE-NSH
79   encapsulated packets to test NSH SFC Service Function Forward functional. DUT1
80   will receive these packets from one NIC and swap the VXLAN-GPE-NSH header,
81   after that DUT1 loopback the VXLAN-GPE-NSH encapsulated packtes to the TG from
82   other NIC.
83
84   - Test case count: 6
85
86 Total 25 NSH SFC functional tests in the |csit-release|.