CSIT-687: Directory structure reorganization
[csit.git] / docs / directory_structure.md
diff --git a/docs/directory_structure.md b/docs/directory_structure.md
new file mode 100644 (file)
index 0000000..b406598
--- /dev/null
@@ -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.