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