diff options
Diffstat (limited to 'docs/directory_structure.md')
-rw-r--r-- | docs/directory_structure.md | 537 |
1 files changed, 537 insertions, 0 deletions
diff --git a/docs/directory_structure.md b/docs/directory_structure.md new file mode 100644 index 0000000000..b4065989d2 --- /dev/null +++ b/docs/directory_structure.md @@ -0,0 +1,537 @@ + +# Directory structure re-organization + +## Table of contents + +1. [The new structure](#the-new-structure) +1. [Tests](#tests) + 1. [Performance](#performance) + 1. [Functional](#functional) +1. [Keywords](#keywords) + 1. [L2 Robot keywords](#l2-robot-keywords) + 1. [L1 Python keywords](#l1-python-keywords) + +## The new structure + +### Tests +``` +$CSIT/ + tests/ + vpp/ + func/ + l2bd/ + l2xc/ + ip4/ + ip6/ + ip4_tunnels/ + ip6_tunnels/ + vm_vhost/ + crypto/ + interfaces/ + telemetry/ + honeycomb/ + perf/ + l2/ + ip4/ + ip6/ + ip4_tunnels/ + ip6_tunnels/ + vm_vhost/ + crypto/ + dpdk/ + func/ + perf/ + nsh_sfc/ + func/ + perf/ + tldk/ + func/ + perf/ +``` + +### Keywords +``` +$CSIT/ + resources/ + libraries/ + bash/ + python/ + packages/ (dirs): feature | area + modules/ + robot/ + shared/ + l2/ + ip/ + overlay/ + vm/ + crypto/ + dpdk/ + nsh_sfc/ + tldk/ + honeycomb/ + performance/ + telemetry/ + features/ + fds/ +``` + +*Notes:* +1. **l1/** - L1 will not be created, L1 KWs will be temporarily kept in L2 (their + current place) and asap refactored using Python +1. **l2/** - Not needed if we do not have l1/ + + +### Other resources +``` +$CSIT/ + resources/ + templates/ + vat/ + honeycomb/ + test_data/ + honeycomb/ + lisp/ + softwire/ + tools/ + disk_image_builder/ + doc_gen/ + report_gen/ + scripts/ + testbed_setup/ + topology/ + trex/ + vagrant/ + virl/ + topology_schemas/ + traffic_scripts/ + traffic_profiles/ + trex/ + ixia/ +``` + +## Tests + +### Performance + +#### L2 Ethernet Switching +``` +ls | grep -E "(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +l2/ + 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot + 10ge2p1x520-dot1ad-l2xcbase-ndrchk.robot + 10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot + 10ge2p1x520-dot1q-l2xcbase-ndrchk.robot + 10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot + 10ge2p1x520-eth-l2bdbasemaclrn-ndrchk.robot + 10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot + 10ge2p1x520-eth-l2bdbasemaclrn-pdrchk.robot + 10ge2p1x520-eth-l2xcbase-ndrchk.robot + 10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot + 10ge2p1x520-eth-l2xcbase-pdrchk.robot + 10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot + 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot + 40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot + 40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot +``` + +#### IPv4 Routed-Forwarding +``` +ls | grep -P 'ethip4(udp|)-ip4(base|scale)[a-z0-9]*(?!-eth-[0-9]vhost).*-(ndrpdrdisc|ndrchk|pdrchk)' +``` +``` +ip4/ + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrchk.robot + 10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrchk.robot + 10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrchk.robot + 10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4base-ndrchk.robot + 10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4base-pdrchk.robot + 10ge2p1x520-ethip4-ip4base-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4scale200k-ndrchk.robot + 10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4scale20k-ndrchk.robot + 10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4scale2m-ndrchk.robot + 10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4scale2m-pdrchk.robot + 10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrpdrdisc.robot + 10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrpdrdisc.robot + 40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot +``` + +#### IPv6 Routed-Forwarding +``` +ls | grep -E "ethip6-ip6(base|scale)[-a-z0-9]*-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +ip6/ + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrchk.robot + 10ge2p1x520-ethip6-ip6base-copwhtlistbase-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrchk.robot + 10ge2p1x520-ethip6-ip6base-iacldstbase-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6base-ndrchk.robot + 10ge2p1x520-ethip6-ip6base-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6base-pdrchk.robot + 10ge2p1x520-ethip6-ip6scale200k-ndrchk.robot + 10ge2p1x520-ethip6-ip6scale200k-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6scale20k-ndrchk.robot + 10ge2p1x520-ethip6-ip6scale20k-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6scale2m-ndrchk.robot + 10ge2p1x520-ethip6-ip6scale2m-ndrpdrdisc.robot + 10ge2p1x520-ethip6-ip6scale2m-pdrchk.robot + 40ge2p1xl710-ethip6-ip6base-ndrpdrdisc.robot +``` + +#### IPv4 Overlay Tunnels +``` +ls | grep -E "ethip4[a-z0-9]+-[a-z0-9]*-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +ip4_tunnels/ + 10ge2p1x520-ethip4lispip4-ip4base-ndrchk.robot + 10ge2p1x520-ethip4lispip4-ip4base-ndrpdrdisc.robot + 10ge2p1x520-ethip4lispip4-ip4base-pdrchk.robot + 10ge2p1x520-ethip4lispip6-ip4base-ndrchk.robot + 10ge2p1x520-ethip4lispip6-ip4base-ndrpdrdisc.robot + 10ge2p1x520-ethip4lispip6-ip4base-pdrchk.robot + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrpdrdisc.robot + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-pdrchk.robot + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrchk.robot + 10ge2p1x520-ethip4vxlan-l2xcbase-ndrpdrdisc.robot + 10ge2p1x520-ethip4vxlan-l2xcbase-pdrchk.robot +``` + +#### IPv6 Overlay Tunnels +``` +ls | grep -E "ethip6[a-z0-9]+-[a-z0-9]*-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +ip6_tunnels/ + 10ge2p1x520-ethip6lispip4-ip6base-ndrchk.robot + 10ge2p1x520-ethip6lispip4-ip6base-ndrpdrdisc.robot + 10ge2p1x520-ethip6lispip4-ip6base-pdrchk.robot + 10ge2p1x520-ethip6lispip6-ip6base-ndrchk.robot + 10ge2p1x520-ethip6lispip6-ip6base-ndrpdrdisc.robot + 10ge2p1x520-ethip6lispip6-ip6base-pdrchk.robot +``` + +#### VM vhost Connections +``` +ls | grep -E ".*vhost.*-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +vm_vhost/ + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrchk.robot + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-dot1q-l2xcbase-eth-2vhost-1vm-pdrchk.robot + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-ethip4-ip4base-eth-2vhost-1vm-pdrchk.robot + 10ge2p1x520-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot + 10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-ndrpdrdisc.robot + 10ge2p1x520-eth-l2xcbase-eth-2vhost-1vm-pdrchk.robot + 10ge2p1x520-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot + 10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot + 40ge2p1xl710-ethip4-ip4base-eth-4vhost-2vm-ndrpdrdisc.robot + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhost-1vm-ndrpdrdisc.robot + 40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot + 40ge2p1xl710-eth-l2xcbase-eth-4vhost-2vm-ndrpdrdisc.robot +``` + +#### IPSec Crypto HW: IP4 Routed-Forwarding +``` +ls | grep -E ".*ipsec.*-(ndrpdrdisc|ndrchk|pdrchk)" +``` +``` +crypto/ + 40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-aes-gcm-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecbasetnl-ip4base-int-cbc-sha1-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-aes-gcm-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecbasetnl-ip4base-tnl-cbc-sha1-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-aes-gcm-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-int-cbc-sha1-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-aes-gcm-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsecscale1000tnl-ip4base-tnl-cbc-sha1-ndrpdrdisc.robot + 40ge2p1xl710-ethip4ipsectptlispgpe-ip4base-cbc-sha1-ndrpdrdisc.robot +``` + +### Functional + +#### L2 Ethernet Switching +``` +l2bd/ + eth2p-dot1ad--dot1q-l2bdbasemaclrn-vlantrans21-func.robot + eth2p-dot1ad-l2bdbasemaclrn-vlantrans22-func.robot + eth2p-dot1q--dot1ad-l2bdbasemaclrn-vlantrans12-func.robot + eth2p-dot1q-l2bdbasemaclrn-vlantrans11-func.robot + eth2p-eth-l2bdbasemaclrn-func.robot + eth2p-eth-l2bdbasemacstc-func.robot + eth4p-eth-l2bdbasemaclrn-l2shg-func.robot +``` + +``` +l2xc/ + eth2p-dot1ad--dot1q-l2xcbase-vlantrans21-func.robot + eth2p-dot1ad-l2xcbase-func.robot + eth2p-dot1ad-l2xcbase-vlantrans22-func.robot + eth2p-dot1q--dot1ad-l2xcbase-vlantrans12-func.robot + eth2p-dot1q-l2xcbase-vlantrans11-func.robot + eth2p-eth-l2xcbase-func.robot + eth2p-eth-l2xcbase-iaclbase-func.robot +``` + +#### IPv4 Routed-Forwarding +``` +ip4/ + eth2p-dot1q-ip4base-func.robot + eth2p-ethip4-ip4base-copblklistbase-func.robot + eth2p-ethip4-ip4base-copwhlistbase-func.robot + eth2p-ethip4-ip4base-func.robot + eth2p-ethip4-ip4base-iaclbase-func.robot + eth2p-ethip4-ip4base-ip4arp-func.robot + eth2p-ethip4-ip4base-ip4dhcpclient-func.robot + eth2p-ethip4-ip4base-ip4dhcpproxy-func.robot + eth2p-ethip4-ip4base-ip4ecmp-func.robot + eth2p-ethip4-ip4base-ip4proxyarp-func.robot + eth2p-ethip4-ip4base-ipolicemarkbase-func.robot + eth2p-ethip4-ip4base-rpf-func.robot + eth2p-ethip4-ip4basevrf-func.robot +``` + +#### IPv6 Routed-Forwarding +``` +ip6/ + eth2p-ethip6-ip6base-copblklistbase-func.robot + eth2p-ethip6-ip6base-copwhlistbase-func.robot + eth2p-ethip6-ip6base-func.robot + eth2p-ethip6-ip6base-iaclbase-func.robot + eth2p-ethip6-ip6base-ip6dhcpproxy-func.robot + eth2p-ethip6-ip6base-ip6ecmp-func.robot + eth2p-ethip6-ip6base-ip6ra-func.robot + eth2p-ethip6-ip6base-ipolicemarkbase-func.robot + eth2p-ethip6-ip6basevrf-func.robot +``` + +#### IPv4 Overlay Tunnels +``` +ip4_tunnels/ + gre/ + eth2p-ethip4gre-ip4base-func.robot + lisp/ + api-crud-lisp-func.robot + eth2p-ethip4lispgpe-ip4base-func.robot + eth2p-ethip4lispgpe-ip4basevrf-func.robot + eth2p-ethip4lispgpe-ip6base-func.robot + eth2p-ethip4lispgpe-ip6basevrf-func.robot + eth2p-ethip4lisp-ip4base-func.robot + eth2p-ethip4lisp-l2bdbasemaclrn-func.robot + softwire/ + eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func.robot + eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func.robot + eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func.robot + vxlan/ + eth2p-dot1qip4vxlan-l2bdbasemaclrn-func.robot + eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func.robot + eth2p-ethip4vxlan-l2bdbasemaclrn-func.robot + eth2p-ethip4vxlan-l2xcbase-func.robot +``` + +#### IPv6 Overlay Tunnels +``` +ip6_tunnels/ + lisp/ + eth2p-ethip6lispgpe-ip6base-func.robot + eth2p-ethip6lispgpe-ip6basevrf-func.robot + eth2p-ethip6lispgpe-ip4base-func.robot + eth2p-ethip6lisp-l2bdbasemaclrn-func.robot + vxlan/ + eth2p-ethip6vxlan-l2bdbasemaclrn-func.robot + eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func.robot +``` + +#### VM vhost Connections +``` +vm_vhost/ + l2bd/ + eth2p-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-func.robot + eth2p-dot1q-l2bdbasemaclrn-eth-4vhost-2vm-fds-provider-nets-func.robot + eth2p-ethip4-l2bdbase-vhost-client-reconnect-2vm-func.robot + eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot + eth2p-ethip4vxlan-l2bdbasemaclrn--eth-4vhost-2vm-fds-tenant-nets-func.robot + eth2p-ethip6vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot + eth2p-eth-l2bdbasemaclrn-eth-2vhost-1vm-func.robot + eth2p-eth-l2bdbasemacstc-eth-2vhost-1vm-func.robot + l2xc/ + eth2p-eth-l2xcbase-eth-2vhost-1vm-func.robot + ip4/ + eth2p-ethip4-ip4base-eth-2vhost-1vm.robot + eth2p-ethip4ipsectptlispgpe-ip4base-eth-2vhost-1vm-func.robot + eth2p-ethip4ipsectptlispgpe-ip6base-eth-2vhost-1vm-func.robot + eth2p-ethip4lispgpe-ip4base-eth-2vhost-1vm-func.robot + eth2p-ethip4lispgpe-ip4basevrf-eth-2vhost-1vm-func.robot + eth2p-ethip4lispgpe-ip6base-eth-2vhost-1vm-func.robot + ip6/ + eth2p-ethip6ipsectptlispgpe-ip4base-eth-2vhost-1vm-func.robot + eth2p-ethip6ipsectptlispgpe-ip6base-eth-2vhost-1vm-func.robot + eth2p-ethip6lispgpe-ip6base-eth-2vhost-1vm-func.robot + eth2p-ethip6lispgpe-ip6basevrf-eth-2vhost-1vm-func.robot +``` + +#### Crypto HW: IP4 Routed-Forwarding +``` +crypto/ + eth2p-ethip4ipsectnl-ip4base-func.robot + eth2p-ethip4ipsectpt-ip4base-func.robot + eth2p-ethip4ipsectptlispgpe-ip4base-func.robot + eth2p-ethip4ipsectptlispgpe-ip6base-func.robot + eth2p-ethip4ipsectptlispgpe-ip6basevrf-func.robot + eth2p-ethip6ipsectnl-ip6base-func.robot + eth2p-ethip6ipsectpt-ip6base-func.robot + eth2p-ethip6ipsectptlispgpe-ip4base-func.robot + eth2p-ethip6ipsectptlispgpe-ip6base-func.robot +``` + +#### Honecomb +``` +honeycomb/ + __init__.robot + mgmt-cfg-l2fib-apihc-apivat-func.robot + mgmt-cfg-slaac-apihc-func.robot + mgmt-cfg-l2bd-apihc-apivat-func.robot + mgmt-cfg-lisp-apihc-apivat-func.robot + mgmt-cfg-intip4-intip6-apihc-apivat-func.robot + mgmt-cfg-nsh-apihc-apivat-func.robot + mgmt-cfg-proxyarp-apihc-func.robot + mgmt-cfg-int-subint-apihc-apivat-func.robot + mgmt-cfg-snat44-apihc-apivat-func.robot + mgmt-cfg-vxlangpe-apihc-apivat-func.robot + mgmt-cfg-pluginacl-apihc-apivat-func.robot + mgmt-cfg-dhcp-apihc-apivat-func.robot + mgmt-cfg-inttap-apihc-apivat-func.robot + mgmt-cfg-routing-apihc-apivat-func.robot + mgmt-cfg-spanrx-apihc-apivat-func.robot + mgmt-cfg-vxlan-apihc-apivat-func.robot + mgmt-cfg-policer-apihc-func.robot + mgmt-cfg-intvhost-apihc-apivat-func.robot + mgmt-notif-apihcnc-func.robot + mgmt-cfg-proxynd6-apihc-func.robot + mgmt-cfg-pbb-apihc-apivat-func.robot + mgmt-statepersist-apihc-func.robot + mgmt-cfg-int-apihcnc-func.robot + mgmt-cfg-acl-apihc-apivat-func.robot +``` + +#### Telemetry +``` +telemetry/ + eth2p-ethip4-ip4base-ip4ipfixbase-func.robot + eth2p-ethip4-ip4base-ip4ipfixscale-func.robot + eth2p-ethip4-ip4base-spanrx-func.robot + eth2p-ethip6-ip6base-ip6ipfixbase-func.robot + eth2p-ethip6-ip6base-ip6ipfixscale-func.robot + eth2p-ethip6-ip6base-spanrx-func.robot +``` + +#### Interface +``` +interfaces/ + api-crud-tap-func.robot + eth2p-ethip4-ip4base-eth-1tap-func.robot + eth2p-eth-l2bdbasemaclrn-eth-2tap-func.robot + eth2p-eth-l2bdbasemaclrn-l2shg-eth-2tap-func.robot +``` + + +## Keywords + +### L2 Robot keywords +``` +shared/ + counters.robot + default.robot + interfaces.robot + traffic.robot + testing_path.robot + lxc.robot +l2/ + bridge_domain.robot + l2_traffic.robot + l2_xconnect.robot + tagging.robot +ip/ + ipv4.robot + ipv6.robot + snat.robot + map.robot +overlay/ + gre.robot + lisp_static_adjacency.robot + lispgpe.robot + l2lisp.robot + lisp_api.robot + vxlan.robot +vm/ + double_qemu_setup.robot + qemu.robot +crypto/ + ipsec.robot +dpdk/ + default.robot +nsh_sfc/ + default.robot +tldk/ + TLDKUtils.robot +honeycomb/ + policer.robot + nat.robot + port_mirroring.robot + vhost_user.robot + netconf.robot + nsh.robot + vxlan.robot + dhcp.robot + slaac.robot + notifications.robot + routing.robot + access_control_lists.robot + tap.robot + interfaces.robot + honeycomb.robot + persistence.robot + sub_interface.robot + provider_backbone_bridge.robot + vxlan_gpe.robot + proxyarp.robot + bridge_domain.robot + lisp.robot + l2_fib.robot +performance/ + performance_configuration.robot + performance_utils.robot + performance_setup.robot +telemetry/ + span.robot + ipfix.robot +features/ + policer.robot + dhcp_client.robot + dhcp_proxy.robot +fds/ + default.robot +``` + +### L1 Python keywords + +No changes at this stage. |