vpp_device: Multiple NICs (suitegen) 13/33513/15
authorpmikus <pmikus@cisco.com>
Tue, 17 Aug 2021 14:03:58 +0000 (14:03 +0000)
committerPeter Mikus <pmikus@cisco.com>
Thu, 19 Aug 2021 18:18:54 +0000 (18:18 +0000)
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I81958fbf6ef240d53a0fb8708ca882baf02f606c

81 files changed:
docs/job_specs/vpp_device/vpp-1n-skx.md [new file with mode: 0644]
docs/job_specs/vpp_device/vpp-1n-tx2.md [new file with mode: 0644]
resources/libraries/bash/entry/bootstrap_vpp_device.sh
resources/libraries/bash/entry/check/tc_naming.sh
resources/libraries/bash/function/common.sh
resources/libraries/bash/function/device.sh
resources/libraries/python/Constants.py
resources/libraries/python/autogen/Regenerator.py
tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot [moved from tests/vpp/device/container_memif/eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot with 97% similarity]
tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot [moved from tests/vpp/device/container_memif/eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot with 96% similarity]
tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot [moved from tests/vpp/device/container_memif/eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot with 96% similarity]
tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot [deleted file]
tests/vpp/device/container_memif/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot with 96% similarity]
tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot with 97% similarity]
tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot with 95% similarity]
tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot with 95% similarity]
tests/vpp/device/crypto/ethip4/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot with 95% similarity]
tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot [moved from tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot with 95% similarity]
tests/vpp/device/crypto/ethip6/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-namespace-scapy.robot [moved from tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot with 97% similarity]
tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot [moved from tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot with 97% similarity]
tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot [moved from tests/vpp/device/interfaces/eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot with 97% similarity]
tests/vpp/device/interfaces/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlalwlistbase-dev.robot with 98% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlblklistbase-dev.robot with 98% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot with 98% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot with 97% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot with 97% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4tcp-nat44det-dev.robot with 97% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot with 97% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4udp-nat44det-dev.robot with 97% similarity]
tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot [moved from tests/vpp/device/ip4/eth2p-ethip4udp-nat44ed-dev.robot with 97% similarity]
tests/vpp/device/ip4/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4--ethip4udpgeneve-1tun-ip4base-scapy.robot [moved from tests/vpp/device/ip4_tunnels/eth2p-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot with 98% similarity]
tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot [moved from tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot with 96% similarity]
tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot [moved from tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2xcbase-dev.robot with 97% similarity]
tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot [moved from tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-dev.robot with 97% similarity]
tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot [moved from tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-dev.robot with 97% similarity]
tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot [moved from tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-dev.robot with 97% similarity]
tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/ip4_tunnels/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlalwlistbase-scapy.robot [moved from tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlalwlistbase-dev.robot with 98% similarity]
tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlblklistbase-scapy.robot [moved from tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlblklistbase-dev.robot with 98% similarity]
tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-iacldstbase-scapy.robot [moved from tests/vpp/device/ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot with 98% similarity]
tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ipolicemarkbase-scapy.robot [moved from tests/vpp/device/ip6/eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot with 97% similarity]
tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot [moved from tests/vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot with 97% similarity]
tests/vpp/device/ip6/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot [moved from tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-dev.robot with 97% similarity]
tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot [moved from tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-dev.robot with 97% similarity]
tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot with 97% similarity]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot with 97% similarity]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot with 96% similarity]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot with 97% similarity]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot with 97% similarity]
tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot [moved from tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot with 97% similarity]
tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot [deleted file]
tests/vpp/device/l2bd/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/l2patch/2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot [moved from tests/vpp/device/l2patch/eth2p-ethip4-l2patch-dev.robot with 98% similarity]
tests/vpp/device/l2patch/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/l2xc/2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot [moved from tests/vpp/device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot with 97% similarity]
tests/vpp/device/l2xc/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot with 98% similarity]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot with 98% similarity]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot with 98% similarity]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot with 98% similarity]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot with 98% similarity]
tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot [moved from tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot with 98% similarity]
tests/vpp/device/srv6/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/stats/2n1l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot [moved from tests/vpp/device/stats/eth2p-ethipv4-l2xcbase-stats-dev.robot with 97% similarity]
tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot [deleted file]
tests/vpp/device/stats/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot [moved from tests/vpp/device/vm_vhost/ip4/eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot with 97% similarity]
tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot [moved from tests/vpp/device/vm_vhost/l2bd/eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot with 96% similarity]
tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot [moved from tests/vpp/device/vm_vhost/l2xc/eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot with 97% similarity]
tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py [new file with mode: 0755]
tests/vpp/device/vm_vhost/ethip6/2n1l-10ge2p1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot [moved from tests/vpp/device/vm_vhost/ip6/eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot with 96% similarity]
tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py [new file with mode: 0755]
tox.ini

diff --git a/docs/job_specs/vpp_device/vpp-1n-skx.md b/docs/job_specs/vpp_device/vpp-1n-skx.md
new file mode 100644 (file)
index 0000000..030886c
--- /dev/null
@@ -0,0 +1,158 @@
+# 1n-skx
+## ./container_memif
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+##### ethip4-ip4base-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2memif-1dcr
+## ./crypto/ethip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha
+##### ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha
+##### ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha
+##### ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha
+## ./crypto/ethip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha
+##### ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha
+## ./interfaces
+### intel-x710
+#### dpdk-vfio-pci
+##### ethicmp4-ip4base-eth-1tap
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap
+##### ethicmp4-ip4base-eth-1tap-namespace
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap-namespace
+##### ethip4-l2bdbasemaclrn-eth-2tap
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2tap
+## ./ip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-ip4base-adlalwlistbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlalwlistbase
+##### ethip4-ip4base-adlblklistbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlblklistbase
+##### ethip4-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base
+##### ethip4-ip4base-iacldstbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-iacldstbase
+##### ethip4-ip4base-ipolicemarkbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-ipolicemarkbase
+##### ethip4tcp-nat44det-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44det-dev
+##### ethip4tcp-nat44ed-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44ed-dev
+##### ethip4udp-nat44det-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44det-dev
+##### ethip4udp-nat44ed-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44ed-dev
+## ./ip4_tunnel/lisp
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4lisp-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lisp-ip4base
+##### ethip4lispgpe-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip4base
+##### ethip4lispgpe-ip6base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip6base
+## ./ip4_tunnel
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4--ethip4udpgeneve-1tun-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4--ethip4udpgeneve-1tun-ip4base
+##### ethip4vxlan-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2bdbasemaclrn
+##### ethip4vxlan-l2xcbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2xcbase
+## ./ip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6-ip6base-adlalwlistbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlalwlistbase
+##### ethip6-ip6base-adlblklistbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlblklistbase
+##### ethip6-ip6base-iacldstbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-iacldstbase
+##### ethip6-ip6base-ipolicemarkbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-ipolicemarkbase
+##### ethip6-ip6base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base
+## ./ip6_tunnels/lisp
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6lispgpe-ip4base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip4base
+##### ethip6lispgpe-ip6base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip6base
+## ./l2bd
+### intel-x710
+#### avf
+##### ethip4-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_avf AND ethip4-l2bdbasemaclrn
+#### dpdk-vfio-pci
+##### ethip4-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn
+##### ethip4-l2bdbasemaclrn-iacl1sf
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sf
+##### ethip4-l2bdbasemaclrn-iacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sl
+##### ethip4-l2bdbasemaclrn-macip-iacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-macip-iacl1sl
+##### ethip4-l2bdbasemaclrn-oacl1sf
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sf
+##### ethip4-l2bdbasemaclrn-oacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sl
+## ./l2patch
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2patch
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2patch
+## ./l2xc
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2xcbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase
+## ./srv6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6ip6-ip6base-srv6enc1sid
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ip6-ip6base-srv6enc1sid
+##### ethip6srhip6-ip6base-srv6enc2sids
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids
+##### ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+##### ethip6srhip6-ip6base-srv6proxy-dyn
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-dyn
+##### ethip6srhip6-ip6base-srv6proxy-masq
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-masq
+##### ethip6srhip6-ip6base-srv6proxy-stat
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-stat
+## ./stats
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2xcbase-stats
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-stats
+## ./vm/ethip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-ip4base-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2vhost-1vm
+##### ethip4-l2bdbasemaclrn-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2vhost-1vm
+##### ethip4-l2xcbase-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-eth-2vhost-1vm
+## ./vm/ethip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6-ip6base-eth-2vhost-1vm
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-eth-2vhost-1vm
\ No newline at end of file
diff --git a/docs/job_specs/vpp_device/vpp-1n-tx2.md b/docs/job_specs/vpp_device/vpp-1n-tx2.md
new file mode 100644 (file)
index 0000000..c6d4cf2
--- /dev/null
@@ -0,0 +1,158 @@
+# 1n-tx2
+## ./container_memif
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr
+##### ethip4-ip4base-eth-2memif-1dcr
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2memif-1dcr
+## ./crypto/ethip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha
+##### ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha
+##### ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha
+##### ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha
+## ./crypto/ethip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha
+##### ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha
+## ./interfaces
+### intel-x710
+#### dpdk-vfio-pci
+##### ethicmp4-ip4base-eth-1tap
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap
+##### ethicmp4-ip4base-eth-1tap-namespace
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap-namespace
+##### ethip4-l2bdbasemaclrn-eth-2tap
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2tap
+## ./ip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-ip4base-adlalwlistbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlalwlistbase
+##### ethip4-ip4base-adlblklistbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlblklistbase
+##### ethip4-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base
+##### ethip4-ip4base-iacldstbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-iacldstbase
+##### ethip4-ip4base-ipolicemarkbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-ipolicemarkbase
+##### ethip4tcp-nat44det-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44det-dev
+##### ethip4tcp-nat44ed-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44ed-dev
+##### ethip4udp-nat44det-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44det-dev
+##### ethip4udp-nat44ed-dev
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44ed-dev
+## ./ip4_tunnel/lisp
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4lisp-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lisp-ip4base
+##### ethip4lispgpe-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip4base
+##### ethip4lispgpe-ip6base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip6base
+## ./ip4_tunnel
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4--ethip4udpgeneve-1tun-ip4base
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4--ethip4udpgeneve-1tun-ip4base
+##### ethip4vxlan-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2bdbasemaclrn
+##### ethip4vxlan-l2xcbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2xcbase
+## ./ip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6-ip6base-adlalwlistbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlalwlistbase
+##### ethip6-ip6base-adlblklistbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlblklistbase
+##### ethip6-ip6base-iacldstbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-iacldstbase
+##### ethip6-ip6base-ipolicemarkbase
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-ipolicemarkbase
+##### ethip6-ip6base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base
+## ./ip6_tunnels/lisp
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6lispgpe-ip4base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip4base
+##### ethip6lispgpe-ip6base
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip6base
+## ./l2bd
+### intel-x710
+#### avf
+##### ethip4-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_avf AND ethip4-l2bdbasemaclrn
+#### dpdk-vfio-pci
+##### ethip4-l2bdbasemaclrn
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn
+##### ethip4-l2bdbasemaclrn-iacl1sf
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sf
+##### ethip4-l2bdbasemaclrn-iacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sl
+##### ethip4-l2bdbasemaclrn-macip-iacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-macip-iacl1sl
+##### ethip4-l2bdbasemaclrn-oacl1sf
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sf
+##### ethip4-l2bdbasemaclrn-oacl1sl
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sl
+## ./l2patch
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2patch
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2patch
+## ./l2xc
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2xcbase
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase
+## ./srv6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6ip6-ip6base-srv6enc1sid
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ip6-ip6base-srv6enc1sid
+##### ethip6srhip6-ip6base-srv6enc2sids
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids
+##### ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids-nodecaps
+##### ethip6srhip6-ip6base-srv6proxy-dyn
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-dyn
+##### ethip6srhip6-ip6base-srv6proxy-masq
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-masq
+##### ethip6srhip6-ip6base-srv6proxy-stat
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-stat
+## ./stats
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-l2xcbase-stats
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-stats
+## ./vm/ethip4
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip4-ip4base-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2vhost-1vm
+##### ethip4-l2bdbasemaclrn-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2vhost-1vm
+##### ethip4-l2xcbase-eth-2vhost-1vm
+0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-eth-2vhost-1vm
+## ./vm/ethip6
+### intel-x710
+#### dpdk-vfio-pci
+##### ethip6-ip6base-eth-2vhost-1vm
+0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-eth-2vhost-1vm
\ No newline at end of file
index 95708e8..ae4c26a 100755 (executable)
@@ -35,15 +35,16 @@ common_dirs || die
 check_prerequisites || die
 get_test_code "${1-}" || die
 get_test_tag_string || die
-select_topology || die
 select_arch_os || die
 gather_build || die
 check_download_dir || die
 activate_virtualenv || die
 generate_tests || die
 archive_tests || die
+prepare_topology || die
+select_topology || die
 activate_docker_topology || die
-select_vpp_device_tags || die
+select_tags || die
 compose_pybot_arguments || die
 set_environment_variables || die
 run_pybot || die
index bc2ac32..f392ad7 100644 (file)
@@ -64,7 +64,7 @@ r_testc_rules=(
     #'(ipsec[[:digit:]]+tnlhw|ipsec[[:digit:]]+tnlsw|'
     #'srhip6|tcp|udp|lispip6|lispip4|vxlan){0,1}'
     #'(http){0,1}-'
-    '(.*)-(dev|ndrpdr|bps|cps|rps|reconf)$'
+    '(.*)-(scapy|ndrpdr|bps|cps|rps|reconf)$'
     )
 s_suite_rules=(
     'number of SUT nodes'
@@ -83,7 +83,7 @@ r_suite_rules=(
     #'(ipsec[[:digit:]]+tnlhw|ipsec[[:digit:]]+tnlsw|'
     #'srhip6|tcp|udp|lispip6|lispip4|vxlan){0,1}'
     #'(http){0,1}-'
-    '(.*)-(dev|ndrpdr|bps|cps|rps|reconf)$'
+    '(.*)-(scapy|ndrpdr|bps|cps|rps|reconf)$'
     )
 
 rm -f "tc_naming.log" || die
index 68ad5ef..ce0c526 100644 (file)
@@ -86,7 +86,7 @@ function activate_docker_topology () {
         die "Topology file create failed!"
     }
 
-    WORKING_TOPOLOGY="/tmp/topology.yaml"
+    WORKING_TOPOLOGY="${CSIT_DIR}/topologies/available/vpp_device.yaml"
     mv topo.yml "${WORKING_TOPOLOGY}" || {
         die "Topology move failed!"
     }
@@ -864,6 +864,12 @@ function select_tags () {
     tfd="${JOB_SPECS_DIR}"
     case "${TEST_CODE}" in
         # Select specific performance tests based on jenkins job type variable.
+        *"vpp-device"* )
+            readarray -t test_tag_array <<< $(grep -v "#" \
+                ${tfd}/vpp_device/${DUT}-${NODENESS}-${FLAVOR}.md |
+                awk {"$awk_nics_sub_cmd"} || echo "devicetest") || die
+            SELECTION_MODE="--test"
+            ;;
         *"ndrpdr-weekly"* )
             readarray -t test_tag_array <<< $(grep -v "#" \
                 ${tfd}/mlr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md |
@@ -922,6 +928,10 @@ function select_tags () {
     # Reasons for blacklisting:
     # - ipsechw - Blacklisted on testbeds without crypto hardware accelerator.
     case "${TEST_CODE}" in
+        *"1n-vbox"*)
+            test_tag_array+=("!avf")
+            test_tag_array+=("!vhost")
+            ;;
         *"2n-skx"*)
             test_tag_array+=("!ipsechw")
             ;;
@@ -1084,67 +1094,6 @@ function select_topology () {
 }
 
 
-function select_vpp_device_tags () {
-
-    # Variables read:
-    # - TEST_CODE - String affecting test selection, usually jenkins job name.
-    # - TEST_TAG_STRING - String selecting tags, from gerrit comment.
-    #   Can be unset.
-    # Variables set:
-    # - TAGS - Array of processed tag boolean expressions.
-
-    set -exuo pipefail
-
-    case "${TEST_CODE}" in
-        # Select specific device tests based on jenkins job type variable.
-        * )
-            if [[ -z "${TEST_TAG_STRING-}" ]]; then
-                # If nothing is specified, we will run pre-selected tests by
-                # following tags. Items of array will be concatenated by OR
-                # in Robot Framework.
-                test_tag_array=()
-            else
-                # If trigger contains tags, split them into array.
-                test_tag_array=(${TEST_TAG_STRING//:/ })
-            fi
-            SELECTION_MODE="--include"
-            ;;
-    esac
-
-    # Blacklisting certain tags per topology.
-    #
-    # Reasons for blacklisting:
-    # - avf - AVF is not possible to run on enic driver of VirtualBox.
-    # - vhost - VirtualBox does not support nesting virtualization on Intel CPU.
-    case "${TEST_CODE}" in
-        *"1n-vbox"*)
-            test_tag_array+=("!avf")
-            test_tag_array+=("!vhost")
-            ;;
-        *)
-            ;;
-    esac
-
-    TAGS=()
-
-    # We will prefix with devicetest to prevent running other tests
-    # (e.g. Functional).
-    prefix="devicetestAND"
-    if [[ "${TEST_CODE}" == "vpp-"* ]]; then
-        # Automatic prefixing for VPP jobs to limit testing.
-        prefix="${prefix}"
-    fi
-    for tag in "${test_tag_array[@]}"; do
-        if [[ ${tag} == "!"* ]]; then
-            # Exclude tags are not prefixed.
-            TAGS+=("${tag}")
-        else
-            TAGS+=("${prefix}${tag}")
-        fi
-    done
-}
-
-
 function set_environment_variables () {
 
     # Depending on testbed topology, overwrite defaults set in the
index 8bfb2e4..eab31a6 100644 (file)
@@ -527,7 +527,7 @@ function parse_env_variables () {
             mac_address: "${TG_NETMACS[$((port-1))]}"
             pci_address: "${TG_PCIDEVS[$((port-1))]}"
             link: "link$((port-1))"
-            model: "${TG_MODELS[$((port-1))]}"
+            model: ${TG_MODELS[$((port-1))]}
             driver: "${TG_DRIVERS[$((port-1))]}"
             vlan: ${TG_VLANS[$((port-1))]}
 EOF
@@ -540,7 +540,7 @@ EOF
             mac_address: "${DUT1_NETMACS[$((port-1))]}"
             pci_address: "${DUT1_PCIDEVS[$((port-1))]}"
             link: "link$((port-1))"
-            model: "${DUT1_MODELS[$((port-1))]}"
+            model: ${DUT1_MODELS[$((port-1))]}
             driver: "${DUT1_DRIVERS[$((port-1))]}"
             vlan: ${DUT1_VLANS[$((port-1))]}
 EOF
index f8c4c7f..ec6c589 100644 (file)
@@ -415,6 +415,10 @@ class Constants:
         u"Intel-XL710": u"HW_DH895xcc",
     }
 
+    DEVICE_TYPE_TO_KEYWORD = {
+        u"scapy": None
+    }
+
     PERF_TYPE_TO_KEYWORD = {
         u"mrr": u"Traffic should pass with maximum rate",
         u"ndrpdr": u"Find NDR and PDR intervals using optimized search",
index abcd7b8..7003d39 100644 (file)
@@ -480,6 +480,75 @@ def write_iperf3_files(in_filename, in_prolog, kwargs_list):
         add_iperf3_testcases(testcase, file_out, kwargs_list)
 
 
+def write_device_files(in_filename, in_prolog, kwargs_list):
+    """Using given filename and prolog, write all generated suites.
+
+    :param in_filename: Template filename to derive real filenames from.
+    :param in_prolog: Template content to derive real content from.
+    :param kwargs_list: List of kwargs for add_default_testcase.
+    :type in_filename: str
+    :type in_prolog: str
+    :type kwargs_list: list of dict
+    """
+    for suite_type in Constants.DEVICE_TYPE_TO_KEYWORD:
+        tmp_filename = replace_defensively(
+            in_filename, u"scapy", suite_type, 1,
+            u"File name should contain suite type once.", in_filename
+        )
+        _, suite_id, _ = get_iface_and_suite_ids(tmp_filename)
+        testcase = Testcase.default(suite_id)
+        for nic_name in Constants.NIC_NAME_TO_CODE:
+            tmp2_filename = replace_defensively(
+                tmp_filename, u"10ge2p1x710",
+                Constants.NIC_NAME_TO_CODE[nic_name], 1,
+                u"File name should contain NIC code once.", in_filename
+            )
+            tmp2_prolog = replace_defensively(
+                in_prolog, u"Intel-X710", nic_name, 2,
+                u"NIC name should appear twice (tag and variable).",
+                in_filename
+            )
+            iface, old_suite_id, _ = get_iface_and_suite_ids(
+                tmp2_filename
+            )
+            for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]:
+                out_filename = replace_defensively(
+                    tmp2_filename, old_suite_id,
+                    Constants.NIC_DRIVER_TO_SUITE_PREFIX[driver] + old_suite_id,
+                    1, u"Error adding driver prefix.", in_filename
+                )
+                out_prolog = replace_defensively(
+                    tmp2_prolog, u"vfio-pci", driver, 1,
+                    u"Driver name should appear once.", in_filename
+                )
+                out_prolog = replace_defensively(
+                    out_prolog, Constants.NIC_DRIVER_TO_TAG[u"vfio-pci"],
+                    Constants.NIC_DRIVER_TO_TAG[driver], 1,
+                    u"Driver tag should appear once.", in_filename
+                )
+                out_prolog = replace_defensively(
+                    out_prolog, Constants.NIC_DRIVER_TO_PLUGINS[u"vfio-pci"],
+                    Constants.NIC_DRIVER_TO_PLUGINS[driver], 1,
+                    u"Driver plugin should appear once.", in_filename
+                )
+                out_prolog = replace_defensively(
+                    out_prolog, Constants.NIC_DRIVER_TO_VFS[u"vfio-pci"],
+                    Constants.NIC_DRIVER_TO_VFS[driver], 1,
+                    u"NIC VFs argument should appear once.", in_filename
+                )
+                iface, suite_id, suite_tag = get_iface_and_suite_ids(
+                    out_filename
+                )
+                check_suite_tag(suite_tag, out_prolog)
+                # TODO: Reorder loops so suite_id is finalized sooner.
+                testcase = Testcase.default(suite_id)
+                with open(out_filename, u"wt") as file_out:
+                    file_out.write(out_prolog)
+                    add_default_testcases(
+                        testcase, iface, suite_id, file_out, kwargs_list
+                    )
+
+
 class Regenerator:
     """Class containing file generating methods."""
 
@@ -564,6 +633,10 @@ class Regenerator:
             {u"frame_size": 2048, u"phy_cores": 2}
         ]
 
+        device_kwargs_list = [
+            {u"frame_size": min_frame_size, u"phy_cores": 0}
+        ]
+
         for in_filename in glob(pattern):
             if not self.quiet:
                 print(
@@ -604,6 +677,8 @@ class Regenerator:
                 write_tcp_files(in_filename, in_prolog, hoststack_kwargs_list)
             elif in_filename.endswith(u"-iperf3-mrr.robot"):
                 write_iperf3_files(in_filename, in_prolog, iperf3_kwargs_list)
+            elif in_filename.endswith(u"-scapy.robot"):
+                write_device_files(in_filename, in_prolog, device_kwargs_list)
             else:
                 raise RuntimeError(
                     f"Error in {in_filename}: non-primary suite type found."
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-ip4base-eth-2memif-1dcr
+| ... | ethip4-ip4base-eth-2memif-1dcr
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -84,6 +84,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-ip4base-eth-2memif-1dcr-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-eth-2memif-1dcr-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdbasemaclrn-eth-2memif-1dcr
+| ... | ethip4-l2bdbasemaclrn-eth-2memif-1dcr
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -83,6 +83,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2xcbase-eth-2memif-1dcr
+| ... | ethip4-l2xcbase-eth-2memif-1dcr
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -81,6 +81,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2xcbase-eth-2memif-1dcr-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2xcbase-eth-2memif-1dcr-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot
deleted file mode 100644 (file)
index 5693964..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/shared/default.robot
-|
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
-| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI
-| ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv6-ip6base-eth-2memif-1dcr
-|
-| Suite Setup | Setup suite topology interfaces | scapy
-| Test Setup | Setup test
-| Test Teardown | Tear down test | packet_trace | container
-|
-| Test Template | Local Template
-|
-| Documentation | *IPv4 routing test cases with memif interface*
-|
-| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \
-| ... | single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on \
-| ... | both links.
-| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \
-| ... | two static IPv6 /64 route entries. Container is connected to VPP via \
-| ... | Memif interface. Container is running same VPP version as running on \
-| ... | DUT.
-| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \
-| ... | by TG on links to DUT1 and via container; on receive TG verifies \
-| ... | packets for correctness and their IPv6 src-addr, dst-addr and \
-| ... | MAC addresses.
-| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792
-
-*** Variables ***
-| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so
-| ${crypto_type}= | ${None}
-| ${nic_name}= | Intel-X710
-| ${nic_driver}= | vfio-pci
-| ${nic_rxq_size}= | 0
-| ${nic_txq_size}= | 0
-| ${nic_pfs}= | 2
-| ${nic_vfs}= | 0
-| ${overhead}= | ${0}
-# Container
-| ${container_engine}= | Docker
-| ${container_chain_topology}= | chain_functional
-
-*** Keywords ***
-| Local Template
-| | [Documentation]
-| | ... | [Ver] Make TG send IPv6 packets in both directions between two\
-| | ... | of its interfaces to be routed by DUT to and from docker; verify\
-| | ... | all packets are received.
-| |
-| | ... | *Arguments:*
-| | ... | - frame_size - Framesize in Bytes in integer. Type: integer
-| | ... | - phy_cores - Number of physical cores. Type: integer
-| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
-| |
-| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
-| |
-| | Set Test Variable | \${frame_size}
-| |
-| | Given Set Max Rate And Jumbo
-| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq}
-| | And Pre-initialize layer driver | ${nic_driver}
-| | And Apply startup configuration on all VPP DUTs | with_trace=${True}
-| | When Initialize layer driver | ${nic_driver}
-| | And Initialize layer interface
-| | And Start containers for test | auto_scale=${False} | pinning=${False}
-| | And Set up memif interfaces on DUT node
-| | ... | ${dut1} | memif-DUT1_CNF | memif-DUT1_CNF
-| | ... | memif_if1=memif_if1 | memif_if2=memif_if2
-| | ... | rxq=${rxq_count_int} | txq=${rxq_count_int}
-| | # It takes some time for memifs to go up.
-| | And Set interfaces in path up
-| | And Add Fib Table | ${dut1} | 20 | ipv6=${True}
-| | And Assign Interface To Fib Table
-| | ... | ${dut1} | ${memif_if2} | 20 | ipv6=${True}
-| | And Assign Interface To Fib Table
-| | ... | ${dut1} | ${DUT1_${int}2}[0] | 20 | ipv6=${True}
-| | And VPP Interface Set IP Address
-| | ... | ${dut1} | ${DUT1_${int}1}[0] | 2001:1::1 | 64
-| | And VPP Interface Set IP Address
-| | ... | ${dut1} | ${memif_if1} | 2001:2::1 | 64
-| | And VPP Interface Set IP Address
-| | ... | ${dut1} | ${memif_if2} | 2001:2::2 | 64
-| | And VPP Interface Set IP Address
-| | ... | ${dut1} | ${DUT1_${int}2}[0] | 2001:3::1 | 64
-| | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']}
-| | ... | ${memif_if2}
-| | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key}
-| | And Vpp Route Add
-| | ... | ${dut1} | 2001:3::0 | 64 | gateway=2001:2::2 | interface=${memif_if1}
-| | And Vpp Route Add
-| | ... | ${dut1} | 2001:1::0 | 64 | gateway=2001:2::2 | interface=${memif_if2}
-| | ... | vrf=20
-| | VPP Add IP Neighbor
-| | ... | ${dut1} | ${memif_if1} | 2001:2::2 | ${memif_if2_mac}
-| | VPP Add IP Neighbor
-| | ... | ${dut1} | ${DUT1_${int}2}[0] | 2001:3::2 | ${TG_pf2_mac}[0]
-| | Then Send packet and verify headers
-| | ... | ${tg} | 2001:1::1 | 2001:3::2
-| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0]
-| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
-
-*** Test Cases ***
-| 78B-ethipv6-ip6base-eth-2memif-1dcr-dev
-| | [Tags] | 78B
-| | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/container_memif/regenerate_testcases.py b/tests/vpp/device/container_memif/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -97,6 +97,6 @@
 | | ... | ${tun_if1_ip4} | ${tun_if2_ip4}
 
 *** Test Cases ***
-| 154B-ethip4ipsec11tnlsw-ip4base-int-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 154B
-| | frame_size=${154} | phy_cores=${0}
+| 64B-0c-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -98,6 +98,6 @@
 | | And Show Ipsec Security Association | ${dut1}
 
 *** Test Cases ***
-| 154B-ethip4ipsec1tnlsw-ip4base-int-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 154B
-| | frame_size=${154} | phy_cores=${0}
+| 64B-0c-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTUN | IP4BASE
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256
+| ... | ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -99,6 +99,6 @@
 | | ... | ${dut_tun_ip}
 
 *** Test Cases ***
-| 110B-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 110B
-| | frame_size=${110} | phy_cores=${0}
+| 64B-0c-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTPT | IP4BASE
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256
+| ... | ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -97,6 +97,6 @@
 | | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip}
 
 *** Test Cases ***
-| 110B-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 110B
-| | frame_size=${110} | phy_cores=${0}
+| 64B-0c-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/crypto/ethip4/regenerate_testcases.py b/tests/vpp/device/crypto/ethip4/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTUN | IP6BASE
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256
+| ... | ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
 | | ... | ${dut_tun_ip}
 
 *** Test Cases ***
-| 124B-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 124B
-| | frame_size=${124} | phy_cores=${0}
+| 78B-0c-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy
+| | [Tags] | 78B | 0C
+| | frame_size=${78} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTPT | IP6BASE
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256
+| ... | ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -99,6 +99,6 @@
 | | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip}
 
 *** Test Cases ***
-| 124B-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev
-| | [Tags] | 124B
-| | frame_size=${124} | phy_cores=${0}
+| 78B-0c-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy
+| | [Tags] | 78B | 0C
+| | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/crypto/ethip6/regenerate_testcases.py b/tests/vpp/device/crypto/ethip6/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..b1c6336
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6")
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | NAMESPACE
 | ... | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethicmpv4-ip4base-eth-1tap-namespace
+| ... | ethicmp4-ip4base-eth-1tap-namespace
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test | namespace
 | | ... | ${tap1_NM_ip} | ${tg_ip_address}
 
 *** Test Cases ***
-| 64B-ethicmpv4-ip4base-eth-1tap-namespace-dev
-| | [Tags] | 64B
+| 64B-0c-ethicmp4-ip4base-eth-1tap-namespace-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethicmpv4-ip4base-eth-1tap
+| ... | ethicmp4-ip4base-eth-1tap
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test | namespace
@@ -99,6 +99,6 @@
 | | ... | ${tap1_NM_ip} | ${tg_ip_address}
 
 *** Test Cases ***
-| 64B-ethicmpv4-ip4base-eth-1tap-dev
-| | [Tags] | 64B
+| 64B-0c-ethicmp4-ip4base-eth-1tap-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2BD | BASE | 2TAP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdbasemaclrn-eth-2tap
+| ... | ethip4-l2bdbasemaclrn-eth-2tap
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test | namespace
@@ -88,6 +88,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdbasemaclrn-eth-2tap-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-eth-2tap-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/interfaces/regenerate_testcases.py b/tests/vpp/device/interfaces/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -81,6 +81,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethip4-ip4base-adlalwlistbase-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-adlalwlistbase-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -81,6 +81,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethip4-ip4base-adlblklistbase-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-adlblklistbase-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -85,6 +85,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethip4-ip4base-iacldstbase-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-iacldstbase-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -80,6 +80,6 @@
 | | ... | 10.10.10.2 | 20.20.20.2
 
 *** Test Cases ***
-| 64B-ethip4-ip4base-ipolicemarkbase-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-ipolicemarkbase-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-ip4base
+| ... | ethip4-ip4base
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -78,6 +78,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-ip4base-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -20,7 +20,7 @@
 | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC
 | ... | BASE | TCP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4tcp-nat44det-dev
+| ... | ethip4tcp-nat44det-scapy
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
 | | ... | ${protocol} | ${src_port_in} | ${dst_port}
 
 *** Test Cases ***
-| 64B-ethip4tcp-nat44det-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4tcp-nat44det-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -20,7 +20,7 @@
 | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT
 | ... | BASE | TCP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4tcp-nat44ed-dev
+| ... | ethip4tcp-nat44ed-scapy
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
 | | ... | ${protocol} | ${src_port_in} | ${dst_port}
 
 *** Test Cases ***
-| 64B-ethip4tcp-nat44ed-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4tcp-nat44ed-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -20,7 +20,7 @@
 | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC
 | ... | BASE | UDP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4udp-nat44det-dev
+| ... | ethip4udp-nat44det-scapy
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
 | | ... | ${protocol} | ${src_port_in} | ${dst_port}
 
 *** Test Cases ***
-| 64B-ethip4udp-nat44det-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4udp-nat44det-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -20,7 +20,7 @@
 | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT
 | ... | BASE | UDP | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethip4udp-nat44ed-dev
+| ... | ethip4udp-nat44ed-scapy
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
 | | ... | ${protocol} | ${src_port_in} | ${dst_port}
 
 *** Test Cases ***
-| 64B-ethip4udp-nat44ed-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4udp-nat44ed-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/ip4/regenerate_testcases.py b/tests/vpp/device/ip4/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
 | | And Show Geneve Tunnel Data | ${nodes['DUT1']}
 
 *** Test Cases ***
-| 64B-ethip4--ethip4udpgeneve-1tun-ip4base-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4--ethip4udpgeneve-1tun-ip4base-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -80,6 +80,6 @@
 | | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0}
 
 *** Test Cases ***
-| 114B-ethip4vxlan-l2bdbasemaclrn-dev
-| | [Tags] | 114B
-| | frame_size=${114} | phy_cores=${0}
+| 64B-0c-ethip4vxlan-l2bdbasemaclrn-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -79,6 +79,6 @@
 | | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0}
 
 *** Test Cases ***
-| 114B-ethip4vxlan-l2xcbase-dev
-| | [Tags] | 114B
-| | frame_size=${114} | phy_cores=${0}
+| 64B-0c-ethip4vxlan-l2xcbase-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -86,6 +86,6 @@
 | | ... | ${src_rloc4} | ${dst_rloc4}
 
 *** Test Cases ***
-| 46B-ethip4lisp-ip4base-dev
-| | [Tags] | 46B
-| | frame_size=${46} | phy_cores=${0}
+| 64B-0c-ethip4lisp-ip4base-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -87,6 +87,6 @@
 | | ... | ${src_rloc4} | ${dst_rloc4}
 
 *** Test Cases ***
-| 46B-ethip4lispgpe-ip4base-dev
-| | [Tags] | 46B
-| | frame_size=${46} | phy_cores=${0}
+| 64B-0c-ethip4lispgpe-ip4base-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
@@ -89,6 +89,6 @@
 | | ... | ${src_rloc4} | ${dst_rloc4} | ${ot_mode}
 
 *** Test Cases ***
-| 62B-ethip4lispgpe-ip6base-dev
-| | [Tags] | 62B
-| | frame_size=${62} | phy_cores=${0}
+| 64B-0c-ethip4lispgpe-ip6base-scapy
+| | [Tags] | 64B | 0C
+| | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py b/tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
diff --git a/tests/vpp/device/ip4_tunnels/regenerate_testcases.py b/tests/vpp/device/ip4_tunnels/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -81,6 +81,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 78B-ethip6-ip6base-adlalwlistbase-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6-ip6base-adlalwlistbase-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
@@ -81,6 +81,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 78B-ethip6-ip6base-adlblklistbase-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6-ip6base-adlblklistbase-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
@@ -85,6 +85,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 78B-ethip6-ip6base-iacldstbase-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6-ip6base-iacldstbase-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
@@ -81,6 +81,6 @@
 | | ... | 2001:1::2 | 2001:2::2
 
 *** Test Cases ***
-| 78B-ethip6-ip6base-ipolicemarkbase-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6-ip6base-ipolicemarkbase-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | IP6BASE | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv6-ip6base
+| ... | ethip6-ip6base
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -78,6 +78,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 78B-ethipv6-ip6base-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6-ip6base-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/ip6/regenerate_testcases.py b/tests/vpp/device/ip6/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..b1c6336
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6")
@@ -88,6 +88,6 @@
 | | ... | ${src_rloc6} | ${dst_rloc6} | ${ot_mode}
 
 *** Test Cases ***
-| 46B-ethip6lispgpe-ip4base-dev
-| | [Tags] | 46B
-| | frame_size=${46} | phy_cores=${0}
+| 78B-0c-ethip6lispgpe-ip4base-scapy
+| | [Tags] | 78B | 0C
+| | frame_size=${78} | phy_cores=${0}
@@ -87,6 +87,6 @@
 | | ... | ${src_rloc6} | ${dst_rloc6}
 
 *** Test Cases ***
-| 62B-ethip6lispgpe-ip6base-dev
-| | [Tags] | 62B
-| | frame_size=${62} | phy_cores=${0}
+| 78B-0c-ethip6lispgpe-ip6base-scapy
+| | [Tags] | 78B | 0C
+| | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py b/tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..b1c6336
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6")
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
 | ... | IACL | ACL1 | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdmaclrn-iacl1sf
+| ... | ethip4-l2bdbasemaclrn-iacl1sf
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -93,6 +93,6 @@
 | | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdmaclrn-iacl1sf-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-iacl1sf-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
 | ... | IACL | ACL1 | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdmaclrn-iacl1sl
+| ... | ethip4-l2bdbasemaclrn-iacl1sl
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -93,6 +93,6 @@
 | | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdmaclrn-iacl1sl-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-iacl1sl-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
 | ... | IACL | ACL1 | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdmaclrn-macip-iacl1sl
+| ... | ethip4-l2bdbasemaclrn-macip-iacl1sl
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -94,6 +94,6 @@
 | | ... | ${TG_pf2}[0] | ${tg_stream1_mac} | ${tg_stream2_mac}
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdbasemaclrn-iacl1sl-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
 | ... | OACL | ACL1 | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdmaclrn-oacl1sf
+| ... | ethip4-l2bdbasemaclrn-oacl1sf
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -93,6 +93,6 @@
 | | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdmaclrn-oacl1sf-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-oacl1sf-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
 | ... | OACL | ACL1 | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdmaclrn-oacl1sl
+| ... | ethip4-l2bdbasemaclrn-oacl1sl
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -93,6 +93,6 @@
 | | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdmaclrn-oacl1sl-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-oacl1sl-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdbasemaclrn
+| ... | ethip4-l2bdbasemaclrn
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -77,6 +77,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdbasemaclrn-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot b/tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot
deleted file mode 100644 (file)
index a287a6e..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/shared/default.robot
-|
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
-| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | DRV_AVF
-| ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | avf-ethipv4-l2bdbasemaclrn
-|
-| Suite Setup | Setup suite topology interfaces | scapy
-| Test Setup | Setup test
-| Test Teardown | Tear down test | packet_trace
-|
-| Test Template | Local Template
-|
-| Documentation | *L2 bridge-domain test cases*
-|
-| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \
-| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\
-| ... | Both apply to all links.
-| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \
-| ... | switching.
-| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \
-| ... | are sent in both directions by TG on links to DUT1; on receive TG \
-| ... | verifies packets for correctness and their IPv4 src-addr, \
-| ... | dst-addr and MAC addresses.
-| ... | *[Ref] Applicable standard specifications:* RFC792
-
-*** Variables ***
-| @{plugins_to_enable}= | avf_plugin.so | perfmon_plugin.so
-| ${crypto_type}= | ${None}
-| ${nic_name}= | Intel-X710
-| ${nic_driver}= | avf
-| ${nic_rxq_size}= | 0
-| ${nic_txq_size}= | 0
-| ${nic_pfs}= | 2
-| ${nic_vfs}= | 1
-| ${overhead}= | ${0}
-
-*** Keywords ***
-| Local Template
-| | [Documentation]
-| | ... | [Ver] Make TG send IPv4 packets in both directions between two\
-| | ... | of its interfaces to be switched by DUT to and from docker; verify\
-| | ... | all packets are received.
-| |
-| | ... | *Arguments:*
-| | ... | - frame_size - Framesize in Bytes in integer. Type: integer
-| | ... | - phy_cores - Number of physical cores. Type: integer
-| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
-| |
-| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
-| |
-| | Set Test Variable | \${frame_size}
-| |
-| | Given Set Max Rate And Jumbo
-| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq}
-| | And Pre-initialize layer driver | ${nic_driver}
-| | And Apply startup configuration on all VPP DUTs | with_trace=${True}
-| | When Initialize layer driver | ${nic_driver}
-| | And Initialize layer interface
-| | And Initialize L2 bridge domain
-| | Then Send IPv4 bidirectionally and verify received packets
-| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
-
-*** Test Cases ***
-| 64B-avf-ethipv4-l2bdbasemaclrn-dev
-| | [Tags] | 64B
-| | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/l2bd/regenerate_testcases.py b/tests/vpp/device/l2bd/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -76,6 +76,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethip4-l2patch-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2patch-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/l2patch/regenerate_testcases.py b/tests/vpp/device/l2patch/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2xcbase
+| ... | ethip4-l2xcbase
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -77,6 +77,6 @@
 | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2xcbase-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2xcbase-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/l2xc/regenerate_testcases.py b/tests/vpp/device/l2xc/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -98,6 +98,6 @@
 | | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1}
 
 *** Test Cases ***
-| 78B-ethip6ip6-ip6base-srv6enc1sid-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6ip6-ip6base-srv6enc1sid-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
 | | ... | ${dut1_sid2_2} | ${dut2_sid1_2} | decap=${False}
 
 *** Test Cases ***
-| 78B-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
 | | ... | ${dut1_sid2_2} | ${dut2_sid1_2}
 
 *** Test Cases ***
-| 78B-ethip6srhip6-ip6base-srv6enc2sids-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6srhip6-ip6base-srv6enc2sids-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
 | | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2}
 
 *** Test Cases ***
-| 78B-ethip6srhip6-ip6base-srv6proxy-dyn-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6srhip6-ip6base-srv6proxy-dyn-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
 | | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2}
 
 *** Test Cases ***
-| 78B-ethip6srhip6-ip6base-srv6proxy-masq-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6srhip6-ip6base-srv6proxy-masq-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
 | | ... | static_proxy=${True}
 
 *** Test Cases ***
-| 78B-ethip6srhip6-ip6base-srv6proxy-stat-dev
-| | [Tags] | 78B
+| 78B-0c-ethip6srhip6-ip6base-srv6proxy-stat-scapy
+| | [Tags] | 78B | 0C
 | | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/srv6/regenerate_testcases.py b/tests/vpp/device/srv6/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..b1c6336
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6")
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | STATS | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2xcbase-stats
+| ... | ethip4-l2xcbase-stats
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -79,6 +79,6 @@
 | | And Verify statistic commands
 
 *** Test Cases ***
-| 64B-ethipv4-l2xcbase-stats-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2xcbase-stats-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot b/tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot
deleted file mode 100644 (file)
index baeadea..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/shared/default.robot
-|
-| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
-| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | DOT1Q | IP4BASE | DRV_AVF
-| ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | avf-dot1qip4-l2bdbasemaclrn
-|
-| Suite Setup | Setup suite topology interfaces | scapy
-| Suite Teardown | Tear down suite
-| Test Setup | Setup test
-| Test Teardown | Tear down test | packet_trace
-|
-| Test Template | Local Template
-|
-| Documentation | *IPv4 routing with IEEE 802.1Q test cases*
-|
-| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with\
-| ... | single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. IEEE 802.1Q\
-| ... | tagging is applied on links between TG-DUT1.
-| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\
-| ... | two static IPv4 /30 route entries. DUT1 is tested with ${nic_name}.
-| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \
-| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \
-| ... | and drops as applicable.
-| ... | *[Ref] Applicable standard specifications:* IEEE 802.1q.
-
-*** Variables ***
-| @{plugins_to_enable}= | avf_plugin.so | perfmon_plugin.so
-| ${crypto_type}= | ${None}
-| ${nic_name}= | Intel-X710
-| ${nic_driver}= | avf
-| ${nic_rxq_size}= | 0
-| ${nic_txq_size}= | 0
-| ${nic_pfs}= | 2
-| ${nic_vfs}= | 1
-| ${overhead}= | ${4}
-
-*** Keywords ***
-| Local Template
-| | [Documentation]
-| | ... | [Ver] Make TG send IPv4 packets in both directions between two\
-| | ... | of its interfaces to be switched by DUT to and from docker; verify\
-| | ... | all packets are received.
-| |
-| | ... | *Arguments:*
-| | ... | - frame_size - Framesize in Bytes in integer. Type: integer
-| | ... | - phy_cores - Number of physical cores. Type: integer
-| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
-| |
-| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None}
-| |
-| | Set Test Variable | \${frame_size}
-| |
-| | Given Set Max Rate And Jumbo
-| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq}
-| | And Pre-initialize layer driver | ${nic_driver}
-| | And Apply startup configuration on all VPP DUTs | with_trace=${True}
-| | When Initialize layer driver | ${nic_driver}
-| | And Initialize layer interface
-| | And Initialize layer dot1q
-| | And Initialize L2 bridge domain
-| | # Do not fail here, we have a non-stats copy of this test elsewhere,
-| | # here we want to see stats after traffic, even if that test fails.
-| | Then Run Keyword And Ignore Error
-| | ... | Send IPv4 bidirectionally and verify received packets
-| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0]
-| | And Verify statistic commands
-
-*** Test Cases ***
-| 68B-avf-dot1qip4-l2bdbasemaclrn-stats-dev
-| | [Tags] | 68B
-| | frame_size=${68} | phy_cores=${0}
diff --git a/tests/vpp/device/stats/regenerate_testcases.py b/tests/vpp/device/stats/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-ip4base-eth-2vhost-1vm
+| ... | ethip4-ip4base-eth-2vhost-1vm
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -90,6 +90,6 @@
 | | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0]
 
 *** Test Cases ***
-| 64B-ethip4-ip4base-eth-2vhost-1vm-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-ip4base-eth-2vhost-1vm-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -18,7 +18,7 @@
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | VHOST | 1VM
 | ... | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2bdbasemaclrn-eth-2vhost-1vm
+| ... | ethip4-l2bdbasemaclrn-eth-2vhost-1vm
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -90,6 +90,6 @@
 | | ... | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | VHOST | 1VM | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0
-| ... | ethipv4-l2xcbase-eth-2vhost-1vm
+| ... | ethip4-l2xcbase-eth-2vhost-1vm
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -88,6 +88,6 @@
 | | ... | ${TG_pf1}[0] | ${TG_pf2}[0]
 
 *** Test Cases ***
-| 64B-ethipv4-l2xcbase-eth-2vhost-1vm-dev
-| | [Tags] | 64B
+| 64B-0c-ethip4-l2xcbase-eth-2vhost-1vm-scapy
+| | [Tags] | 64B | 0C
 | | frame_size=${64} | phy_cores=${0}
diff --git a/tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py b/tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..87521e6
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot")
@@ -17,7 +17,7 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
 | ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI
 | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | EXPECTED_FAILING
-| ... | ethipv6-ip6base-eth-2vhost-1vm
+| ... | ethip6-ip6base-eth-2vhost-1vm
 |
 | Suite Setup | Setup suite topology interfaces | scapy
 | Test Setup | Setup test
@@ -91,6 +91,6 @@
 
 
 *** Test Cases ***
-| 64B-ethipv6-ip6base-eth-2vhost-1vm-dev
-| | [Tags] | 64B
-| | frame_size=${64} | phy_cores=${0}
+| 78B-0c-ethip6-ip6base-eth-2vhost-1vm-scapy
+| | [Tags] | 78B | 0C
+| | frame_size=${78} | phy_cores=${0}
diff --git a/tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py b/tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py
new file mode 100755 (executable)
index 0000000..b1c6336
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+# Copyright (c) 2021 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from resources.libraries.python.autogen.Regenerator import Regenerator
+
+Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6")
diff --git a/tox.ini b/tox.ini
index ab6a4b0..e8b28f0 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -66,6 +66,7 @@ whitelist_externals = /bin/bash
 commands = bash {[tox]checker_dir}/gpl_license.sh
 
 [testenv:job_spec]
+ignore_outcome = true
 whitelist_externals = /bin/bash
 commands = bash {[tox]checker_dir}/job_spec.sh