Align suite/test teardown/setup 80/20280/30
authorPeter Mikus <pmikus@cisco.com>
Fri, 21 Jun 2019 12:15:56 +0000 (12:15 +0000)
committerPeter Mikus <pmikus@cisco.com>
Tue, 25 Jun 2019 06:02:52 +0000 (06:02 +0000)
+ Phase II - aligning FUNC/PERF setup.
  + 2n/3n compatibility of suite setup.
  + Same structure of testcase for DEV/PERF.
  + DEVICE tests are now running VPP startup config in same
    way as PERF.
  + DEVICE is using COREKEEPER!
- DEVICE tests are running topology compute twice for backward
  compatibility. TODO to remove.
- Still phase III needed to align TAGS, LIBRARIES and remove OLD
  setup phase.

Change-Id: Ib6e1b0ebf4abebf3cbe73b4fda5cac953c2a7270
Signed-off-by: Peter Mikus <pmikus@cisco.com>
414 files changed:
resources/libraries/python/InterfaceUtil.py
resources/libraries/python/VPPUtil.py
resources/libraries/robot/crypto/ipsec.robot
resources/libraries/robot/honeycomb/honeycomb.robot
resources/libraries/robot/performance/performance_configuration.robot
resources/libraries/robot/performance/performance_setup.robot [deleted file]
resources/libraries/robot/shared/container.robot
resources/libraries/robot/shared/default.robot
resources/libraries/robot/shared/suite_setup.robot [new file with mode: 0644]
resources/libraries/robot/shared/suite_teardown.robot
resources/libraries/robot/shared/test_setup.robot [new file with mode: 0644]
resources/libraries/robot/shared/test_teardown.robot
resources/libraries/robot/tcp/tcp_setup.robot
tests/dpdk/perf/10ge2p1x710-eth-l2xcbase-testpmd-ndrpdr.robot
tests/dpdk/perf/10ge2p1x710-ethip4-ip4base-l3fwd-ndrpdr.robot
tests/dpdk/perf/2n1l-10ge2p1x710-eth-l2xcbase-testpmd-ndrpdr.robot
tests/dpdk/perf/2n1l-10ge2p1x710-ethip4-ip4base-l3fwd-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain-k8s-ndrpdr.robot
tests/kubernetes/perf/container_memif/10ge2p1x710-eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain-k8s-ndrpdr.robot
tests/vpp/device/__init__.robot
tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot
tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot
tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot
tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot
tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot
tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot
tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot
tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot
tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot
tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot
tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot
tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot
tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot
tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot
tests/vpp/device/vm_vhost/ip4/eth2p-ethip4-ip4base-eth-2vhost-1vm-dev.robot
tests/vpp/device/vm_vhost/ip6/eth2p-ethip6-ip6base-eth-2vhost-1vm-dev.robot
tests/vpp/device/vm_vhost/l2bd/eth2p-eth-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot
tests/vpp/device/vm_vhost/l2xc/eth2p-eth-l2xcbase-eth-2vhost-1vm-dev.robot
tests/vpp/perf/__init__.robot
tests/vpp/perf/container_memif/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/10ge2p1x710-eth-l2bdbasemaclrn-eth-2memif-1lxc-ndrpdr.robot
tests/vpp/perf/container_memif/10ge2p1x710-eth-l2xcbase-eth-1memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/10ge2p1x710-eth-l2xcbase-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/10ge2p1x710-eth-l2xcbase-eth-2memif-1lxc-ndrpdr.robot
tests/vpp/perf/container_memif/10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/2n1l-10ge2p1x710-eth-l2bdbasemaclrn-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/2n1l-10ge2p1x710-eth-l2xcbase-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec10000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec10000tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec10000tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-policy-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-policy-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-policy-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlhw-ip4base-policy-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-policy-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-policy-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-policy-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-policy-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec100tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec100tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec100tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec100tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-policy-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-policy-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-policy-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlhw-ip4base-policy-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec40tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec40tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec40tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec40tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec4tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec4tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec4tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec5000tnlsw-ip4base-int-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec5000tnlsw-ip4base-int-aes128cbc-hmac512sha-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec5000tnlsw-ip4base-int-aes128gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec5000tnlsw-ip4base-int-aes256gcm-ndrpdr.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsectptlispgpe-ip4base-aes128cbc-hmac256sha-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-avf-eth-ip4base-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-nat44-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-dot1q--ethip4vxlan-l2bdscale100l2bd100vlan100vxlan-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-dot1q--ethip4vxlan-l2bdscale10l2bd10vlan10vxlan-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-dot1q--ethip4vxlan-l2bdscale1kl2bd1kvlan1kvxlan-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-dot1q--ethip4vxlan-l2bdscale1l2bd1vlan1vxlan-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-ethip4lispip4-ip4base-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-ethip4lispip6-ip4base-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/ip4_tunnels/10ge2p1x710-ethip4vxlan-l2xcbase-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-dot1q-ip6base-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6base-copwhtlistbase-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6base-iacldstbase-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6base-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6scale200k-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6scale20k-ndrpdr.robot
tests/vpp/perf/ip6/10ge2p1x710-ethip6-ip6scale2m-ndrpdr.robot
tests/vpp/perf/ip6/2n1l-10ge2p1x710-dot1q-ip6base-ndrpdr.robot
tests/vpp/perf/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ndrpdr.robot
tests/vpp/perf/ip6/2n1l-10ge2p1x710-ethip6-ip6scale200k-ndrpdr.robot
tests/vpp/perf/ip6/2n1l-10ge2p1x710-ethip6-ip6scale20k-ndrpdr.robot
tests/vpp/perf/ip6/2n1l-10ge2p1x710-ethip6-ip6scale2m-ndrpdr.robot
tests/vpp/perf/ip6_tunnels/10ge2p1x710-ethip6lispip4-ip6base-ndrpdr.robot
tests/vpp/perf/ip6_tunnels/10ge2p1x710-ethip6lispip6-ip6base-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2patch-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-dot1ad-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2patch-ndrpdr.robot
tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-avf-eth-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-avf-eth-l2patch-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-avf-eth-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-dot1q-l2xcbase-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2bdscale100kmaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2bdscale10kmaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2patch-ndrpdr.robot
tests/vpp/perf/l2/2n1l-10ge2p1x710-eth-l2xcbase-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-10ch-20mif-10dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-10ch-20mif-10dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-10ch-40mif-20dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-12mif-6dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-12mif-6dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-16mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-16mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-20mif-10dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-20mif-10dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-2mif-1dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-2mif-1dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-4mif-2dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-4mif-2dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-8mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-1ch-8mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-16mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-16mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-24mif-12dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-24mif-12dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-32mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-32mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-40mif-20dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-4mif-2dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-4mif-2dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-8mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-2ch-8mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-16mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-16mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-32mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-32mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-48mif-24dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-8mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-4ch-8mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-6ch-12mif-6dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-6ch-12mif-6dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-6ch-24mif-12dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-6ch-24mif-12dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-6ch-48mif-24dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-8ch-16mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-8ch-16mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-8ch-32mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/chain/2n-10ge2p1x710-eth-l2bd-8ch-32mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-10pl-20mif-10dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-10pl-20mif-10dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-10pl-20mif-20dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-10dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-10dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-1dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-1dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-2dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-2dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-6dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-6dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-1pl-2mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-12dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-12dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-20dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-2dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-2dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-4mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-8mif-4dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-2pl-8mif-4dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-4pl-8mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-4pl-8mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-4pl-8mif-24dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-4pl-8mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-4pl-8mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-6pl-12mif-12dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-6pl-12mif-12dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-6pl-12mif-24dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-6pl-12mif-6dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-6pl-12mif-6dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-8pl-16mif-16dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-8pl-16mif-16dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-8pl-16mif-8dcr1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/dcr_memif/pipeline/2n-10ge2p1x710-eth-l2bd-8pl-16mif-8dcr2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-10ch-20vh-10vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-10ch-20vh-10vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-10ch-40vh-20vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-12vh-6vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-12vh-6vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-16vh-8vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-16vh-8vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-20vh-10vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-20vh-10vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-2vh-1vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-2vh-1vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-4vh-2vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-4vh-2vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-8vh-4vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-1ch-8vh-4vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-16vh-8vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-16vh-8vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-24vh-12vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-24vh-12vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-32vh-16vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-32vh-16vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-40vh-20vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-4vh-2vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-4vh-2vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-8vh-4vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-2ch-8vh-4vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-16vh-8vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-16vh-8vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-32vh-16vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-32vh-16vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-48vh-24vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-8vh-4vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-4ch-8vh-4vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-6ch-12vh-6vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-6ch-12vh-6vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-6ch-24vh-12vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-6ch-24vh-12vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-6ch-48vh-24vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-8ch-16vh-8vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-8ch-16vh-8vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-8ch-32vh-16vm1t-vppip4-ndrpdr.robot
tests/vpp/perf/nfv_density/vm_vhost/chain/2n-10ge2p1x710-eth-l2bd-8ch-32vh-16vm2t-vppip4-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdr.robot
tests/vpp/perf/srv6/10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdr.robot
tests/vpp/perf/tcp/10ge2p1x520-ethip4tcphttp-httpserver.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-2lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-2lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/2n1l-10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/2n1l-10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vm_vhost/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermit-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-aclpermitreflect-2vhostvr1024-1vm-ndrpdr.robot
tests/vpp/perf/vts/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-iacldstbase-noacl-2vhostvr1024-1vm-ndrpdr.robot
topologies/available/vpp_device.template

index 46b1ffb..34bfc1e 100644 (file)
@@ -1543,9 +1543,6 @@ class InterfaceUtil(object):
         :rtype: list
         :raises RuntimeError: If a reason preventing initialization is found.
         """
-        ssh = SSH()
-        ssh.connect(node)
-
         # Read PCI address and driver.
         pf_pci_addr = Topology.get_interface_pci_addr(node, ifc_key)
         pf_mac_addr = Topology.get_interface_mac(node, ifc_key).split(":")
index c60509f..03d39d3 100644 (file)
@@ -216,7 +216,7 @@ class VPPUtil(object):
             host=node['host'], if_data=if_data))
 
     @staticmethod
-    def vpp_enable_traces_on_dut(node, fail_on_error=True):
+    def vpp_enable_traces_on_dut(node, fail_on_error=False):
         """Enable vpp packet traces on the DUT node.
 
         :param node: DUT node to set up.
@@ -234,14 +234,12 @@ class VPPUtil(object):
         for cmd in cmds:
             try:
                 PapiExecutor.run_cli_cmd(node, cmd)
-            except AssertionError as err:
+            except AssertionError:
                 if fail_on_error:
                     raise
-                else:
-                    logger.error(repr(err))
 
     @staticmethod
-    def vpp_enable_traces_on_all_duts(nodes, fail_on_error=True):
+    def vpp_enable_traces_on_all_duts(nodes, fail_on_error=False):
         """Enable vpp packet traces on all DUTs in the given topology.
 
         :param nodes: Nodes in the topology.
index 135881f..95fdb91 100644 (file)
 | | ${args}= | Set Variable If | "${r_tunnel}" == "${None}" | ${args}
 | | ... | ${args} --dst_tun ${r_tunnel}
 | | Run Traffic Script On Node | ipsec.py | ${node} | ${args}
-
-| Set up IPSec SW device functional test
-| | [Documentation]
-| | ... | Set up IPSec SW device functional test for required IP version.
-| | ...
-| | ... | *Arguments:*
-| | ... | - ${ip_version} - IP version: IPv4 or IPv6. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up IPSec SW device functional test \| IPv4 \|
-| | ...
-| | [Arguments] | ${ip_version}
-| | ...
-| | Set up VPP device test
-| | Run Keyword | Configure topology for ${ip_version} IPsec testing
index d446b7c..bd39293 100644 (file)
 | | Restart Vpp Service | ${node}
 | | Verify Vpp | ${node}
 | | VPP Enable Traces On DUT | ${node}
-| | Configure all TGs for traffic script
+| | All TGs Set Interface Default Driver | ${nodes}
 | | Configure Honeycomb for functional testing | ${node}
 | | Configure ODL Client for functional testing | ${node}
 
 | | Run Keyword | HC_config.Set SSH Security provider
 | | Run Keyword | HC_config.Set Memory Size | ${32}
 | | Run Keyword | HC_config.Set Metaspace Size | ${32}
-| | Run Keyword | HC_config.Apply config | ${node}
\ No newline at end of file
+| | Run Keyword | HC_config.Apply config | ${node}
index 0f13730..47dec46 100644 (file)
@@ -14,7 +14,7 @@
 *** Settings ***
 | Library | Collections
 | Library | String
-| Library | resources.libraries.python.Classify
+| Library | resources.libraries.python.Classify.Classify
 | Library | resources.libraries.python.DpdkUtil
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.IPUtil
 | | Add interface to bridge domain | ${dut2} | ${vhost_if2} | ${bd_id2}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2}
 
-| Add PCI devices to all DUTs
-| | [Documentation]
-| | ... | Add PCI devices to VPP configuration file.
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error
-| | | ... | Variable Should Exist | ${${dut}_if1}
-| | | ${if1_pci}= | Run Keyword If | '${if1_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
-| | | ${if1_1_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_1}
-| | | ${if1_2_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_2}
-| | | ${if2_status} | ${value}= | Run Keyword And Ignore Error
-| | | ... | Variable Should Exist | ${${dut}_if2}
-| | | ${if2_pci}= | Run Keyword If | '${if2_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2}
-| | | ${if2_1_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_1}
-| | | ${if2_2_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS'
-| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_2}
-| | | @{pci_devs}= | Run Keyword If | '${if1_status}' == 'PASS'
-| | | ... | Create List | ${if1_pci}
-| | | ... | ELSE
-| | | ... | Create List | ${if1_1_pci} | ${if1_2_pci}
-| | | Run Keyword If | '${if2_status}' == 'PASS'
-| | | ... | Append To List | ${pci_devs} | ${if2_pci}
-| | | ... | ELSE
-| | | ... | Append To List | ${pci_devs} | ${if2_1_pci} | ${if2_2_pci}
-| | | Run keyword | ${dut}.Add DPDK Dev | @{pci_devs}
-| | | Run Keyword If | '${if1_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci}
-| | | Run Keyword Unless | '${if1_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if1_1_pci} | ${if1_1_pci}
-| | | Run Keyword Unless | '${if1_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if1_2_pci} | ${if1_2_pci}
-| | | Run Keyword If | '${if2_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if2_pci} | ${if2_pci}
-| | | Run Keyword Unless | '${if2_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if2_1_pci} | ${if2_1_pci}
-| | | Run Keyword Unless | '${if2_status}' == 'PASS'
-| | | ... | Set Test Variable | ${${dut}_if2_2_pci} | ${if2_2_pci}
-
-| Add single PCI device to all DUTs
-| | [Documentation]
-| | ... | Add single (first) PCI device on DUT1 and single (last) PCI device on
-| | ... | DUT2 to VPP configuration file.
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
-| | | Run keyword | ${dut}.Add DPDK Dev | ${if1_pci}
-| | | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci}
-
 | Add VLAN strip offload switch off between DUTs in 3-node single link topology
 | | [Documentation]
 | | ... | Add VLAN Strip Offload switch off on PCI devices between DUTs to VPP
diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot
deleted file mode 100644 (file)
index 3e27c18..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-# Copyright (c) 2019 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 ***
-| Library | resources.libraries.python.DUTSetup
-| Library | resources.tools.wrk.wrk
-| Resource | resources/libraries/robot/performance/performance_configuration.robot
-| Resource | resources/libraries/robot/performance/performance_limits.robot
-| Resource | resources/libraries/robot/performance/performance_utils.robot
-| Resource | resources/libraries/robot/tcp/tcp_setup.robot
-| Documentation | Performance suite keywords - Suite and test setups and
-| ... | teardowns.
-
-*** Keywords ***
-
-# Keywords used in setups and teardowns
-
-| Set variables in 2-node circular topology with DUT interface model
-| | [Documentation]
-| | ... | Compute path for testing on two given nodes in circular topology
-| | ... | based on interface model provided as an argument and set
-| | ... | corresponding suite variables.
-| | ...
-| | ... | *Arguments:*
-| | ... | - iface_model - Interface model. Type: string
-| | ...
-| | ... | _NOTE:_ This KW sets following suite variables:
-| | ... | - tg - TG node
-| | ... | - tg_if1 - 1st TG interface towards DUT.
-| | ... | - tg_if1 - 1st TG interface MAC address.
-| | ... | - tg_if2 - 2nd TG interface towards DUT.
-| | ... | - tg_if2 - 2nd TG interface MAC address.
-| | ... | - dut1 - DUT1 node
-| | ... | - dut1_if1 - 1st DUT interface towards TG.
-| | ... | - dut1_if2 - 2nd DUT interface towards TG.
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set variables in 2-node circular topology with DUT interface model\
-| | ... | \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${iface_model}
-| | ...
-| | ${iface_model_list}= | Create list | ${iface_model}
-| | Append Node | ${nodes['TG']}
-| | Append Node | ${nodes['DUT1']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['TG']}
-| | Compute Path | always_same_link=${FALSE}
-| | ${tg_if1} | ${tg}= | First Interface
-| | ${dut1_if1} | ${dut1}= | First Ingress Interface
-| | ${dut1_if2} | ${dut1}= | Last Egress Interface
-| | ${tg_if2} | ${tg}= | Last Interface
-| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
-| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | Set Suite Variable | ${tg}
-| | Set Suite Variable | ${tg_if1}
-| | Set Suite Variable | ${tg_if1_mac}
-| | Set Suite Variable | ${tg_if2}
-| | Set Suite Variable | ${tg_if2_mac}
-| | Set Suite Variable | ${dut1}
-| | Set Suite Variable | ${dut1_if1}
-| | Set Suite Variable | ${dut1_if2}
-
-| Set variables in 3-node circular topology with DUT interface model
-| | [Documentation]
-| | ... | Compute path for testing on three given nodes in circular topology
-| | ... | based on interface model provided as an argument and set
-| | ... | corresponding suite variables.
-| | ...
-| | ... | *Arguments:*
-| | ... | - iface_model - Interface model. Type: string
-| | ...
-| | ... | _NOTE:_ This KW sets following suite variables:
-| | ... | - tg - TG node
-| | ... | - tg_if1 - 1st TG interface towards DUT.
-| | ... | - tg_if1 - 1st TG interface MAC address.
-| | ... | - tg_if2 - 2nd TG interface towards DUT.
-| | ... | - tg_if2 - 2nd TG interface MAC address.
-| | ... | - dut1 - DUT1 node
-| | ... | - dut1_if1 - DUT1 interface towards TG.
-| | ... | - dut1_if2 - DUT1 interface towards DUT2.
-| | ... | - dut2 - DUT2 node
-| | ... | - dut2_if1 - DUT2 interface towards DUT1.
-| | ... | - dut2_if2 - DUT2 interface towards TG.
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set variables in 3-node circular topology with DUT interface model\
-| | ... | \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${iface_model}
-| | ...
-| | ${iface_model_list}= | Create list | ${iface_model}
-| | Append Node | ${nodes['TG']}
-| | Append Node | ${nodes['DUT1']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['DUT2']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['TG']}
-| | Compute Path
-| | ${tg_if1} | ${tg}= | Next Interface
-| | ${dut1_if1} | ${dut1}= | Next Interface
-| | ${dut1_if2} | ${dut1}= | Next Interface
-| | ${dut2_if1} | ${dut2}= | Next Interface
-| | ${dut2_if2} | ${dut2}= | Next Interface
-| | ${tg_if2} | ${tg}= | Next Interface
-| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
-| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | Set Suite Variable | ${tg}
-| | Set Suite Variable | ${tg_if1}
-| | Set Suite Variable | ${tg_if1_mac}
-| | Set Suite Variable | ${tg_if2}
-| | Set Suite Variable | ${tg_if2_mac}
-| | Set Suite Variable | ${dut1}
-| | Set Suite Variable | ${dut1_if1}
-| | Set Suite Variable | ${dut1_if2}
-| | Set Suite Variable | ${dut2}
-| | Set Suite Variable | ${dut2_if1}
-| | Set Suite Variable | ${dut2_if2}
-
-| Set variables in 3-node circular topology with DUT interface model with double link between DUTs
-| | [Documentation]
-| | ... | Compute path for testing on three given nodes in circular topology
-| | ... | with double link between DUTs based on interface model provided as an
-| | ... | argument and set corresponding suite variables.
-| | ...
-| | ... | *Arguments:*
-| | ... | - iface_model - Interface model. Type: string
-| | ...
-| | ... | _NOTE:_ This KW sets following suite variables:
-| | ... | - tg - TG node
-| | ... | - tg_if1 - 1st TG interface towards DUT.
-| | ... | - tg_if1 - 1st TG interface MAC address.
-| | ... | - tg_if2 - 2nd TG interface towards DUT.
-| | ... | - tg_if2 - 2nd TG interface MAC address.
-| | ... | - dut1 - DUT1 node
-| | ... | - dut1_if1 - DUT1 interface towards TG.
-| | ... | - dut1_if2_1 - DUT1 interface 1 towards DUT2.
-| | ... | - dut1_if2_2 - DUT1 interface 2 towards DUT2.
-| | ... | - dut2 - DUT2 node
-| | ... | - dut2_if1_1 - DUT2 interface 1 towards DUT1.
-| | ... | - dut2_if1_2 - DUT2 interface 2 towards DUT1.
-| | ... | - dut2_if2 - DUT2 interface towards TG.
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set variables in 3-node circular topology with DUT interface model\
-| | ... | with double link between DUTs \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${iface_model}
-| | ...
-| | ${iface_model_list}= | Create list | ${iface_model}
-| | # Compute path TG - DUT1 with single link in between
-| | Append Node | ${nodes['TG']}
-| | Append Node | ${nodes['DUT1']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['TG']}
-| | Compute Path
-| | ${tg_if1} | ${tg}= | Next Interface
-| | ${dut1_if1} | ${dut1}= | Next Interface
-| | # Compute path TG - DUT2 with single link in between
-| | Clear Path
-| | Append Node | ${nodes['TG']}
-| | Append Node | ${nodes['DUT2']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['TG']}
-| | Compute Path
-| | ${tg_if2} | ${tg}= | Next Interface
-| | ${dut2_if2} | ${dut2}= | Next Interface
-| | # Compute path DUT1 - DUT2 with double link in between
-| | Clear Path
-| | Append Node | ${nodes['DUT1']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['DUT2']} | filter_list=${iface_model_list}
-| | Append Node | ${nodes['DUT1']} | filter_list=${iface_model_list}
-| | Compute Path | always_same_link=${FALSE}
-| | ${dut1_if2_1} | ${dut1}= | First Interface
-| | ${dut1_if2_2} | ${dut1}= | Last Interface
-| | ${dut2_if1_1} | ${dut2}= | First Ingress Interface
-| | ${dut2_if1_2} | ${dut2}= | Last Egress Interface
-| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
-| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | # Set suite variables
-| | Set Suite Variable | ${tg}
-| | Set Suite Variable | ${tg_if1}
-| | Set Suite Variable | ${tg_if1_mac}
-| | Set Suite Variable | ${tg_if2}
-| | Set Suite Variable | ${tg_if2_mac}
-| | Set Suite Variable | ${dut1}
-| | Set Suite Variable | ${dut1_if1}
-| | Set Suite Variable | ${dut1_if2_1}
-| | Set Suite Variable | ${dut1_if2_2}
-| | Set Suite Variable | ${dut2}
-| | Set Suite Variable | ${dut2_if1_1}
-| | Set Suite Variable | ${dut2_if1_2}
-| | Set Suite Variable | ${dut2_if2}
-
-# Suite setups
-
-| Set up 2-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets the default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| 2-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name}
-| | ...
-| | Set variables in 2-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
-
-| Set up 2-node-switched performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets the default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ... | - tg_if1_dest_mac - Interface 1 destination MAC address. Type: string
-| | ... | - tg_if2_dest_mac - Interface 2 destination MAC address. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| 2-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \
-| | ... | \| 22:22:33:44:55:66 \| 22:22:33:44:55:55 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name} | ${tg_if1_dest_mac}
-| | ... | ${tg_if2_dest_mac}
-| | ...
-| | Set variables in 2-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
-| | ... | ${tg_if1_dest_mac} | ${tg_if2_dest_mac}
-
-| Set up 3-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets the default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up 3-node performance topology with DUT's NIC model \| L2 \
-| | ... | \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name}
-| | ...
-| | Set variables in 3-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
-
-| Set up 3-node performance topology with DUT's NIC model with double link between DUTs
-| | [Documentation]
-| | ... | Suite preparation phase that sets the default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up 3-node performance topology with DUT's NIC model with \
-| | ... | double link between DUTs \| L2 \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name}
-| | ...
-| | Set variables in 3-node circular topology with DUT interface model with double link between DUTs
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
-
-| Set up DPDK 2-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator. Initializes DPDK test
-| | ... | environment.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up DPDK 2-node performance topology with DUT's NIC model \
-| | ... | \| L2 \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name}
-| | ...
-| | Set variables in 2-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
-| | Initialize DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2}
-
-| Set up DPDK 3-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator. Initializes DPDK test
-| | ... | environment.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| 3-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name}
-| | ...
-| | Set variables in 3-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
-| | Initialize DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2}
-| | Initialize DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2}
-
-| Set up SRIOV 2-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ... | It configures PCI device with VFs on all DUTs.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ... | - vf_driver - Virtual function driver. Type: string
-| | ... | - numvfs - Number of VFs. Type: integer
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up SRIOV 2-node performance topology with DUT's NIC model \
-| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name} | ${vf_driver}
-| | ... | ${numvfs}=${1}
-| | ...
-| | Set variables in 2-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Run Keyword If | '${vf_driver}' == 'AVF'
-| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
-| | ... | osi_layer=${osi_layer}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut1} | ${dut1_if2_vf0}
-| | ... | ${osi_layer}
-
-| Set up SRIOV 3-node performance topology with DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ... | It configures PCI device with VFs on all DUTs.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ... | - vf_driver - Virtual function driver. Type: string
-| | ... | - numvfs - Number of VFs. Type: integer
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up SRIOV 3-node performance topology with DUT's NIC model \
-| | ... | \| L2 \| Intel-X520-DA2 \| AVF \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name} | ${vf_driver}
-| | ... | ${numvfs}=${1}
-| | ...
-| | Set variables in 3-node circular topology with DUT interface model
-| | ... | ${nic_name}
-| | Run Keyword If | '${vf_driver}' == 'AVF'
-| | ... | Configure AVF interfaces on all DUTs | numvfs=${numvfs}
-| | ... | osi_layer=${osi_layer}
-| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
-| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut2} | ${dut2_if2_vf0}
-| | ... | ${osi_layer}
-
-| Set up IPSec performance test suite
-| | [Documentation]
-| | ... | Suite preparation phase that sets default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Initializes traffic generator.
-| | ... | Then it configures crypto device and kernel module on all DUTs.
-| | ...
-| | ... | TODO CSIT-1481: Crypto HW should be read from topology file instead.
-| | ...
-| | ... | *Arguments:*
-| | ... | - osi_layer - OSI Layer type to initialize TG with. Type: string
-| | ... | - nic_name - Interface model. Type: string
-| | ... | - crypto_type - Crypto device type - HW_DH895xcc or HW_C3xxx or
-| | ... |   SW_cryptodev. Type: string, default value: HW_DH895xcc
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up IPSec performance test suite \| L2 \
-| | ... | \| Intel-X520-DA2 \| HW_DH895xcc \|
-| | ...
-| | [Arguments] | ${osi_layer} | ${nic_name} | ${crypto_type}=HW_DH895xcc
-| | ...
-| | Set up 3-node performance topology with DUT's NIC model
-| | ... | ${osi_layer} | ${nic_name}
-| | Return From Keyword If | '${crypto_type}' == 'SW_cryptodev'
-| | ${numvfs}= | Set Variable If
-| | ... | '${crypto_type}' == 'HW_DH895xcc' | ${32}
-| | ... | '${crypto_type}' == 'HW_C3xxx' | ${16}
-| | Configure crypto device on all DUTs | ${crypto_type} | numvfs=${numvfs}
-| | ... | force_init=${True}
-| | Configure kernel module on all DUTs | vfio_pci | force_load=${True}
-
-| Set up performance test suite with MEMIF
-| | [Documentation]
-| | ... | Append memif_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | memif_plugin.so
-
-| Set up performance test suite with NAT
-| | [Documentation]
-| | ... | Append nat_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | nat_plugin.so
-
-| Set up performance test suite with ACL
-| | [Documentation]
-| | ... | Append acl_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | acl_plugin.so
-
-| Set up performance test suite with AVF driver
-| | [Documentation]
-| | ... | Append avf_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | avf_plugin.so
-
-| Set up performance test suite with Static SRv6 proxy
-| | [Documentation]
-| | ... | Append srv6as_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | srv6as_plugin.so
-
-| Set up performance test suite with Dynamic SRv6 proxy
-| | [Documentation]
-| | ... | Append srv6ad_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | srv6ad_plugin.so
-
-| Set up performance test suite with Masquerading SRv6 proxy
-| | [Documentation]
-| | ... | Append srv6am_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | srv6am_plugin.so
-
-| Set up performance test suite with LACP mode link bonding
-| | [Documentation]
-| | ... | Append lacp_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | lacp_plugin.so
-
-| Set up performance test suite with crypto ipsecmb
-| | [Documentation]
-| | ... | Append crypto_ipsecmb_plugin.so to the list of enabled plugins.
-| | ...
-| | Set Suite Variable | @{plugins_to_enable}
-| | Append To List | ${plugins_to_enable} | crypto_ia32_plugin.so
-| | Append To List | ${plugins_to_enable} | crypto_ipsecmb_plugin.so
-| | Append To List | ${plugins_to_enable} | crypto_openssl_plugin.so
-
-| Set up 3-node performance topology with wrk and DUT's NIC model
-| | [Documentation]
-| | ... | Suite preparation phase that sets the default startup configuration of
-| | ... | VPP on all DUTs. Updates interfaces on all nodes and sets the global
-| | ... | variables used in test cases based on interface model provided as an
-| | ... | argument. Installs the traffic generator.
-| | ...
-| | ... | *Arguments:*
-| | ... | - iface_model - Interface model. Type: string
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up 3-node performance topology with wrk and DUT's NIC model\
-| | ... | \| Intel-X520-DA2 \|
-| | ...
-| | [Arguments] | ${iface_model}
-| | ...
-| | Set variables in 3-node circular topology with DUT interface model
-| | ... | ${iface_model}
-| | Iface update numa node | ${tg}
-# Make sure TRex is stopped
-| | ${running}= | Is TRex running | ${tg}
-| | Run keyword if | ${running}==${True} | Teardown traffic generator | ${tg}
-| | ${curr_driver}= | Get PCI dev driver | ${tg}
-| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
-| | Run keyword if | '${curr_driver}'!='${None}'
-| | ... | PCI Driver Unbind | ${tg} |
-| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
-# Bind tg_if1 to driver specified in the topology
-| | ${driver}= | Get Variable Value | ${tg['interfaces']['${tg_if1}']['driver']}
-| | PCI Driver Bind | ${tg}
-| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} | ${driver}
-# Set IP on tg_if1
-| | ${intf_name}= | Get Linux interface name | ${tg}
-| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.10.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.20.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.30.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.40.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.50.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.60.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.70.1 | 24
-| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.80.1 | 24
-| | Set Linux interface up | ${tg} | ${intf_name}
-| | Install wrk | ${tg}
-
-# Tests setups
-
-| Set up performance test
-| | [Documentation] | Common test setup for performance tests.
-| | ...
-| | Reset PAPI History On All DUTs | ${nodes}
-| | Create base startup configuration of VPP on all DUTs
-
-| Set up tcp performance test
-| | [Documentation] | Common test setup for TCP performance tests.
-| | ...
-| | Reset PAPI History On All DUTs | ${nodes}
-| | Create base startup configuration of VPP for TCP tests on all DUTs
-
-| Set up performance test with Ligato Kubernetes
-| | [Documentation] | Common test setup for performance tests with Ligato \
-| | ... | Kubernetes.
-| | ...
-| | Apply Kubernetes resource on all duts | ${nodes} | namespaces/csit.yaml
-| | Apply Kubernetes resource on all duts | ${nodes} | pods/kafka.yaml
-| | Apply Kubernetes resource on all duts | ${nodes} | pods/etcdv3.yaml
-| | Apply Kubernetes resource on all duts | ${nodes}
-| | ... | configmaps/vswitch-agent-cfg.yaml
-| | Apply Kubernetes resource on all duts | ${nodes}
-| | ... | configmaps/vnf-agent-cfg.yaml
-| | Apply Kubernetes resource on all duts | ${nodes}
-| | ... | pods/contiv-sfc-controller.yaml
-| | Apply Kubernetes resource on all duts | ${nodes}
-| | ... | pods/contiv-vswitch.yaml
-
-| Set up performance test with containers
-| | [Documentation]
-| | ... | Common test setup for performance tests with containers
-| | ...
-| | ... | *Arguments:*
-| | ... | - chains: Total number of chains. Type: integer
-| | ... | - nodeness: Total number of nodes per chain. Type: integer
-| | ... | - auto_scale - If True, use same amount of Dataplane threads for
-| | ... |   network function as DUT, otherwise use single physical core for
-| | ... |   every network function. Type: boolean
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up performance test with containers \| 1 \| 1 \|
-| | ...
-| | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1} | ${auto_scale}=${True}
-| | ...
-| | Set Test Variable | @{container_groups} | @{EMPTY}
-| | Set Test Variable | ${container_group} | CNF
-| | Set Test Variable | ${nf_nodes}
-| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
-| | ... | engine=${container_engine} | WITH NAME | ${container_group}
-| | Construct chains of containers on all DUTs | ${nf_chains} | ${nf_nodes}
-| | ... | auto_scale=${auto_scale}
-| | Acquire all '${container_group}' containers
-| | Create all '${container_group}' containers
-| | Configure VPP in all '${container_group}' containers
-| | Stop VPP service on all DUTs | ${nodes}
-| | Start VPP in all '${container_group}' containers
-| | Restart VPP service on all DUTs | ${nodes}
-| | Verify VPP on all DUTs | ${nodes}
-| | Save VPP PIDs
-| | Append To List | ${container_groups} | ${container_group}
index c1ab1af..0b2fcd4 100644 (file)
 | | ... | all DUT nodes.
 | | ...
 | | Run Keyword | ${group}.Destroy all containers
+
+| Start containers for performance test
+| | [Documentation]
+| | ... | Start containers for performance test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - nf_chains: Total number of chains. Type: integer
+| | ... | - nf_nodes: Total number of nodes per chain. Type: integer
+| | ... | - auto_scale - If True, use same amount of Dataplane threads for
+| | ... |   network function as DUT, otherwise use single physical core for
+| | ... |   every network function. Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Set up performance test with containers \| 1 \| 1 \|
+| | ...
+| | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1} | ${auto_scale}=${True}
+| | ...
+| | Set Test Variable | @{container_groups} | @{EMPTY}
+| | Set Test Variable | ${container_group} | CNF
+| | Set Test Variable | ${nf_nodes}
+| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
+| | ... | engine=${container_engine} | WITH NAME | ${container_group}
+| | Construct chains of containers on all DUTs | ${nf_chains} | ${nf_nodes}
+| | ... | auto_scale=${auto_scale}
+| | Acquire all '${container_group}' containers
+| | Create all '${container_group}' containers
+| | Configure VPP in all '${container_group}' containers
+| | Stop VPP service on all DUTs | ${nodes}
+| | Start VPP in all '${container_group}' containers
+| | Restart VPP service on all DUTs | ${nodes}
+| | Verify VPP on all DUTs | ${nodes}
+| | Save VPP PIDs
+| | Append To List | ${container_groups} | ${container_group}
+
+| Start containers for device test
+| | [Documentation]
+| | ... | Start containers for device test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - nf_chains: Total number of chains (Optional). Type: integer, default
+| | ... | value: ${1}
+| | ... | - nf_nodes: Total number of nodes per chain (Optional). Type: integer,
+| | ... | default value: ${1}
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variables:
+| | ... | - dcr_uuid - Parent container UUID.
+| | ... | - dcr_root - Parent container overlay.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Set up functional test with containers \| 1 \| 1 \|
+| | ...
+| | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1}
+| | ...
+| | Set Test Variable | @{container_groups} | @{EMPTY}
+| | Set Test Variable | ${container_group} | CNF
+| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
+| | ... | engine=${container_engine} | WITH NAME | ${container_group}
+| | ...
+| | ${dcr_uuid}= | Get Environment Variable | CSIT_DUT1_UUID
+| | ${dcr_root}= | Run Keyword | Get Docker Mergeddir | ${nodes['DUT1']}
+| | ... | ${dcr_uuid}
+| | Set Test Variable | ${dcr_uuid}
+| | Set Test Variable | ${dcr_root}
+| | ...
+| | Construct chains of containers on all DUTs | ${nf_chains} | ${nf_nodes}
+| | ... | nested=${True}
+| | Acquire all '${container_group}' containers
+| | Create all '${container_group}' containers
+| | Configure VPP in all '${container_group}' containers
+| | Start VPP in all '${container_group}' containers
+| | Append To List | ${container_groups} | ${container_group}
index b7e4a75..31c4ae3 100644 (file)
 | Library | resources.libraries.python.Trace
 | Library | resources.libraries.python.topology.Topology
 | ...
+| Resource | resources/libraries/robot/crypto/ipsec.robot
+| Resource | resources/libraries/robot/performance/performance_configuration.robot
+| Resource | resources/libraries/robot/performance/performance_limits.robot
+| Resource | resources/libraries/robot/performance/performance_utils.robot
 | Resource | resources/libraries/robot/shared/container.robot
 | Resource | resources/libraries/robot/shared/qemu.robot
 | Resource | resources/libraries/robot/shared/suite_teardown.robot
+| Resource | resources/libraries/robot/shared/suite_setup.robot
 | Resource | resources/libraries/robot/shared/test_teardown.robot
-
+| Resource | resources/libraries/robot/shared/test_setup.robot
 
 *** Keywords ***
-| Configure all TGs for traffic script
-| | [Documentation] | Prepare all TGs before traffic scripts execution.
-| | ...
-| | All TGs Set Interface Default Driver | ${nodes}
-
 | Show Vpp Errors On All DUTs
 | | [Documentation] | Show VPP errors verbose on all DUTs.
 | | ...
 | | :FOR | ${dut} | IN | @{duts}
 | | | Vpp Get Bridge Domain Data | ${nodes['${dut}']}
 
-| Setup Scheduler Policy for Vpp On All DUTs
-| | [Documentation] | Set realtime scheduling policy (SCHED_RR) with priority 1
-| | ... | on all VPP worker threads on all DUTs.
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | Set VPP Scheduling rr | ${nodes['${dut}']}
-
 | Configure crypto device on all DUTs
 | | [Documentation] | Verify if Crypto QAT device virtual functions are
 | | ... | initialized on all DUTs. If parameter force_init is set to True, then
 | | ...
 | | [Arguments] | ${crypto_type} | ${numvfs} | ${force_init}=${False}
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Crypto Device Verify | ${nodes['${dut}']} | ${crypto_type}
 | | | ... | ${numvfs} | force_init=${force_init}
 
-| Configure AVF interfaces on all DUTs
-| | [Documentation] | Configure virtual functions for AVF interfaces on PCI
-| | ... | interface on all DUTs.
-| | ...
-| | ... | *Arguments:*
-| | ... | - numvfs - Number of VFs to initialize, 0 - disable the VFs
-| | ... | (Optional). Type: integer, default value: ${1}
-| | ... | - osi_layer - OSI Layer type to initialize TG with.
-| | ... | (Optional). Type: string, default value: L2
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Configure AVF device on all DUTs \| ${1} \| L2 \|
-| | ...
-| | [Arguments] | ${numvfs}=${1} | ${osi_layer}=L2
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | ${if1_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if1}
-| | | ... | numvfs=${numvfs} | osi_layer=${osi_layer}
-| | | ${if2_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if2}
-| | | ... | numvfs=${numvfs} | osi_layer=${osi_layer}
-# Currently only one AVF is supported.
-| | | Set Suite Variable | ${${dut}_if1_vf0} | ${if1_avf_arr[0]}
-| | | Set Suite Variable | ${${dut}_if2_vf0} | ${if2_avf_arr[0]}
-
 | Configure kernel module on all DUTs
 | | [Documentation] | Verify if specific kernel module is loaded on all DUTs.
 | | ... | If parameter force_load is set to True, then try to load.
 | Create base startup configuration of VPP on all DUTs
 | | [Documentation] | Create base startup configuration of VPP to all DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Import Library | resources.libraries.python.VppConfigGenerator
 | | | ... | WITH NAME | ${dut}
 | | ...
 | | ${cpu_count_int} | Convert to Integer | ${phy_cores}
 | | ${thr_count_int} | Convert to Integer | ${phy_cores}
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | ${if1_status} | ${value}= | Run Keyword And Ignore Error
 | | | ... | Variable Should Exist | ${${dut}_if1}
 | | ...
 | | ${cpu_count_int} | Convert to Integer | ${phy_cores}
 | | ${thr_count_int} | Convert to Integer | ${phy_cores}
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | ${numa}= | Get interfaces numa node | ${nodes['${dut}']}
 | | | ... | ${${dut}_if1} | ${${dut}_if2}
 | | ... | cpu_skip=${cpu_skip} | filename=/tmp/vnf${i}.conf
 | | ... | i=${i_int}
 
+| Add PCI devices to all DUTs
+| | [Documentation]
+| | ... | Add PCI devices to VPP configuration file.
+| | ...
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error
+| | | ... | Variable Should Exist | ${${dut}_if1}
+| | | ${if1_pci}= | Run Keyword If | '${if1_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
+| | | ${if1_1_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_1}
+| | | ${if1_2_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_2}
+| | | ${if2_status} | ${value}= | Run Keyword And Ignore Error
+| | | ... | Variable Should Exist | ${${dut}_if2}
+| | | ${if2_pci}= | Run Keyword If | '${if2_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2}
+| | | ${if2_1_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_1}
+| | | ${if2_2_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS'
+| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_2}
+| | | @{pci_devs}= | Run Keyword If | '${if1_status}' == 'PASS'
+| | | ... | Create List | ${if1_pci}
+| | | ... | ELSE
+| | | ... | Create List | ${if1_1_pci} | ${if1_2_pci}
+| | | Run Keyword If | '${if2_status}' == 'PASS'
+| | | ... | Append To List | ${pci_devs} | ${if2_pci}
+| | | ... | ELSE
+| | | ... | Append To List | ${pci_devs} | ${if2_1_pci} | ${if2_2_pci}
+| | | Run keyword | ${dut}.Add DPDK Dev | @{pci_devs}
+| | | Run Keyword If | '${if1_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci}
+| | | Run Keyword Unless | '${if1_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if1_1_pci} | ${if1_1_pci}
+| | | Run Keyword Unless | '${if1_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if1_2_pci} | ${if1_2_pci}
+| | | Run Keyword If | '${if2_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if2_pci} | ${if2_pci}
+| | | Run Keyword Unless | '${if2_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if2_1_pci} | ${if2_1_pci}
+| | | Run Keyword Unless | '${if2_status}' == 'PASS'
+| | | ... | Set Test Variable | ${${dut}_if2_2_pci} | ${if2_2_pci}
+
+| Add single PCI device to all DUTs
+| | [Documentation]
+| | ... | Add single (first) PCI device on DUT1 and single (last) PCI device on
+| | ... | DUT2 to VPP configuration file.
+| | ...
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
+| | | Run keyword | ${dut}.Add DPDK Dev | ${if1_pci}
+| | | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci}
+
 | Add no multi seg to all DUTs
 | | [Documentation] | Add No Multi Seg to VPP startup configuration to all DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add DPDK No Multi Seg
 
 | Add DPDK no PCI to all DUTs
 | | [Documentation] | Add DPDK no-pci to VPP startup configuration to all DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add DPDK no PCI
 
 | | ...
 | | [Arguments] | ${rxd}
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add DPDK Dev Default RXD | ${rxd}
 
 | | ...
 | | [Arguments] | ${txd}
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add DPDK Dev Default TXD | ${txd}
 
 | | ...
 | | [Arguments] | ${uio_driver}
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add DPDK Uio Driver | ${uio_driver}
 
 | Add NAT to all DUTs
 | | [Documentation] | Add NAT configuration to all DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Add NAT
 
 | | ... | \| Add cryptodev to all DUTs \| ${4} \|
 | | ...
 | | [Arguments] | ${count}
-| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | ...
 | | :FOR | ${dut} | IN | @{duts}
 | | | ${smt_used}= | Is SMT enabled | ${nodes['${dut}']['cpuinfo']}
 | | | ${thr_count_int}= | Run keyword if | ${smt_used}
 | Write startup configuration on all VPP DUTs
 | | [Documentation] | Write VPP startup configuration on all DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Write Config
 
 | | [Documentation] | Write VPP startup configuration and restart VPP on all
 | | ... | DUTs.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Run keyword | ${dut}.Apply Config
 | | Save VPP PIDs
 | | ...
 | | ${setup_vpp_pids}= | Get VPP PIDs | ${nodes}
 | | ${keys}= | Get Dictionary Keys | ${setup_vpp_pids}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${key} | IN | @{keys}
 | | | ${pid}= | Get From Dictionary | ${setup_vpp_pids} | ${key}
 | | | Run Keyword If | $pid is None | FAIL | No VPP PID found on node ${key}
 | | Verify Vpp On All Duts | ${nodes}
 | | VPP Enable Traces On All Duts | ${nodes}
 | | Save VPP PIDs
-| | Configure all TGs for traffic script
+| | All TGs Set Interface Default Driver | ${nodes}
 | | Update All Interface Data On All Nodes | ${nodes}
 | | Reset PAPI History On All DUTs | ${nodes}
 
 | | Vpp Show Errors On All DUTs | ${nodes}
 | | Verify VPP PID in Teardown
 
-| Set up VPP device test
-# TODO: Generalize this KW if it will not diverge from Functional derivate too
-# much
-| | [Documentation] | Common test setup for vpp-device tests.
-| | ...
-| | Restart Vpp Service On All Duts | ${nodes}
-| | Verify Vpp On All Duts | ${nodes}
-| | VPP Enable Traces On All Duts | ${nodes}
-| | Save VPP PIDs
-| | Configure all TGs for traffic script
-| | Update All Interface Data On All Nodes | ${nodes} | skip_tg_udev=${True}
-| | Reset PAPI History On All DUTs | ${nodes}
-
 | Tear down LISP functional test
 | | [Documentation] | Common test teardown for functional tests with LISP.
 | | ...
 | | Vpp Show Errors On All DUTs | ${nodes}
 | | Verify VPP PID in Teardown
 
-| Set up functional test with containers
-| | [Documentation]
-| | ... | Common test setup for functional tests with containers.
-| | ...
-| | ... | *Arguments:*
-| | ... | - chains: Total number of chains (Optional). Type: integer, default
-| | ... | value: ${1}
-| | ... | - nodeness: Total number of nodes per chain (Optional). Type: integer,
-| | ... | default value: ${1}
-| | ...
-| | ... | _NOTE:_ This KW sets following test case variables:
-| | ... | - dcr_uuid - Parent container UUID.
-| | ... | - dcr_root - Parent container overlay.
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Set up functional test with containers \| 1 \| 1 \|
-| | ...
-| | [Arguments] | ${chains}=${1} | ${nodeness}=${1}
-| | ...
-| | Set Test Variable | @{container_groups} | @{EMPTY}
-| | Set Test Variable | ${container_group} | CNF
-| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
-| | ... | engine=${container_engine} | WITH NAME | ${container_group}
-| | ...
-| | ${dcr_uuid}= | Get Environment Variable | CSIT_DUT1_UUID
-| | ${dcr_root}= | Run Keyword | Get Docker Mergeddir | ${nodes['DUT1']}
-| | ... | ${dcr_uuid}
-| | Set Test Variable | ${dcr_uuid}
-| | Set Test Variable | ${dcr_root}
-| | ...
-| | Construct chains of containers on all DUTs | ${chains} | ${nodeness}
-| | ... | nested=${True}
-| | Acquire all '${container_group}' containers
-| | Create all '${container_group}' containers
-| | Configure VPP in all '${container_group}' containers
-| | Start VPP in all '${container_group}' containers
-| | Append To List | ${container_groups} | ${container_group}
-
 | Stop VPP Service on DUT
 | | [Documentation] | Stop the VPP service on the specified node.
 | | ...
diff --git a/resources/libraries/robot/shared/suite_setup.robot b/resources/libraries/robot/shared/suite_setup.robot
new file mode 100644 (file)
index 0000000..30fb5ac
--- /dev/null
@@ -0,0 +1,246 @@
+# Copyright (c) 2019 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.
+
+"""Keywords used in suite setups."""
+
+*** Settings ***
+| Library | resources.libraries.python.DPDK.DPDKTools
+| Library | resources.libraries.python.InterfaceUtil
+| Library | resources.libraries.python.NodePath
+| Library | resources.libraries.python.topology.Topology
+| Library | resources.libraries.python.TrafficGenerator
+| Library | resources.tools.wrk.wrk
+| ...
+| Documentation | Suite setup keywords.
+
+*** Keywords ***
+| Setup suite single link
+| | [Documentation]
+| | ... | Common suite setup for single link tests.
+| | ... |
+| | ... | Compute path for testing on two given nodes in circular topology
+| | ... | based on interface model provided as an argument and set
+| | ... | corresponding suite variables.
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - duts - List of DUT nodes
+| | ... | - duts_count - Number of DUT nodes.
+| | ... | - tg - TG node
+| | ... | - tg_if1 - 1st TG interface towards DUT.
+| | ... | - tg_if1_mac - 1st TG interface MAC address.
+| | ... | - tg_if2 - 2nd TG interface towards DUT.
+| | ... | - tg_if2_mac - 2nd TG interface MAC address.
+| | ... | - dut{n} - DUTx node
+| | ... | - dut{n}_if1 - 1st DUT interface.
+| | ... | - dut{n}_if1_mac - 1st DUT interface MAC address.
+| | ... | - dut{n}_if2 - 2nd DUT interface.
+| | ... | - dut{n}_if2_mac - 2nd DUT interface MAC address.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${actions} - Additional setup action. Type: list
+| | ...
+| | [Arguments] | @{actions}
+| | ...
+| | ${nic_model_list}= | Create list | ${nic_name}
+| | Append Node | ${nodes['TG']}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Append Node | ${nodes['${dut}']} | filter_list=${nic_model_list}
+| | Append Node | ${nodes['TG']}
+| | Compute Path | always_same_link=${FALSE}
+| | ${tg_if1} | ${tg}= | Next Interface
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${dutx_if1} | ${dutx}= | Next Interface
+| | | ${dutx_if2} | ${dutx}= | Next Interface
+| | | ${dutx_if1_mac}= | Get Interface MAC | ${dutx} | ${dutx_if1}
+| | | ${dutx_if2_mac}= | Get Interface MAC | ${dutx} | ${dutx_if2}
+| | | ${dut_str}= | Convert To Lowercase | ${dut}
+| | | Set Suite Variable | ${${dut_str}} | ${dutx}
+| | | Set Suite Variable | ${${dut_str}_if1} | ${dutx_if1}
+| | | Set Suite Variable | ${${dut_str}_if2} | ${dutx_if2}
+| | | Set Suite Variable | ${${dut_str}_if1_mac} | ${dutx_if1_mac}
+| | | Set Suite Variable | ${${dut_str}_if2_mac} | ${dutx_if2_mac}
+| | ${tg_if2} | ${tg}= | Next Interface
+| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
+| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
+| | ${duts_count}= | Get Length | ${duts}
+| | Set Suite Variable | ${duts}
+| | Set Suite Variable | ${duts_count}
+| | Set Suite Variable | ${tg}
+| | Set Suite Variable | ${tg_if1}
+| | Set Suite Variable | ${tg_if1_mac}
+| | Set Suite Variable | ${tg_if2}
+| | Set Suite Variable | ${tg_if2_mac}
+| | :FOR | ${action} | IN | @{actions}
+| | | Run Keyword | Additional Suite setup Action For ${action}
+
+| Setup suite double link
+| | [Documentation]
+| | ... | Common suite setup for double link tests.
+| | ... |
+| | ... | Compute path for testing on three given nodes in circular topology
+| | ... | with double link between DUTs based on interface model provided as an
+| | ... | argument and set corresponding suite variables.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${actions} - Additional setup action. Type: list
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - duts - List of DUT nodes
+| | ... | - duts_count - Number of DUT nodes.
+| | ... | - tg - TG node
+| | ... | - tg_if1 - 1st TG interface towards DUT.
+| | ... | - tg_if1 - 1st TG interface MAC address.
+| | ... | - tg_if2 - 2nd TG interface towards DUT.
+| | ... | - tg_if2 - 2nd TG interface MAC address.
+| | ... | - dut1 - DUT1 node
+| | ... | - dut1_if1 - DUT1 interface towards TG.
+| | ... | - dut1_if2_1 - DUT1 interface 1 towards DUT2.
+| | ... | - dut1_if2_2 - DUT1 interface 2 towards DUT2.
+| | ... | - dut2 - DUT2 node
+| | ... | - dut2_if1_1 - DUT2 interface 1 towards DUT1.
+| | ... | - dut2_if1_2 - DUT2 interface 2 towards DUT1.
+| | ... | - dut2_if2 - DUT2 interface towards TG.
+| | ...
+| | [Arguments] | @{actions}
+| | ...
+| | ${nic_model_list}= | Create list | ${nic_name}
+| | # Compute path TG - DUT1 with single link in between
+| | Append Node | ${nodes['TG']}
+| | Append Node | ${nodes['DUT1']} | filter_list=${nic_model_list}
+| | Append Node | ${nodes['TG']}
+| | Compute Path
+| | ${tg_if1} | ${tg}= | Next Interface
+| | ${dut1_if1} | ${dut1}= | Next Interface
+| | # Compute path TG - DUT2 with single link in between
+| | Clear Path
+| | Append Node | ${nodes['TG']}
+| | Append Node | ${nodes['DUT2']} | filter_list=${nic_model_list}
+| | Append Node | ${nodes['TG']}
+| | Compute Path
+| | ${tg_if2} | ${tg}= | Next Interface
+| | ${dut2_if2} | ${dut2}= | Next Interface
+| | # Compute path DUT1 - DUT2 with double link in between
+| | Clear Path
+| | Append Node | ${nodes['DUT1']} | filter_list=${nic_model_list}
+| | Append Node | ${nodes['DUT2']} | filter_list=${nic_model_list}
+| | Append Node | ${nodes['DUT1']} | filter_list=${nic_model_list}
+| | Compute Path | always_same_link=${FALSE}
+| | ${dut1_if2_1} | ${dut1}= | First Interface
+| | ${dut1_if2_2} | ${dut1}= | Last Interface
+| | ${dut2_if1_1} | ${dut2}= | First Ingress Interface
+| | ${dut2_if1_2} | ${dut2}= | Last Egress Interface
+| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
+| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
+| | ${duts_count}= | Set Variable | 2
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | # Set suite variables
+| | Set Suite Variable | ${duts}
+| | Set Suite Variable | ${duts_count}
+| | Set Suite Variable | ${tg}
+| | Set Suite Variable | ${tg_if1}
+| | Set Suite Variable | ${tg_if1_mac}
+| | Set Suite Variable | ${tg_if2}
+| | Set Suite Variable | ${tg_if2_mac}
+| | Set Suite Variable | ${dut1}
+| | Set Suite Variable | ${dut1_if1}
+| | Set Suite Variable | ${dut1_if2_1}
+| | Set Suite Variable | ${dut1_if2_2}
+| | Set Suite Variable | ${dut2}
+| | Set Suite Variable | ${dut2_if1_1}
+| | Set Suite Variable | ${dut2_if1_2}
+| | Set Suite Variable | ${dut2_if2}
+| | :FOR | ${action} | IN | @{actions}
+| | | Run Keyword | Additional Suite setup Action For ${action}
+
+| Additional Suite Setup Action For performance
+| | [Documentation]
+| | ... | Additional Setup for suites which uses performance measurement.
+| | ...
+| | Run Keyword If | ${duts_count} == 1
+| | ... | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1} | ${dut1} | ${dut1_if2} | ${osi_layer}
+| | Run Keyword If | ${duts_count} == 2
+| | ... | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1} | ${dut2} | ${dut2_if2} | ${osi_layer}
+
+| Additional Suite Setup Action For dpdk
+| | [Documentation]
+| | ... | Additional Setup for suites which uses dpdk.
+| | ...
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${dut_str}= | Convert To Lowercase | ${dut}
+| | | Initialize DPDK Environment | ${nodes['${dut}']}
+| | | ... | ${${dut_str}_if1} | ${${dut_str}_if2}
+
+| Additional Suite Setup Action For performance_avf
+| | [Documentation]
+| | ... | Additional Setup for suites which uses performance measurement over
+| | ... | SRIOV AVF.
+| | ...
+| | :FOR | ${dut} | IN | @{duts}
+| | | ${if1_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if1}
+| | | ... | numvfs=${1} | osi_layer=${osi_layer}
+| | | ${if2_avf_arr}= | Init AVF interface | ${nodes['${dut}']} | ${${dut}_if2}
+| | | ... | numvfs=${1} | osi_layer=${osi_layer}
+# Currently only one AVF is supported.
+| | | Set Suite Variable | ${${dut}_if1_vf0} | ${if1_avf_arr[0]}
+| | | Set Suite Variable | ${${dut}_if2_vf0} | ${if2_avf_arr[0]}
+| | Run Keyword If | ${duts_count} == 1
+| | ... | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut1} | ${dut1_if2_vf0} | ${osi_layer}
+| | Run Keyword If | ${duts_count} == 2
+| | ... | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
+| | ... | ${dut1} | ${dut1_if1_vf0} | ${dut2} | ${dut2_if2_vf0} | ${osi_layer}
+
+| Additional Suite Setup Action For ipsechw
+| | [Documentation]
+| | ... | Additional Setup for suites which uses QAT HW.
+| | ...
+| | ${numvfs}= | Set Variable If
+| | ... | '${crypto_type}' == 'HW_DH895xcc' | ${32}
+| | ... | '${crypto_type}' == 'HW_C3xxx' | ${16}
+| | Configure crypto device on all DUTs | ${crypto_type} | numvfs=${numvfs}
+| | ... | force_init=${True}
+| | Configure kernel module on all DUTs | vfio_pci | force_load=${True}
+
+| Additional Suite Setup Action For wrk
+| | [Documentation]
+| | ... | Additional Setup for suites which uses WRK TG.
+| | ...
+| | Iface update numa node | ${tg}
+# Make sure TRex is stopped
+| | ${running}= | Is TRex running | ${tg}
+| | Run keyword if | ${running}==${True} | Teardown traffic generator | ${tg}
+| | ${curr_driver}= | Get PCI dev driver | ${tg}
+| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
+| | Run keyword if | '${curr_driver}'!='${None}'
+| | ... | PCI Driver Unbind | ${tg} |
+| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
+# Bind tg_if1 to driver specified in the topology
+| | ${driver}= | Get Variable Value | ${tg['interfaces']['${tg_if1}']['driver']}
+| | PCI Driver Bind | ${tg}
+| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} | ${driver}
+# Set IP on tg_if1
+| | ${intf_name}= | Get Linux interface name | ${tg}
+| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']}
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.10.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.20.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.30.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.40.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.50.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.60.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.70.1 | 24
+| | Set Linux interface IP | ${tg} | ${intf_name} | 192.168.80.1 | 24
+| | Set Linux interface up | ${tg} | ${intf_name}
+| | Install wrk | ${tg}
index 1b738ea..e5db4f0 100644 (file)
@@ -15,6 +15,7 @@
 
 *** Settings ***
 | Library | resources.libraries.python.DPDK.DPDKTools
+| Library | resources.libraries.python.TrafficGenerator
 | ...
 | Documentation | Suite teardown keywords.
 
@@ -41,7 +42,6 @@
 | | [Documentation]
 | | ... | Additional teardown for suites which uses dpdk.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Cleanup DPDK Environment
 | | | ... | ${nodes['${dut}']} | ${${dut}_if1} | ${${dut}_if2}
diff --git a/resources/libraries/robot/shared/test_setup.robot b/resources/libraries/robot/shared/test_setup.robot
new file mode 100644 (file)
index 0000000..17e9e6c
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright (c) 2019 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.
+
+"""Keywords used in test setups."""
+
+*** Settings ***
+| Library | resources.libraries.python.PapiHistory
+| ...
+| Documentation | Test Setup keywords.
+
+*** Keywords ***
+| Setup test
+| | [Documentation]
+| | ... | Common test setup for tests.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${actions} - Additional setup action. Type: list
+| | ...
+| | [Arguments] | @{actions}
+| | ...
+| | Reset PAPI History On All DUTs | ${nodes}
+| | Create base startup configuration of VPP on all DUTs
+| | :FOR | ${action} | IN | @{actions}
+| | | Run Keyword | Additional Test Setup Action For ${action}
+
+| Additional Test Setup Action For namespace
+| | [Documentation]
+| | ... | Additional Setup for tests which uses namespace.
+| | ...
+| | :FOR | ${dut} | IN | @{duts}
+| | | Clean Up Namespaces | ${nodes['${dut}']}
+
+| Additional Test Setup Action For ligato
+| | [Documentation]
+| | ... | Additional Setup for tests which uses Ligato Kubernetes.
+| | ...
+| | Apply Kubernetes resource on all duts | ${nodes} | namespaces/csit.yaml
+| | Apply Kubernetes resource on all duts | ${nodes} | pods/kafka.yaml
+| | Apply Kubernetes resource on all duts | ${nodes} | pods/etcdv3.yaml
+| | Apply Kubernetes resource on all duts | ${nodes}
+| | ... | configmaps/vswitch-agent-cfg.yaml
+| | Apply Kubernetes resource on all duts | ${nodes}
+| | ... | configmaps/vnf-agent-cfg.yaml
+| | Apply Kubernetes resource on all duts | ${nodes}
+| | ... | pods/contiv-sfc-controller.yaml
+| | Apply Kubernetes resource on all duts | ${nodes}
+| | ... | pods/contiv-vswitch.yaml
index e30aa9f..f95e369 100644 (file)
 """Keywords used in test teardowns."""
 
 *** Settings ***
+| Resource | resources/libraries/robot/shared/container.robot
+| Resource | resources/libraries/robot/shared/qemu.robot
+| Library | resources.libraries.python.PapiHistory
+| Library | resources.libraries.python.topology.Topology
+| ...
 | Documentation | Test teardown keywords.
 
 *** Keywords ***
 | | ...
 | | Remove All Added Ports On All DUTs From Topology | ${nodes}
 | | Show PAPI History On All DUTs | ${nodes}
-| | Get Core Files on All Nodes | ${nodes}
-| | Verify VPP PID in Teardown
+| | Run Keyword If Test Failed
+| | ... | Get Core Files on All Nodes | ${nodes}
+| | Run Keyword If Test Failed
+| | ... | Verify VPP PID in Teardown
 | | :FOR | ${action} | IN | @{actions}
 | | | Run Keyword | Additional Test Tear Down Action For ${action}
 
@@ -59,7 +66,6 @@
 | | [Documentation]
 | | ... | Additional teardown for tests which uses vhost(s) and VM(s).
 | | ...
-| | # TODO: Remove IF condition once devicetest is running KernelVM.
 | | Show VPP vhost on all DUTs | ${nodes}
 | | Run Keyword If | "PERFTEST" in @{TEST TAGS} | vnf_manager.Kill All VMs
 | | Run Keyword If | "DEVICETEST" in @{TEST TAGS} | vm_node.Qemu Kill
 | | [Documentation]
 | | ... | Additional teardown for tests which uses NAT feature.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
-| | | Show NAT verbose | ${nodes['${dut}']}
+| | | Run Keyword If Test Failed
+| | | ... | Show NAT verbose | ${nodes['${dut}']}
 
 | Additional Test Tear Down Action For namespace
 | | [Documentation]
 | | ... | Additional teardown for tests which uses namespace.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Clean Up Namespaces | ${nodes['${dut}']}
 
@@ -84,7 +89,6 @@
 | | [Documentation]
 | | ... | Additional teardown for tests which uses linux_bridge.
 | | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
 | | :FOR | ${dut} | IN | @{duts}
 | | | Linux Del Bridge | ${nodes['${dut}']} | ${bid_TAP}
 
 | | ...
 | | Run Keyword If Test Failed
 | | ... | Vpp Log Plugin Acl Settings | ${dut1}
-| | Run Keyword If Test Failed | Run Keyword And Ignore Error
+| | Run Keyword If Test Failed
 | | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1}
 
 | Additional Test Tear Down Action For macipacl
 | | [Documentation]
 | | ... | Additional teardown for tests which uses MACIP ACL feature.
 | | ...
-| | Run Keyword If Test Failed | Run Keyword And Ignore Error
+| | Run Keyword If Test Failed
 | | ... | Vpp Log Macip Acl Settings | ${dut1}
-| | Run Keyword And Ignore Error
+| | Run Keyword If Test Failed
 | | ... | Vpp Log Macip Acl Interface Assignment | ${dut1}
 
 | Additional Test Tear Down Action For srv6
 | | ... | Show SR Policies on all DUTs | ${nodes}
 | | Run Keyword If Test Failed
 | | ... | Show SR Steering Policies on all DUTs | ${nodes}
-| | Run Keyword If Test Failed | Show SR LocalSIDs on all DUTs | ${nodes}
+| | Run Keyword If Test Failed
+| | ... | Show SR LocalSIDs on all DUTs | ${nodes}
 
 | Additional Test Tear Down Action For ligato
 | | [Documentation]
index 8a39a0b..39a570c 100644 (file)
 | Documentation | L2 keywords to set up VPP to test tcp.
 
 *** Keywords ***
-| Create base startup configuration of VPP for TCP tests on all DUTs
-| | [Documentation] | Create base startup configuration of VPP for TCP related
-| | ... | tests to all DUTs.
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | Import Library | resources.libraries.python.VppConfigGenerator
-| | | ... | WITH NAME | ${dut}
-| | | Run keyword | ${dut}.Set Node |  ${nodes['${dut}']}
-| | | Run keyword | ${dut}.Add Unix Log
-| | | Run keyword | ${dut}.Add Unix CLI Listen
-| | | Run keyword | ${dut}.Add Unix Nodaemon
-| | | Run keyword | ${dut}.Add DPDK Socketmem | 4096,4096
-| | | Run keyword | ${dut}.Add DPDK Log Level | debug
-| | | Run keyword | ${dut}.Add DPDK Uio Driver
-| | | Run keyword | ${dut}.Add Heapsize | 4G
-| | | Run keyword | ${dut}.Add Plugin | disable | default
-| | | Run keyword | ${dut}.Add Plugin | enable | @{plugins_to_enable}
-| | | Run keyword | ${dut}.Add IP6 Hash Buckets | 2000000
-| | | Run keyword | ${dut}.Add IP6 Heap Size | 4G
-| | | Run keyword | ${dut}.Add IP Heap Size | 4G
-
 | Set up HTTP server with paramters on the VPP node
 | | [Documentation]
 | | ... | Configure IP address on the port, set it up and start HTTP server on
index 26b05c8..99f8348 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/dpdk/default.robot
 | Library | resources.libraries.python.DPDK.DPDKTools
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDR | 1NUMA
 | ... | NIC_Intel-X710 | DPDK | ETH | L2XCFWD | BASE
 | ...
-| Suite Setup | Set up DPDK 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance | dpdk
 | Suite Teardown | Tear down suite | performance | dpdk
 | ...
 | Test Template | Local Template
@@ -44,6 +43,7 @@
 | ... | MAC addresses are matching MAC addresses of the TG node interfaces.
 
 *** Variables ***
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # Traffic profile:
index d4c6c38..856db6f 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/dpdk/default.robot
 | Library | resources.libraries.python.DPDK.DPDKTools
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | 1NUMA
 | ... | NIC_Intel-X710 | DPDK | IP4FWD | BASE | ETH
 | ...
-| Suite Setup | Set up DPDK 3-node performance topology with DUT's NIC model
-| ... | L3 | ${nic_name}
+| Suite Setup | Setup suite single link | performance | dpdk
 | Suite Teardown | Tear down suite | performance | dpdk
 | ...
 | Test Template | Local Template
@@ -44,6 +43,7 @@
 | ... | interfaces.
 
 *** Variables ***
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # Traffic profile:
index 0f018b3..f0f537d 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/dpdk/default.robot
 | Library | resources.libraries.python.DPDK.DPDKTools
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDR | 1NUMA
 | ... | NIC_Intel-X710 | DPDK | ETH | L2XCFWD | BASE
 | ...
-| Suite Setup | Set up DPDK 2-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance | dpdk
 | Suite Teardown | Tear down suite | performance | dpdk
 | ...
 | Test Template | Local Template
@@ -44,6 +43,7 @@
 | ... | MAC addresses are matching MAC addresses of the TG node interfaces.
 
 *** Variables ***
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # Traffic profile:
index ae5932e..5aaf756 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/dpdk/default.robot
 | Library | resources.libraries.python.DPDK.DPDKTools
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | 1NUMA
 | ... | NIC_Intel-X710 | DPDK | IP4FWD | BASE | ETH
 | ...
-| Suite Setup | Set up DPDK 2-node performance topology with DUT's NIC model
-| ... | L3 | ${nic_name}
+| Suite Setup | Setup suite single link | performance | dpdk
 | Suite Teardown | Tear down suite | performance | dpdk
 | ...
 | Test Template | Local Template
@@ -44,6 +43,7 @@
 | ... | interfaces.
 
 *** Variables ***
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # Traffic profile:
index 8fad8c6..5110419 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | BASE | MEMIF
 | ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -51,6 +49,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index cfa9cbc..abaf83e 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF
 | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -51,6 +49,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 78ee42f..0fd00e5 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF
 | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -51,6 +49,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index a3a9c08..2e0e14e 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF
 | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -51,6 +49,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 99e5dee..baf3cb0 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | L2BDBASE | SCALE | MEMIF
 | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -51,6 +49,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index ca72c31..679e9ac 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | L2XCBASE | MEMIF
 | ... | K8S | 1VSWITCH | 1VNF | VPP_AGENT | SFC_CONTROLLER | PARALLEL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -50,6 +48,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index e018bf1..9035986 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF
 | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -50,6 +48,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 4be47e6..fe1bed4 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF
 | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | HORIZONTAL
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -50,6 +48,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 66c4703..abf4311 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF
 | ... | K8S | 1VSWITCH | 2VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -50,6 +48,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 2cfc9bd..36a3fce 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | SCALE | L2XCBASE | MEMIF
 | ... | K8S | 1VSWITCH | 4VNF | VPP_AGENT | SFC_CONTROLLER | CHAIN
 | ...
-| Suite Setup | Set up 3-node performance topology with DUT's NIC model
-| ... | L2 | ${nic_name}
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test with Ligato Kubernetes
+| Test Setup | Setup test | ligato
 | Test Teardown | Tear down test | ligato
 | ...
 | Test Template | Local Template
@@ -50,6 +48,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${osi_layer}= | L2
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${0}
 # SFC profile
index 56ce814..d7e3990 100644 (file)
@@ -39,8 +39,6 @@
 | | ... | - dut_stats - Switch to enable DUT statistics
 | | ... | - vm_image - Guest VM disk image.
 | | ... | - packages_dir - Path to directory where VPP packages are stored.
-| | ... | - vpp_rpm_pkgs - Package list for CentOS based system.
-| | ... | - vpp_deb_pkgs - Package list for Debian based system.
 | | ...
 | | Set Global Variable | ${pkt_trace} | ${False}
 | | Set Global Variable | ${dut_stats} | ${True}
index b504507..6d4cffd 100644 (file)
 # limitations under the License.
 
 *** Settings ***
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
 | Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/memif.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2BDMACLRN | BASE | ETH | MEMIF | DOCKER
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | container
 | ...
 | Documentation | *L2 bridge-domain test cases with memif interface*
@@ -41,6 +40,8 @@
 | ... | src-addr, dst-addr and MAC addresses.pecifications:* RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${nic_name}= | virtual
 # L2BD
 | ${bd_id1}= | 1
 | ${bd_id2}= | 2
@@ -50,7 +51,6 @@
 | ${container_engine}= | Docker
 | ${container_chain_topology}= | chain_functional
 
-# TODO: Add update of VPP PIDs after container creation
 *** Test Cases ***
 | tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-device
 | | [Documentation]
 | | ... | two of its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
 | | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
 | | ... | two of its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
 | | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
index 1d1fb15..12896b3 100644 (file)
 # limitations under the License.
 
 *** Settings ***
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/l2/l2_xconnect.robot
 | Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/memif.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2XCFWD | BASE | ETH | MEMIF | DOCKER
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | container
 | ...
 | Documentation | *L2 cross-connect test cases with memif interface*
 | ... | *[Ref] Applicable standard specifications:* RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${nic_name}= | virtual
 # Memif
 | ${sock_base}= | memif-DUT1_CNF
 # Container
 | ${container_engine}= | Docker
 | ${container_chain_topology}= | chain_functional
 
-# TODO: Add update of VPP PIDs after container creation
 *** Test Cases ***
 | tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-device
 | | [Documentation]
 | | ... | i/fs to be switched by DUT to and from docker; verify all packets \
 | | ... | are received. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
 | | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
 | | ... | be switched by DUT to and from docker; verify all packets are\
 | | ... | received. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base}
 | | ... | ${sock_base} | dcr_uuid=${dcr_uuid}
index 2db7a79..a91810b 100644 (file)
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.IPUtil
 | ...
-| Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/memif.robot
+| Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | BASE | ETH | MEMIF | DOCKER
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | container
 | ...
 | Documentation | *IPv4 routing test cases with memif interface*
@@ -45,6 +44,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${nic_name}= | virtual
 # IP
 | ${net1}= | 10.0.1.0
 | ${net3}= | 10.0.3.0
@@ -62,7 +63,6 @@
 | ${container_engine}= | Docker
 | ${container_chain_topology}= | chain_functional
 
-# TODO: Add update of VPP PIDs after container creation
 *** Test Cases ***
 | tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-device
 | | [Documentation]
 | | ... | send ICMPv4 Echo Reqest form one TG interface to another one to be \
 | | ... | switched by DUT1; verify header of received packet.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node
 | | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid}
index a6d3c8c..122e830 100644 (file)
 | Library | resources.libraries.python.IPUtil
 | ...
 | Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/memif.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP6FWD | BASE | ETH | MEMIF | DOCKER
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | container
 | ...
 | Documentation | *IPv4 routing test cases with memif interface*
@@ -44,6 +43,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
+| ${nic_name}= | virtual
 # IP
 | ${net1}= | 2001:1::0
 | ${net3}= | 2001:3::0
@@ -61,7 +62,6 @@
 | ${container_engine}= | Docker
 | ${container_chain_topology}= | chain_functional
 
-# TODO: Add update of VPP PIDs after container creation
 *** Test Cases ***
 | tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-device
 | | [Documentation]
 | | ... | send ICMPv6 Echo Reqest form one TG interface to another one to be \
 | | ... | switched by DUT1; verify header of received packet.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Set up functional test with containers
+| | And Start containers for device test
 | | And Configure interfaces in path up
 | | When Set up memif interfaces on DUT node
 | | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid}
index 8eec787..b85bd70 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/crypto/ipsec.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE
 | ...
-| Test Setup | Set up IPSec SW device functional test | IPv4
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace
 | ...
 | Documentation | *IPv4 IPsec tunnel mode test suite.*
@@ -33,6 +33,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${nic_name}= | virtual
 | ${tg_spi}= | ${1000}
 | ${dut_spi}= | ${1001}
 | ${ESP_PROTO}= | ${50}
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv4 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
-| | ... | ${dut_tun_ip} | ${tg_tun_ip}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
-| | ... | ${dut_tun_ip}
-
-| tc02-eth2p-ethip4ipsectnl-ip4base-device-aes-256-cbc-sha-256-128
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-256-128 in tunnel\
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
 | | ... | ${dut_tun_ip} | ${tg_tun_ip}
 | | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
 | | ... | ${dut_tun_ip}
 
-| tc03-eth2p-ethip4ipsectnl-ip4base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip4ipsectnl-ip4base-device-aes-128-cbc-sha-512-256
 | | [Documentation]
 | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
 | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv4 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
-| | ... | ${dut_tun_ip} | ${tg_tun_ip}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
-| | ... | ${dut_tun_ip}
-
-| tc04-eth2p-ethip4ipsectnl-ip4base-device-aes-256-cbc-sha-512-256
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-512-256 in tunnel\
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
 | | ... | ${dut_tun_ip} | ${tg_tun_ip}
index 9b54593..f37630a 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/crypto/ipsec.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE
 | ...
-| Test Setup | Set up IPSec SW device functional test | IPv4
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace
 | ...
 | Documentation | *IPv4 IPsec transport mode test suite.*
@@ -33,6 +33,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${nic_name}= | virtual
 | ${tg_spi}= | ${1000}
 | ${dut_spi}= | ${1001}
 | ${ESP_PROTO}= | ${50}
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv4 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-
-| tc02-eth2p-ethip4ipsectpt-ip4base-device-aes-256-cbc-sha-256-128
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-256-128 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
 | | Then Send IPsec Packet and verify ESP encapsulation in received packet
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
 | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
 
-| tc03-eth2p-ethip4ipsectpt-ip4base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip4ipsectpt-ip4base-device-aes-128-cbc-sha-512-256
 | | [Documentation]
 | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
 | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in transport
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv4 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-
-| tc04-eth2p-ethip4ipsectpt-ip4base-device-aes-256-cbc-sha-512-256
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-512-256 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
 | | Then Send IPsec Packet and verify ESP encapsulation in received packet
index b0fd6c3..5524b4f 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/crypto/ipsec.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE
 | ...
-| Test Setup | Set up IPSec SW device functional test | IPv6
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace
 | ...
 | Documentation | *IPv6 IPsec tunnel mode test suite.*
@@ -33,6 +33,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${nic_name}= | virtual
 | ${tg_spi}= | ${1000}
 | ${dut_spi}= | ${1001}
 | ${ESP_PROTO}= | ${50}
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv6 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
-| | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
-| | ... | ${dut_tun_ip}
-
-| tc02-eth2p-ethip6ipsectnl-ip6base-device-aes-256-cbc-sha-256-128
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-256-128 in tunnel\
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
 | | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
 | | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
 | | ... | ${dut_tun_ip}
 
-| tc03-eth2p-ethip6ipsectnl-ip6base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip6ipsectnl-ip6base-device-aes-128-cbc-sha-512-256
 | | [Documentation]
 | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
 | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv6 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
-| | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip}
-| | ... | ${dut_tun_ip}
-
-| tc04-eth2p-ethip6ipsectnl-ip6base-device-aes-256-cbc-sha-512-256
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-512-256 in tunnel\
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip}
 | | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE}
index e65b891..a4623ed 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/crypto/ipsec.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE
 | ...
-| Test Setup | Set up IPSec SW device functional test | IPv6
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace
 | ...
 | Documentation | *IPv6 IPsec transport mode test suite.*
@@ -33,6 +33,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${nic_name}= | virtual
 | ${tg_spi}= | ${1000}
 | ${dut_spi}= | ${1001}
 | ${ESP_PROTO}= | ${50}
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv6 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
-| | ... | is_ipv6=${TRUE}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-
-| tc02-eth2p-ethip6ipsectpt-ip6base-device-aes-256-cbc-sha-256-128
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-256-128 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 256 128
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
 | | ... | is_ipv6=${TRUE}
 | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
 | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
 
-| tc03-eth2p-ethip6ipsectpt-ip6base-device-aes-128-cbc-sha-512-256
+| tc02-eth2p-ethip6ipsectpt-ip6base-device-aes-128-cbc-sha-512-256
 | | [Documentation]
 | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
 | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in transport
 | | ... | mode.
 | | ... | [Ver] Send and receive ESP packet between TG and VPP node.
 | | ...
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure topology for IPv6 IPsec testing
 | | ${encr_alg}= | Crypto Alg AES CBC 128
 | | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
-| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
-| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
-| | ... | is_ipv6=${TRUE}
-| | Then Send IPsec Packet and verify ESP encapsulation in received packet
-| | ... | ${tg_node} | ${tg_if} | ${dut_if_mac}
-| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi}
-| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip}
-
-| tc04-eth2p-ethip6ipsectpt-ip6base-device-aes-256-cbc-sha-512-256
-| | [Documentation]
-| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\
-| | ... | algorithm AES-CBC-256 and integrity algorithm SHA-512-256 in transport
-| | ... | mode.
-| | ... | [Ver] Send and receive ESP packet between TG and VPP node.
-| | ...
-| | ${encr_alg}= | Crypto Alg AES CBC 256
-| | ${auth_alg}= | Integ Alg SHA 512 256
-| | Given Generate keys for IPSec | ${encr_alg} | ${auth_alg}
-| | When Configure manual keyed connection for IPSec
+| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg}
+| | And Configure manual keyed connection for IPSec
 | | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg}
 | | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip}
 | | ... | is_ipv6=${TRUE}
index 0cd3dc8..6cf2b32 100644 (file)
@@ -27,9 +27,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2BD | BASE | ETH | TAP
 | ...
-| Test Setup | Run Keywords | Set up VPP device test
-| ... | AND | Clean Up Namespaces | ${nodes['DUT1']}
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test | namespace
 | Test Teardown | Tear down test | packet_trace | namespace | linux_bridge
 | ...
 | Documentation | *Tap Interface Traffic Tests*
 | ... | *[Ref] Applicable standard specifications:*
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${bid_from_TG}= | 19
 | ${bid_to_TG}= | 20
 | ${bid_TAP}= | tapBr
-
 | ${tap_int1}= | tap0
 | ${tap_int2}= | tap1
 
 | | ... | [Ver] Packet sent from TG is passed through all L2BD and received\
 | | ... | back on TG. Then src_ip, dst_ip and MAC are checked.
 | | ...
-| | Given Configure path in 2-node circular topology | ${nodes['TG']}
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology | ${nodes['TG']}
 | | ... | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Set interfaces in 2-node circular topology up
 | | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1}
index 24d0cdd..7568f03 100644 (file)
 | Library  | resources.libraries.python.Tap
 | Library  | resources.libraries.python.Trace
 | ...
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/ip/ip6.robot
 | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
@@ -28,9 +28,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE | TAP
 | ...
-| Test Setup | Run Keywords | Set up VPP device test
-| ... | AND | Clean Up Namespaces | ${nodes['DUT1']}
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test | namespace
 | Test Teardown | Tear down test | packet_trace | namespace
 | ...
 | Documentation | *Tap Interface Traffic Tests*
 | ... | *[Ref] Applicable standard specifications:*
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${tap1_VPP_ip}= | 16.0.10.1
 | ${tap1_NM_ip}= | 16.0.10.2
 | ${tap1_NM_mac}= | 02:00:00:00:00:02
 | ${tap_int1}= | tap0
-
 | ${namespace1}= | nmspace1
-
 | ${dut_ip_address}= | 192.168.0.1
 | ${tg_ip_address}= | 192.168.0.2
 | ${tg_ip_address_GW}= | 192.168.0.0
 | | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\
 | | ... | received on TG.
 | | ...
-| | Given Configure path in 2-node circular topology | ${nodes['TG']}
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology | ${nodes['TG']}
 | | ... | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Set interfaces in 2-node circular topology up
 | | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
 | | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\
 | | ... | received on TG.
 | | ...
-| | Given Configure path in 2-node circular topology | ${nodes['TG']}
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology | ${nodes['TG']}
 | | ... | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Set interfaces in 2-node circular topology up
 | | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
index 34429c6..dad29ff 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test
 | ...
 | Documentation | *IPv4 routing test cases*
@@ -38,6 +38,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${tg_to_dut_if1_ip4}= | 10.10.10.2
 | ${tg_to_dut_if2_ip4}= | 20.20.20.2
 | ${dut_to_tg_if1_ip4}= | 10.10.10.1
 | | ...
 | | ${hops}= | Set Variable | ${0}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
 | | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
 | | ...
 | | ${hops}= | Set Variable | ${0}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
 | | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
 | | ...
 | | ${hops}= | Set Variable | ${1}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
 | | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
 | | ...
 | | ${hops}= | Set Variable | ${1}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4}
 | | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4}
index 1145ff9..66a3a0f 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/ip/ip6.robot
 | Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/ip/ip6.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP6FWD | BASE | ETH | IP6BASE
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test
 | ...
 | Documentation | *IPv6 routing test cases*
@@ -38,6 +38,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${tg_to_dut_if1_ip6}= | 2001:1::2
 | ${tg_to_dut_if2_ip6}= | 2001:2::2
 | ${dut_to_tg_if1_ip6}= | 2001:1::1
 | | ...
 | | ${hops}= | Set Variable | ${0}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
 | | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
 | | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send IPv6 echo request packet and verify headers | ${tg_node}
 | | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if1}
 | | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if1_mac}
 | | ...
 | | ${hops}= | Set Variable | ${0}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
 | | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
 | | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send IPv6 echo request packet and verify headers | ${tg_node}
 | | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if2}
 | | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if2_ip6} | ${dut_to_tg_if1_mac}
 | | ...
 | | ${hops}= | Set Variable | ${1}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
 | | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
 | | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send IPv6 echo request packet and verify headers | ${tg_node}
 | | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
 | | ... | ${tg_to_dut_if1_ip6} | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_mac}
 | | ...
 | | ${hops}= | Set Variable | ${1}
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6}
 | | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6}
 | | ... | remote_host2_ip6=${remote_host2_ip6}
 | | ... | remote_host_ip6_prefix=${remote_host_ip6_prefix}
 | | And Suppress ICMPv6 router advertisement message | ${nodes}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send IPv6 echo request packet and verify headers | ${tg_node}
 | | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2}
 | | ... | ${remote_host1_ip6} | ${remote_host2_ip6} | ${dut_to_tg_if1_mac}
index 616f8c6..47aae65 100644 (file)
 
 *** Settings ***
 | Library | resources.libraries.python.L2Util
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
 | Resource | resources/libraries/robot/l2/l2_traffic.robot
-| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2BDMACLRN | BASE | ETH | ICMP
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test
 | ...
 | Documentation | *L2 bridge-domain test cases*
@@ -42,6 +42,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${bd_id}= | 1
 
 *** Test Cases ***
 | | ... | its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | And Create bridge domain | ${dut_node} | ${bd_id}
@@ -62,7 +67,7 @@
 | | ... | ${bd_id}
 | | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
 | | ... | ${bd_id}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node}
 | | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
 | | ...
 | | ... | its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | And Create bridge domain | ${dut_node} | ${bd_id}
@@ -86,7 +94,7 @@
 | | ... | ${bd_id}
 | | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2}
 | | ... | ${bd_id}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send ICMPv6 bidirectionally and verify received packets
 | | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
 | | VPP get bridge domain data | ${nodes['DUT1']} | bd_id=${bd_id}
index ff1ef41..7053f7a 100644 (file)
@@ -20,8 +20,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2XCFWD | BASE | ETH | ICMP
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test
 | ...
 | Documentation | *L2 cross-connect test cases*
 | ... | dst-addr and MAC addresses.
 | ... | *[Ref] Applicable standard specifications:* RFC792
 
+*** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
+
 *** Test Cases ***
 | tc01-eth2p-ethicmpv4-l2xcbase-device
 | | [Documentation]
 | | ... | its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send ICMPv4 bidirectionally and verify received packets
 | | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
 
 | | ... | its interfaces to be switched by DUT1; verify all packets are \
 | | ... | received.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
-| | When All Vpp Interfaces Ready Wait | ${nodes}
+| | And All Vpp Interfaces Ready Wait | ${nodes}
 | | Then Send ICMPv6 bidirectionally and verify received packets
 | | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
index 9c9bd39..a1a1947 100644 (file)
@@ -20,9 +20,9 @@
 | Library | resources.libraries.python.VhostUser
 | Library | resources.libraries.python.VPPUtil
 | ...
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/ip/ip4.robot
 | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
@@ -30,8 +30,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP4FWD | BASE | ETH | VHOST | 1VM
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | vhost
 | ...
 | Documentation | *IPv4 routing test cases with vhost user interface*
@@ -50,6 +50,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${net1}= | 10.0.1.0
 | ${net3}= | 10.0.3.0
 | ${net1_ip1}= | 10.0.1.1
 | | ... | the same network. There is created linux bridge on VM to pass packet \
 | | ... | from one vhost-user interface to another one.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | ${vhost1}= | And Vpp Create Vhost User Interface | ${dut_node} | ${sock1}
 | | VPP Add IP Neighbor | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac}
 | | VPP Add IP Neighbor
 | | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac}
-| | When Configure VM for vhost L2BD forwarding
+| | And Configure VM for vhost L2BD forwarding
 | | ... | ${dut_node} | ${sock1} | ${sock2}
 | | Then Send packet and verify headers
 | | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2}
index 3f71f83..f125bba 100644 (file)
@@ -20,9 +20,9 @@
 | Library | resources.libraries.python.VhostUser
 | Library | resources.libraries.python.VPPUtil
 | ...
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/ip/ip6.robot
 | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/shared/interfaces.robot
 | Resource | resources/libraries/robot/shared/testing_path.robot
 | Resource | resources/libraries/robot/shared/traffic.robot
@@ -30,8 +30,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | IP6FWD | BASE | ETH | VHOST | 1VM
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | vhost
 | ...
 | Documentation | *IPv4 routing test cases with vhost user interface*
@@ -50,6 +50,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${net1}= | 2001:1::0
 | ${net3}= | 2001:3::0
 | ${net1_ip1}= | 2001:1::1
 | | ... | the same network. There is created linux bridge on VM to pass packet \
 | | ... | from one vhost-user interface to another one.
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
 | | ${vhost1}= | And Vpp Create Vhost User Interface | ${dut_node} | ${sock1}
 | | ... | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac}
 | | VPP Add IP Neighbor
 | | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac}
-| | When Configure VM for vhost L2BD forwarding
+| | And Configure VM for vhost L2BD forwarding
 | | ... | ${dut_node} | ${sock1} | ${sock2}
 | | Then Send packet and verify headers
 | | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2}
index 30ad621..2a821a7 100644 (file)
@@ -20,8 +20,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2BDMACLRN | BASE | ETH | VHOST | 1VM
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | vhost
 | ...
 | Documentation | *L2 bridge-domain test cases with vhost user interface*
 | ... | *[Ref] Applicable standard specifications:* RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${bd_id1}= | 1
 | ${bd_id2}= | 2
-
 | ${sock1}= | /tmp/sock1
 | ${sock2}= | /tmp/sock2
 
 | | ... | switched thru DUT1 and VM in both directions and are correct on \
 | | ... | receive. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
-| | When Configure vhost interfaces for L2BD forwarding | ${dut_node}
+| | And Configure vhost interfaces for L2BD forwarding | ${dut_node}
 | | ... | ${sock1}
 | | ... | ${sock2}
 | | And Create bridge domain | ${dut_node} | ${bd_id1}
 | | ... | switched thru DUT1 and VM in both directions and are correct on \
 | | ... | receive. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
-| | When Configure vhost interfaces for L2BD forwarding | ${dut_node}
+| | And Configure vhost interfaces for L2BD forwarding | ${dut_node}
 | | ... | ${sock1}
 | | ... | ${sock2}
 | | And Create bridge domain | ${dut_node} | ${bd_id1}
index b610a6c..a820bd2 100644 (file)
@@ -24,8 +24,8 @@
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV
 | ... | FUNCTEST | L2XCFWD | BASE | ETH | VHOST | 1VM
 | ...
-| Test Setup | Set up VPP device test
-| ...
+| Suite Setup | Setup suite single link
+| Test Setup | Setup test
 | Test Teardown | Tear down test | packet_trace | vhost
 | ...
 | Documentation | *L2 cross-connect test cases with vhost user interface*
@@ -45,6 +45,8 @@
 | ... | *[Ref] Applicable standard specifications:* RFC792
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so
+| ${nic_name}= | virtual
 | ${sock1}= | /tmp/sock1
 | ${sock2}= | /tmp/sock2
 
 | | ... | i/fs to be switched by DUT to and from VM; verify all packets \
 | | ... | are received. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
-| | When Configure vhost interfaces for L2BD forwarding | ${dut_node}
+| | And Configure vhost interfaces for L2BD forwarding | ${dut_node}
 | | ... | ${sock1} | ${sock2}
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${vhost_if1}
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${vhost_if2}
 | | ... | be switched by DUT to and from VM; verify all packets are \
 | | ... | received. [Ref]
 | | ...
-| | Given Configure path in 2-node circular topology
+| | Given Add PCI devices to all DUTs
+| | And Apply startup configuration on all VPP DUTs
+| | And VPP Enable Traces On All Duts | ${nodes}
+| | When Configure path in 2-node circular topology
 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
 | | And Configure interfaces in path up
-| | When Configure vhost interfaces for L2BD forwarding | ${dut_node}
+| | And Configure vhost interfaces for L2BD forwarding | ${dut_node}
 | | ... | ${sock1} | ${sock2}
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${vhost_if1}
 | | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${vhost_if2}
index 1f65414..578c573 100644 (file)
 | | ... | _NOTE:_ This KW sets following suite variables:
 | | ... | - pkt_trace - Switch to enable packet trace for test.
 | | ... | - dut_stats - Switch to enable DUT statistics.
-| | ... | - plugins_to_enable - List of plugins to be enabled for test.
 | | ... | - packages_dir - Directory with VPP binary packages.
 | | ...
 | | Set Global Variable | ${pkt_trace} | ${False}
 | | Set Global Variable | ${dut_stats} | ${True}
-| | @{plugins_to_enable}= | Create List | dpdk_plugin.so
-| | Set Global Variable | @{plugins_to_enable}
 | | Set Global Variable | ${packages_dir} | /tmp/openvpp-testing/download_dir/
index 8125605..3a4aced 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | DOT1Q | L2BDMACLRN | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -55,7 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${4}
 | ${subid}= | 10
 | ${tag_rewrite}= | pop-1
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
-| | When Initialize L2 Bridge Domain with memif pairs and VLAN in circular topology
+| | When Start containers for performance test
+| | And Initialize L2 Bridge Domain with memif pairs and VLAN in circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${subid} | ${tag_rewrite}
 | | Then Find NDR and PDR intervals using optimized search
 
index bb6e551..43b7252 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | MEMIF | LXC
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 Bridge Domain with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index 6ff0a96..0b1e59e 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | SINGLE_MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -54,7 +50,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile
 | ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
@@ -81,9 +79,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add single PCI device to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 xconnect for single memif
 | | Then Find NDR and PDR intervals using optimized search
 
index 86e7d9a..8f29a3c 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 xconnect with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index 49c5313..0ccda87 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | LXC
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -50,7 +46,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
@@ -77,9 +75,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 xconnect with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index 1c4a2a2..6e35a4e 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 3-node performance topology with DUT's NIC model | L3
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L3
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize IPv4 routing with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index a2948f6..97e4383 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | DOT1Q | L2BDMACLRN | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 2-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -55,7 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${4}
 | ${subid}= | 10
 | ${tag_rewrite}= | pop-1
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
-| | When Initialize L2 Bridge Domain with memif pairs and VLAN in circular topology
+| | When Start containers for performance test
+| | And Initialize L2 Bridge Domain with memif pairs and VLAN in circular topology
 | | ... | ${bd_id1} | ${bd_id2} | ${subid} | ${tag_rewrite}
 | | Then Find NDR and PDR intervals using optimized search
 
index cfcabc7..9f896ab 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 2-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-2n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 Bridge Domain with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index b3c16b0..1f1e423 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 2-node performance topology with DUT's NIC model | L2
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L2
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-2n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize L2 xconnect with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index a0f2ac6..af9ea41 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | ...
 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
 | ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | MEMIF | DOCKER
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up 2-node performance topology with DUT's NIC model | L3
-| ... | ${nic_name}
-| ... | AND | Set up performance test suite with MEMIF
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance | container
 | ...
 | Test Template | Local Template
@@ -51,7 +47,9 @@
 | ... | addresses of the TG node interfaces.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so
 | ${nic_name}= | Intel-X710
+| ${osi_layer}= | L3
 | ${overhead}= | ${0}
 # Traffic profile:
 | ${traffic_profile}= | trex-sl-2n-ethip4-ip4src254
@@ -78,9 +76,9 @@
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Set up performance test with containers
+| | When Start containers for performance test
 | | And Initialize IPv4 routing with memif pairs
 | | Then Find NDR and PDR intervals using optimized search
 
index 9dd4fd0..bf7124f 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | TNL_10000
 | ... | IP4FWD | IPSEC | IPSECSW | IPSECINT | NIC_Intel-X710 | SCALE
 | ... | AES_128_CBC | HMAC_SHA_256 | HMAC | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | SW_cryptodev
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
@@ -54,6 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
@@ -94,7 +94,7 @@
 | | And Add PCI devices to all DUTs
 | | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index cbac461..afadb61 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | TNL_10000
 | ... | IP4FWD | IPSEC | IPSECSW | IPSECINT | NIC_Intel-X710 | SCALE
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | SW_cryptodev
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
@@ -54,6 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
@@ -94,7 +94,7 @@
 | | And Add PCI devices to all DUTs
 | | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index 6e5069a..4efd988 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | TNL_10000
 | ... | IP4FWD | IPSEC | IPSECSW | IPSECINT | NIC_Intel-X710 | SCALE
 | ... | AES_128_GCM | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | SW_cryptodev
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
@@ -54,6 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
@@ -94,7 +94,7 @@
 | | And Add PCI devices to all DUTs
 | | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index a3a2b8c..8977cfe 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | TNL_10000
 | ... | IP4FWD | IPSEC | IPSECSW | IPSECINT | NIC_Intel-X710 | SCALE
 | ... | AES_256_GCM | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | SW_cryptodev
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
@@ -54,6 +51,9 @@
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
@@ -94,7 +94,7 @@
 | | And Add PCI devices to all DUTs
 | | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index 74fa143..be9cf14 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECINT | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_CBC | HMAC_SHA_256 | HMAC | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | HW_DH895xcc
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index 8e9a3b6..8adbe23 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECINT | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | HW_DH895xcc
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index 4deb357..09e9c6d 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECINT | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_GCM | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | HW_DH895xcc
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
 | | And VPP IPsec Select Backend | ${dut1} | ${ipsec_proto} | index=${1}
 | | And VPP IPsec Select Backend | ${dut2} | ${ipsec_proto} | index=${1}
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index e57b5e6..33c4016 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECINT | NIC_Intel-X710 | TNL_1000
 | ... | AES_256_GCM | AES
 | ...
-| Suite Setup | Run Keywords
-| ... | Set up IPSec performance test suite | L3 | ${nic_name} | HW_DH895xcc
-| ... | AND | Set up performance test suite with crypto ipsecmb
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
 | | And VPP IPsec Select Backend | ${dut1} | ${ipsec_proto} | index=${1}
 | | And VPP IPsec Select Backend | ${dut2} | ${ipsec_proto} | index=${1}
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Create Tunnel Interfaces
 | | ... | ${nodes} | ${dut1_if2_ip4} | ${dut2_if1_ip4} | ${dut1_if2}
 | | ... | ${dut2_if1} | ${n_tunnels} | ${encr_alg} | ${auth_alg}
index 029428b..3dc1b9e 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECTUN | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_CBC | HMAC_SHA_256 | HMAC | AES
 | ...
-| Suite Setup | Set up IPSec performance test suite | L3 | ${nic_name}
-| ... | HW_DH895xcc
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Add Multiple Tunnels
 | | ... | ${nodes} | ${dut1_if2} | ${dut2_if1} | ${n_tunnels}
 | | ... | ${encr_alg} | ${auth_alg} | ${dut1_if2_ip4} | ${dut2_if1_ip4}
index f6e0510..9e68f0d 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECTUN | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES
 | ...
-| Suite Setup | Set up IPSec performance test suite | L3 | ${nic_name}
-| ... | HW_DH895xcc
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${58}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Add Multiple Tunnels
 | | ... | ${nodes} | ${dut1_if2} | ${dut2_if1} | ${n_tunnels}
 | | ... | ${encr_alg} | ${auth_alg} | ${dut1_if2_ip4} | ${dut2_if1_ip4}
index e13a1dc..37720ed 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECTUN | NIC_Intel-X710 | TNL_1000
 | ... | AES_128_GCM | AES
 | ...
-| Suite Setup | Set up IPSec performance test suite | L3 | ${nic_name}
-| ... | HW_DH895xcc
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
 | | ...
 | | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
 | | And Add PCI devices to all DUTs
-| | Set Max Rate And Jumbo And Handle Multi Seg
+| | And Set Max Rate And Jumbo And Handle Multi Seg
 | | And Add cryptodev to all DUTs | ${phy_cores}
 | | And Apply startup configuration on all VPP DUTs
 | | And VPP IPsec Select Backend | ${dut1} | ${ipsec_proto} | index=${1}
 | | And VPP IPsec Select Backend | ${dut2} | ${ipsec_proto} | index=${1}
-| | And Initialize IPSec in 3-node circular topology
+| | When Initialize IPSec in 3-node circular topology
 | | And VPP IPsec Add Multiple Tunnels
 | | ... | ${nodes} | ${dut1_if2} | ${dut2_if1} | ${n_tunnels}
 | | ... | ${encr_alg} | ${auth_alg} | ${dut1_if2_ip4} | ${dut2_if1_ip4}
index 5e4201d..86b9e8b 100644 (file)
 # limitations under the License.
 
 *** Settings ***
-| Resource | resources/libraries/robot/performance/performance_setup.robot
+| Resource | resources/libraries/robot/shared/default.robot
 | Resource | resources/libraries/robot/crypto/ipsec.robot
 | ...
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | SCALE | NDRPDR
 | ... | IP4FWD | IPSEC | IPSECHW | IPSECTUN | NIC_Intel-X710 | TNL_1000
 | ... | AES_256_GCM | AES
 | ...
-| Suite Setup | Set up IPSec performance test suite | L3 | ${nic_name}
-| ... | HW_DH895xcc
+| Suite Setup | Setup suite single link | performance | ipsechw
 | Suite Teardown | Tear down suite | performance
-| ...
-| Test Setup | Set up performance test
+| Test Setup | Setup test
 | Test Teardown | Tear down test | performance
 | ...
 | Test Template | Local Template
 | ... | *[Ref] Applicable standard specifications:* RFC4303 and RFC2544.
 
 *** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so
+| ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so
+| ${osi_layer}= | L3
+| ${crypto_type}= HW_DH895xcc
 | ${nic_name}= | Intel-X710
 | ${overhead}= | ${54}
 | ${tg_if1_ip4}= | 192.168.10.2
@@ -92,12