From 396584e64f6127d5841222d55d0520ae1cc6a077 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Thu, 2 Aug 2018 11:45:05 +0000 Subject: [PATCH] Report 1807 - Functional overview Change-Id: I1c3254c10dd699f1288fc753cbfb09bbb1bc24f7 Signed-off-by: Peter Mikus --- docs/report/vpp_functional_tests/overview.rst | 173 +++++++++++++------------- 1 file changed, 88 insertions(+), 85 deletions(-) diff --git a/docs/report/vpp_functional_tests/overview.rst b/docs/report/vpp_functional_tests/overview.rst index fe58edd92d..80c9131387 100644 --- a/docs/report/vpp_functional_tests/overview.rst +++ b/docs/report/vpp_functional_tests/overview.rst @@ -1,52 +1,57 @@ Overview ======== -Tested Virtual Topologies -------------------------- +Virtual Topologies +------------------ CSIT VPP 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.:: - - +------------------------+ +------------------------+ - | | | | - | +------------------+ | | +------------------+ | - | | <-----------------> | | - | | | | | | | | - | | DUT1 <-----------------> DUT2 | | - | +--^--^------------+ | | +------------^--^--+ | - | | | | | | | | - | | | SUT1 | | SUT2 | | | - +------------------------+ +------------------------+ - | | | | - | | | | - | | +-----------+ | | - | +---------------> <---------------+ | - | | TG | | - +------------------> <------------------+ - +-----------+ - - +------------------------+ - | | - | +------------------+ | - +---------------> <--------------+ - | | | | | | - | |------------> DUT1 <-----------+ | - | | | +------------------+ | | | - | | | | | | - | | | SUT1 | | | - | | +------------------------+ | | - | | | | - | | | | - | | +-----------+ | | - | +---------------> <---------------+ | - | | TG | | - +------------------> <------------------+ - +-----------+ +Based on the packet path thru server SUTs, two distinct logical topology types +are used for VPP DUT data plane testing: + +#. NIC-to-NIC switching topologies. +#. VM service switching topologies. + +NIC-to-NIC Switching +~~~~~~~~~~~~~~~~~~~~ + +The simplest logical topology for software data plane application like +VPP is NIC-to-NIC switching. Tested topologies for 2-Node and 3-Node +testbeds are shown in figures below. + +.. only:: latex + + .. raw:: latex + + \begin{figure}[H] + \centering + \includesvg[width=0.90\textwidth]{../_tmp/src/vpp_performance_tests/logical-2n-nic2nic} + \label{fig:logical-2n-nic2nic} + \end{figure} + +.. only:: html + + .. figure:: ../vpp_performance_tests/logical-2n-nic2nic.svg + :alt: logical-2n-nic2nic + :align: center + + +.. only:: latex + + .. raw:: latex + + \begin{figure}[H] + \centering + \includesvg[width=0.90\textwidth]{../_tmp/src/vpp_performance_tests/logical-3n-nic2nic} + \label{fig:logical-3n-nic2nic} + \end{figure} + +.. only:: html + + .. figure:: ../vpp_performance_tests/logical-3n-nic2nic.svg + :alt: logical-3n-nic2nic + :align: center 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 @@ -62,33 +67,46 @@ 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). -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 ``***``).:: - - +------------------------+ +------------------------+ - | +----------+ | | +----------+ | - | | VM | | | | VM | | - | | ****** | | | | ****** | | - | +--^----^--+ | | +--^----^--+ | - | *| |* | | *| |* | - | +------v----v------+ | | +------v----v------+ | - | | * * |**|***********|**| * * | | - | | ***** *******<----------------->******* ***** | | - | | * DUT1 | | | | DUT2 * | | - | +--^---------------+ | | +---------------^--+ | - | *| | | |* | - | *| SUT1 | | SUT2 |* | - +------------------------+ +------------------^-----+ - *| |* - *| |* - *| +-----------+ |* - *| | | |* - *+------------------> TG <------------------+* - ******************* | |******************** - +-----------+ +VM Service Switching +~~~~~~~~~~~~~~~~~~~~ + +VM service switching topology test cases require VPP DUT to communicate +with Virtual Machines (VMs) over vhost-user virtual 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. + +.. only:: latex + + .. raw:: latex + + \begin{figure}[H] + \centering + \includesvg[width=0.90\textwidth]{../_tmp/src/vpp_performance_tests/logical-2n-vm-vhost} + \label{fig:logical-2n-vm-vhost} + \end{figure} + +.. only:: html + + .. figure:: ../vpp_performance_tests/logical-2n-vm-vhost.svg + :alt: logical-2n-vm-vhost + :align: center + + +.. only:: latex + + .. raw:: latex + + \begin{figure}[H] + \centering + \includesvg[width=0.90\textwidth]{../_tmp/src/vpp_performance_tests/logical-3n-vm-vhost} + \label{fig:logical-3n-vm-vhost} + \end{figure} + +.. only:: html + + .. figure:: ../vpp_performance_tests/logical-3n-vm-vhost.svg + :alt: logical-3n-vm-vhost + :align: center Functional Tests Coverage ------------------------- @@ -131,19 +149,4 @@ Functional Tests Naming and system functional tests, introduced in CSIT-17.01. The naming should be intuitive for majority of the tests. Complete description -of CSIT test naming convention is provided on :ref:`csit_test_naming`.. - -Here few illustrative examples of the new naming usage for functional test -suites: - -#. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P** - - - *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline - routed forwarding, functional tests. - -#. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC, - P2V2P, NIC2VMchain2NIC, P2V2V2P** - - - *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of - Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost - interfaces and one VM, functional tests. +of CSIT test naming convention is provided on :ref:`csit_test_naming`. -- 2.16.6