Overview
========
-Tested Virtual Topologies
--------------------------
-
-CSIT NSH_SFC functional tests are executed on virtualized topologies created using
-:abbr:`VIRL (Virtual Internet Routing Lab)` simulation platform contributed by
-Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project.
-Majority of the tests are executed in the three node logical test topology -
-Traffic Generator (TG) node and two Systems Under Test (SUT) nodes connected in
-a loop. Some tests use two node logical test topology - TG node and SUT1 node.
-Both logical test topologies are shown in the figures below.::
+Virtual Topologies
+------------------
- +------------------------+ +------------------------+
- | | | |
- | +------------------+ | | +------------------+ |
- | | <-----------------> | |
- | | | | | | | |
- | | DUT1 <-----------------> DUT2 | |
- | +--^--^------------+ | | +------------^--^--+ |
- | | | | | | | |
- | | | SUT1 | | SUT2 | | |
- +------------------------+ +------------------------+
- | | | |
- | | | |
- | | +-----------+ | |
- | +---------------> <---------------+ |
- | | TG | |
- +------------------> <------------------+
- +-----------+
+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.
- +------------------------+
- | |
- | +------------------+ |
- +---------------> <--------------+
- | | | | | |
- | |------------> DUT1 <-----------+ |
- | | | +------------------+ | | |
- | | | | | |
- | | | SUT1 | | |
- | | +------------------------+ | |
- | | | |
- | | | |
- | | +-----------+ | |
- | +---------------> <---------------+ |
- | | TG | |
- +------------------> <------------------+
- +-----------+
+.. only:: latex
-SUT1 and SUT2 are two VMs (Ubuntu or Centos, depending on the test suite), TG
-is a Traffic Generator (TG, another Ubuntu VM). SUTs run VPP SW application in
-Linux user-mode as a Device Under Test (DUT) within the VM. TG runs Scapy SW
-application as a packet Traffic Generator. Logical connectivity between SUTs
-and to TG is provided using virtual NICs using VMs' virtio driver.
+ .. raw:: latex
-Virtual testbeds 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 Virtual Machine and each connection
-that is drawn on the diagram is available for use in any test case. During the
-test execution, all nodes are reachable thru the Management network connected
-to every node via dedicated virtual NICs and virtual links (not shown above
-for clarity).
+ \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}
-For the test cases that require DUT (VPP) to communicate with VM over the
-vhost-user interfaces, a nested VM is created on SUT1 and/or SUT2 for the
-duration of these particular test cases only. DUT (VPP) test topology with VM
-is shown in the figure below including the applicable packet flow thru the VM
-(marked in the figure with ``***``).::
+.. only:: html
- +------------------------+ +------------------------+
- | +----------+ | | +----------+ |
- | | VM | | | | VM | |
- | | ****** | | | | ****** | |
- | +--^----^--+ | | +--^----^--+ |
- | *| |* | | *| |* |
- | +------v----v------+ | | +------v----v------+ |
- | | * * |**|***********|**| * * | |
- | | ***** *******<----------------->******* ***** | |
- | | * DUT1 | | | | DUT2 * | |
- | +--^---------------+ | | +---------------^--+ |
- | *| | | |* |
- | *| SUT1 | | SUT2 |* |
- +------------------------+ +------------------^-----+
- *| |*
- *| |*
- *| +-----------+ |*
- *| | | |*
- *+------------------> TG <------------------+*
- ******************* | |********************
- +-----------+
+ .. figure:: ../vpp_functional_tests/virtual-3n-nic2nic.svg
+ :alt: virtual-3n-nic2nic
+ :align: center
-NSH_SFC Functional Tests Coverage
----------------------------------
+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.
-Following NSH_SFC functional test areas are covered in the CSIT |release| with
-results listed in this report:
+Functional Tests Coverage
+-------------------------
-- **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 Outbound** - TG sends some VXLAN encapsulated packets to 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 Function Forward** - TG sends some VXLAN-GPE-NSH 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 packtes to the TG from other NIC.
- - Test case count: 6
+|csit-release| includes following NSH_SFC functionality tested in
+virtual VM environment:
-Total 25 NSH SFC functional tests in the CSIT |release|.
++-----------------------+----------------------------------------------+
+| 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|.