-
Notifications
You must be signed in to change notification settings - Fork 708
perf1609 draft
**DRAFT - WORK IN PROGRESS - PLEASE TREAT IT AS SUCH **
CSIT test development priorities are aligned with VPP releases timeline, with relative dev work prioritization for each VPP release driven by perceived importance of test verification for VPP functionality and performance. Specific CSIT dev work priorities are driven by rough consensus within the project and contributors and committers availability and willingness to do work.
Following priority tagging scheme is used in this CSIT wiki and FD.io jira for CSIT:
-
[$VppRlsNo-$RelPrio]
- VppRlsNo - aligned VPP release number - 16.09, 16.12, 17.03.
- RelPrio - CSIT release priority - P0 for Must Have, P1 for Should Have, P2 for Could Have
-
CSIT dev work tagging examples:
- [1609-P0] - CSIT Must Have for vpp-v1609
- [1609-P1] - CSIT Should Have for vpp-v1609
- [1609-P2] - CSIT Could Have for vpp-v1609
CSIT dev work plan execution tracked on CSIT jira, with priority tags encoded as Jira labels for easy of tracking and reporting.
CSIT performance test cases devevelopment work is grouped and tracked across the following VPP functional areas:
- IPv4 data plane
- IPv4 control plane
- IPv4 encapsulations
- IPv4 telemetry
- IPv6 data plane
- IPv6 control plane
- IPv6 encapsulations
- IPv6 telemetry
- Ethernet L2 data plane
- Ethernet L2 control plane
- Ethernet L2 encapsulations
- Ethernet L2 telemetry
- MPLS data plane
- NSH data plane
CSIT team is tracking completed CSIT dev work per above area (completed = test cases running in FD.io), as well as top-level test coverage metric [%] of VPP functions. VPP code development dependencies are marked with [VPP-DEP]. Performance tests require the functional tests to be completed - see sub-sections "Functional tests preconditions".
CSIT performance tests are split into the two main groups:
- NDR(PDR) throughput discovery - tests searching for NDR non-drop rate throughput or PDR partial-drop rate throughput for specified configuration. Also referred to as "long" tests.
- refNDR throughput verification - tests verifying code patches against the reference NDR throughput. Also referred to as "short" tests.
Indicative coverage = <to_be_added>
**Baseline performance **
- [1609-P1] continue to expand VPP driver coverage - DPDK, other TBD (Netmap?, )
- (single_physical_interface_type,NIC_type)
- (all_physical_interface_type,NIC_type)
- (single_virtual_interface_type,VF_type)
- (all_virtual_interface_type,VF_type) - box-full tests
# [1609-P1] VPN routed forwarding (VRF) - baseline.
**FIB performance **
Large-scale FIB tests
- [1609-DONE] IPv4 same prefix length - Gerrit #1613 Jira CSIT-169
# [1609-P1] IPv4 varying prefix lengths
**Security performance **
- [1606-DONE] security - iacl with n-tuple classification, ip4. NDR, refNDR.
- [1606-DONE] security - cop white-/black-list ip4 src addr filtering. NDR, refNDR.
**QoS performance **
# [1609-P1] QoS - ingress policing - rate metering, marking and rate-limiting.
**Functional tests preconditions **
- [1606-DONE] IPv4 routing RFC791 - baseline.
Below copied from CSIT functional tests plan.
# [1609-P0] VPN routed forwarding (VRF) - baseline.
# [1609-P0] extranet VPN routed forwarding (VRF) - baseline.
# [1609-P0] security - source IPv4 Reverse Path Forwarding (RPF).
# [1609-P0] qos - ingress policing - 1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698.
# [1609-P1] routing multipath (ECMP, UECMP) - baseline.
# [1609-P1] [TODO VPP-xxx] carrier grade nat 44, CGN44, RFC6598, RFC6888.
# [1609-P2] [TODO VPP-xxx] security - stateful firewall.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] Proxy ARP.
# [1609-P0] IKEv2.
# [1609-P1] DHCPv4 proxy.
# [1606-DONE] ARP.
# [1606-DONE] ICMPv4.
# [1606-DONE] DHCPv4 client.
Indicative coverage = <to_be_added>
**Baseline performance **
# [1609-P1] ip4-gre-ip4 - baseline main fib.
# [1609-P1] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp.
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] ip4-ipsec-ip4 - baseline main fib.
# [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1606-DONE] ip4-gre-ip4 - baseline main fib.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] IPv4 IPFIX - stats collection and export - baseline.
# [1609-P0] IPv4 IPFIX - stats collection and export - functional scale.
# [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline.
# [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline.
Indicative coverage = <to_be_added>
**Baseline performance **
- [1609-P1] continue to expand VPP driver coverage - DPDK, other TBD (Netmap?, )
- (single_physical_interface_type,NIC_type)
- (all_physical_interface_type,NIC_type)
- (single_virtual_interface_type,VF_type)
- (all_virtual_interface_type,VF_type) - box-full tests
# [1609-P1] VPN routed forwarding (VRF) - baseline.
**FIB performance **
Large-scale FIB tests
- [1609-REVIEW] IPv6 same prefix length - Gerrit #1664 Jira CSIT-179
# [1609-P1] IPv6 varying prefix lengths
**Security performance **
- [1609-DONE] security - iacl with n-tuple classification, ip6. NDR, refNDR.
- [1606-DONE] security - cop white-/black-list ip6 src addr filtering. NDR, refNDR.
**QoS performance **
# [1609-P1] QoS - ingress policing - rate metering, marking and rate-limiting.
**Functional tests preconditions **
- [1606-DONE] routing [rfc2460] - baseline.
Below copied from CSIT functional tests plan.
# [1609-P0] VPN routed forwarding (VRF) - baseline.
# [1609-P0] extranet VPN routed forwarding (VRF) - baseline.
# [1609-P0] security - source IPv6 Reverse Path Forwarding (RPF).
# [1609-P0] qos - ingress policing - 1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698.
# [1609-P1] routing multipath (ECMP, UECMP) - baseline.
# [1609-P2] [TODO VPP-xxx] security - stateful firewall.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] router advertisement.
# [1609-P1] DHCPv6 proxy.
# [1609-P2] [TODO VPP-xxx] ip6-ioam, in-band OAM.
# [1606-DONE] neighbor discovery, RFC4861.
# [1606-DONE] ICMPv6.
Indicative coverage = <to_be_added>
# [1609-P1] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp.
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] ip4-o-ip6 softwire.
# [1609-P0] ip6-ipsec-ip6.
# [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1609-P0] ip6-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P0] ip6-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp.
# [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp.
# [1609-P1] [TODO VPP-xxx] ip6-segment-routing.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P0] IPv6 IPFIX - stats collection and export - baseline.
# [1609-P0] IPv6 IPFIX - stats collection and export - functional scale.
# [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline.
# [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline.
Indicative coverage = <to_be_added>
**Baseline performance **
- [1609-P1] continue to expand VPP driver coverage - DPDK, other TBD (Netmap?, )
- (single_physical_interface_type,NIC_type)
- (all_physical_interface_type,NIC_type)
- (single_virtual_interface_type,VF_type)
- (all_virtual_interface_type,VF_type) - box-full tests
**FIB performance **
Large-scale FIB tests
- [1609-P0] [TODO VPP-201] MAC addresses - Gerrit #1862
**Functional tests preconditions **
- [1606-DONE] L2 Cross-connect - baseline.
- [1606-DONE] Bridge domain - baseline.
Below copied from CSIT functional tests plan.
# [1609-P0] Bridge domain - with VLAN tag acrobatics 1-to-1, 1-to-2, 2-to-1, 2-to-2.
# [1609-P1] Integrated Routing-Bridging (IRB) - baseline.
# [1606-DONE] L2 Cross-connect - with VLAN tag acrobatics 1-to-1, 1-to-2, 2-to-1, 2-to-2.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
- [1606-DONE] MAC learning.
Below copied from CSIT functional tests plan.
# [1609-P2] [TODO VPP-xxx] CDP/LLDP.
# [1606-DONE] MAC split-horizon.
Indicative coverage = <to_be_added>
- [1609-P0] l2-eth-lispgpe-ip6 - L2BD, L2XC.
- [1609-P0] l2-eth-lispgpe-ip4 - L2BD, L2XC.
- [1606-DONE] l2-vxlan-ipv4 - with bridge-domain.
- [1606-DONE] l2-vxlan-ipv4 - with L2 cross-connect.
Inputs from functional test plan:
# [1609-P0] l2-eth-lispgpe-ip6 - L2BD, L2XC.
# [1609-P0] l2-eth-lispgpe-ip4 - L2BD, L2XC.
# [1609-P0] l2eth-gre-ip4-ipsec-ip4-eth - L2BD, L2XC.
# [1609-P2] l2-eth-l2tpv3-ip4 - L2BD, L2XC.
# [1609-P2] l2-eth-l2tpv3-ip6 - L2BD, L2XC.
# [1609-P2] l2-eth-gre-ip4 - L2BD, L2XC.
# [1609-P2] l2-eth-gre-ip6 - L2BD, L2XC.
# [1606-DONE] l2-vxlan-ipv4 - with bridge-domain.
# [1606-DONE] l2-vxlan-ipv4 - with L2 cross-connect.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P1] L2 FIB - stats collection and export - baseline.
# [1609-P2] L2 FIB - stats collection and export - functional scale.
# [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline.
# [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P2] vpnv4-mpls-gre-ip4.
# [1609-P2] mpls-o-eth.
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
**Functional tests preconditions **
Below copied from CSIT functional tests plan.
# [1609-P1] ip4-nsh-gre-ip4.
# [1609-P1] ip4-nsh-vxlan-gpe-ip4.
END OF NOTE
- VPP 2022 Make Test Use Case Poll
- VPP-AArch64
- VPP-ABF
- VPP Alternative Builds
- VPP API Concepts
- VPP API Versioning
- VPP-ApiChangeProcess
- VPP-ArtifactVersioning
- VPP-BIER
- VPP-Bihash
- VPP-BugReports
- VPP Build System Deep Dive
- VPP Build, Install, And Test Images
- VPP-BuildArtifactRetentionPolicy
- VPP-c2cpel
- VPP Code Walkthrough VoD
- VPP Code Walkthrough VoD Topic Index
- VPP Code Walkthrough VoDs
- VPP-CodeStyleConventions
- VPP-CodingTips
- VPP Command Line Arguments
- VPP Command Line Interface CLI Guide
- VPP-CommitMessages
- VPP-Committers-SMEs
- VPP-CommitterTasks-ApiFreeze
- VPP CommitterTasks Compare API Changes
- VPP-CommitterTasks-CutPointRelease
- VPP-CommitterTasks-CutRelease
- VPP-CommitterTasks-FinalReleaseCandidate
- VPP-CommitterTasks-PullThrottleBranch
- VPP-CommitterTasks-ReleasePlan
- VPP Configuration Tool
- VPP Configure An LW46 MAP E Terminator
- VPP Configure VPP As A Router Between Namespaces
- VPP Configure VPP TAP Interfaces For Container Routing
- VPP-CoreFileMismatch
- VPP-cpel
- VPP-cpeldump
- VPP-CurrentData
- VPP-DHCPKit
- VPP-DHCPv6
- VPP-DistributedOwnership
- VPP-Documentation
- VPP DPOs And Feature Arcs
- VPP EC2 Instance With SRIOV
- VPP-elog
- VPP-FAQ
- VPP Feature Arcs
- VPP-Features
- VPP-Features-IPv6
- VPP-FIB
- VPP-g2
- VPP Getting VPP 16.06
- VPP Getting VPP Release Binaries
- VPP-HA
- VPP-HostStack
- VPP-HostStack-BuiltinEchoClientServer
- VPP-HostStack-EchoClientServer
- VPP-HostStack-ExternalEchoClientServer
- VPP HostStack Hs Test
- VPP-HostStack-LDP-iperf
- VPP-HostStack-LDP-nginx
- VPP-HostStack-LDP-sshd
- VPP-HostStack-nginx
- VPP-HostStack-SessionLayerArchitecture
- VPP-HostStack-TestHttpServer
- VPP-HostStack-TestProxy
- VPP-HostStack-TLS
- VPP-HostStack-VCL
- VPP-HostStack-VclEchoClientServer
- VPP-Hotplug
- VPP How To Add A Tunnel Encapsulation
- VPP How To Build The Sample Plugin
- VPP How To Connect A PCI Interface To VPP
- VPP How To Create A VPP Binary Control Plane API
- VPP How To Deploy VPP In EC2 Instance And Use It To Connect Two Different VPCs
- VPP How To Optimize Performance %28System Tuning%29
- VPP How To Use The API Trace Tools
- VPP How To Use The C API
- VPP How To Use The Packet Generator And Packet Tracer
- VPP-Howtos
- VPP-index
- VPP Installing VPP Binaries From Packages
- VPP Interconnecting vRouters With VPP
- VPP Introduction To IP Adjacency
- VPP Introduction To N Tuple Classifiers
- VPP IP Adjacency Introduction
- VPP-IPFIX
- VPP-IPSec
- VPP IPSec And IKEv2
- VPP IPv6 SR VIRL Topology File
- VPP Java API
- VPP Java API Plugin Support
- VPP Jira Workflow
- VPP-Macswapplugin
- VPP-MakeTestFramework
- VPP-Meeting
- VPP-MFIB
- VPP Missing Prefetches
- VPP Modifying The Packet Processing Directed Graph
- VPP MPLS FIB
- VPP-NAT
- VPP Nataas Test
- VPP-OVN
- VPP Per Feature Notes
- VPP Performance Analysis Tools
- VPP-perftop
- VPP Progressive VPP Tutorial
- VPP Project Meeting Minutes
- VPP Pulling, Building, Running, Hacking And Pushing VPP Code
- VPP Pure L3 Between Namespaces With 32s
- VPP Pure L3 Container Networking
- VPP Pushing And Testing A Tag
- VPP Python API
- VPP-PythonVersionPolicy
- VPP-QuickTrexSetup
- VPP Random Hints And Kinks For KVM Usage
- VPP Release Plans Release Plan 16.09
- VPP Release Plans Release Plan 17.01
- VPP Release Plans Release Plan 17.04
- VPP Release Plans Release Plan 17.07
- VPP Release Plans Release Plan 17.10
- VPP Release Plans Release Plan 18.01
- VPP Release Plans Release Plan 18.04
- VPP Release Plans Release Plan 18.07
- VPP Release Plans Release Plan 18.10
- VPP Release Plans Release Plan 19.01
- VPP Release Plans Release Plan 19.04
- VPP Release Plans Release Plan 19.08
- VPP Release Plans Release Plan 20.01
- VPP Release Plans Release Plan 20.05
- VPP Release Plans Release Plan 20.09
- VPP Release Plans Release Plan 21.01
- VPP Release Plans Release Plan 21.06
- VPP Release Plans Release Plan 21.10
- VPP Release Plans Release Plan 22.02
- VPP Release Plans Release Plan 22.06
- VPP Release Plans Release Plan 22.10
- VPP Release Plans Release Plan 23.02
- VPP Release Plans Release Plan 23.06
- VPP Release Plans Release Plan 23.10
- VPP Release Plans Release Plan 24.02
- VPP Release Plans Release Plan 24.06
- VPP Release Plans Release Plan 24.10
- VPP Release Plans Release Plan 25.02
- VPP Release Plans Release Plan 25.06
- VPP Release Plans Release Plan 25.10
- VPP Release Plans Release Plan 26.02
- VPP Release Plans Release Plan 26.06
- VPP-RM
- VPP-SecurityGroups
- VPP Segment Routing For IPv6
- VPP Segment Routing For MPLS
- VPP Setting Up Your Dev Environment
- VPP-SNAT
- VPP Software Architecture
- VPP STN Testing
- VPP The VPP API
- VPP Training Events
- VPP-Troubleshooting
- VPP-Troubleshooting-BuildIssues
- VPP-Troubleshooting-Vagrant
- VPP Tutorial DPDK And MacSwap
- VPP Tutorial Routing And Switching
- VPP-Tutorials
- VPP Use VPP To Chain VMs Using Vhost User Interface
- VPP Use VPP To Connect VMs Using Vhost User Interface
- VPP Using mTCP User Mode TCP Stack With VPP
- VPP Using VPP As A VXLAN Tunnel Terminator
- VPP Using VPP In A Multi Thread Model
- VPP-VOM
- VPP VPP BFD Nexus
- VPP VPP Home Gateway
- VPP VPP WIKI DEPRECATED CONTENT
- VPP-VPPCommunicationsLibrary
- VPP-VPPConfig
- VPP What Is ODP4VPP
- VPP What Is VPP
- VPP Working Environments
- VPP Working With The 16.06 Throttle Branch