-Overview\r
-========\r
-\r
-Tested Virtual Topologies\r
--------------------------\r
-\r
-CSIT NSH_SFC functional tests are executed on virtualized topologies created\r
-using Virtual Internet Routing Lab (VIRL) simulation platform contributed by\r
-Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project.\r
-Majority,of the tests are executed in the three node logical test topology -\r
-Traffic Generator (TG) node and two Systems Under Test (SUT) nodes connected in\r
-a loop. Some tests use two node logical test topology - TG node and SUT1 node.\r
-Both logical test topologies are shown in the figures below.\r
-\r
-::\r
-\r
- +------------------------+ +------------------------+\r
- | | | |\r
- | +------------------+ | | +------------------+ |\r
- | | <-----------------> | |\r
- | | | | | | | |\r
- | | DUT1 <-----------------> DUT2 | |\r
- | +--^--^------------+ | | +------------^--^--+ |\r
- | | | | | | | |\r
- | | | SUT1 | | SUT2 | | |\r
- +------------------------+ +------------------------+\r
- | | | |\r
- | | | |\r
- | | +-----------+ | |\r
- | +---------------> <---------------+ |\r
- | | TG | |\r
- +------------------> <------------------+\r
- +-----------+\r
-\r
- +------------------------+\r
- | |\r
- | +------------------+ |\r
- +---------------> <--------------+\r
- | | | | | |\r
- | |------------> DUT1 <-----------+ |\r
- | | | +------------------+ | | |\r
- | | | | | |\r
- | | | SUT1 | | |\r
- | | +------------------------+ | |\r
- | | | |\r
- | | | |\r
- | | +-----------+ | |\r
- | +---------------> <---------------+ |\r
- | | TG | |\r
- +------------------> <------------------+\r
- +-----------+\r
-\r
-SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG\r
-is a Traffic Generator (TG, another Ubuntu VM). SUTs run VPP SW application in\r
-Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW\r
-application as a packet Traffic Generator. Logical connectivity between SUTs\r
-and to TG is provided using virtual NICs using VMs' virtio driver.\r
-\r
-Virtual testbeds are created on-demand whenever a verification job is started\r
-(e.g. triggered by the gerrit patch submission) and destroyed upon completion\r
-of all functional tests. Each node is a Virtual Machine and each connection\r
-that is drawn on the diagram is available for use in any test case. During the\r
-test execution, all nodes are reachable thru the Management network connected\r
-to every node via dedicated virtual NICs and virtual links (not shown above\r
-for clarity).\r
-\r
-For the test cases that require DUT (VPP) to communicate with VM over the\r
-vhost-user interfaces, a nested VM is created on SUT1 and/or SUT2 for the\r
-duration of these particular test cases only. DUT (VPP) test topology with VM\r
-is shown in the figure below including the applicable packet flow thru the VM\r
-(marked in the figure with ``***``).\r
-\r
-::\r
-\r
- +------------------------+ +------------------------+\r
- | +----------+ | | +----------+ |\r
- | | VM | | | | VM | |\r
- | | ****** | | | | ****** | |\r
- | +--^----^--+ | | +--^----^--+ |\r
- | *| |* | | *| |* |\r
- | +------v----v------+ | | +------v----v------+ |\r
- | | * * |**|***********|**| * * | |\r
- | | ***** *******<----------------->******* ***** | |\r
- | | * DUT1 | | | | DUT2 * | |\r
- | +--^---------------+ | | +---------------^--+ |\r
- | *| | | |* |\r
- | *| SUT1 | | SUT2 |* |\r
- +------------------------+ +------------------^-----+\r
- *| |*\r
- *| |*\r
- *| +-----------+ |*\r
- *| | | |*\r
- *+------------------> TG <------------------+*\r
- ******************* | |********************\r
- +-----------+\r
-\r
-NSH_SFC Functional Tests Coverage\r
----------------------------------\r
-\r
-Following NSH_SFC functional test areas are covered in the CSIT |release| with\r
-results listed in this report:\r
-\r
-- **NSH SFC Classifier** - TG send some TCP packets to test NSH SFC\r
- Classifier functional. DUT1 will receive these packets from one NIC and loopback\r
- the VXLAN-GPE-NSH encapsulated packets to the TG from other NIC.\r
- - Test case count: 7\r
-- **NSH SFC Proxy Inbound** - TG send some VXLAN-GPE-NSH encapsulated packets\r
- to test NSH SFC Proxy Inbound functional. DUT1 will receive these packets from one\r
- NIC and loopback the VXLAN encapsulated packets to the TG from other NIC.\r
- - Test case count: 6\r
-- **NSH SFC Proxy Outbound** - TG send some VXLAN encapsulated packets to test\r
- NSH SFC Proxy Outbound functional. DUT1 will receive these packets from one NIC\r
- and loopback the VXLAN-GPE-NSH encapsulated packets to the TG from other NIC.\r
- - Test case count: 6\r
-- **NSH SFC Service Function Forward** - TG send some VXLAN-GPE-NSH encapsulated\r
- packets to test NSH SFC Service Function Forward functional. DUT1 will receive these\r
- packets from one NIC and swap the VXLAN-GPE-NSH header, after that DUT1 loopback the\r
- VXLAN-GPE-NSH encapsulated packtes to the TG from other NIC.\r
- - Test case count: 6\r
-\r
-Total 25 NSH SFC functional tests in the CSIT |release|.\r
-\r
+Overview
+========
+
+Virtual Topologies
+------------------
+
+CSIT NSH_SFC functional tests are executed in VM-based virtual
+topologies created on demand using :abbr:`VIRL (Virtual Internet Routing
+Lab)` simulation platform contributed by Cisco. VIRL runs on physical
+baremetal servers hosted by LF FD.io project. All tests are executed in
+three-node virtual test topology shown in the figure below.
+
+.. only:: latex
+
+ .. raw:: latex
+
+ \begin{figure}[H]
+ \centering
+ \graphicspath{{../_tmp/src/vpp_functional_tests/}}
+ \includegraphics[width=0.90\textwidth]{virtual-3n-nic2nic}
+ \label{fig:virtual-3n-nic2nic}
+ \end{figure}
+
+.. only:: html
+
+ .. figure:: ../vpp_functional_tests/virtual-3n-nic2nic.svg
+ :alt: virtual-3n-nic2nic
+ :align: center
+
+SUT1 and SUT2 are two VMs (running Ubuntu or Centos, depending on the
+test suite), TG is a Traffic Generator (running Ubuntu VM). SUTs run VPP
+with nsh-plugin in Linux user-mode as a Device Under Test (DUT) within
+the VM. TG runs Scapy SW application as a packet Traffic Generator.
+Network connectivity between SUTs and to TG is provided using virtual
+NICs and VMs' virtio drivers.
+
+Functional Tests Coverage
+-------------------------
+
+|csit-release| includes following NSH_SFC functionality tested in
+virtual VM environment:
+
++-----------------------+----------------------------------------------+
+| Functionality | Description |
++=======================+==============================================+
+| NSH SFC Classifier | TG sends some TCP packets to test NSH SFC |
+| | Classifier functional. DUT1 will receive |
+| | these packets from one NIC and loopback the |
+| | VXLAN-GPE-NSH encapsulated packets to the TG |
+| | from other NIC. |
+| | Test case count: 7. |
++-----------------------+----------------------------------------------+
+| NSH SFC Proxy Inbound | TG sends some VXLAN-GPE-NSH encapsulated |
+| | packets to test NSH SFC Proxy Inbound |
+| | functional. DUT1 will receive these packets |
+| | from one NIC and loopback the VXLAN |
+| | encapsulated packets to the TG from other |
+| | NIC. |
+| | Test case count: 6. |
++-----------------------+----------------------------------------------+
+| NSH SFC Proxy | TG sends some VXLAN encapsulated packets to |
+| Outbound | test NSH SFC Proxy Outbound functional. DUT1 |
+| | will receive these packets from one NIC and |
+| | loopback the VXLAN-GPE-NSH encapsulated |
+| | packets to the TG from other NIC. |
+| | Test case count: 6. |
++-----------------------+----------------------------------------------+
+| NSH SFC Service | TG sends some VXLAN-GPE-NSH |
+| Function Forward | encapsulated packets to test NSH SFC Service |
+| | Function Forward functional. DUT1 will |
+| | receive these packets from one NIC and swap |
+| | the VXLAN-GPE-NSH header, after that DUT1 |
+| | loopback the VXLAN-GPE-NSH encapsulated |
+| | packets to the TG from other NIC. |
+| | Test case count: 6. |
++-----------------------+----------------------------------------------+
+
+Total 25 NSH_SFC functional tests in the |csit-release|.