CSIT/FuncTestPlan

From fd.io
< CSIT
Revision as of 11:19, 26 July 2016 by Jgelety (Talk | contribs)

Jump to: navigation, search

WORK IN PROGRESS - PLEASE TREAT IT AS SUCH

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 functional tests - dev plan

For the purpose of tracking CSIT dev work, CSIT functional test cases are grouped into the following VPP functional areas:

  1. IPv4 data plane
  2. IPv4 control plane
  3. IPv4 encapsulations
  4. IPv4 telemetry
  5. IPv6 data plane
  6. IPv6 control plane
  7. IPv6 encapsulations
  8. IPv6 telemetry
  9. Ethernet L2 data plane
  10. Ethernet L2 control plane
  11. Ethernet L2 encapsulations
  12. Ethernet L2 management plane
  13. Ethernet L2 telemetry
  14. MPLS data plane
  15. NSH data plane
  16. OPNFV-FDS integration

Following sections provide a top-level breakdown of CSIT dev work items covering functional test cases per area, and their proposed priorities. Items completed to date are prefixed with [DONE]; remaining items are prefixed with their respective priority per target release as described earlier. Indicative VPP functionality coverage is listed at the beginning of each section.

Identified VPP working code availability dependencies are marked by VPP Jira ticket [TODO VPP-xxx].

IPv4 data plane

ip4dp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip4dp].

Indicative coverage = 30%

  1. [1609-DONE] VPN routed forwarding (VRF) - baseline. CSIT-183
  2. [1609-P0] extranet VPN routed forwarding (VRF) - baseline. CSIT-214
  3. [1609-DONE] security - source IPv4 Reverse Path Forwarding (RPF). CSIT-188
  4. [1609-P0] qos - ingress policing - 1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698. CSIT-21
  5. [1609-P1] routing multipath (ECMP, UECMP) - baseline. CSIT-227
  6. [1609-P1] [TODO VPP-xxx] carrier grade nat 44, CGN44, RFC6598, RFC6888. CSIT-22 CSIT-22 is blocked
  7. [1609-P2] [TODO VPP-xxx] security - stateful firewall. CSIT-228
  8. [1606-DONE] IPv4 routing RFC791 - baseline.
  9. [1606-DONE] security - iacl with n-tuple classification, ip4, ip6, mac.
  10. [1606-DONE] security - cop white-/black-list ip4 src addr filtering.

IPv4 control plane

ip4cp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip4cp].

Indicative coverage = 50%

  1. [1609-DONE] Proxy ARP. CSIT-24
  2. [1609-P0] IKEv2. CSIT-27
  3. [1609-P1] DHCPv4 proxy. CSIT-25
  4. [1606-DONE] ARP.
  5. [1606-DONE] ICMPv4.
  6. [1606-DONE] DHCPv4 client.

IPv4 encapsulations

ip4enc label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip4enc].

Indicative coverage = 10%

  1. [1609-P0] ip4-ipsec-ip4 - baseline main fib. CSIT-28
  2. [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-229
  3. [1609-P0] ip4-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-230
  4. [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-231
  5. [1609-P0] ip4-ipsec-lispgpe-ip4 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-232
  6. [1606-DONE] ip4-gre-ip4 - baseline main fib.

IPv4 telemetry

ip4tel label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip4tel].

Indicative coverage = 0%

  1. [1609-P0] IPv4 IPFIX - stats collection and export - baseline. CSIT-233
  2. [1609-P0] IPv4 IPFIX - stats collection and export - functional scale. CSIT-234
  3. [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline. CSIT-235
  4. [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline. CSIT-236

IPv6 data plane

ip6dp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip6dp].

Indicative coverage = 67%

  1. [1609-P0] VPN routed forwarding (VRF) - baseline. CSIT-237
  2. [1609-P0] extranet VPN routed forwarding (VRF) - baseline. CSIT-238
  3. [1609-P2] [TODO VPP-194] security - source IPv6 Reverse Path Forwarding (RPF). CSIT-208
  4. [1609-P0] qos - ingress policing - 1r2c-(cb,ca), 2r3c-(cb,ca) policers, RFC2475, RFC2697, RFC2698. CSIT-239
  5. [1609-P1] routing multipath (ECMP, UECMP) - baseline. CSIT-240
  6. [1609-P2] [TODO VPP-xxx] security - stateful firewall.
  7. [1606-DONE] routing [rfc2460] - baseline.
  8. [1606-DONE] security - iacl with n-tuple classification.
  9. [1606-DONE] security - cop white-/black-list ip4 src addr filtering.

IPv6 control plane

ip6cp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip6cp].

Indicative coverage = 40%

  1. [1609-P0] router advertisement. CSIT-241
  2. [1609-P0] DHCPv6 client. CSIT-242
  3. [1609-P1] DHCPv6 proxy. CSIT-31
  4. [1609-P2] [TODO VPP-xxx] ip6-ioam, in-band OAM.
  5. [1606-DONE] neighbor discovery, RFC4861.
  6. [1606-DONE] ICMPv6.

IPv6 encapsulations

ip6enc label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip6enc].

Indicative coverage = 0%

  1. [1609-DONE] ip4-o-ip6 softwire. CSIT-32
  2. [1609-P0] ip6-ipsec-ip6. CSIT-33
  3. [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-243
  4. [1609-P0] ip6-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-244
  5. [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-245
  6. [1609-P1] ip4-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-246
  7. [1609-P0] ip6-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-247
  8. [1609-P0] ip6-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-248
  9. [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), phy2lisp, virt2lisp. CSIT-249
  10. [1609-P1] ip4-ipsec-lispgpe-ip6 - main fib, vrf (gpe_vni-to-vrf), lisp2lisp. CSIT-250
  11. [1609-P1] [TODO VPP-xxx] ip6-segment-routing.

IPv6 telemetry

ip6tel label used for tracking work status on CSIT JIRA - [url JIRA filtered view for ip6tel].

Indicative coverage = 0%

  1. [1609-P0] IPv6 IPFIX - stats collection and export - baseline. CSIT-251
  2. [1609-P0] IPv6 IPFIX - stats collection and export - functional scale. CSIT-252
  3. [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline. CSIT-253
  4. [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline. CSIT-254

Ethernet L2 data plane

l2dp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for l2dp].

Indicative coverage = 60%

  1. [1609-P0] Bridge domain - with VLAN tag acrobatics 1-to-1, 1-to-2, 2-to-1, 2-to-2.
  2. [1609-P1] Integrated Routing-Bridging (IRB) - baseline.
  3. [1606-DONE] L2 Cross-connec - baseline.
  4. [1606-DONE] L2 Cross-connect - with VLAN tag acrobatics 1-to-1, 1-to-2, 2-to-1, 2-to-2.
  5. [1606-DONE] Bridge domain - baseline.

Ethernet L2 control plane

l2cp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for l2cp].

Indicative coverage =

  1. [1609-P2] [TODO VPP-xxx] CDP/LLDP.
  2. [1606-DONE] MAC learning.
  3. [1606-DONE] MAC split-horizon.

Ethernet L2 encapsulations

l2enc label used for tracking work status on CSIT JIRA - [url JIRA filtered view for l2enc].

Indicative coverage = 33%

  1. [1609-P0] l2-eth-lispgpe-ip6 - L2BD, L2XC.
  2. [1609-P0] l2-eth-lispgpe-ip4 - L2BD, L2XC.
  3. [1609-P0] l2eth-gre-ip4-ipsec-ip4-eth - L2BD, L2XC.
  4. [1609-P2] l2-eth-l2tpv3-ip4 - L2BD, L2XC.
  5. [1609-P2] l2-eth-l2tpv3-ip6 - L2BD, L2XC.
  6. [1609-P2] l2-eth-gre-ip4 - L2BD, L2XC.
  7. [1609-P2] l2-eth-gre-ip6 - L2BD, L2XC.
  8. [1606-DONE] l2-vxlan-ipv4 - with bridge-domain.
  9. [1606-DONE] l2-vxlan-ipv4 - with L2 cross-connect.

L2 telemetry

l2tel label used for tracking work status on CSIT JIRA - [url JIRA filtered view for l2tel].

Indicative coverage = 0%

  1. [1609-P1] L2 FIB - stats collection and export - baseline.
  2. [1609-P2] L2 FIB - stats collection and export - functional scale.
  3. [1609-P0] Switched port analyzer mirroring SPAN - (flow,port) mirroring to local port - baseline.
  4. [1609-P1] Lawful intercept - (flow,port) mirroring to remote locatio via LI UDP tunnel - baseline.

MPLS data plane

mplsdp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for mplsdp].

Indicative coverage = 0%

  1. [1609-P2] vpnv4-mpls-gre-ip4.
  2. [1609-P2] mpls-o-eth.

NSH data plane

nshdp label used for tracking work status on CSIT JIRA - [url JIRA filtered view for nshdp].

Indicative coverage = 0%

  1. [1609-P1] ip4-nsh-gre-ip4.
  2. [1609-P1] ip4-nsh-vxlan-gpe-ip4.

OPNFV-FDS integration

Indicative coverage = 100%

  1. [1606-DONE] FDS VM scenario with two L2 bridge domains – ICMPv4.
  2. [1606-DONE] FDS VM scenario with two L2 bridge domains with static L2FIB entries – ICMPv4.
  3. [1606-DONE] FDS VM scenario with two L2 bridge domains – ICMPv6.
  4. [1606-DONE] FDS VM scenario with two L2 bridge domains with static L2FIB entries – ICMPv6.
  5. [1606-DONE] FDS VM scenario with L2 cross-connect – ICMPv4.
  6. [1606-DONE] FDS VM scenario with L2 cross-connect – ICMPv6.
  7. [1606-DONE] FDS L2 test cases with tenant networks (VXLAN).
  8. [1606-DONE] FDS L2 test cases with provider physical networks (VLAN).