4. VSPERF Configuration and User Guide¶
4.1. Introduction¶
VSPERF is an OPNFV testing project.
VSPERF provides an automated test-framework and comprehensive test suite based on Industry Test Specifications for measuring NFVI data-plane performance. The data-path includes switching technologies with physical and virtual network interfaces. The VSPERF architecture is switch and traffic generator agnostic and test cases can be easily customized. VSPERF was designed to be independent of OpenStack therefore OPNFV installer scenarios are not required. VSPERF can source, configure and deploy the device-under-test using specified software versions and network topology. VSPERF is used as a development tool for optimizing switching technologies, qualification of packet processing functions and for evaluation of data-path performance.
The Euphrates release adds new features and improvements that will help advance high performance packet processing on Telco NFV platforms. This includes new test cases, flexibility in customizing test-cases, new results display options, improved tool resiliency, additional traffic generator support and VPP support.
VSPERF provides a framework where the entire NFV Industry can learn about NFVI data-plane performance and try-out new techniques together. A new IETF benchmarking specification (RFC8204) is based on VSPERF work contributed since 2015. VSPERF is also contributing to development of ETSI NFV test specifications through the Test and Open Source Working Group.
- Wiki: https://wiki.opnfv.org/display/vsperf
- Repository: https://git.opnfv.org/vswitchperf
- Artifacts: https://artifacts.opnfv.org/vswitchperf.html
- Continuous Integration: https://build.opnfv.org/ci/view/vswitchperf/
4.2. VSPERF Install and Configuration¶
4.3. VSPERF Test Guide¶
- 4.3.1. vSwitchPerf test suites userguide
- 4.3.1.1. General
- 4.3.1.2. VSPERF Installation
- 4.3.1.3. Traffic Generator Setup
- 4.3.1.4. Cloning and building src dependencies
- 4.3.1.5. Configure the
./conf/10_custom.conf
file - 4.3.1.6. Using a custom settings file
- 4.3.1.7. Evaluation of configuration parameters
- 4.3.1.8. Overriding values defined in configuration files
- 4.3.1.9. Referencing parameter values
- 4.3.1.10. vloop_vnf
- 4.3.1.11. l2fwd Kernel Module
- 4.3.1.12. Additional Tools Setup
- 4.3.1.13. Executing tests
- 4.3.1.14. Executing Vanilla OVS tests
- 4.3.1.15. Executing tests with VMs
- 4.3.1.16. Executing tests with VMs using Vanilla OVS
- 4.3.1.17. Executing VPP tests
- 4.3.1.18. Using vfio_pci with DPDK
- 4.3.1.19. Using SRIOV support
- 4.3.1.20. Using QEMU with PCI passthrough support
- 4.3.1.21. Selection of loopback application for tests with VMs
- 4.3.1.22. Mergable Buffers Options with QEMU
- 4.3.1.23. Selection of dpdk binding driver for tests with VMs
- 4.3.1.24. Guest Core and Thread Binding
- 4.3.1.25. Qemu CPU features
- 4.3.1.26. Multi-Queue Configuration
- 4.3.1.27. Jumbo Frame Testing
- 4.3.1.28. Executing Packet Forwarding tests
- 4.3.1.29. Executing Packet Forwarding tests with one guest
- 4.3.1.30. VSPERF modes of operation
- 4.3.1.31. Performance Matrix
- 4.3.1.32. Code change verification by pylint
- 4.3.1.33. GOTCHAs:
- 4.3.1.34. More information
- 4.3.2. Step driven tests
- 4.3.3. Integration tests
- 4.3.3.1. Executing Integration Tests
- 4.3.3.2. Executing Tunnel encapsulation tests
- 4.3.3.3. Executing VXLAN decapsulation tests
- 4.3.3.4. Executing GRE decapsulation tests
- 4.3.3.5. Executing GENEVE decapsulation tests
- 4.3.3.6. Executing Native/Vanilla OVS VXLAN decapsulation tests
- 4.3.3.7. Executing Native/Vanilla OVS GRE decapsulation tests
- 4.3.3.8. Executing Native/Vanilla OVS GENEVE decapsulation tests
- 4.3.3.9. Executing Tunnel encapsulation+decapsulation tests
- 4.3.4. Traffic Capture
- 4.3.5. Execution of vswitchperf testcases by Yardstick
- 4.3.6. List of vswitchperf testcases