fix(docs): Static content
[csit.git] / docs / report / introduction / test_scenarios_overview.rst
1 Test Scenarios
2 ==============
3
4 FD.io |csit-release| report includes multiple test scenarios of VPP
5 centric applications, topologies and use cases. In addition it also
6 covers baseline tests of DPDK sample applications. Tests are executed in
7 physical (performance tests) and virtual environments (functional
8 tests).
9
10 Brief overview of test scenarios covered in this report:
11
12 #. **VPP Performance**: VPP performance tests are executed in physical
13    FD.io testbeds, focusing on VPP network data plane performance in
14    NIC-to-NIC switching topologies. VPP application runs in
15    bare-metal host user-mode handling NICs. TRex is used as a traffic generator.
16
17 #. **VPP Vhostuser Performance with KVM VMs**: VPP VM service switching
18    performance tests using vhostuser virtual interface for
19    interconnecting multiple NF-in-VM instances. VPP vswitch
20    instance runs in bare-metal user-mode handling NICs and connecting
21    over vhost-user interfaces to VM instances each running VPP with virtio
22    virtual interfaces. Similarly to VPP Performance, tests are run across a
23    range of configurations. TRex is used as a traffic generator.
24
25 #. **VPP Memif Performance with LXC and Docker Containers**: VPP
26    Container service switching performance tests using memif virtual
27    interface for interconnecting multiple VPP-in-container instances.
28    VPP vswitch instance runs in bare-metal user-mode handling NICs and
29    connecting over memif (Slave side) interfaces to more instances of
30    VPP running in LXC or in Docker Containers, both with memif
31    interfaces (Master side). Similarly to VPP Performance, tests are
32    run across a range of configurations. TRex is used as a traffic
33    generator.
34
35 #. **DPDK Performance**: VPP uses DPDK to drive the NICs and physical
36    interfaces. DPDK performance tests are used as a baseline to
37    profile performance of the DPDK sub-system. Two DPDK applications
38    are tested: Testpmd and L3fwd. DPDK tests are executed in the same
39    testing environment as VPP tests. DPDK Testpmd and L3fwd
40    applications run in host user-mode. TRex is used as a traffic
41    generator.
42
43 #. **T-Rex Performance**: T-Rex perfomance tests are executed in physical
44    FD.io testbeds, focusing on T-Rex data plane performance in NIC-to-NIC
45    loopback topologies.
46
47 #. **VPP Functional**: VPP functional tests are executed in virtual
48    FD.io testbeds, focusing on VPP packet processing functionality,
49    including both network data plane and in-line control plane. Tests
50    cover vNIC-to-vNIC vNIC-to-nestedVM-to-vNIC forwarding topologies.
51    Scapy is used as a traffic generator.
52
53 All CSIT test data included in this report is auto-
54 generated from :abbr:`RF (Robot Framework)` :file:`output.xml` files
55 produced by :abbr:`LF (Linux Foundation)` FD.io Jenkins jobs executed
56 against |vpp-release| artifacts. References are provided to the
57 original FD.io Jenkins job results and all archived source files.
58
59 FD.io CSIT system is developed using two main coding platforms: :abbr:`RF (Robot
60 Framework)` and Python. |csit-release| source code for the executed test
61 suites is available in CSIT branch |release| in the directory
62 :file:`./tests/<name_of_the_test_suite>`. A local copy of CSIT source code
63 can be obtained by cloning CSIT git repository - :command:`git clone
64 https://gerrit.fd.io/r/csit`.