Add the NSH SFC functional test document.
[csit.git] / docs / report / nsh_sfc_functional_tests / overview.rst
1 Overview\r
2 ========\r
3 \r
4 Tested Virtual Topologies\r
5 -------------------------\r
6 \r
7 CSIT NSH_SFC functional tests are executed on virtualized topologies created\r
8 using Virtual Internet Routing Lab (VIRL) simulation platform contributed by\r
9 Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project.\r
10 Majority,of the tests are executed in the three node logical test topology -\r
11 Traffic Generator (TG) node and two Systems Under Test (SUT) nodes connected in\r
12 a loop. Some tests use two node logical test topology - TG node and SUT1 node.\r
13 Both logical test topologies are shown in the figures below.\r
14 \r
15 ::\r
16 \r
17     +------------------------+           +------------------------+\r
18     |                        |           |                        |\r
19     |  +------------------+  |           |  +------------------+  |\r
20     |  |                  <----------------->                  |  |\r
21     |  |                  |  |           |  |                  |  |\r
22     |  |       DUT1       <----------------->       DUT2       |  |\r
23     |  +--^--^------------+  |           |  +------------^--^--+  |\r
24     |     |  |               |           |               |  |     |\r
25     |     |  |         SUT1  |           |  SUT2         |  |     |\r
26     +------------------------+           +------------------------+\r
27           |  |                                           |  |\r
28           |  |                                           |  |\r
29           |  |               +-----------+               |  |\r
30           |  +--------------->           <---------------+  |\r
31           |                  |    TG     |                  |\r
32           +------------------>           <------------------+\r
33                              +-----------+\r
34 \r
35                        +------------------------+\r
36                        |                        |\r
37                        |  +------------------+  |\r
38           +--------------->                  <--------------+\r
39           |            |  |                  |  |           |\r
40           |  |------------>       DUT1       <-----------+  |\r
41           |  |         |  +------------------+  |        |  |\r
42           |  |         |                        |        |  |\r
43           |  |         |                  SUT1  |        |  |\r
44           |  |         +------------------------+        |  |\r
45           |  |                                           |  |\r
46           |  |                                           |  |\r
47           |  |               +-----------+               |  |\r
48           |  +--------------->           <---------------+  |\r
49           |                  |    TG     |                  |\r
50           +------------------>           <------------------+\r
51                              +-----------+\r
52 \r
53 SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG\r
54 is a Traffic Generator (TG, another Ubuntu VM). SUTs run VPP SW application in\r
55 Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW\r
56 application as a packet Traffic Generator. Logical connectivity between SUTs\r
57 and to TG is provided using virtual NICs using VMs' virtio driver.\r
58 \r
59 Virtual testbeds are created on-demand whenever a verification job is started\r
60 (e.g. triggered by the gerrit patch submission) and destroyed upon completion\r
61 of all functional tests. Each node is a Virtual Machine and each connection\r
62 that is drawn on the diagram is available for use in any test case. During the\r
63 test execution, all nodes are reachable thru the Management network connected\r
64 to every node via dedicated virtual NICs and virtual links (not shown above\r
65 for clarity).\r
66 \r
67 For the test cases that require DUT (VPP) to communicate with VM over the\r
68 vhost-user interfaces, a nested VM is created on SUT1 and/or SUT2 for the\r
69 duration of these particular test cases only. DUT (VPP) test topology with VM\r
70 is shown in the figure below including the applicable packet flow thru the VM\r
71 (marked in the figure with ``***``).\r
72 \r
73 ::\r
74 \r
75     +------------------------+           +------------------------+\r
76     |      +----------+      |           |      +----------+      |\r
77     |      |    VM    |      |           |      |    VM    |      |\r
78     |      |  ******  |      |           |      |  ******  |      |\r
79     |      +--^----^--+      |           |      +--^----^--+      |\r
80     |        *|    |*        |           |        *|    |*        |\r
81     |  +------v----v------+  |           |  +------v----v------+  |\r
82     |  |      *    *      |**|***********|**|      *    *      |  |\r
83     |  |  *****    *******<----------------->*******    *****  |  |\r
84     |  |  *    DUT1       |  |           |  |       DUT2    *  |  |\r
85     |  +--^---------------+  |           |  +---------------^--+  |\r
86     |    *|                  |           |                  |*    |\r
87     |    *|            SUT1  |           |  SUT2            |*    |\r
88     +------------------------+           +------------------^-----+\r
89          *|                                                 |*\r
90          *|                                                 |*\r
91          *|                  +-----------+                  |*\r
92          *|                  |           |                  |*\r
93          *+------------------>    TG     <------------------+*\r
94          ******************* |           |********************\r
95                              +-----------+\r
96 \r
97 NSH_SFC Functional Tests Coverage\r
98 ---------------------------------\r
99 \r
100 Following NSH_SFC functional test areas are covered in the CSIT |release| with\r
101 results listed in this report:\r
102 \r
103 - **NSH SFC Classifier** - TG send some TCP packets to test NSH SFC\r
104   Classifier functional. DUT1 will receive these packets from one NIC and loopback\r
105   the VXLAN-GPE-NSH encapsulated packets to the TG from other NIC.\r
106   - Test case count: 7\r
107 - **NSH SFC Proxy Inbound** - TG send some VXLAN-GPE-NSH encapsulated packets\r
108   to test NSH SFC Proxy Inbound functional. DUT1 will receive these packets from one\r
109   NIC and loopback the VXLAN encapsulated packets to the TG from other NIC.\r
110   - Test case count: 6\r
111 - **NSH SFC Proxy Outbound** - TG send some VXLAN encapsulated packets to test\r
112   NSH SFC Proxy Outbound functional. DUT1 will receive these packets from one NIC\r
113   and loopback the VXLAN-GPE-NSH encapsulated packets to the TG from other NIC.\r
114   - Test case count: 6\r
115 - **NSH SFC Service Function Forward** - TG send some VXLAN-GPE-NSH encapsulated\r
116   packets to test NSH SFC Service Function Forward functional. DUT1 will receive these\r
117   packets from one NIC and swap the VXLAN-GPE-NSH header, after that DUT1 loopback the\r
118   VXLAN-GPE-NSH encapsulated packtes to the TG from other NIC.\r
119   - Test case count: 6\r
120 \r
121 Total 25 NSH SFC functional tests in the CSIT |release|.\r
122 \r