X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=docs%2Freport%2Fnsh_sfc_functional_tests%2Foverview.rst;h=39b9dc6eacfdf71f85b4258e77b171411fe7b3b1;hp=754fd9242de7ecd937c8b77a43652c9d769c1ab3;hb=b8502d5ccf9030270fafe06fe860143b5f9b78d0;hpb=61ef529d33efd51acd1b1986c325d25a9d7ba705 diff --git a/docs/report/nsh_sfc_functional_tests/overview.rst b/docs/report/nsh_sfc_functional_tests/overview.rst index 754fd9242d..39b9dc6eac 100644 --- a/docs/report/nsh_sfc_functional_tests/overview.rst +++ b/docs/report/nsh_sfc_functional_tests/overview.rst @@ -1,118 +1,80 @@ Overview ======== -Tested Virtual Topologies -------------------------- +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.:: +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. - +------------------------+ +------------------------+ - | | | | - | +------------------+ | | +------------------+ | - | | <-----------------> | | - | | | | | | | | - | | DUT1 <-----------------> DUT2 | | - | +--^--^------------+ | | +------------^--^--+ | - | | | | | | | | - | | | SUT1 | | SUT2 | | | - +------------------------+ +------------------------+ - | | | | - | | | | - | | +-----------+ | | - | +---------------> <---------------+ | - | | TG | | - +------------------> <------------------+ - +-----------+ +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|.