Difference between revisions of "CSIT/PerfTestPlan"
(42 intermediate revisions by 4 users not shown) | |||
Line 23: | Line 23: | ||
CSIT performance test cases devevelopment work is grouped and tracked across the following VPP functional areas: | CSIT performance test cases devevelopment work is grouped and tracked across the following VPP functional areas: | ||
+ | # NIC devices and drivers | ||
# IPv4 data plane | # IPv4 data plane | ||
# IPv4 control plane | # IPv4 control plane | ||
Line 38: | Line 39: | ||
# NSH 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- | + | 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 [Blocked-by VPP-XXX]. 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: | 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. | * 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. | * refNDR throughput verification - tests verifying code patches against the reference NDR throughput. Also referred to as "short" tests. | ||
+ | |||
+ | ==Infrastructure - NIC devices and drivers== | ||
+ | |||
+ | '''1609-P0''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = infra AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = infra AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = infra AND labels = 1609-p2'></jira> | ||
+ | |||
+ | Indicative coverage = <to_be_added> | ||
+ | |||
+ | # [1606-DONE] NIC Intel X520 2p10GE - DPDK niantic driver, 2 ports within the same NIC. | ||
+ | # [1609-P0] NIC Intel XL710 2p40GE - DPDK i40e driver, 2 ports within the same NIC. | ||
+ | # [1609-DONE] VPP vhost-user - VPP vhost-user driver, virtio in VM. | ||
+ | # [1609-P1] NIC Intel X710 2p40GE - DPDK i40e driver, 2 ports within the same NIC. | ||
+ | # [1609-DONE] DPDK vhost-user - DPDK vhost-user driver, virtio in VM. | ||
+ | # [1612-P0] vhost-user - XXX vhost-user driver, virtio in VM, box-full test with NxVMs. | ||
+ | # [1612-P2] continue to expand VPP driver coverage - more NIC-DPDK drivers, other TBD. | ||
==IPv4 data plane== | ==IPv4 data plane== | ||
− | '''ip4dp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4dp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4dp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4dp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 52: | Line 87: | ||
'''Baseline performance''' | '''Baseline performance''' | ||
− | # [1609- | + | # [1609-P0] IPv4 routing RFC791 - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-DONE] IPv4 routing RFC791 - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio). |
− | # | + | # [1609-P1] VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(X520). |
− | # | + | # [1609-P1] VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-P1] extranet VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(X520). |
− | # [1606-DONE] IPv4 routing RFC791 - baseline. | + | # [1609-P1] extranet VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710). |
+ | # [1606-DONE] IPv4 routing RFC791 - baseline - NIC-to-NIC(X520). | ||
'''FIB performance''' | '''FIB performance''' | ||
Large-scale FIB tests | Large-scale FIB tests | ||
− | # [1609-DONE] | + | # [1609-DONE] same prefix length. |
− | # [1609-P1] | + | # [1609-P1] varying prefix lengths. |
'''Security performance''' | '''Security performance''' | ||
− | # [1606-DONE] security - iacl with n-tuple classification, ip4 | + | # [1606-DONE] security - iacl with n-tuple classification, ip4. |
− | # [1606-DONE] security - cop white-/black-list ip4 src addr filtering | + | # [1606-DONE] security - cop white-/black-list ip4 src addr filtering. |
'''QoS performance''' | '''QoS performance''' | ||
− | # [1609- | + | # [1609-REVIEW] QoS - ingress policing - rate metering, marking and limiting - 2r3c-(cb,ca) policers, RFC2698. |
− | # [1609- | + | # [1609-P1] QoS - ingress policing - rate metering, marking and limiting - 1r2c-(cb,ca) policers, RFC2697. |
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
− | # [1609- | + | # [1609-P2] security - source IPv4 Reverse Path Forwarding (RPF). |
− | + | # [1609-P1] routing multipath (ECMP, UECMP) - baseline. | |
− | + | # [1609-P1] [Blocked-by VPP-xxx] carrier grade nat 44, CGN44, RFC6598, RFC6888. | |
− | # [1609-P1] routing multipath (ECMP, UECMP) - baseline. | + | # [1609-P2] [Blocked-by VPP-xxx] security - stateful firewall. |
− | # [1609-P1] [ | + | |
− | # [1609-P2] [ | + | |
==IPv4 control plane== | ==IPv4 control plane== | ||
− | '''ip4cp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4cp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4cp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4cp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 96: | Line 140: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
− | # [1609-P0] Proxy ARP. | + | # [1609-P0] Proxy ARP. |
− | # [1609-P0] IKEv2. | + | # [1609-P0] IKEv2. |
− | # [1609-P1] DHCPv4 proxy. | + | # [1609-P1] DHCPv4 proxy. |
− | # [1606-DONE] ARP. | + | # [1606-DONE] ARP. |
− | # [1606-DONE] ICMPv4. | + | # [1606-DONE] ICMPv4. |
− | # [1606-DONE] DHCPv4 client. | + | # [1606-DONE] DHCPv4 client. |
==IPv4 encapsulations== | ==IPv4 encapsulations== | ||
− | '''ip4enc''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4enc AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4enc AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4enc AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 114: | Line 168: | ||
# [1609-P1] ip4-gre-ip4 - baseline main fib. | # [1609-P1] ip4-gre-ip4 - baseline main fib. | ||
− | # [1609- | + | # [1609-DONE] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp. |
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P0] ip4-ipsec-ip4 - baseline main fib. | # [1609-P0] ip4-ipsec-ip4 - baseline main fib. | ||
− | # [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf) | + | # [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), virt2lisp. |
− | # [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | + | # [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), phy2lisp, virt2lisp. | ||
− | # [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | + | # [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. ? |
− | # [1606-DONE] ip4-gre-ip4 - baseline main fib. | + | # [1606-DONE] ip4-gre-ip4 - baseline main fib. |
==IPv4 telemetry== | ==IPv4 telemetry== | ||
− | '''ip4tel''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4tel AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4tel AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip4tel AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 137: | Line 201: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
− | # [1609-P0] IPv4 IPFIX - stats collection and export - baseline. | + | # [1609-P0] IPv4 IPFIX - stats collection and export - baseline. |
− | # [1609-P0] IPv4 IPFIX - stats collection and export - functional scale. | + | # [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-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. | + | # [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline. |
==IPv6 data plane== | ==IPv6 data plane== | ||
− | '''ip6dp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6dp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6dp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6dp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 152: | Line 226: | ||
'''Baseline performance''' | '''Baseline performance''' | ||
− | # [1609- | + | # [1609-P0] IPv6 routing RFC2460 - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-P0] IPv6 routing RFC2460 - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio). |
− | + | # [1609-P1] VPNv6 routed forwarding (VRF) - baseline - NIC-to-NIC(X520). | |
− | # | + | # [1609-P1] VPNv6 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-P2] extranet VPN routed forwarding (VRF) - baseline. |
− | # [1609- | + | # [1606-DONE] IPv6 routing RFC2460 - baseline - NIC-to-NIC(X520). |
'''FIB performance''' | '''FIB performance''' | ||
Large-scale FIB tests | Large-scale FIB tests | ||
− | # [1609- | + | # [1609-DONE] same prefix length. |
− | # [1609-P1] | + | # [1609-P1] varying prefix lengths. |
'''Security performance''' | '''Security performance''' | ||
− | # [1609-DONE] security - iacl with n-tuple classification, ip6 | + | # [1609-DONE] security - iacl with n-tuple classification, ip6. |
− | # [1606-DONE] security - cop white-/black-list ip6 src addr filtering | + | # [1606-DONE] security - cop white-/black-list ip6 src addr filtering. |
'''QoS performance''' | '''QoS performance''' | ||
− | # [1609-P1] QoS - ingress policing - rate metering, marking and rate-limiting. | + | # [1609-P1] QoS - ingress policing - rate metering, marking and rate-limiting -1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698. |
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | + | Below copied from CSIT functional tests plan - provided for reference only: | |
− | + | # [1609-P0] security - source IPv6 Reverse Path Forwarding (RPF). | |
− | + | ||
− | + | ||
− | + | ||
− | # [1609-P0] security - source IPv6 Reverse Path Forwarding (RPF) | + | |
− | + | ||
# [1609-P1] routing multipath (ECMP, UECMP) - baseline. | # [1609-P1] routing multipath (ECMP, UECMP) - baseline. | ||
− | # [1609-P2] [ | + | # [1609-P2] [Blocked-by VPP-xxx] security - stateful firewall. |
==IPv6 control plane== | ==IPv6 control plane== | ||
− | '''ip6cp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6cp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6cp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6cp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 197: | Line 276: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P0] router advertisement. | # [1609-P0] router advertisement. | ||
# [1609-P1] DHCPv6 proxy. | # [1609-P1] DHCPv6 proxy. | ||
− | # [1609-P2] [ | + | # [1609-P2] [Blocked-by VPP-xxx] ip6-ioam, in-band OAM. |
# [1606-DONE] neighbor discovery, RFC4861. | # [1606-DONE] neighbor discovery, RFC4861. | ||
# [1606-DONE] ICMPv6. | # [1606-DONE] ICMPv6. | ||
Line 207: | Line 286: | ||
==IPv6 encapsulations== | ==IPv6 encapsulations== | ||
− | '''ip6enc''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6enc AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6enc AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6enc AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
− | # [1609- | + | # [1609-DONE] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp. |
+ | # [1609-DONE] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp. | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P0] ip4-o-ip6 softwire. | # [1609-P0] ip4-o-ip6 softwire. | ||
# [1609-P0] ip6-ipsec-ip6. | # [1609-P0] ip6-ipsec-ip6. | ||
− | # [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf) | + | # [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), virt2lisp. |
# [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | # [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) | + | # [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), virt2lisp. |
# [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | # [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), phy2lisp, virt2lisp. | ||
− | # [1609-P0] ip6-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | + | # [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), phy2lisp, virt2lisp. | ||
− | # [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. | + | # [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. ? |
− | # [1609-P1] [ | + | # [1609-P1] [Blocked-by VPP-xxx] ip6-segment-routing. |
==IPv6 telemetry== | ==IPv6 telemetry== | ||
− | '''ip6tel''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6tel AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6tel AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = ip6tel AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 239: | Line 339: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P0] IPv6 IPFIX - stats collection and export - baseline. | # [1609-P0] IPv6 IPFIX - stats collection and export - baseline. | ||
Line 248: | Line 348: | ||
==Ethernet L2 data plane== | ==Ethernet L2 data plane== | ||
− | '''l2dp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2dp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2dp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2dp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 254: | Line 364: | ||
'''Baseline performance''' | '''Baseline performance''' | ||
− | # [1609- | + | # [1609-P0] L2 Cross-connect - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-P0] Bridge domain - baseline - NIC-to-NIC(XL710). |
− | # | + | # [1609-DONE] L2 Cross-connect - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio). |
− | # | + | # [1609-DONE] Bridge domain - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio). |
− | # | + | # [1606-DONE] L2 Cross-connect - baseline - NIC-to-NIC(X520). |
+ | # [1606-DONE] Bridge domain - baseline - NIC-to-NIC(X520). | ||
'''FIB performance''' | '''FIB performance''' | ||
Line 264: | Line 375: | ||
Large-scale FIB tests | Large-scale FIB tests | ||
− | # [1609- | + | # [1609-P1] [Blocked-by VPP-201] MAC addresses. |
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | + | Below copied from CSIT functional tests plan - provided for reference only: | |
− | + | ||
− | + | ||
− | + | ||
− | 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-P0] Bridge domain - with VLAN tag acrobatics 1-to-1, 1-to-2, 2-to-1, 2-to-2. | ||
Line 280: | Line 387: | ||
==Ethernet L2 control plane== | ==Ethernet L2 control plane== | ||
− | '''l2cp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2cp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2cp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2cp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
# [1609-Px] <to_be_added> | # [1609-Px] <to_be_added> | ||
+ | # [1606-DONE] MAC learning. | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | + | Below copied from CSIT functional tests plan - provided for reference only: | |
− | + | # [1609-P2] [Blocked-by VPP-xxx] CDP/LLDP. | |
− | + | ||
− | # [1609-P2] [ | + | |
# [1606-DONE] MAC split-horizon. | # [1606-DONE] MAC split-horizon. | ||
==Ethernet L2 encapsulations== | ==Ethernet L2 encapsulations== | ||
− | '''l2enc''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2enc AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2enc AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2enc AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
− | # [1609-P0] l2-eth-lispgpe-ip6 - L2BD | + | # [1609-P0] l2-eth-lispgpe-ip6 - L2BD. |
− | # [1609-P0] l2-eth-lispgpe-ip4 - L2BD | + | # [1609-P0] l2-eth-lispgpe-ip4 - L2BD. |
− | # [ | + | # [1609-P1] l2-vxlan-ipv4 - with bridge-domain. |
− | # [ | + | # [1609-DONE] l2-vxlan-ipv4 - with L2 cross-connect. |
− | + | Below copied from CSIT functional tests plan - provided for reference only: | |
# [1609-P0] l2-eth-lispgpe-ip6 - L2BD, L2XC. | # [1609-P0] l2-eth-lispgpe-ip6 - L2BD, L2XC. | ||
Line 315: | Line 441: | ||
# [1609-P2] l2-eth-gre-ip4 - L2BD, L2XC. | # [1609-P2] l2-eth-gre-ip4 - L2BD, L2XC. | ||
# [1609-P2] l2-eth-gre-ip6 - L2BD, L2XC. | # [1609-P2] l2-eth-gre-ip6 - L2BD, L2XC. | ||
− | |||
− | |||
==L2 telemetry== | ==L2 telemetry== | ||
− | '''l2tel''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2tel AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2tel AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = l2tel AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 328: | Line 462: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P1] L2 FIB - stats collection and export - baseline. | # [1609-P1] L2 FIB - stats collection and export - baseline. | ||
Line 337: | Line 471: | ||
==MPLS data plane== | ==MPLS data plane== | ||
− | '''mplsdp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = mplsdp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = mplsdp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = mplsdp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 345: | Line 489: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P2] vpnv4-mpls-gre-ip4. | # [1609-P2] vpnv4-mpls-gre-ip4. | ||
Line 352: | Line 496: | ||
==NSH data plane== | ==NSH data plane== | ||
− | '''nshdp''' | + | '''1609-P0''' |
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = nshdp AND labels = 1609-p0'></jira> | ||
+ | |||
+ | '''1609-P1''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = nshdp AND labels = 1609-p1'></jira> | ||
+ | |||
+ | '''1609-P2''' | ||
+ | |||
+ | <jira jql='project = CSIT AND labels = perf AND labels = nshdp AND labels = 1609-p2'></jira> | ||
Indicative coverage = <to_be_added> | Indicative coverage = <to_be_added> | ||
Line 360: | Line 514: | ||
'''Functional tests preconditions''' | '''Functional tests preconditions''' | ||
− | Below copied from CSIT functional tests plan | + | Below copied from CSIT functional tests plan - provided for reference only: |
# [1609-P1] ip4-nsh-gre-ip4. | # [1609-P1] ip4-nsh-gre-ip4. |
Latest revision as of 11:45, 20 September 2016
WORK IN PROGRESS - PLEASE TREAT IT AS SUCH
Contents
[hide]- 1 CSIT development plan - background
- 2 CSIT performance tests - dev plan
- 2.1 Infrastructure - NIC devices and drivers
- 2.2 IPv4 data plane
- 2.3 IPv4 control plane
- 2.4 IPv4 encapsulations
- 2.5 IPv4 telemetry
- 2.6 IPv6 data plane
- 2.7 IPv6 control plane
- 2.8 IPv6 encapsulations
- 2.9 IPv6 telemetry
- 2.10 Ethernet L2 data plane
- 2.11 Ethernet L2 control plane
- 2.12 Ethernet L2 encapsulations
- 2.13 L2 telemetry
- 2.14 MPLS data plane
- 2.15 NSH data plane
CSIT development plan - background
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 tests - dev plan
CSIT performance test cases devevelopment work is grouped and tracked across the following VPP functional areas:
- NIC devices and drivers
- 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 [Blocked-by VPP-XXX]. 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.
Infrastructure - NIC devices and drivers
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1606-DONE] NIC Intel X520 2p10GE - DPDK niantic driver, 2 ports within the same NIC.
- [1609-P0] NIC Intel XL710 2p40GE - DPDK i40e driver, 2 ports within the same NIC.
- [1609-DONE] VPP vhost-user - VPP vhost-user driver, virtio in VM.
- [1609-P1] NIC Intel X710 2p40GE - DPDK i40e driver, 2 ports within the same NIC.
- [1609-DONE] DPDK vhost-user - DPDK vhost-user driver, virtio in VM.
- [1612-P0] vhost-user - XXX vhost-user driver, virtio in VM, box-full test with NxVMs.
- [1612-P2] continue to expand VPP driver coverage - more NIC-DPDK drivers, other TBD.
IPv4 data plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
Baseline performance
- [1609-P0] IPv4 routing RFC791 - baseline - NIC-to-NIC(XL710).
- [1609-DONE] IPv4 routing RFC791 - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio).
- [1609-P1] VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(X520).
- [1609-P1] VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710).
- [1609-P1] extranet VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(X520).
- [1609-P1] extranet VPNv4 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710).
- [1606-DONE] IPv4 routing RFC791 - baseline - NIC-to-NIC(X520).
FIB performance
Large-scale FIB tests
- [1609-DONE] same prefix length.
- [1609-P1] varying prefix lengths.
Security performance
- [1606-DONE] security - iacl with n-tuple classification, ip4.
- [1606-DONE] security - cop white-/black-list ip4 src addr filtering.
QoS performance
- [1609-REVIEW] QoS - ingress policing - rate metering, marking and limiting - 2r3c-(cb,ca) policers, RFC2698.
- [1609-P1] QoS - ingress policing - rate metering, marking and limiting - 1r2c-(cb,ca) policers, RFC2697.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P2] security - source IPv4 Reverse Path Forwarding (RPF). # [1609-P1] routing multipath (ECMP, UECMP) - baseline. # [1609-P1] [Blocked-by VPP-xxx] carrier grade nat 44, CGN44, RFC6598, RFC6888. # [1609-P2] [Blocked-by VPP-xxx] security - stateful firewall.
IPv4 control plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P0] Proxy ARP. # [1609-P0] IKEv2. # [1609-P1] DHCPv4 proxy. # [1606-DONE] ARP. # [1606-DONE] ICMPv4. # [1606-DONE] DHCPv4 client.
IPv4 encapsulations
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
Baseline performance
- [1609-P1] ip4-gre-ip4 - baseline main fib.
- [1609-DONE] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P0] ip4-ipsec-ip4 - baseline main fib. # [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), 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.
IPv4 telemetry
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [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.
IPv6 data plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
Baseline performance
- [1609-P0] IPv6 routing RFC2460 - baseline - NIC-to-NIC(XL710).
- [1609-P0] IPv6 routing RFC2460 - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio).
- [1609-P1] VPNv6 routed forwarding (VRF) - baseline - NIC-to-NIC(X520).
- [1609-P1] VPNv6 routed forwarding (VRF) - baseline - NIC-to-NIC(XL710).
- [1609-P2] extranet VPN routed forwarding (VRF) - baseline.
- [1606-DONE] IPv6 routing RFC2460 - baseline - NIC-to-NIC(X520).
FIB performance
Large-scale FIB tests
- [1609-DONE] same prefix length.
- [1609-P1] varying prefix lengths.
Security performance
- [1609-DONE] security - iacl with n-tuple classification, ip6.
- [1606-DONE] security - cop white-/black-list ip6 src addr filtering.
QoS performance
- [1609-P1] QoS - ingress policing - rate metering, marking and rate-limiting -1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P0] security - source IPv6 Reverse Path Forwarding (RPF). # [1609-P1] routing multipath (ECMP, UECMP) - baseline. # [1609-P2] [Blocked-by VPP-xxx] security - stateful firewall.
IPv6 control plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P0] router advertisement. # [1609-P1] DHCPv6 proxy. # [1609-P2] [Blocked-by VPP-xxx] ip6-ioam, in-band OAM. # [1606-DONE] neighbor discovery, RFC4861. # [1606-DONE] ICMPv6.
IPv6 encapsulations
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-DONE] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp.
- [1609-DONE] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P0] ip4-o-ip6 softwire. # [1609-P0] ip6-ipsec-ip6. # [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), 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), 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] [Blocked-by VPP-xxx] ip6-segment-routing.
IPv6 telemetry
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [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.
Ethernet L2 data plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
Baseline performance
- [1609-P0] L2 Cross-connect - baseline - NIC-to-NIC(XL710).
- [1609-P0] Bridge domain - baseline - NIC-to-NIC(XL710).
- [1609-DONE] L2 Cross-connect - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio).
- [1609-DONE] Bridge domain - baseline vhost-user - NIC(X520)-to-VM(l3fwd,virtio).
- [1606-DONE] L2 Cross-connect - baseline - NIC-to-NIC(X520).
- [1606-DONE] Bridge domain - baseline - NIC-to-NIC(X520).
FIB performance
Large-scale FIB tests
- [1609-P1] [Blocked-by VPP-201] MAC addresses.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [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.
Ethernet L2 control plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
- [1606-DONE] MAC learning.
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P2] [Blocked-by VPP-xxx] CDP/LLDP. # [1606-DONE] MAC split-horizon.
Ethernet L2 encapsulations
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-P0] l2-eth-lispgpe-ip6 - L2BD.
- [1609-P0] l2-eth-lispgpe-ip4 - L2BD.
- [1609-P1] l2-vxlan-ipv4 - with bridge-domain.
- [1609-DONE] l2-vxlan-ipv4 - with L2 cross-connect.
Below copied from CSIT functional tests plan - provided for reference only:
# [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.
L2 telemetry
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [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.
MPLS data plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P2] vpnv4-mpls-gre-ip4. # [1609-P2] mpls-o-eth.
NSH data plane
1609-P0
Error while calling JIRA...
1609-P1
Error while calling JIRA...
1609-P2
Error while calling JIRA...
Indicative coverage = <to_be_added>
- [1609-Px] <to_be_added>
Functional tests preconditions
Below copied from CSIT functional tests plan - provided for reference only:
# [1609-P1] ip4-nsh-gre-ip4. # [1609-P1] ip4-nsh-vxlan-gpe-ip4.
END OF NOTE