CSIT/PerfTestPlan
From fd.io
Contents
[hide]Performance testing - Jobs
CSIT Jenkins Jobs for Performance Tests
Performance testing - Testbeds
CSIT LF testbed for Performance Tests: all 3 LF physical testbeds are all live
Performance testing - Test Cases
CSIT test suite list for VPP v16.06
CSIT test suite list for VPP v16.09
[TO-DO]
Performance Test Cases - Plan and Status
For CSIT project to work and be useful, it is proposed that CSIT code and test cases development should be done in coordination with VPP Release Candidate content and release schedule. CSIT development work needs to be prioritized based on FD.io community needs and feedback, and csit-dev work distributed. To facilitate this, we compiled an initial list of proposed performance test cases that must, should, could be tested. Each csit-dev work item is prefixed with status and/or proposed priority relative to FD.io VPP release:
- [Pn-Rm] – Proposed coverage of VPP functionality by FD.io CSIT functional and performance test cases.
- Pn – CSIT development and integration priority; n=0,1,2, 0-for-MUST, 1-for-SHOULD, 2-for-COULD.
- Rm – VPP major release, R1 stands for the first FD.io VPP release, R2 for the 2nd FD.io VPP release.
- [DONE-Rm] - Done and working test cases, executed for VPP Rm code.
- [TBD] - Development work scheduling priority to-be-defined.
Plan execution tracked on CSIT jira
CSIT-DEV plan for VPP v16.06
- Long throughput benchmarks - libraries
- L2/IPv4/IPv6 NonDropRate search
- Linear search (rfc2544) - Gerrit #515
- Binary search (rfc2544) - Gerrit #564
- BESTofN/WORSTofN search - Gerrit #603
- Combined binary+linear search - Gerrit #671
- L2/IPv4/IPv6 PartialDropRate search
- Linear search (rfc2544) - Gerrit #1092 Jira CSIT-67
- Binary search (rfc2544) - Gerrit #1092 Jira CSIT-67
- BESTofN/WORSTofN search - Gerrit #1092 Jira CSIT-67
- Combined binary+linear search - Gerrit #1092 Jira CSIT-67
- L2/IPv4/IPv6 NonDropRate search
- Long throughput benchmarks - test cases
- IPv4 baseline NonDropRate search
- Linear search (rfc2544) - Gerrit #574
- Binary search (rfc2544) - Gerrit #574
- BESTofN/WORSTofN search - Gerrit #574
- Combined binary+linear search - Gerrit #574
- L2 baseline NonDropRate search
- Linear search (rfc2544) - Gerrit #574
- Binary search (rfc2544) - Gerrit #574
- BESTofN/WORSTofN search - Gerrit #574
- Combined binary+linear search - Gerrit #574
- IPv6 baseline NonDropRate search
- Linear search (rfc2544) - Gerrit #824 Jira CSIT-2
- Binary search (rfc2544) - Gerrit #824 Jira CSIT-2
- BESTofN/WORSTofN search - Gerrit #824 Jira CSIT-2
- Combined binary+linear search - Gerrit #824 Jira CSIT-2
- IPv4 baseline PartialDropRate search
- Linear search (rfc2544) - Gerrit #1092 Jira CSIT-67
- Binary search (rfc2544) - Gerrit #1092 Jira CSIT-67
- BESTofN/WORSTofN search - Gerrit #1092 Jira CSIT-67
- Combined binary+linear search - Gerrit #1092 Jira CSIT-67
- L2 baseline PartialDropRate search
- Linear search (rfc2544) - Gerrit #1092 Jira CSIT-67
- Binary search (rfc2544) - Gerrit #1092 Jira CSIT-67
- BESTofN/WORSTofN search - Gerrit #1092 Jira CSIT-67
- Combined binary+linear search - Gerrit #1092 Jira CSIT-67
- IPv6 baseline PartialDropRate search
- Linear search (rfc2544) - Gerrit #1092 Jira CSIT-67
- Binary search (rfc2544) - Gerrit #1092 Jira CSIT-67
- BESTofN/WORSTofN search - Gerrit #1092 Jira CSIT-67
- Combined binary+linear search - Gerrit #824 Jira CSIT-67
- IPv4 baseline NonDropRate search
- Short throughput benchmarks - libraries
- Short IPv4 throughput test against reference NDR - Gerrit #574
- Short L2 throughput test against reference NDR - Gerrit #574
- Short IPv6 throughput test against reference NDR - Gerrit #824 Jira CSIT-2
- Short throughput benchmarks - test cases
- Short IPv4 throughput - routed-forwarding - Gerrit #574
- Short L2 throughput - bridge-domain, l2-xconnect - Gerrit #574
- Short IPv6 throughput - routed-forwarding - Gerrit #824 Jira CSIT-2
- 3-node physical testbed - libraries
- Create host topology files for tb2 - Gerrit #954 Jira CSIT-8
- Extend host topology with NIC type filtering - Gerrit #808 Jira CSIT-1
- Create host topology files for tb1, tb3 - Gerrit #1202 Gerrit #1042 Jira CSIT-8
- Multi-core multi-thread tests - libraries
- Multicore tests - Gerrit #710
- Security feature
- Classify IPv4 iACL - Gerrit #1272 Jira CSIT-119
- IPv6 COP - Gerrit #1262 Jira CSIT-109
- IPv4 COP - Gerrit #1254 Jira CSIT-105
- L2 encapsulations
- l2-vlan-dot1q - Gerrit #973 Jira CSIT-59
- l2-vlan-dot1ad - Gerrit #1250 Jira CSIT-60
- VPP vNet topology baselines - libraries
- Host stack VPP baseline - Phy1-VPP-Phy2
- vNet VPP topologies - libraries
- Phy1-VPP-Phy2
- Traffic generator drivers
- T-Rex
- T-Rex driver
- TRex support for packet delay and packet delay variation Gerrit #1209 Jira CSIT-102
- T-Rex
- Other work items
- Collect VPP counter statistics - Gerrit #1195 Jira CSIT-71
- Tune VPP performance by modifying startup config - Gerrit #1071 Gerrit #1433 Jira CSIT-73
- Replace linear search with binary search - Gerrit #1189 Jira CSIT-97
- Troubleshooting VPP - CSIT-118
- Unified performance trend dashboard Gerrit #1493 Gerrit #1787 Gerrit #1413 Jira CSIT-135 Jira CIMANAGE-9 Jira CIMANAGE-10
CSIT-DEV plan for VPP v16.09
- Large-scale FIB tests - libraries
- [P0-R2] IPv4 same prefix length - Gerrit #1613 Jira CSIT-169
- [P1-R2] IPv4 varying prefix lengths
- [P0-R2] IPv6 same prefix length - Gerrit #1664 Jira CSIT-179
- [P1-R2] IPv6 varying prefix lengths
- [P0-R2] MAC addresses - Gerrit #1862
- Packet encapsulations - test cases
- IP4 encapsulations
- [P1-R2] ip4-gre-ip4
- [P1-R2] ip4-ipsec-ip4
- IP6 encapsulations
- [P1-R2] ip4-o-ip6 softwire
- [P1-R2] lightweight46 [rfc7596]
- [P2-R2] map-e [rfc7597]
- [P2-R2] map-t [rfc7599]
- [P1-R2] ip4-o-ip6 softwire
- L2 encapsulations
- [P1-R2] l2-vxlan-ipv4
- [TBD] l2-eth-l2tpv3-ip4
- [TBD] l2-eth-l2tpv3-ip6
- [TBD] l2-eth-gre-ip4
- [TBD] l2-eth-gre-ip6
- [TBD] ip6-segment-routing
- [P1-R2] ip6-ipsec-ip6
- IP4 encapsulations
- Security feature
- [TBD] IPv6 iACL
- VPP vNet topology baselines - libraries
- Host stack baseline - Phy1-App-Phy2
- [P0-R2] Reference host user-mode app, L3FWD-xconnect, DPDK driver per NIC type - Gerrit #808 Gerrit #1267 Jira CSIT-1 Jira CSIT-106
- Host stack VPP baseline - Phy1-VPP-Phy2
- [TBD] Host VPP IPv4 baseline config, DPDK driver per NIC type
- Guest stack baseline - Phy1-pcipt-AppVM-pcipt-Phy2
- [TBD] Reference guest user-mode app, L3FWD-xconnect, DPDK driver per NIC type
- Guest stack VPP baseline - Phy1-pcipt-VPPVM-pcipt-Phy2
- [TBD] VPP IPv4 baseline config, DPDK driver per NIC type
- Host and guest stack baseline - Phy1-VPP-AppVM-VPP-Phy2
- [TBD] VPP IPv4 baseline config, vhost-user to AppVM
- Host stack baseline - Phy1-App-Phy2
- vNet VPP topologies - libraries
- [P0-R2] Phy1-VPP-VM-VPP-Phy2 - Gerrit #1319 Jira CSIT-63
- Traffic generator drivers
- IXIA IxNetwork driver
- [P1-R2] driver design - Gerrit #1561 Jira CSIT-66
- [P1-R2] driver implementation - Gerrit #1561 Jira CSIT-66
- [TBD] test case setup, teardown
- [TBD] traffic stream configuration
- [TBD] statistics retrieval
- latency measurements
- [TBD] feasibility
- [TBD] implementation
- [TBD] integration with CSIT tests
- Moongen driver
- [TBD] verify requirements and available HW against latest MoonGen codebase
- [TBD] CSIT integration
- LWPG driver
- [TBD] driver design
- [TBD] driver implementation
- [TBD] test case setup, teardown
- [TBD] traffic stream configuration
- [TBD] statistics retrieval
- [TBD] latency measurements
- [TBD] feasibility
- [TBD] implementation
- [TBD] integration with CSIT tests
- IXIA IxNetwork driver
- Other work items
- [TBD] integrate Python sysinfosuite to CSIT