From 9f5525de03c3d1cbca8b7e2a324414308645a9f3 Mon Sep 17 00:00:00 2001 From: pmikus Date: Tue, 17 Aug 2021 14:03:58 +0000 Subject: vpp_device: Multiple NICs (suitegen) Signed-off-by: pmikus Change-Id: I81958fbf6ef240d53a0fb8708ca882baf02f606c --- docs/job_specs/vpp_device/vpp-1n-skx.md | 158 +++++++++++++++++++++ docs/job_specs/vpp_device/vpp-1n-tx2.md | 158 +++++++++++++++++++++ .../libraries/bash/entry/bootstrap_vpp_device.sh | 5 +- resources/libraries/bash/entry/check/tc_naming.sh | 4 +- resources/libraries/bash/function/common.sh | 73 ++-------- resources/libraries/bash/function/device.sh | 4 +- resources/libraries/python/Constants.py | 4 + resources/libraries/python/autogen/Regenerator.py | 75 ++++++++++ ...x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot | 89 ++++++++++++ ...hip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot | 88 ++++++++++++ ...710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot | 86 +++++++++++ ...eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot | 89 ------------ ...thipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot | 88 ------------ ...th2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot | 86 ----------- ...eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot | 120 ---------------- .../device/container_memif/regenerate_testcases.py | 18 +++ ...nlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot | 102 ------------- ...nlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot | 103 -------------- ...p4base-policy-aes-128-cbc-sha-512-256-dev.robot | 104 -------------- ...p4base-policy-aes-128-cbc-sha-512-256-dev.robot | 102 ------------- ...p6base-policy-aes-128-cbc-sha-512-256-dev.robot | 105 -------------- ...p6base-policy-aes-128-cbc-sha-512-256-dev.robot | 104 -------------- ...sw-ip4base-int-aes128cbc-hmac512sha-scapy.robot | 102 +++++++++++++ ...sw-ip4base-int-aes128cbc-hmac512sha-scapy.robot | 103 ++++++++++++++ ...ip4base-policy-aes128cbc-hmac512sha-scapy.robot | 104 ++++++++++++++ ...ip4base-policy-aes128cbc-hmac512sha-scapy.robot | 102 +++++++++++++ .../device/crypto/ethip4/regenerate_testcases.py | 18 +++ ...ip6base-policy-aes128cbc-hmac512sha-scapy.robot | 105 ++++++++++++++ ...ip6base-policy-aes128cbc-hmac512sha-scapy.robot | 104 ++++++++++++++ .../device/crypto/ethip6/regenerate_testcases.py | 18 +++ ...ethicmp4-ip4base-eth-1tap-namespace-scapy.robot | 110 ++++++++++++++ ...ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot | 104 ++++++++++++++ ...x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot | 93 ++++++++++++ .../eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot | 104 -------------- ...-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot | 110 -------------- ...eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot | 93 ------------ .../vpp/device/interfaces/regenerate_testcases.py | 18 +++ ...1x710-ethip4-ip4base-adlalwlistbase-scapy.robot | 86 +++++++++++ ...1x710-ethip4-ip4base-adlblklistbase-scapy.robot | 86 +++++++++++ ...e2p1x710-ethip4-ip4base-iacldstbase-scapy.robot | 90 ++++++++++++ ...x710-ethip4-ip4base-ipolicemarkbase-scapy.robot | 85 +++++++++++ .../2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot | 83 +++++++++++ ...2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot | 111 +++++++++++++++ .../2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot | 114 +++++++++++++++ ...2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot | 111 +++++++++++++++ .../2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot | 114 +++++++++++++++ .../eth2p-ethip4-ip4base-adlalwlistbase-dev.robot | 86 ----------- .../eth2p-ethip4-ip4base-adlblklistbase-dev.robot | 86 ----------- .../ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot | 90 ------------ .../eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot | 85 ----------- .../device/ip4/eth2p-ethip4tcp-nat44det-dev.robot | 111 --------------- .../device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot | 114 --------------- .../device/ip4/eth2p-ethip4udp-nat44det-dev.robot | 111 --------------- .../device/ip4/eth2p-ethip4udp-nat44ed-dev.robot | 114 --------------- .../vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot | 83 ----------- tests/vpp/device/ip4/regenerate_testcases.py | 18 +++ ...thip4--ethip4udpgeneve-1tun-ip4base-scapy.robot | 107 ++++++++++++++ ...e2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot | 85 +++++++++++ ...1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot | 84 +++++++++++ ...-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot | 107 -------------- .../eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot | 85 ----------- .../eth2p-ethip4vxlan-l2xcbase-dev.robot | 84 ----------- ...2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot | 91 ++++++++++++ ...l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot | 92 ++++++++++++ ...l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot | 94 ++++++++++++ .../lisp/eth2p-ethip4lisp-ip4base-dev.robot | 91 ------------ .../lisp/eth2p-ethip4lispgpe-ip4base-dev.robot | 92 ------------ .../lisp/eth2p-ethip4lispgpe-ip6base-dev.robot | 94 ------------ .../ip4_tunnels/lisp/regenerate_testcases.py | 18 +++ .../vpp/device/ip4_tunnels/regenerate_testcases.py | 18 +++ ...1x710-ethip6-ip6base-adlalwlistbase-scapy.robot | 86 +++++++++++ ...1x710-ethip6-ip6base-adlblklistbase-scapy.robot | 86 +++++++++++ ...e2p1x710-ethip6-ip6base-iacldstbase-scapy.robot | 90 ++++++++++++ ...x710-ethip6-ip6base-ipolicemarkbase-scapy.robot | 86 +++++++++++ .../2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot | 83 +++++++++++ .../eth2p-ethip6-ip6base-adlalwlistbase-dev.robot | 86 ----------- .../eth2p-ethip6-ip6base-adlblklistbase-dev.robot | 86 ----------- .../ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot | 90 ------------ .../eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot | 86 ----------- .../vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot | 83 ----------- tests/vpp/device/ip6/regenerate_testcases.py | 18 +++ ...l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot | 93 ++++++++++++ ...l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot | 92 ++++++++++++ .../lisp/eth2p-ethip6lispgpe-ip4base-dev.robot | 93 ------------ .../lisp/eth2p-ethip6lispgpe-ip6base-dev.robot | 92 ------------ .../ip6_tunnels/lisp/regenerate_testcases.py | 18 +++ ...1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot | 98 +++++++++++++ ...1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot | 98 +++++++++++++ ...ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot | 99 +++++++++++++ ...1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot | 98 +++++++++++++ ...1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot | 98 +++++++++++++ ...l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot | 82 +++++++++++ .../eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot | 82 ----------- .../l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot | 82 ----------- .../eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot | 98 ------------- .../eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot | 98 ------------- ...-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot | 99 ------------- .../eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot | 98 ------------- .../eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot | 98 ------------- tests/vpp/device/l2bd/regenerate_testcases.py | 18 +++ .../2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot | 81 +++++++++++ .../device/l2patch/eth2p-ethip4-l2patch-dev.robot | 81 ----------- tests/vpp/device/l2patch/regenerate_testcases.py | 18 +++ .../2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot | 82 +++++++++++ .../device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot | 82 ----------- tests/vpp/device/l2xc/regenerate_testcases.py | 18 +++ ...1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot | 103 ++++++++++++++ ...rhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot | 107 ++++++++++++++ ...0-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot | 107 ++++++++++++++ ...-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot | 122 ++++++++++++++++ ...ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot | 122 ++++++++++++++++ ...ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot | 123 ++++++++++++++++ .../eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot | 103 -------------- ...h2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot | 107 -------------- ...6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot | 107 -------------- ...2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot | 122 ---------------- ...p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot | 122 ---------------- ...p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot | 123 ---------------- tests/vpp/device/srv6/regenerate_testcases.py | 18 +++ ...l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot | 84 +++++++++++ ...h2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot | 87 ------------ .../stats/eth2p-ethipv4-l2xcbase-stats-dev.robot | 84 ----------- tests/vpp/device/stats/regenerate_testcases.py | 18 +++ ...1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot | 95 +++++++++++++ ...thip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot | 95 +++++++++++++ ...x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot | 93 ++++++++++++ .../device/vm_vhost/ethip4/regenerate_testcases.py | 18 +++ ...1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot | 96 +++++++++++++ .../device/vm_vhost/ethip6/regenerate_testcases.py | 18 +++ .../eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot | 95 ------------- .../eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot | 96 ------------- ...ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot | 95 ------------- ...eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot | 93 ------------ tox.ini | 1 + 134 files changed, 5824 insertions(+), 5479 deletions(-) create mode 100644 docs/job_specs/vpp_device/vpp-1n-skx.md create mode 100644 docs/job_specs/vpp_device/vpp-1n-tx2.md create mode 100644 tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot create mode 100644 tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot create mode 100644 tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot delete mode 100644 tests/vpp/device/container_memif/eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot delete mode 100644 tests/vpp/device/container_memif/eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot delete mode 100644 tests/vpp/device/container_memif/eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot delete mode 100644 tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot create mode 100755 tests/vpp/device/container_memif/regenerate_testcases.py delete mode 100644 tests/vpp/device/crypto/eth2p-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot delete mode 100644 tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot delete mode 100644 tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot delete mode 100644 tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot delete mode 100644 tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot delete mode 100644 tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot create mode 100644 tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot create mode 100644 tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot create mode 100644 tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot create mode 100644 tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot create mode 100755 tests/vpp/device/crypto/ethip4/regenerate_testcases.py create mode 100644 tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot create mode 100644 tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot create mode 100755 tests/vpp/device/crypto/ethip6/regenerate_testcases.py create mode 100644 tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-namespace-scapy.robot create mode 100644 tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot create mode 100644 tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot delete mode 100644 tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot delete mode 100644 tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot delete mode 100644 tests/vpp/device/interfaces/eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot create mode 100755 tests/vpp/device/interfaces/regenerate_testcases.py create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot create mode 100644 tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlalwlistbase-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlblklistbase-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4tcp-nat44det-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4udp-nat44det-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4udp-nat44ed-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot create mode 100755 tests/vpp/device/ip4/regenerate_testcases.py create mode 100644 tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4--ethip4udpgeneve-1tun-ip4base-scapy.robot create mode 100644 tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot create mode 100644 tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot delete mode 100644 tests/vpp/device/ip4_tunnels/eth2p-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot delete mode 100644 tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot delete mode 100644 tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2xcbase-dev.robot create mode 100644 tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot create mode 100644 tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot create mode 100644 tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot delete mode 100644 tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-dev.robot delete mode 100644 tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-dev.robot delete mode 100644 tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-dev.robot create mode 100755 tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py create mode 100755 tests/vpp/device/ip4_tunnels/regenerate_testcases.py create mode 100644 tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlalwlistbase-scapy.robot create mode 100644 tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlblklistbase-scapy.robot create mode 100644 tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-iacldstbase-scapy.robot create mode 100644 tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ipolicemarkbase-scapy.robot create mode 100644 tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlalwlistbase-dev.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlblklistbase-dev.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot create mode 100755 tests/vpp/device/ip6/regenerate_testcases.py create mode 100644 tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot create mode 100644 tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot delete mode 100644 tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-dev.robot delete mode 100644 tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-dev.robot create mode 100755 tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot create mode 100644 tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot delete mode 100644 tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot create mode 100755 tests/vpp/device/l2bd/regenerate_testcases.py create mode 100644 tests/vpp/device/l2patch/2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot delete mode 100644 tests/vpp/device/l2patch/eth2p-ethip4-l2patch-dev.robot create mode 100755 tests/vpp/device/l2patch/regenerate_testcases.py create mode 100644 tests/vpp/device/l2xc/2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot delete mode 100644 tests/vpp/device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot create mode 100755 tests/vpp/device/l2xc/regenerate_testcases.py create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot create mode 100644 tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot delete mode 100644 tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot create mode 100755 tests/vpp/device/srv6/regenerate_testcases.py create mode 100644 tests/vpp/device/stats/2n1l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot delete mode 100644 tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot delete mode 100644 tests/vpp/device/stats/eth2p-ethipv4-l2xcbase-stats-dev.robot create mode 100755 tests/vpp/device/stats/regenerate_testcases.py create mode 100644 tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot create mode 100644 tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot create mode 100644 tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot create mode 100755 tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py create mode 100644 tests/vpp/device/vm_vhost/ethip6/2n1l-10ge2p1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot create mode 100755 tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py delete mode 100644 tests/vpp/device/vm_vhost/ip4/eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot delete mode 100644 tests/vpp/device/vm_vhost/ip6/eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot delete mode 100644 tests/vpp/device/vm_vhost/l2bd/eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot delete mode 100644 tests/vpp/device/vm_vhost/l2xc/eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot diff --git a/docs/job_specs/vpp_device/vpp-1n-skx.md b/docs/job_specs/vpp_device/vpp-1n-skx.md new file mode 100644 index 0000000000..030886c75a --- /dev/null +++ b/docs/job_specs/vpp_device/vpp-1n-skx.md @@ -0,0 +1,158 @@ +# 1n-skx +## ./container_memif +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr +##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr +##### ethip4-ip4base-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2memif-1dcr +## ./crypto/ethip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha +##### ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha +##### ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha +##### ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha +## ./crypto/ethip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha +##### ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha +## ./interfaces +### intel-x710 +#### dpdk-vfio-pci +##### ethicmp4-ip4base-eth-1tap +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap +##### ethicmp4-ip4base-eth-1tap-namespace +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap-namespace +##### ethip4-l2bdbasemaclrn-eth-2tap +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2tap +## ./ip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-ip4base-adlalwlistbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlalwlistbase +##### ethip4-ip4base-adlblklistbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlblklistbase +##### ethip4-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base +##### ethip4-ip4base-iacldstbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-iacldstbase +##### ethip4-ip4base-ipolicemarkbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-ipolicemarkbase +##### ethip4tcp-nat44det-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44det-dev +##### ethip4tcp-nat44ed-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44ed-dev +##### ethip4udp-nat44det-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44det-dev +##### ethip4udp-nat44ed-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44ed-dev +## ./ip4_tunnel/lisp +### intel-x710 +#### dpdk-vfio-pci +##### ethip4lisp-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lisp-ip4base +##### ethip4lispgpe-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip4base +##### ethip4lispgpe-ip6base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip6base +## ./ip4_tunnel +### intel-x710 +#### dpdk-vfio-pci +##### ethip4--ethip4udpgeneve-1tun-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4--ethip4udpgeneve-1tun-ip4base +##### ethip4vxlan-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2bdbasemaclrn +##### ethip4vxlan-l2xcbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2xcbase +## ./ip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6-ip6base-adlalwlistbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlalwlistbase +##### ethip6-ip6base-adlblklistbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlblklistbase +##### ethip6-ip6base-iacldstbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-iacldstbase +##### ethip6-ip6base-ipolicemarkbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-ipolicemarkbase +##### ethip6-ip6base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base +## ./ip6_tunnels/lisp +### intel-x710 +#### dpdk-vfio-pci +##### ethip6lispgpe-ip4base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip4base +##### ethip6lispgpe-ip6base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip6base +## ./l2bd +### intel-x710 +#### avf +##### ethip4-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_avf AND ethip4-l2bdbasemaclrn +#### dpdk-vfio-pci +##### ethip4-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn +##### ethip4-l2bdbasemaclrn-iacl1sf +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sf +##### ethip4-l2bdbasemaclrn-iacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sl +##### ethip4-l2bdbasemaclrn-macip-iacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-macip-iacl1sl +##### ethip4-l2bdbasemaclrn-oacl1sf +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sf +##### ethip4-l2bdbasemaclrn-oacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sl +## ./l2patch +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2patch +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2patch +## ./l2xc +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2xcbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase +## ./srv6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6ip6-ip6base-srv6enc1sid +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ip6-ip6base-srv6enc1sid +##### ethip6srhip6-ip6base-srv6enc2sids +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids +##### ethip6srhip6-ip6base-srv6enc2sids-nodecaps +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids-nodecaps +##### ethip6srhip6-ip6base-srv6proxy-dyn +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-dyn +##### ethip6srhip6-ip6base-srv6proxy-masq +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-masq +##### ethip6srhip6-ip6base-srv6proxy-stat +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-stat +## ./stats +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2xcbase-stats +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-stats +## ./vm/ethip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-ip4base-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2vhost-1vm +##### ethip4-l2bdbasemaclrn-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2vhost-1vm +##### ethip4-l2xcbase-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-eth-2vhost-1vm +## ./vm/ethip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6-ip6base-eth-2vhost-1vm +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-eth-2vhost-1vm \ No newline at end of file diff --git a/docs/job_specs/vpp_device/vpp-1n-tx2.md b/docs/job_specs/vpp_device/vpp-1n-tx2.md new file mode 100644 index 0000000000..c6d4cf2cb8 --- /dev/null +++ b/docs/job_specs/vpp_device/vpp-1n-tx2.md @@ -0,0 +1,158 @@ +# 1n-tx2 +## ./container_memif +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr +##### ethip4-l2bdbasemaclrn-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2memif-1dcr +##### ethip4-ip4base-eth-2memif-1dcr +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2memif-1dcr +## ./crypto/ethip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha +##### ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha +##### ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha +##### ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha +## ./crypto/ethip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha +##### ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha +## ./interfaces +### intel-x710 +#### dpdk-vfio-pci +##### ethicmp4-ip4base-eth-1tap +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap +##### ethicmp4-ip4base-eth-1tap-namespace +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethicmp4-ip4base-eth-1tap-namespace +##### ethip4-l2bdbasemaclrn-eth-2tap +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2tap +## ./ip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-ip4base-adlalwlistbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlalwlistbase +##### ethip4-ip4base-adlblklistbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-adlblklistbase +##### ethip4-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base +##### ethip4-ip4base-iacldstbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-iacldstbase +##### ethip4-ip4base-ipolicemarkbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-ipolicemarkbase +##### ethip4tcp-nat44det-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44det-dev +##### ethip4tcp-nat44ed-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4tcp-nat44ed-dev +##### ethip4udp-nat44det-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44det-dev +##### ethip4udp-nat44ed-dev +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4udp-nat44ed-dev +## ./ip4_tunnel/lisp +### intel-x710 +#### dpdk-vfio-pci +##### ethip4lisp-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lisp-ip4base +##### ethip4lispgpe-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip4base +##### ethip4lispgpe-ip6base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4lispgpe-ip6base +## ./ip4_tunnel +### intel-x710 +#### dpdk-vfio-pci +##### ethip4--ethip4udpgeneve-1tun-ip4base +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4--ethip4udpgeneve-1tun-ip4base +##### ethip4vxlan-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2bdbasemaclrn +##### ethip4vxlan-l2xcbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4vxlan-l2xcbase +## ./ip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6-ip6base-adlalwlistbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlalwlistbase +##### ethip6-ip6base-adlblklistbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-adlblklistbase +##### ethip6-ip6base-iacldstbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-iacldstbase +##### ethip6-ip6base-ipolicemarkbase +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-ipolicemarkbase +##### ethip6-ip6base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base +## ./ip6_tunnels/lisp +### intel-x710 +#### dpdk-vfio-pci +##### ethip6lispgpe-ip4base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip4base +##### ethip6lispgpe-ip6base +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6lispgpe-ip6base +## ./l2bd +### intel-x710 +#### avf +##### ethip4-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_avf AND ethip4-l2bdbasemaclrn +#### dpdk-vfio-pci +##### ethip4-l2bdbasemaclrn +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn +##### ethip4-l2bdbasemaclrn-iacl1sf +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sf +##### ethip4-l2bdbasemaclrn-iacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-iacl1sl +##### ethip4-l2bdbasemaclrn-macip-iacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-macip-iacl1sl +##### ethip4-l2bdbasemaclrn-oacl1sf +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sf +##### ethip4-l2bdbasemaclrn-oacl1sl +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-oacl1sl +## ./l2patch +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2patch +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2patch +## ./l2xc +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2xcbase +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase +## ./srv6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6ip6-ip6base-srv6enc1sid +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6ip6-ip6base-srv6enc1sid +##### ethip6srhip6-ip6base-srv6enc2sids +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids +##### ethip6srhip6-ip6base-srv6enc2sids-nodecaps +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6enc2sids-nodecaps +##### ethip6srhip6-ip6base-srv6proxy-dyn +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-dyn +##### ethip6srhip6-ip6base-srv6proxy-masq +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-masq +##### ethip6srhip6-ip6base-srv6proxy-stat +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6srhip6-ip6base-srv6proxy-stat +## ./stats +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-l2xcbase-stats +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-stats +## ./vm/ethip4 +### intel-x710 +#### dpdk-vfio-pci +##### ethip4-ip4base-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-ip4base-eth-2vhost-1vm +##### ethip4-l2bdbasemaclrn-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2bdbasemaclrn-eth-2vhost-1vm +##### ethip4-l2xcbase-eth-2vhost-1vm +0c AND 64b AND scapy AND x710 AND drv_vfio_pci AND ethip4-l2xcbase-eth-2vhost-1vm +## ./vm/ethip6 +### intel-x710 +#### dpdk-vfio-pci +##### ethip6-ip6base-eth-2vhost-1vm +0c AND 78b AND scapy AND x710 AND drv_vfio_pci AND ethip6-ip6base-eth-2vhost-1vm \ No newline at end of file diff --git a/resources/libraries/bash/entry/bootstrap_vpp_device.sh b/resources/libraries/bash/entry/bootstrap_vpp_device.sh index 95708e888d..ae4c26a1ba 100755 --- a/resources/libraries/bash/entry/bootstrap_vpp_device.sh +++ b/resources/libraries/bash/entry/bootstrap_vpp_device.sh @@ -35,15 +35,16 @@ common_dirs || die check_prerequisites || die get_test_code "${1-}" || die get_test_tag_string || die -select_topology || die select_arch_os || die gather_build || die check_download_dir || die activate_virtualenv || die generate_tests || die archive_tests || die +prepare_topology || die +select_topology || die activate_docker_topology || die -select_vpp_device_tags || die +select_tags || die compose_pybot_arguments || die set_environment_variables || die run_pybot || die diff --git a/resources/libraries/bash/entry/check/tc_naming.sh b/resources/libraries/bash/entry/check/tc_naming.sh index bc2ac32671..f392ad7b9a 100644 --- a/resources/libraries/bash/entry/check/tc_naming.sh +++ b/resources/libraries/bash/entry/check/tc_naming.sh @@ -64,7 +64,7 @@ r_testc_rules=( #'(ipsec[[:digit:]]+tnlhw|ipsec[[:digit:]]+tnlsw|' #'srhip6|tcp|udp|lispip6|lispip4|vxlan){0,1}' #'(http){0,1}-' - '(.*)-(dev|ndrpdr|bps|cps|rps|reconf)$' + '(.*)-(scapy|ndrpdr|bps|cps|rps|reconf)$' ) s_suite_rules=( 'number of SUT nodes' @@ -83,7 +83,7 @@ r_suite_rules=( #'(ipsec[[:digit:]]+tnlhw|ipsec[[:digit:]]+tnlsw|' #'srhip6|tcp|udp|lispip6|lispip4|vxlan){0,1}' #'(http){0,1}-' - '(.*)-(dev|ndrpdr|bps|cps|rps|reconf)$' + '(.*)-(scapy|ndrpdr|bps|cps|rps|reconf)$' ) rm -f "tc_naming.log" || die diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index 68ad5ef926..ce0c526863 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -86,7 +86,7 @@ function activate_docker_topology () { die "Topology file create failed!" } - WORKING_TOPOLOGY="/tmp/topology.yaml" + WORKING_TOPOLOGY="${CSIT_DIR}/topologies/available/vpp_device.yaml" mv topo.yml "${WORKING_TOPOLOGY}" || { die "Topology move failed!" } @@ -864,6 +864,12 @@ function select_tags () { tfd="${JOB_SPECS_DIR}" case "${TEST_CODE}" in # Select specific performance tests based on jenkins job type variable. + *"vpp-device"* ) + readarray -t test_tag_array <<< $(grep -v "#" \ + ${tfd}/vpp_device/${DUT}-${NODENESS}-${FLAVOR}.md | + awk {"$awk_nics_sub_cmd"} || echo "devicetest") || die + SELECTION_MODE="--test" + ;; *"ndrpdr-weekly"* ) readarray -t test_tag_array <<< $(grep -v "#" \ ${tfd}/mlr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md | @@ -922,6 +928,10 @@ function select_tags () { # Reasons for blacklisting: # - ipsechw - Blacklisted on testbeds without crypto hardware accelerator. case "${TEST_CODE}" in + *"1n-vbox"*) + test_tag_array+=("!avf") + test_tag_array+=("!vhost") + ;; *"2n-skx"*) test_tag_array+=("!ipsechw") ;; @@ -1084,67 +1094,6 @@ function select_topology () { } -function select_vpp_device_tags () { - - # Variables read: - # - TEST_CODE - String affecting test selection, usually jenkins job name. - # - TEST_TAG_STRING - String selecting tags, from gerrit comment. - # Can be unset. - # Variables set: - # - TAGS - Array of processed tag boolean expressions. - - set -exuo pipefail - - case "${TEST_CODE}" in - # Select specific device tests based on jenkins job type variable. - * ) - if [[ -z "${TEST_TAG_STRING-}" ]]; then - # If nothing is specified, we will run pre-selected tests by - # following tags. Items of array will be concatenated by OR - # in Robot Framework. - test_tag_array=() - else - # If trigger contains tags, split them into array. - test_tag_array=(${TEST_TAG_STRING//:/ }) - fi - SELECTION_MODE="--include" - ;; - esac - - # Blacklisting certain tags per topology. - # - # Reasons for blacklisting: - # - avf - AVF is not possible to run on enic driver of VirtualBox. - # - vhost - VirtualBox does not support nesting virtualization on Intel CPU. - case "${TEST_CODE}" in - *"1n-vbox"*) - test_tag_array+=("!avf") - test_tag_array+=("!vhost") - ;; - *) - ;; - esac - - TAGS=() - - # We will prefix with devicetest to prevent running other tests - # (e.g. Functional). - prefix="devicetestAND" - if [[ "${TEST_CODE}" == "vpp-"* ]]; then - # Automatic prefixing for VPP jobs to limit testing. - prefix="${prefix}" - fi - for tag in "${test_tag_array[@]}"; do - if [[ ${tag} == "!"* ]]; then - # Exclude tags are not prefixed. - TAGS+=("${tag}") - else - TAGS+=("${prefix}${tag}") - fi - done -} - - function set_environment_variables () { # Depending on testbed topology, overwrite defaults set in the diff --git a/resources/libraries/bash/function/device.sh b/resources/libraries/bash/function/device.sh index 8bfb2e458c..eab31a65a6 100644 --- a/resources/libraries/bash/function/device.sh +++ b/resources/libraries/bash/function/device.sh @@ -527,7 +527,7 @@ function parse_env_variables () { mac_address: "${TG_NETMACS[$((port-1))]}" pci_address: "${TG_PCIDEVS[$((port-1))]}" link: "link$((port-1))" - model: "${TG_MODELS[$((port-1))]}" + model: ${TG_MODELS[$((port-1))]} driver: "${TG_DRIVERS[$((port-1))]}" vlan: ${TG_VLANS[$((port-1))]} EOF @@ -540,7 +540,7 @@ EOF mac_address: "${DUT1_NETMACS[$((port-1))]}" pci_address: "${DUT1_PCIDEVS[$((port-1))]}" link: "link$((port-1))" - model: "${DUT1_MODELS[$((port-1))]}" + model: ${DUT1_MODELS[$((port-1))]} driver: "${DUT1_DRIVERS[$((port-1))]}" vlan: ${DUT1_VLANS[$((port-1))]} EOF diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index f8c4c7fae9..ec6c5898a6 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -415,6 +415,10 @@ class Constants: u"Intel-XL710": u"HW_DH895xcc", } + DEVICE_TYPE_TO_KEYWORD = { + u"scapy": None + } + PERF_TYPE_TO_KEYWORD = { u"mrr": u"Traffic should pass with maximum rate", u"ndrpdr": u"Find NDR and PDR intervals using optimized search", diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py index abcd7b8b99..7003d3905d 100644 --- a/resources/libraries/python/autogen/Regenerator.py +++ b/resources/libraries/python/autogen/Regenerator.py @@ -480,6 +480,75 @@ def write_iperf3_files(in_filename, in_prolog, kwargs_list): add_iperf3_testcases(testcase, file_out, kwargs_list) +def write_device_files(in_filename, in_prolog, kwargs_list): + """Using given filename and prolog, write all generated suites. + + :param in_filename: Template filename to derive real filenames from. + :param in_prolog: Template content to derive real content from. + :param kwargs_list: List of kwargs for add_default_testcase. + :type in_filename: str + :type in_prolog: str + :type kwargs_list: list of dict + """ + for suite_type in Constants.DEVICE_TYPE_TO_KEYWORD: + tmp_filename = replace_defensively( + in_filename, u"scapy", suite_type, 1, + u"File name should contain suite type once.", in_filename + ) + _, suite_id, _ = get_iface_and_suite_ids(tmp_filename) + testcase = Testcase.default(suite_id) + for nic_name in Constants.NIC_NAME_TO_CODE: + tmp2_filename = replace_defensively( + tmp_filename, u"10ge2p1x710", + Constants.NIC_NAME_TO_CODE[nic_name], 1, + u"File name should contain NIC code once.", in_filename + ) + tmp2_prolog = replace_defensively( + in_prolog, u"Intel-X710", nic_name, 2, + u"NIC name should appear twice (tag and variable).", + in_filename + ) + iface, old_suite_id, _ = get_iface_and_suite_ids( + tmp2_filename + ) + for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]: + out_filename = replace_defensively( + tmp2_filename, old_suite_id, + Constants.NIC_DRIVER_TO_SUITE_PREFIX[driver] + old_suite_id, + 1, u"Error adding driver prefix.", in_filename + ) + out_prolog = replace_defensively( + tmp2_prolog, u"vfio-pci", driver, 1, + u"Driver name should appear once.", in_filename + ) + out_prolog = replace_defensively( + out_prolog, Constants.NIC_DRIVER_TO_TAG[u"vfio-pci"], + Constants.NIC_DRIVER_TO_TAG[driver], 1, + u"Driver tag should appear once.", in_filename + ) + out_prolog = replace_defensively( + out_prolog, Constants.NIC_DRIVER_TO_PLUGINS[u"vfio-pci"], + Constants.NIC_DRIVER_TO_PLUGINS[driver], 1, + u"Driver plugin should appear once.", in_filename + ) + out_prolog = replace_defensively( + out_prolog, Constants.NIC_DRIVER_TO_VFS[u"vfio-pci"], + Constants.NIC_DRIVER_TO_VFS[driver], 1, + u"NIC VFs argument should appear once.", in_filename + ) + iface, suite_id, suite_tag = get_iface_and_suite_ids( + out_filename + ) + check_suite_tag(suite_tag, out_prolog) + # TODO: Reorder loops so suite_id is finalized sooner. + testcase = Testcase.default(suite_id) + with open(out_filename, u"wt") as file_out: + file_out.write(out_prolog) + add_default_testcases( + testcase, iface, suite_id, file_out, kwargs_list + ) + + class Regenerator: """Class containing file generating methods.""" @@ -564,6 +633,10 @@ class Regenerator: {u"frame_size": 2048, u"phy_cores": 2} ] + device_kwargs_list = [ + {u"frame_size": min_frame_size, u"phy_cores": 0} + ] + for in_filename in glob(pattern): if not self.quiet: print( @@ -604,6 +677,8 @@ class Regenerator: write_tcp_files(in_filename, in_prolog, hoststack_kwargs_list) elif in_filename.endswith(u"-iperf3-mrr.robot"): write_iperf3_files(in_filename, in_prolog, iperf3_kwargs_list) + elif in_filename.endswith(u"-scapy.robot"): + write_device_files(in_filename, in_prolog, device_kwargs_list) else: raise RuntimeError( f"Error in {in_filename}: non-primary suite type found." diff --git a/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot new file mode 100644 index 0000000000..52148f4031 --- /dev/null +++ b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-ip4base-eth-2memif-1dcr-scapy.robot @@ -0,0 +1,89 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-eth-2memif-1dcr +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *IPv4 routing test cases with memif interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | two static IPv4 /24 route entries. Container is connected to VPP via \ +| ... | Memif interface. Container is running same VPP version as running on \ +| ... | DUT. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ +| ... | sent in one direction by TG on links to DUT1 and via container; on \ +| ... | receive TG verifies packets for correctness and their IPv4 src-addr, \ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packet in both directions between two\ +| | ... | of its interfaces to be routed by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize IPv4 routing with memif pairs +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.1 | 20.20.20.1 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-eth-2memif-1dcr-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot new file mode 100644 index 0000000000..4420df3efc --- /dev/null +++ b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy.robot @@ -0,0 +1,88 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-eth-2memif-1dcr +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *L2 bridge-domain test cases with memif interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ +| ... | Both apply to all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ +| ... | switching. Container is connected to VPP via Memif interface. \ +| ... | Container is running same VPP version as running on DUT. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61\ +| ... | are sent in both directions by TG on links to DUT1 and via container; \ +| ... | on receive TG verifies packets for correctness and their IPv4 \ +| ... | src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize L2 Bridge Domain for multiple chains with memif pairs +| | ... | auto_scale=${False} +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-eth-2memif-1dcr-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot new file mode 100644 index 0000000000..22a2d669d8 --- /dev/null +++ b/tests/vpp/device/container_memif/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2memif-1dcr-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2xcbase-eth-2memif-1dcr +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *L2 cross-connect test cases with memif interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ +| ... | (L2XC) switching. Container is connected to VPP via Memif interface. \ +| ... | Container is running same VPP version as running on DUT. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ +| ... | are sent in both directions by TG on links to DUT1 and via container; \ +| ... | on receive TG verifies packets for correctness and their IPv4 \ +| ... | src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize L2 xconnect with memif pairs +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2xcbase-eth-2memif-1dcr-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot deleted file mode 100644 index a0de088b93..0000000000 --- a/tests/vpp/device/container_memif/eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev.robot +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-ip4base-eth-2memif-1dcr -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing test cases with memif interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | two static IPv4 /24 route entries. Container is connected to VPP via \ -| ... | Memif interface. Container is running same VPP version as running on \ -| ... | DUT. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ -| ... | sent in one direction by TG on links to DUT1 and via container; on \ -| ... | receive TG verifies packets for correctness and their IPv4 src-addr, \ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packet in both directions between two\ -| | ... | of its interfaces to be routed by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize IPv4 routing with memif pairs -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.1 | 20.20.20.1 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-ip4base-eth-2memif-1dcr-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot deleted file mode 100644 index 0cef9d6c2e..0000000000 --- a/tests/vpp/device/container_memif/eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdbasemaclrn-eth-2memif-1dcr -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *L2 bridge-domain test cases with memif interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ -| ... | Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ -| ... | switching. Container is connected to VPP via Memif interface. \ -| ... | Container is running same VPP version as running on DUT. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61\ -| ... | are sent in both directions by TG on links to DUT1 and via container; \ -| ... | on receive TG verifies packets for correctness and their IPv4 \ -| ... | src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize L2 Bridge Domain for multiple chains with memif pairs -| | ... | auto_scale=${False} -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot deleted file mode 100644 index 06d58a1baa..0000000000 --- a/tests/vpp/device/container_memif/eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2xcbase-eth-2memif-1dcr -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *L2 cross-connect test cases with memif interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ -| ... | (L2XC) switching. Container is connected to VPP via Memif interface. \ -| ... | Container is running same VPP version as running on DUT. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1 and via container; \ -| ... | on receive TG verifies packets for correctness and their IPv4 \ -| ... | src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize L2 xconnect with memif pairs -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2xcbase-eth-2memif-1dcr-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot deleted file mode 100644 index 569396424a..0000000000 --- a/tests/vpp/device/container_memif/eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev.robot +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv6-ip6base-eth-2memif-1dcr -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing test cases with memif interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on \ -| ... | both links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | two static IPv6 /64 route entries. Container is connected to VPP via \ -| ... | Memif interface. Container is running same VPP version as running on \ -| ... | DUT. -| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ -| ... | by TG on links to DUT1 and via container; on receive TG verifies \ -| ... | packets for correctness and their IPv6 src-addr, dst-addr and \ -| ... | MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv6 packets in both directions between two\ -| | ... | of its interfaces to be routed by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Set up memif interfaces on DUT node -| | ... | ${dut1} | memif-DUT1_CNF | memif-DUT1_CNF -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 -| | ... | rxq=${rxq_count_int} | txq=${rxq_count_int} -| | # It takes some time for memifs to go up. -| | And Set interfaces in path up -| | And Add Fib Table | ${dut1} | 20 | ipv6=${True} -| | And Assign Interface To Fib Table -| | ... | ${dut1} | ${memif_if2} | 20 | ipv6=${True} -| | And Assign Interface To Fib Table -| | ... | ${dut1} | ${DUT1_${int}2}[0] | 20 | ipv6=${True} -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${DUT1_${int}1}[0] | 2001:1::1 | 64 -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${memif_if1} | 2001:2::1 | 64 -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${memif_if2} | 2001:2::2 | 64 -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${DUT1_${int}2}[0] | 2001:3::1 | 64 -| | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']} -| | ... | ${memif_if2} -| | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key} -| | And Vpp Route Add -| | ... | ${dut1} | 2001:3::0 | 64 | gateway=2001:2::2 | interface=${memif_if1} -| | And Vpp Route Add -| | ... | ${dut1} | 2001:1::0 | 64 | gateway=2001:2::2 | interface=${memif_if2} -| | ... | vrf=20 -| | VPP Add IP Neighbor -| | ... | ${dut1} | ${memif_if1} | 2001:2::2 | ${memif_if2_mac} -| | VPP Add IP Neighbor -| | ... | ${dut1} | ${DUT1_${int}2}[0] | 2001:3::2 | ${TG_pf2_mac}[0] -| | Then Send packet and verify headers -| | ... | ${tg} | 2001:1::1 | 2001:3::2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 78B-ethipv6-ip6base-eth-2memif-1dcr-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/regenerate_testcases.py b/tests/vpp/device/container_memif/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/container_memif/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot deleted file mode 100644 index 999263e62c..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECINT | IP4BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv4 IPsec tunnel mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ -| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ -| ... | and IPsec manual keyed connection in tunnel mode. -| ... | *[Ver] TG verification:* ETH-IP4 packet is sent from TG to DUT1. Packet\ -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${90} -| ${tg_if1_ip4}= | 192.168.10.2 -| ${dut1_if1_ip4}= | 192.168.10.1 -| ${tun_if1_ip4}= | 100.0.0.1 -| ${tun_if2_ip4}= | 200.0.0.2 -| ${raddr_ip4}= | 20.0.0.0 -| ${laddr_ip4}= | 10.0.0.0 -| ${addr_range}= | ${24} -| ${n_tunnels}= | ${11} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec tunnel interfaces with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ -| | ... | mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg} = | Crypto Alg AES CBC 128 -| | ${auth_alg} = | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPSec in 2-node circular topology -| | ${encr_keys} | ${auth_keys} | ${dut_spi} | ${tg_spi} = -| | ... | And VPP IPsec Create Tunnel Interfaces -| | ... | ${nodes} | ${tun_if1_ip4} | ${tun_if2_ip4} | ${DUT1_${int}2}[0] -| | ... | ${TG_pf2}[0] | ${n_tunnels} | ${encr_alg} | ${auth_alg} -| | ... | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} | return_keys=${True} -| | Then Send IP Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${encr_alg} | ${encr_keys}[0] | ${auth_alg} -| | ... | ${auth_keys}[0] | ${dut_spi} | ${tg_spi} | ${laddr_ip4} | ${raddr_ip4} -| | ... | ${tun_if1_ip4} | ${tun_if2_ip4} - -*** Test Cases *** -| 154B-ethip4ipsec11tnlsw-ip4base-int-aes-128-cbc-sha-512-256-dev -| | [Tags] | 154B -| | frame_size=${154} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot deleted file mode 100644 index ecd8c46d23..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-dev.robot +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECINT | IP4BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv4 IPsec tunnel mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ -| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ -| ... | and IPsec manual keyed connection in tunnel mode. -| ... | *[Ver] TG verification:* ETH-IP4 packet is sent from TG to DUT1. Packet\ -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${90} -| ${tg_if1_ip4}= | 192.168.10.2 -| ${dut1_if1_ip4}= | 192.168.10.1 -| ${tun_if1_ip4}= | 100.0.0.1 -| ${tun_if2_ip4}= | 200.0.0.2 -| ${raddr_ip4}= | 20.0.0.0 -| ${laddr_ip4}= | 10.0.0.0 -| ${addr_range}= | ${24} -| ${n_tunnels}= | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec tunnel interface with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ -| | ... | mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg} = | Crypto Alg AES CBC 128 -| | ${auth_alg} = | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPSec in 2-node circular topology -| | ${encr_keys} | ${auth_keys} | ${dut_spi} | ${tg_spi} = -| | ... | And VPP IPsec Create Tunnel Interfaces -| | ... | ${nodes} | ${tun_if1_ip4} | ${tun_if2_ip4} | ${DUT1_${int}2}[0] -| | ... | ${TG_pf2}[0] | ${n_tunnels} | ${encr_alg} | ${auth_alg} -| | ... | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} | return_keys=${True} -| | Then Send IP Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${encr_alg} | ${encr_keys}[0] | ${auth_alg} -| | ... | ${auth_keys}[0] | ${dut_spi} | ${tg_spi} | ${laddr_ip4} | ${raddr_ip4} -| | ... | ${tun_if1_ip4} | ${tun_if2_ip4} -| | And Show Ipsec Security Association | ${dut1} - -*** Test Cases *** -| 154B-ethip4ipsec1tnlsw-ip4base-int-aes-128-cbc-sha-512-256-dev -| | [Tags] | 154B -| | frame_size=${154} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot deleted file mode 100644 index a5cd84a475..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTUN | IP4BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256 -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv4 IPsec tunnel mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ -| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ -| ... | and IPsec manual keyed connection in tunnel mode. -| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet\ -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${tg_spi}= | ${1000} -| ${dut_spi}= | ${1001} -| ${ESP_PROTO}= | ${50} -| ${tg_if1_ip4}= | 192.168.100.2 -| ${tg_if2_ip4}= | 192.168.4.4 -| ${dut_if1_ip4}= | 192.168.100.3 -| ${dut_if2_ip4}= | 192.168.4.3 -| ${tg_host_ip4}= | 192.168.3.3 -| ${ip4_plen}= | ${24} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ -| | ... | mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv4 IPsec testing -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} -| | ... | ${dut_tun_ip} | ${tg_tun_ip} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} | ${tg_tun_ip} -| | ... | ${dut_tun_ip} - -*** Test Cases *** -| 110B-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev -| | [Tags] | 110B -| | frame_size=${110} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot deleted file mode 100644 index f8b0ef3ba9..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTPT | IP4BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256 -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv4 IPsec transport mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ -| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ -| ... | and IPsec manual keyed connection in transport mode. -| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet\ -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${tg_spi}= | ${1000} -| ${dut_spi}= | ${1001} -| ${ESP_PROTO}= | ${50} -| ${tg_if1_ip4}= | 192.168.100.2 -| ${tg_if2_ip4}= | 192.168.4.4 -| ${dut_if1_ip4}= | 192.168.100.3 -| ${dut_if2_ip4}= | 192.168.4.3 -| ${tg_host_ip4}= | 192.168.3.3 -| ${ip4_plen}= | ${24} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ -| | ... | transport mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv4 IPsec testing -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} - -*** Test Cases *** -| 110B-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev -| | [Tags] | 110B -| | frame_size=${110} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot deleted file mode 100644 index b03d44ec75..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTUN | IP6BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256 -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv6 IPsec tunnel mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure -| ... | loopback an physical interface IPv6 addresses, static ARP record, route -| ... | and IPsec manual keyed connection in tunnel mode. -| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${tg_spi}= | ${1000} -| ${dut_spi}= | ${1001} -| ${ESP_PROTO}= | ${50} -| ${tg_if1_ip6}= | 3ffe:5f::1 -| ${tg_if2_ip6}= | 3ffe:60::4 -| ${dut_if1_ip6}= | 3ffe:5f::2 -| ${dut_if2_ip6}= | 3ffe:60::3 -| ${tg_host_ip6}= | 3ffe:61::3 -| ${ip6_plen}= | ${64} -| ${ip6_plen_rt}= | ${128} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ -| | ... | mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv6 IPsec testing -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_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} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} | ${tg_tun_ip} -| | ... | ${dut_tun_ip} - -*** Test Cases *** -| 124B-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev -| | [Tags] | 124B -| | frame_size=${124} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot deleted file mode 100644 index 8e38d238e2..0000000000 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTPT | IP6BASE -| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256 -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | ipsec_sa -| -| Test Template | Local Template -| -| Documentation | *IPv6 IPsec transport mode test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure -| ... | loopback an physical interface IPv6 addresses, static ARP record, route -| ... | and IPsec manual keyed connection in transport mode. -| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet -| ... | is received on TG from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC4303. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so -| ... | crypto_openssl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${58} -| ${tg_spi}= | ${1000} -| ${dut_spi}= | ${1001} -| ${ESP_PROTO}= | ${50} -| ${tg_if1_ip6}= | 3ffe:5f::1 -| ${tg_if2_ip6}= | 3ffe:60::4 -| ${dut_if1_ip6}= | 3ffe:5f::2 -| ${dut_if2_ip6}= | 3ffe:60::3 -| ${tg_host_ip6}= | 3ffe:61::3 -| ${ip6_plen}= | ${64} -| ${ip6_plen_rt}= | ${128} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ -| | ... | transport mode. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | # These are enums (not strings) so they cannot be in Variables table. -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 512 256 -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv6 IPsec testing -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} -| | ... | is_ipv6=${TRUE} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} - -*** Test Cases *** -| 124B-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev -| | [Tags] | 124B -| | frame_size=${124} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..c7bbd680a5 --- /dev/null +++ b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,102 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECINT | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv4 IPsec tunnel mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ +| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ +| ... | and IPsec manual keyed connection in tunnel mode. +| ... | *[Ver] TG verification:* ETH-IP4 packet is sent from TG to DUT1. Packet\ +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${90} +| ${tg_if1_ip4}= | 192.168.10.2 +| ${dut1_if1_ip4}= | 192.168.10.1 +| ${tun_if1_ip4}= | 100.0.0.1 +| ${tun_if2_ip4}= | 200.0.0.2 +| ${raddr_ip4}= | 20.0.0.0 +| ${laddr_ip4}= | 10.0.0.0 +| ${addr_range}= | ${24} +| ${n_tunnels}= | ${11} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec tunnel interfaces with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ +| | ... | mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg} = | Crypto Alg AES CBC 128 +| | ${auth_alg} = | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPSec in 2-node circular topology +| | ${encr_keys} | ${auth_keys} | ${dut_spi} | ${tg_spi} = +| | ... | And VPP IPsec Create Tunnel Interfaces +| | ... | ${nodes} | ${tun_if1_ip4} | ${tun_if2_ip4} | ${DUT1_${int}2}[0] +| | ... | ${TG_pf2}[0] | ${n_tunnels} | ${encr_alg} | ${auth_alg} +| | ... | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} | return_keys=${True} +| | Then Send IP Packet and verify ESP encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${encr_alg} | ${encr_keys}[0] | ${auth_alg} +| | ... | ${auth_keys}[0] | ${dut_spi} | ${tg_spi} | ${laddr_ip4} | ${raddr_ip4} +| | ... | ${tun_if1_ip4} | ${tun_if2_ip4} + +*** Test Cases *** +| 64B-0c-ethip4ipsec11tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..1feade375e --- /dev/null +++ b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,103 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECINT | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv4 IPsec tunnel mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ +| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ +| ... | and IPsec manual keyed connection in tunnel mode. +| ... | *[Ver] TG verification:* ETH-IP4 packet is sent from TG to DUT1. Packet\ +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${90} +| ${tg_if1_ip4}= | 192.168.10.2 +| ${dut1_if1_ip4}= | 192.168.10.1 +| ${tun_if1_ip4}= | 100.0.0.1 +| ${tun_if2_ip4}= | 200.0.0.2 +| ${raddr_ip4}= | 20.0.0.0 +| ${laddr_ip4}= | 10.0.0.0 +| ${addr_range}= | ${24} +| ${n_tunnels}= | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec tunnel interface with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ +| | ... | mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg} = | Crypto Alg AES CBC 128 +| | ${auth_alg} = | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPSec in 2-node circular topology +| | ${encr_keys} | ${auth_keys} | ${dut_spi} | ${tg_spi} = +| | ... | And VPP IPsec Create Tunnel Interfaces +| | ... | ${nodes} | ${tun_if1_ip4} | ${tun_if2_ip4} | ${DUT1_${int}2}[0] +| | ... | ${TG_pf2}[0] | ${n_tunnels} | ${encr_alg} | ${auth_alg} +| | ... | ${laddr_ip4} | ${raddr_ip4} | ${addr_range} | return_keys=${True} +| | Then Send IP Packet and verify ESP encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${encr_alg} | ${encr_keys}[0] | ${auth_alg} +| | ... | ${auth_keys}[0] | ${dut_spi} | ${tg_spi} | ${laddr_ip4} | ${raddr_ip4} +| | ... | ${tun_if1_ip4} | ${tun_if2_ip4} +| | And Show Ipsec Security Association | ${dut1} + +*** Test Cases *** +| 64B-0c-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..163e58900d --- /dev/null +++ b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,104 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTUN | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv4 IPsec tunnel mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ +| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ +| ... | and IPsec manual keyed connection in tunnel mode. +| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet\ +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${tg_spi}= | ${1000} +| ${dut_spi}= | ${1001} +| ${ESP_PROTO}= | ${50} +| ${tg_if1_ip4}= | 192.168.100.2 +| ${tg_if2_ip4}= | 192.168.4.4 +| ${dut_if1_ip4}= | 192.168.100.3 +| ${dut_if2_ip4}= | 192.168.4.3 +| ${tg_host_ip4}= | 192.168.3.3 +| ${ip4_plen}= | ${24} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ +| | ... | mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg}= | Crypto Alg AES CBC 128 +| | ${auth_alg}= | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv4 IPsec testing +| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} +| | And Configure manual keyed connection for IPSec +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} +| | ... | ${dut_tun_ip} | ${tg_tun_ip} +| | Then Send IPsec Packet and verify ESP encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] +| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} +| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} | ${tg_tun_ip} +| | ... | ${dut_tun_ip} + +*** Test Cases *** +| 64B-0c-ethip4ipsec1tnlsw-ip4base-policy-aes128cbc-hmac512sha-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..012d2297b6 --- /dev/null +++ b/tests/vpp/device/crypto/ethip4/2n1l-10ge2p1x710-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,102 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | IPSEC | IPSECSW | IPSECTPT | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv4 IPsec transport mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure\ +| ... | loopback an physical interface IPv4 addresses, static ARP record, route\ +| ... | and IPsec manual keyed connection in transport mode. +| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet\ +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${tg_spi}= | ${1000} +| ${dut_spi}= | ${1001} +| ${ESP_PROTO}= | ${50} +| ${tg_if1_ip4}= | 192.168.100.2 +| ${tg_if2_ip4}= | 192.168.4.4 +| ${dut_if1_ip4}= | 192.168.100.3 +| ${dut_if2_ip4}= | 192.168.4.3 +| ${tg_host_ip4}= | 192.168.3.3 +| ${ip4_plen}= | ${24} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ +| | ... | transport mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg}= | Crypto Alg AES CBC 128 +| | ${auth_alg}= | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv4 IPsec testing +| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} +| | And Configure manual keyed connection for IPSec +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} +| | Then Send IPsec Packet and verify ESP encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] +| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} +| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} + +*** Test Cases *** +| 64B-0c-ethip4ipsec1tptsw-ip4base-policy-aes128cbc-hmac512sha-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip4/regenerate_testcases.py b/tests/vpp/device/crypto/ethip4/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/crypto/ethip4/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..25a6e2fa54 --- /dev/null +++ b/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,105 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTUN | IP6BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv6 IPsec tunnel mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure +| ... | loopback an physical interface IPv6 addresses, static ARP record, route +| ... | and IPsec manual keyed connection in tunnel mode. +| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${tg_spi}= | ${1000} +| ${dut_spi}= | ${1001} +| ${ESP_PROTO}= | ${50} +| ${tg_if1_ip6}= | 3ffe:5f::1 +| ${tg_if2_ip6}= | 3ffe:60::4 +| ${dut_if1_ip6}= | 3ffe:5f::2 +| ${dut_if2_ip6}= | 3ffe:60::3 +| ${tg_host_ip6}= | 3ffe:61::3 +| ${ip6_plen}= | ${64} +| ${ip6_plen_rt}= | ${128} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ +| | ... | mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg}= | Crypto Alg AES CBC 128 +| | ${auth_alg}= | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv6 IPsec testing +| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} +| | And Configure manual keyed connection for IPSec +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_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} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] +| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} +| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} | ${tg_tun_ip} +| | ... | ${dut_tun_ip} + +*** Test Cases *** +| 78B-0c-ethip6ipsec1tnlsw-ip6base-policy-aes128cbc-hmac512sha-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot b/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot new file mode 100644 index 0000000000..4f5996ef2a --- /dev/null +++ b/tests/vpp/device/crypto/ethip6/2n1l-10ge2p1x710-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy.robot @@ -0,0 +1,104 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP6FWD | IPSEC | IPSECSW | IPSECTPT | IP6BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | ipsec_sa +| +| Test Template | Local Template +| +| Documentation | *IPv6 IPsec transport mode test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 create loopback interface, configure +| ... | loopback an physical interface IPv6 addresses, static ARP record, route +| ... | and IPsec manual keyed connection in transport mode. +| ... | *[Ver] TG verification:* ESP packet is sent from TG to DUT1. ESP packet +| ... | is received on TG from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC4303. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ... | crypto_native_plugin.so | crypto_ipsecmb_plugin.so +| ... | crypto_openssl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${58} +| ${tg_spi}= | ${1000} +| ${dut_spi}= | ${1001} +| ${ESP_PROTO}= | ${50} +| ${tg_if1_ip6}= | 3ffe:5f::1 +| ${tg_if2_ip6}= | 3ffe:60::4 +| ${dut_if1_ip6}= | 3ffe:5f::2 +| ${dut_if2_ip6}= | 3ffe:60::3 +| ${tg_host_ip6}= | 3ffe:61::3 +| ${ip6_plen}= | ${64} +| ${ip6_plen_rt}= | ${128} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ +| | ... | transport mode. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | # These are enums (not strings) so they cannot be in Variables table. +| | ${encr_alg}= | Crypto Alg AES CBC 128 +| | ${auth_alg}= | Integ Alg SHA 512 256 +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv6 IPsec testing +| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} +| | And Configure manual keyed connection for IPSec +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${tg_dst_ip} | ${tg_src_ip} +| | ... | is_ipv6=${TRUE} +| | Then Send IPsec Packet and verify ESP encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] +| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} +| | ... | ${dut_spi} | ${tg_src_ip} | ${tg_dst_ip} + +*** Test Cases *** +| 78B-0c-ethip6ipsec1tptsw-ip6base-policy-aes128cbc-hmac512sha-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/ethip6/regenerate_testcases.py b/tests/vpp/device/crypto/ethip6/regenerate_testcases.py new file mode 100755 index 0000000000..b1c6336c72 --- /dev/null +++ b/tests/vpp/device/crypto/ethip6/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6") diff --git a/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-namespace-scapy.robot b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-namespace-scapy.robot new file mode 100644 index 0000000000..863fc64833 --- /dev/null +++ b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-namespace-scapy.robot @@ -0,0 +1,110 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | NAMESPACE +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethicmp4-ip4base-eth-1tap-namespace +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test | namespace +| Test Teardown | Tear down test | packet_trace | namespace +| +| Test Template | Local Template +| +| Documentation | *Tap Interface Traffic Tests* +| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links +| ... | between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of +| ... | IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 +| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) +| ... | are set depending on test case; Namespaces (NM) +| ... | are set on DUT1 with attached linux-TAP. +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets +| ... | are sent by TG on link to DUT1; On receipt TG verifies packets +| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${tap1_VPP_ip}= | 16.0.10.1 +| ${tap1_NM_ip}= | 16.0.10.2 +| ${tap1_NM_mac}= | 02:00:00:00:00:02 +| ${dut_ip_address}= | 192.168.0.1 +| ${tg_ip_address}= | 192.168.0.2 +| ${tg_ip_address_GW}= | 192.168.0.0 +| ${prefix}= | 24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\ +| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP in\ +| | ... | namespace. +| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\ +| | ... | received on TG. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 +| | And VPP Interface Set IP Address +| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${dut_ip_address} | ${prefix} +| | And Set Interface State | ${dut1} | ${int1} | up +| | And Create Namespace | ${dut1} | nmspace1 +| | And Attach Interface To Namespace | ${dut1} | nmspace1 | tap0 +| | And Set Linux Interface MAC +| | ... | ${dut1} | tap0 | ${tap1_NM_mac} | nmspace1 +| | And Set Linux Interface IP +| | ... | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} | nmspace1 +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${tg_ip_address} | ${TG_pf1_mac}[0] +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} +| | And Add Linux Route +| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | nmspace1 +| | Then Send ICMP echo request and verify answer +| | ... | ${tg} | ${TG_pf1}[0] | ${DUT1_vf1_mac}[0] | ${TG_pf1_mac}[0] +| | ... | ${tap1_NM_ip} | ${tg_ip_address} + +*** Test Cases *** +| 64B-0c-ethicmp4-ip4base-eth-1tap-namespace-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot new file mode 100644 index 0000000000..90707d57d3 --- /dev/null +++ b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethicmp4-ip4base-eth-1tap-scapy.robot @@ -0,0 +1,104 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethicmp4-ip4base-eth-1tap +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test | namespace +| Test Teardown | Tear down test | packet_trace | namespace +| +| Test Template | Local Template +| +| Documentation | *Tap Interface Traffic Tests* +| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links +| ... | between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of +| ... | IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 +| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) +| ... | are set depending on test case; Namespaces (NM) +| ... | are set on DUT1 with attached linux-TAP. +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets +| ... | are sent by TG on link to DUT1; On receipt TG verifies packets +| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${tap1_VPP_ip}= | 16.0.10.1 +| ${tap1_NM_ip}= | 16.0.10.2 +| ${tap1_NM_mac}= | 02:00:00:00:00:02 +| ${dut_ip_address}= | 192.168.0.1 +| ${tg_ip_address}= | 192.168.0.2 +| ${tg_ip_address_GW}= | 192.168.0.0 +| ${prefix}= | 24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\ +| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP. +| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\ +| | ... | received on TG. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 +| | And VPP Interface Set IP Address +| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${dut_ip_address} | ${prefix} +| | And Set Interface State | ${dut1} | ${int1} | up +| | And Set Linux Interface MAC | ${dut1} | tap0 | ${tap1_NM_mac} +| | And Set Linux Interface IP | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} +| | And Add Linux Route +| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${tg_ip_address} | ${TG_pf1_mac}[0] +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} +| | Then Send ICMP echo request and verify answer +| | ... | ${tg} | ${TG_pf1}[0] | ${DUT1_vf1_mac}[0] | ${TG_pf1_mac}[0] +| | ... | ${tap1_NM_ip} | ${tg_ip_address} + +*** Test Cases *** +| 64B-0c-ethicmp4-ip4base-eth-1tap-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot new file mode 100644 index 0000000000..aae6fabc00 --- /dev/null +++ b/tests/vpp/device/interfaces/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2tap-scapy.robot @@ -0,0 +1,93 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BD | BASE | 2TAP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-eth-2tap +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test | namespace +| Test Teardown | Tear down test | packet_trace | namespace | linux_bridge +| +| Test Template | Local Template +| +| Documentation | *Tap Interface Traffic Tests* +| +| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links +| ... | between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of +| ... | IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 +| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) +| ... | are set depending on test case; Namespaces (NM) +| ... | are set on DUT1 with attached linux-TAP. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 +| ... | are sent by TG on link to DUT1; On receipt TG verifies packets +| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${bid_TAP}= | tapBr + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Packet sent from TG is passed through all L2BD and received\ +| | ... | back on TG. Then src_ip, dst_ip and MAC are checked. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 +| | ${int2}= | And Add Tap Interface | ${dut1} | tap1 +| | And Set Interface State | ${dut1} | ${int1} | up +| | And Set Interface State | ${dut1} | ${int2} | up +| | And Create L2 BD | ${dut1} | 19 | learn=${TRUE} +| | And Create L2 BD | ${dut1} | 20 | learn=${TRUE} +| | And Linux Add Bridge | ${dut1} | ${bid_TAP} | tap0 | tap1 +| | And Add interface to bridge domain | ${dut1} | ${int1} | 20 | 0 +| | And Add interface to bridge domain | ${dut1} | ${DUT1_${int}1}[0] | 20 | 0 +| | And Add interface to bridge domain | ${dut1} | ${int2} | 19 | 0 +| | And Add interface to bridge domain | ${dut1} | ${DUT1_${int}2}[0] | 19 | 0 +| | Then Send IP packet and verify received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-eth-2tap-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot deleted file mode 100644 index 0d289e94cf..0000000000 --- a/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot +++ /dev/null @@ -1,104 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethicmpv4-ip4base-eth-1tap -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test | namespace -| Test Teardown | Tear down test | packet_trace | namespace -| -| Test Template | Local Template -| -| Documentation | *Tap Interface Traffic Tests* -| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links -| ... | between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of -| ... | IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 -| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) -| ... | are set depending on test case; Namespaces (NM) -| ... | are set on DUT1 with attached linux-TAP. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets -| ... | are sent by TG on link to DUT1; On receipt TG verifies packets -| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${tap1_VPP_ip}= | 16.0.10.1 -| ${tap1_NM_ip}= | 16.0.10.2 -| ${tap1_NM_mac}= | 02:00:00:00:00:02 -| ${dut_ip_address}= | 192.168.0.1 -| ${tg_ip_address}= | 192.168.0.2 -| ${tg_ip_address_GW}= | 192.168.0.0 -| ${prefix}= | 24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\ -| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP. -| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\ -| | ... | received on TG. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${dut_ip_address} | ${prefix} -| | And Set Interface State | ${dut1} | ${int1} | up -| | And Set Linux Interface MAC | ${dut1} | tap0 | ${tap1_NM_mac} -| | And Set Linux Interface IP | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} -| | And Add Linux Route -| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} -| | And VPP Add IP Neighbor -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${tg_ip_address} | ${TG_pf1_mac}[0] -| | And VPP Add IP Neighbor -| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} -| | Then Send ICMP echo request and verify answer -| | ... | ${tg} | ${TG_pf1}[0] | ${DUT1_vf1_mac}[0] | ${TG_pf1_mac}[0] -| | ... | ${tap1_NM_ip} | ${tg_ip_address} - -*** Test Cases *** -| 64B-ethicmpv4-ip4base-eth-1tap-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot b/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot deleted file mode 100644 index 5b950b6325..0000000000 --- a/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | 1TAP | NAMESPACE -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethicmpv4-ip4base-eth-1tap-namespace -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test | namespace -| Test Teardown | Tear down test | packet_trace | namespace -| -| Test Template | Local Template -| -| Documentation | *Tap Interface Traffic Tests* -| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links -| ... | between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of -| ... | IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 -| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) -| ... | are set depending on test case; Namespaces (NM) -| ... | are set on DUT1 with attached linux-TAP. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets -| ... | are sent by TG on link to DUT1; On receipt TG verifies packets -| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${tap1_VPP_ip}= | 16.0.10.1 -| ${tap1_NM_ip}= | 16.0.10.2 -| ${tap1_NM_mac}= | 02:00:00:00:00:02 -| ${dut_ip_address}= | 192.168.0.1 -| ${tg_ip_address}= | 192.168.0.2 -| ${tg_ip_address_GW}= | 192.168.0.0 -| ${prefix}= | 24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which\ -| | ... | one is TAP interface (dut_to_tg_if and TAP) and one is linux-TAP in\ -| | ... | namespace. -| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\ -| | ... | received on TG. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} -| | And VPP Interface Set IP Address -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${dut_ip_address} | ${prefix} -| | And Set Interface State | ${dut1} | ${int1} | up -| | And Create Namespace | ${dut1} | nmspace1 -| | And Attach Interface To Namespace | ${dut1} | nmspace1 | tap0 -| | And Set Linux Interface MAC -| | ... | ${dut1} | tap0 | ${tap1_NM_mac} | nmspace1 -| | And Set Linux Interface IP -| | ... | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} | nmspace1 -| | And VPP Add IP Neighbor -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ${tg_ip_address} | ${TG_pf1_mac}[0] -| | And VPP Add IP Neighbor -| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} -| | And Add Linux Route -| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | nmspace1 -| | Then Send ICMP echo request and verify answer -| | ... | ${tg} | ${TG_pf1}[0] | ${DUT1_vf1_mac}[0] | ${TG_pf1_mac}[0] -| | ... | ${tap1_NM_ip} | ${tg_ip_address} - -*** Test Cases *** -| 64B-ethicmpv4-ip4base-eth-1tap-namespace-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot deleted file mode 100644 index df21d5ee8f..0000000000 --- a/tests/vpp/device/interfaces/eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev.robot +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BD | BASE | 2TAP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdbasemaclrn-eth-2tap -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test | namespace -| Test Teardown | Tear down test | packet_trace | namespace | linux_bridge -| -| Test Template | Local Template -| -| Documentation | *Tap Interface Traffic Tests* -| -| ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links -| ... | between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of -| ... | IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 -| ... | bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) -| ... | are set depending on test case; Namespaces (NM) -| ... | are set on DUT1 with attached linux-TAP. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 -| ... | are sent by TG on link to DUT1; On receipt TG verifies packets -| ... | for correctness and their IPv4 src-addr, dst-addr, and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${bid_TAP}= | tapBr - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Packet sent from TG is passed through all L2BD and received\ -| | ... | back on TG. Then src_ip, dst_ip and MAC are checked. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 -| | ${int2}= | And Add Tap Interface | ${dut1} | tap1 -| | And Set Interface State | ${dut1} | ${int1} | up -| | And Set Interface State | ${dut1} | ${int2} | up -| | And Create L2 BD | ${dut1} | 19 | learn=${TRUE} -| | And Create L2 BD | ${dut1} | 20 | learn=${TRUE} -| | And Linux Add Bridge | ${dut1} | ${bid_TAP} | tap0 | tap1 -| | And Add interface to bridge domain | ${dut1} | ${int1} | 20 | 0 -| | And Add interface to bridge domain | ${dut1} | ${DUT1_${int}1}[0] | 20 | 0 -| | And Add interface to bridge domain | ${dut1} | ${int2} | 19 | 0 -| | And Add interface to bridge domain | ${dut1} | ${DUT1_${int}2}[0] | 19 | 0 -| | Then Send IP packet and verify received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdbasemaclrn-eth-2tap-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/regenerate_testcases.py b/tests/vpp/device/interfaces/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/interfaces/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy.robot new file mode 100644 index 0000000000..da772e71e9 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlalwlistbase-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | ADLALWLIST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-adlalwlistbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ADL Security IPv4 allowlist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | static routes. ADL security allowlist are applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ +| | ... | verify received IPv4 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | And Add Fib Table | ${dut1} | 1 +| | And Vpp Route Add | ${dut1} | 10.10.10.0 | 24 | vrf=1 | local=${TRUE} +| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip4 | 1 +| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-adlalwlistbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy.robot new file mode 100644 index 0000000000..6129f5abde --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-adlblklistbase-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | ADLBLKLIST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-adlblklistbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ADL Security IPv4 allowlist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | static routes. ADL security allowlist are applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ +| | ... | verify received IPv4 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | And Add Fib Table | ${dut1} | 1 +| | And Vpp Route Add | ${dut1} | 10.10.10.0 | 24 | vrf=1 | local=${TRUE} +| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip4 | 1 +| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable +| | Then Packet transmission from port to port should fail +| | ... | ${tg} | 100.0.0.2 | 200.0.0.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-adlblklistbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy.robot new file mode 100644 index 0000000000..1e250e5954 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-scapy.robot @@ -0,0 +1,90 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | IACLDST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-iacldstbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | classify +| +| Test Template | Local Template +| +| Documentation | *IPv4 iAcl whitelist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | static routes. IPv4 iAcl security whitelist is applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ +| | ... | verify received IPv4 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip4 | dst | 255.255.255.255 +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} | ip4 | dst +| | ... | 20.20.20.2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ip4 | ${table_idx} +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-iacldstbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy.robot new file mode 100644 index 0000000000..f0f9de7f70 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-scapy.robot @@ -0,0 +1,85 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | POLICE_MARK | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-ipolicemarkbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | classify +| +| Test Template | Local Template +| +| Documentation | *IPv4 policer test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* On DUT1 configure interfaces IPv4 adresses, \ +| ... | and static ARP record on the second interface. On DUT1 configure 2R3C \ +| ... | color-aware policer on the first interface. +| ... | *[Ver] TG verification:* Test packet is sent from TG on the first link \ +| ... | to DUT1. Packet is received on TG on the second link from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC2474, RFC2697, RFC2698. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${cir}= | ${100} +| ${eir}= | ${150} +| ${dscp}= | AF22 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Test packet is sent from TG on the first link to DUT1. \ +| | ... | Packet is received on TG on the second link from DUT1. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | Given Set Max Rate And Jumbo +| | And Set Rates For Policer +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | And Initialize IPv4 policer 2r3c-'ca' in circular topology +| | Then Send packet and verify marking +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | 10.10.10.2 | 20.20.20.2 + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-ipolicemarkbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot new file mode 100644 index 0000000000..7da5a2b127 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4-ip4base-scapy.robot @@ -0,0 +1,83 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *IPv4 routing test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both \ +| ... | links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | two static IPv4 /24 route entries. +| ... | *[Ver] TG verification:* Test IPv4 packet with IP protocol=61 is sent \ +| ... | in one direction by TG on links to DUT1; on receive TG verifies packet \ +| ... | for correctness and their IPv4 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | remote_host1_ip=192.168.0.1 | remote_host2_ip=192.168.0.2 +| | Then Send packet and verify headers +| | ... | ${tg} | 192.168.0.1 | 192.168.0.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot new file mode 100644 index 0000000000..a32cfb1557 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44det-scapy.robot @@ -0,0 +1,111 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/ip/nat.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC +| ... | BASE | TCP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44det-scapy +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | det44 +| +| Test Template | Local Template +| +| Documentation | *NAT44 deterministic mode test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and +| ... | one static IPv4 /${dest_mask} route entries. +| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Ver] TG verification:* Eth-IPv4-TCP packet is sent from TG to DUT1 in\ +| ... | one direction. Packet is received and verified for correctness on TG.\ +| ... | Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet\ +| ... | is received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC793, RFC3022, +| ... | RFC4787. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | det44_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# IP addresing +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${20} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${20} +| ${dest_net}= | 30.0.0.0 +| ${dest_mask}= | ${24} +# proto layer settings +| ${protocol}= | TCP +| ${src_port_in}= | 1024 +| ${dst_port}= | 8080 +# NAT settings +| ${nat_mode}= | deterministic +| ${in_net}= | 20.0.0.0 +| ${in_mask}= | ${32} +| ${out_net}= | 200.0.0.0 +| ${out_mask}= | ${32} + +*** Keywords *** +| Local Template +| | +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. +| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 deterministic mode in circular topology +| | Then Send TCP or UDP packet and verify network address translations +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} +| | ... | ${protocol} | ${src_port_in} | ${dst_port} + +*** Test Cases *** +| 64B-0c-ethip4tcp-nat44det-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot new file mode 100644 index 0000000000..6ac9d03252 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-scapy.robot @@ -0,0 +1,114 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/ip/nat.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT +| ... | BASE | TCP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-scapy +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | nat-ed +| +| Test Template | Local Template +| +| Documentation | *Connections per second NAT44 endpoint-dependent mode +| ... | performance test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and +| ... | one static IPv4 /18 route entries. +| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Ver] TG verification:* Eth-IPv4-TCP packet is sent from TG to DUT1 in\ +| ... | one direction. Packet is received and verified for correctness on TG.\ +| ... | Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet\ +| ... | is received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC793, RFC3022, +| ... | RFC4787. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${22} +# proto layer settings +| ${protocol}= | TCP +| ${src_port_in}= | 1024 +| ${dst_port}= | 8080 +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${n_sessions}= | ${64512} +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${22} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.0 +| ${out_mask}= | ${32} + +*** Keywords *** +| Local Template +| | +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. +| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Send TCP or UDP packet and verify network address translations +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} +| | ... | ${protocol} | ${src_port_in} | ${dst_port} + +*** Test Cases *** +| 64B-0c-ethip4tcp-nat44ed-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot new file mode 100644 index 0000000000..ffc083797e --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-scapy.robot @@ -0,0 +1,111 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/ip/nat.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC +| ... | BASE | UDP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44det-scapy +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | det44 +| +| Test Template | Local Template +| +| Documentation | *NAT44 deterministic mode test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and +| ... | one static IPv4 /${dest_mask} route entries. +| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Ver] TG verification:* Eth-IPv4-UDP packet is sent from TG to DUT1 in\ +| ... | one direction. Packet is received and verified for correctness on TG.\ +| ... | Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet\ +| ... | is received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC3022, +| ... | RFC4787. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | det44_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# IP addresing +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${20} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${20} +| ${dest_net}= | 30.0.0.0 +| ${dest_mask}= | ${24} +# proto layer settings +| ${protocol}= | UDP +| ${src_port_in}= | 1024 +| ${dst_port}= | 8080 +# NAT settings +| ${nat_mode}= | deterministic +| ${in_net}= | 20.0.0.0 +| ${in_mask}= | ${32} +| ${out_net}= | 200.0.0.0 +| ${out_mask}= | ${32} + +*** Keywords *** +| Local Template +| | +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. +| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 deterministic mode in circular topology +| | Then Send TCP or UDP packet and verify network address translations +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} +| | ... | ${protocol} | ${src_port_in} | ${dst_port} + +*** Test Cases *** +| 64B-0c-ethip4udp-nat44det-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot new file mode 100644 index 0000000000..d9588ae9a1 --- /dev/null +++ b/tests/vpp/device/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-scapy.robot @@ -0,0 +1,114 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/ip/nat.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT +| ... | BASE | UDP | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-scapy +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | nat-ed +| +| Test Template | Local Template +| +| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode +| ... | performance test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and +| ... | one static IPv4 /${dest_mask} route entries. +| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Ver] TG verification:* Eth-IPv4-UDP packet is sent from TG to DUT1 in\ +| ... | one direction. Packet is received and verified for correctness on TG.\ +| ... | Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet\ +| ... | is received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC3022, +| ... | RFC4787. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${22} +# proto layer settings +| ${protocol}= | UDP +| ${src_port_in}= | 1024 +| ${dst_port}= | 8080 +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${n_sessions}= | ${64512} +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${22} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.0 +| ${out_mask}= | ${32} + +*** Keywords *** +| Local Template +| | +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. +| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Send TCP or UDP packet and verify network address translations +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} +| | ... | ${protocol} | ${src_port_in} | ${dst_port} + +*** Test Cases *** +| 64B-0c-ethip4udp-nat44ed-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlalwlistbase-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlalwlistbase-dev.robot deleted file mode 100644 index db49d8e8c6..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlalwlistbase-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | ADLALWLIST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4-ip4base-adlalwlistbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ADL Security IPv4 allowlist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | static routes. ADL security allowlist are applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ -| | ... | verify received IPv4 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding in circular topology -| | And Add Fib Table | ${dut1} | 1 -| | And Vpp Route Add | ${dut1} | 10.10.10.0 | 24 | vrf=1 | local=${TRUE} -| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip4 | 1 -| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethip4-ip4base-adlalwlistbase-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlblklistbase-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlblklistbase-dev.robot deleted file mode 100644 index 32248e29b5..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-adlblklistbase-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | ADLBLKLIST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4-ip4base-adlblklistbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ADL Security IPv4 allowlist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | static routes. ADL security allowlist are applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ -| | ... | verify received IPv4 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding in circular topology -| | And Add Fib Table | ${dut1} | 1 -| | And Vpp Route Add | ${dut1} | 10.10.10.0 | 24 | vrf=1 | local=${TRUE} -| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip4 | 1 -| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable -| | Then Packet transmission from port to port should fail -| | ... | ${tg} | 100.0.0.2 | 200.0.0.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethip4-ip4base-adlblklistbase-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot deleted file mode 100644 index 1a40e11d87..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-iacldstbase-dev.robot +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | IACLDST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4-ip4base-iacldstbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | classify -| -| Test Template | Local Template -| -| Documentation | *IPv4 iAcl whitelist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | static routes. IPv4 iAcl security whitelist is applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 on its interface to DUT1; \ -| | ... | verify received IPv4 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding in circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip4 | dst | 255.255.255.255 -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} | ip4 | dst -| | ... | 20.20.20.2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ip4 | ${table_idx} -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethip4-ip4base-iacldstbase-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot deleted file mode 100644 index 042d986d61..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-ipolicemarkbase-dev.robot +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | POLICE_MARK | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4-ip4base-ipolicemarkbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | classify -| -| Test Template | Local Template -| -| Documentation | *IPv4 policer test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* On DUT1 configure interfaces IPv4 adresses, \ -| ... | and static ARP record on the second interface. On DUT1 configure 2R3C \ -| ... | color-aware policer on the first interface. -| ... | *[Ver] TG verification:* Test packet is sent from TG on the first link \ -| ... | to DUT1. Packet is received on TG on the second link from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC2474, RFC2697, RFC2698. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${cir}= | ${100} -| ${eir}= | ${150} -| ${dscp}= | AF22 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Test packet is sent from TG on the first link to DUT1. \ -| | ... | Packet is received on TG on the second link from DUT1. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | Given Set Max Rate And Jumbo -| | And Set Rates For Policer -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding in circular topology -| | And Initialize IPv4 policer 2r3c-'ca' in circular topology -| | Then Send packet and verify marking -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | 10.10.10.2 | 20.20.20.2 - -*** Test Cases *** -| 64B-ethip4-ip4base-ipolicemarkbase-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44det-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44det-dev.robot deleted file mode 100644 index 4ade0f72df..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44det-dev.robot +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/nat.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | BASE | TCP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-nat44det-dev -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | det44 -| -| Test Template | Local Template -| -| Documentation | *NAT44 deterministic mode test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /${dest_mask} route entries. -| ... | DUT1 is tested with ${nic_name}.\ -| ... | *[Ver] TG verification:* Eth-IPv4-TCP packet is sent from TG to DUT1 in\ -| ... | one direction. Packet is received and verified for correctness on TG.\ -| ... | Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet\ -| ... | is received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC793, RFC3022, -| ... | RFC4787. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | det44_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# IP addresing -| ${tg_if1_ip4}= | 10.0.0.2 -| ${tg_if1_mask}= | ${20} -| ${tg_if2_ip4}= | 12.0.0.2 -| ${tg_if2_mask}= | ${20} -| ${dut1_if1_ip4}= | 10.0.0.1 -| ${dut1_if1_mask}= | ${20} -| ${dut1_if2_ip4}= | 12.0.0.1 -| ${dut1_if2_mask}= | ${20} -| ${dest_net}= | 30.0.0.0 -| ${dest_mask}= | ${24} -# proto layer settings -| ${protocol}= | TCP -| ${src_port_in}= | 1024 -| ${dst_port}= | 8080 -# NAT settings -| ${nat_mode}= | deterministic -| ${in_net}= | 20.0.0.0 -| ${in_mask}= | ${32} -| ${out_net}= | 200.0.0.0 -| ${out_mask}= | ${32} - -*** Keywords *** -| Local Template -| | -| | [Documentation] -| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. -| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding for NAT44 in circular topology -| | And Initialize NAT44 deterministic mode in circular topology -| | Then Send TCP or UDP packet and verify network address translations -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} -| | ... | ${protocol} | ${src_port_in} | ${dst_port} - -*** Test Cases *** -| 64B-ethip4tcp-nat44det-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot deleted file mode 100644 index de498d61b6..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4tcp-nat44ed-dev.robot +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/nat.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT -| ... | BASE | TCP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-nat44ed-dev -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | nat-ed -| -| Test Template | Local Template -| -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. -| ... | DUT1 is tested with ${nic_name}.\ -| ... | *[Ver] TG verification:* Eth-IPv4-TCP packet is sent from TG to DUT1 in\ -| ... | one direction. Packet is received and verified for correctness on TG.\ -| ... | Then Eth-IPv4-TCP packet is sent from TG in opposite direction. Packet\ -| ... | is received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC793, RFC3022, -| ... | RFC4787. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | nat_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# IP settings -| ${tg_if1_ip4}= | 10.0.0.2 -| ${tg_if1_mask}= | ${20} -| ${tg_if2_ip4}= | 12.0.0.2 -| ${tg_if2_mask}= | ${20} -| ${dut1_if1_ip4}= | 10.0.0.1 -| ${dut1_if1_mask}= | ${24} -| ${dut1_if2_ip4}= | 12.0.0.1 -| ${dut1_if2_mask}= | ${24} -| ${dest_net}= | 20.0.0.0 -| ${dest_mask}= | ${22} -# proto layer settings -| ${protocol}= | TCP -| ${src_port_in}= | 1024 -| ${dst_port}= | 8080 -# NAT settings -| ${nat_mode}= | endpoint-dependent -| ${n_sessions}= | ${64512} -| ${in_net}= | 192.168.0.0 -| ${in_mask}= | ${22} -| ${out_net}= | 68.142.68.0 -| ${out_net_end}= | 68.142.68.0 -| ${out_mask}= | ${32} - -*** Keywords *** -| Local Template -| | -| | [Documentation] -| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. -| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding for NAT44 in circular topology -| | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Send TCP or UDP packet and verify network address translations -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} -| | ... | ${protocol} | ${src_port_in} | ${dst_port} - -*** Test Cases *** -| 64B-ethip4tcp-nat44ed-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4udp-nat44det-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4udp-nat44det-dev.robot deleted file mode 100644 index 04fe4fe1e1..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4udp-nat44det-dev.robot +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/nat.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | BASE | UDP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-nat44det-dev -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | det44 -| -| Test Template | Local Template -| -| Documentation | *NAT44 deterministic mode test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /${dest_mask} route entries. -| ... | DUT1 is tested with ${nic_name}.\ -| ... | *[Ver] TG verification:* Eth-IPv4-UDP packet is sent from TG to DUT1 in\ -| ... | one direction. Packet is received and verified for correctness on TG.\ -| ... | Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet\ -| ... | is received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC3022, -| ... | RFC4787. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | det44_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# IP addresing -| ${tg_if1_ip4}= | 10.0.0.2 -| ${tg_if1_mask}= | ${20} -| ${tg_if2_ip4}= | 12.0.0.2 -| ${tg_if2_mask}= | ${20} -| ${dut1_if1_ip4}= | 10.0.0.1 -| ${dut1_if1_mask}= | ${20} -| ${dut1_if2_ip4}= | 12.0.0.1 -| ${dut1_if2_mask}= | ${20} -| ${dest_net}= | 30.0.0.0 -| ${dest_mask}= | ${24} -# proto layer settings -| ${protocol}= | UDP -| ${src_port_in}= | 1024 -| ${dst_port}= | 8080 -# NAT settings -| ${nat_mode}= | deterministic -| ${in_net}= | 20.0.0.0 -| ${in_mask}= | ${32} -| ${out_net}= | 200.0.0.0 -| ${out_mask}= | ${32} - -*** Keywords *** -| Local Template -| | -| | [Documentation] -| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. -| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding for NAT44 in circular topology -| | And Initialize NAT44 deterministic mode in circular topology -| | Then Send TCP or UDP packet and verify network address translations -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} -| | ... | ${protocol} | ${src_port_in} | ${dst_port} - -*** Test Cases *** -| 64B-ethip4udp-nat44det-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4udp-nat44ed-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4udp-nat44ed-dev.robot deleted file mode 100644 index 27bcf5e830..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4udp-nat44ed-dev.robot +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/nat.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_ENDPOINT_DEPENDENT -| ... | BASE | UDP | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-nat44ed-dev -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | nat-ed -| -| Test Template | Local Template -| -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /${dest_mask} route entries. -| ... | DUT1 is tested with ${nic_name}.\ -| ... | *[Ver] TG verification:* Eth-IPv4-UDP packet is sent from TG to DUT1 in\ -| ... | one direction. Packet is received and verified for correctness on TG.\ -| ... | Then Eth-IPv4-UDP packet is sent from TG in opposite direction. Packet\ -| ... | is received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC3022, -| ... | RFC4787. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | nat_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# IP settings -| ${tg_if1_ip4}= | 10.0.0.2 -| ${tg_if1_mask}= | ${20} -| ${tg_if2_ip4}= | 12.0.0.2 -| ${tg_if2_mask}= | ${20} -| ${dut1_if1_ip4}= | 10.0.0.1 -| ${dut1_if1_mask}= | ${24} -| ${dut1_if2_ip4}= | 12.0.0.1 -| ${dut1_if2_mask}= | ${24} -| ${dest_net}= | 20.0.0.0 -| ${dest_mask}= | ${22} -# proto layer settings -| ${protocol}= | UDP -| ${src_port_in}= | 1024 -| ${dst_port}= | 8080 -# NAT settings -| ${nat_mode}= | endpoint-dependent -| ${n_sessions}= | ${64512} -| ${in_net}= | 192.168.0.0 -| ${in_mask}= | ${22} -| ${out_net}= | 68.142.68.0 -| ${out_net_end}= | 68.142.68.0 -| ${out_mask}= | ${32} - -*** Keywords *** -| Local Template -| | -| | [Documentation] -| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration. -| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding for NAT44 in circular topology -| | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Send TCP or UDP packet and verify network address translations -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${DUT1_vf2_mac}[0] | ${in_net} | ${out_net} | ${dest_net} -| | ... | ${protocol} | ${src_port_in} | ${dst_port} - -*** Test Cases *** -| 64B-ethip4udp-nat44ed-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot b/tests/vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot deleted file mode 100644 index c96fc9df93..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethipv4-ip4base-dev.robot +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-ip4base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both \ -| ... | links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | two static IPv4 /24 route entries. -| ... | *[Ver] TG verification:* Test IPv4 packet with IP protocol=61 is sent \ -| ... | in one direction by TG on links to DUT1; on receive TG verifies packet \ -| ... | for correctness and their IPv4 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packet routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding in circular topology -| | ... | remote_host1_ip=192.168.0.1 | remote_host2_ip=192.168.0.2 -| | Then Send packet and verify headers -| | ... | ${tg} | 192.168.0.1 | 192.168.0.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-ip4base-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/regenerate_testcases.py b/tests/vpp/device/ip4/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/ip4/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4--ethip4udpgeneve-1tun-ip4base-scapy.robot b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4--ethip4udpgeneve-1tun-ip4base-scapy.robot new file mode 100644 index 0000000000..9a84bfcb85 --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4--ethip4udpgeneve-1tun-ip4base-scapy.robot @@ -0,0 +1,107 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/ip/geneve.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | ENCAP | GENEVE +| ... | GENEVE_L3MODE | GENEVE4_1TUN | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4--ethip4udpgeneve-1tun-ip4base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | geneve4 +| +| Test Template | Local Template +| +| Documentation | *L2BD with GENEVE L3 mode test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 between TG-if1 and DUT1-if1 and\ +| ... | Eth-IPv4-UDP-GENEVE-Eth-IPv4 between DUT1-if2 and TG-if2 for IPv4\ +| ... | routing over GENEVE tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing over\ +| ... | GENEVE tunnel and 4 static IPv4 /24 route entries.\ +| ... | DUT1 is tested with ${nic_name}. +| ... | *[Ver] TG verification:* Test Eth-IPv4 packet is sent by TG-if1 on link\ +| ... | to DUT1-if1; on receive by TG-if2 the encapsulated packet is verified\ +| ... | for correctness and its outer and inner IPv4 and MAC addresses, UDP\ +| ... | ports and GENEVE vni and protocol number. Then test\ +| ... | Eth-IPv4-UDP-GENEVE-Eth-IPv4 packet is sent by TG-if2 on link to\ +| ... | DUT1-if2; on receive by TG-if1 decapsulated packet is verified for\ +| ... | correctness and its IPv4 and MAC addresses +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC8926. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | geneve_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# IP settings +| ${dut1_if1_ip4}= | 20.0.0.1 +| ${dut1_if2_ip4}= | 30.0.0.1 +| ${tg_if1_ip4}= | 20.0.0.2 +| ${tg_if2_ip4}= | 30.0.0.2 +# GENEVE settings +| ${gen_mode}= | L3 +| ${n_tunnels}= | ${1} +| &{gen_tunnel}= +| ... | local=1.1.1.2 | remote=1.1.1.1 | vni=${1} +| ... | src_ip=10.128.1.0 | dst_ip=10.0.1.0 | ip_mask=${24} | if_ip=11.0.1.2 + +*** Keywords *** +| Local Template +| | +| | [Documentation] +| | ... | [Cfg] DUT runs GENEVE ${gen_mode} mode configuration. +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize GENEVE L3 mode in circular topology +| | Then Send IP packet and verify GENEVE encapsulation in received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] +| | ... | ${gen_tunnel}[local] | ${gen_tunnel}[remote] | ${gen_tunnel}[vni] +| | ... | ${gen_tunnel}[src_ip] | ${gen_tunnel}[dst_ip] +| | And Show Geneve Tunnel Data | ${nodes['DUT1']} + +*** Test Cases *** +| 64B-0c-ethip4--ethip4udpgeneve-1tun-ip4base-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot new file mode 100644 index 0000000000..203ec394d0 --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-scapy.robot @@ -0,0 +1,85 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4vxlan-l2bdbasemaclrn +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD with VXLANoIPv4 test cases* +| +| ... | *[Top] Network topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet encapsulations:* Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on\ +| ... | TG-DUT. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain\ +| ... | switching combined with MAC learning enable.\ +| ... | VXLAN tunnels are configured on links betwen TG and DUT. +| ... | *[Ver] TG verification:* Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is\ +| ... | sent by TG on link to DUT1; on receive TG verifies packets for\ +| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC7348. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${50} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send VXLAN encapsulated Ethernet frame; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize layer ip4vxlan +| | And Initialize L2 bridge domain +| | Then Send VXLAN encapsulated packet and verify received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0} + +*** Test Cases *** +| 64B-0c-ethip4vxlan-l2bdbasemaclrn-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot new file mode 100644 index 0000000000..5f2cfae9db --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/2n1l-10ge2p1x710-ethip4vxlan-l2xcbase-scapy.robot @@ -0,0 +1,84 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | L2XCBASE | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4vxlan-l2xcbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2XC with VXLANoIPv4 test cases* +| +| ... | *[Top] Network topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet encapsulations:* Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on\ +| ... | TG-DUT. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect.\ +| ... | VXLAN tunnels are configured on links betwen TG and DUT. +| ... | *[Ver] TG verification:* Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is\ +| ... | sent by TG on link to DUT1; on receive TG verifies packets for\ +| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC7348. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${50} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send VXLAN encapsulated Ethernet frame; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize layer ip4vxlan +| | And Initialize L2 cross connect +| | Then Send VXLAN encapsulated packet and verify received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0} + +*** Test Cases *** +| 64B-0c-ethip4vxlan-l2xcbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/eth2p-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot b/tests/vpp/device/ip4_tunnels/eth2p-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot deleted file mode 100644 index b6c16eab36..0000000000 --- a/tests/vpp/device/ip4_tunnels/eth2p-ethip4--ethip4udpgeneve-1tun-ip4base-dev.robot +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/geneve.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | ENCAP | GENEVE -| ... | GENEVE_L3MODE | GENEVE4_1TUN | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4--ethip4udpgeneve-1tun-ip4base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | geneve4 -| -| Test Template | Local Template -| -| Documentation | *L2BD with GENEVE L3 mode test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 between TG-if1 and DUT1-if1 and\ -| ... | Eth-IPv4-UDP-GENEVE-Eth-IPv4 between DUT1-if2 and TG-if2 for IPv4\ -| ... | routing over GENEVE tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing over\ -| ... | GENEVE tunnel and 4 static IPv4 /24 route entries.\ -| ... | DUT1 is tested with ${nic_name}. -| ... | *[Ver] TG verification:* Test Eth-IPv4 packet is sent by TG-if1 on link\ -| ... | to DUT1-if1; on receive by TG-if2 the encapsulated packet is verified\ -| ... | for correctness and its outer and inner IPv4 and MAC addresses, UDP\ -| ... | ports and GENEVE vni and protocol number. Then test\ -| ... | Eth-IPv4-UDP-GENEVE-Eth-IPv4 packet is sent by TG-if2 on link to\ -| ... | DUT1-if2; on receive by TG-if1 decapsulated packet is verified for\ -| ... | correctness and its IPv4 and MAC addresses -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC768, RFC8926. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | geneve_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# IP settings -| ${dut1_if1_ip4}= | 20.0.0.1 -| ${dut1_if2_ip4}= | 30.0.0.1 -| ${tg_if1_ip4}= | 20.0.0.2 -| ${tg_if2_ip4}= | 30.0.0.2 -# GENEVE settings -| ${gen_mode}= | L3 -| ${n_tunnels}= | ${1} -| &{gen_tunnel}= -| ... | local=1.1.1.2 | remote=1.1.1.1 | vni=${1} -| ... | src_ip=10.128.1.0 | dst_ip=10.0.1.0 | ip_mask=${24} | if_ip=11.0.1.2 - -*** Keywords *** -| Local Template -| | -| | [Documentation] -| | ... | [Cfg] DUT runs GENEVE ${gen_mode} mode configuration. -| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. -| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize GENEVE L3 mode in circular topology -| | Then Send IP packet and verify GENEVE encapsulation in received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${DUT1_vf1_mac}[0] | ${DUT1_vf2_mac}[0] -| | ... | ${gen_tunnel}[local] | ${gen_tunnel}[remote] | ${gen_tunnel}[vni] -| | ... | ${gen_tunnel}[src_ip] | ${gen_tunnel}[dst_ip] -| | And Show Geneve Tunnel Data | ${nodes['DUT1']} - -*** Test Cases *** -| 64B-ethip4--ethip4udpgeneve-1tun-ip4base-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot b/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot deleted file mode 100644 index e77ed2b118..0000000000 --- a/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2bdbasemaclrn-dev.robot +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | L2BDMACLRN | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4vxlan-l2bdbasemaclrn -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD with VXLANoIPv4 test cases* -| -| ... | *[Top] Network topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet encapsulations:* Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on\ -| ... | TG-DUT. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain\ -| ... | switching combined with MAC learning enable.\ -| ... | VXLAN tunnels are configured on links betwen TG and DUT. -| ... | *[Ver] TG verification:* Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is\ -| ... | sent by TG on link to DUT1; on receive TG verifies packets for\ -| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC7348. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${50} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send VXLAN encapsulated Ethernet frame; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize layer ip4vxlan -| | And Initialize L2 bridge domain -| | Then Send VXLAN encapsulated packet and verify received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0} - -*** Test Cases *** -| 114B-ethip4vxlan-l2bdbasemaclrn-dev -| | [Tags] | 114B -| | frame_size=${114} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2xcbase-dev.robot b/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2xcbase-dev.robot deleted file mode 100644 index 5853da5be2..0000000000 --- a/tests/vpp/device/ip4_tunnels/eth2p-ethip4vxlan-l2xcbase-dev.robot +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | L2XCBASE | ENCAP | VXLAN | L2OVRLAY | IP4UNRLAY -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4vxlan-l2xcbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2XC with VXLANoIPv4 test cases* -| -| ... | *[Top] Network topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet encapsulations:* Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on\ -| ... | TG-DUT. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect.\ -| ... | VXLAN tunnels are configured on links betwen TG and DUT. -| ... | *[Ver] TG verification:* Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is\ -| ... | sent by TG on link to DUT1; on receive TG verifies packets for\ -| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC7348. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${50} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send VXLAN encapsulated Ethernet frame; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize layer ip4vxlan -| | And Initialize L2 cross connect -| | Then Send VXLAN encapsulated packet and verify received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | 172.17.0.2 | 172.16.0.1 | ${0} | 172.26.0.1 | 172.27.0.2 | ${0} - -*** Test Cases *** -| 114B-ethip4vxlan-l2xcbase-dev -| | [Tags] | 114B -| | frame_size=${114} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot new file mode 100644 index 0000000000..2760166d3c --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lisp-ip4base-scapy.robot @@ -0,0 +1,91 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Variables | resources/test_data/lisp/lisp.py +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | LISP | LISP_IP4o4 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4lisp-ip4base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ip4-lisp-ip4 encapsulation test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ +| ... | circular topology with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4-ICMPv4\ +| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing\ +| ... | over LISPoIPv4 tunnel. +| ... | *[Cfg] DUT configuration:* DUT is configured with IPv4\ +| ... | routing and static routes. LISPoIPv4 tunnel is\ +| ... | configured between DUT1 and TG2. +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets\ +| ... | are sent by TG on if1 link to DUT1; on receive TG verifies\ +| ... | packets for correctness and their IPv4 src-addr, dst-addr\ +| ... | and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure LISP.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv4 LISP testing +| | And Configure LISP in 2-node circular topology +| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} +| | ... | ${dut1_to_tg_ip4_static_adjacency} +| | Then Send packet and verify LISP encap +| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${src_rloc4} | ${dst_rloc4} + +*** Test Cases *** +| 64B-0c-ethip4lisp-ip4base-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot new file mode 100644 index 0000000000..b5f7248029 --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip4base-scapy.robot @@ -0,0 +1,92 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Variables | resources/test_data/lisp/lisp.py +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | LISP | LISPGPE_IP4o4 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4lispgpe-ip4base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ip4-lispgpe-ip4 encapsulation test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ +| ... | circular topology with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISPGPE-IPv4-ICMPv4\ +| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4\ +| ... | routing over LISPoIPv4 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ +| ... | with IPv4 routing and static routes. LISPoIPv4 tunnel is\ +| ... | configured between DUT1 and TG. +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets\ +| ... | are sent in TG->DUT(if1); On receive TG(if2) verifies packets\ +| ... | for correctness and their IPv4 src-addr, dst-addr and\ +| ... | MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${is_gpe}= | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure LISP. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv4 LISP testing +| | And Configure LISP in 2-node circular topology +| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4_eid} +| | ... | ${dut1_to_tg_ip4_static_adjacency} | ${is_gpe} +| | Then Send packet and verify LISP GPE encap +| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${src_rloc4} | ${dst_rloc4} + +*** Test Cases *** +| 64B-0c-ethip4lispgpe-ip4base-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot new file mode 100644 index 0000000000..66fd601c54 --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/lisp/2n1l-10ge2p1x710-ethip4lispgpe-ip6base-scapy.robot @@ -0,0 +1,94 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Variables | resources/test_data/lisp/lisp.py +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP4FWD | LISP | LISPGPE_IP6o4 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4lispgpe-ip6base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ip4-lispgpe-ip6 encapsulation test cases* +| +| ... | *[Top] Network Topologies:* TG(if1)-DUT1-TG(if2) 2-node\ +| ... | circular topology with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISPGPE-IPv6-ICMPv6\ +| ... | on DUT1-TG(if2),Eth-IPv6-ICMPv6 on TG-DUTn for IPv6\ +| ... | routing over LISPoIPv4 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ +| ... | with IPv6 routing and static routes. LISPoIPv4 tunnel is\ +| ... | configured between DUT1 and TG(if2). +| ... | *[Ver] TG verification:* Test ICMPv6 Echo Request packets\ +| ... | are sent in if1 by TG on links to DUT1; on receive\ +| ... | TG verifies packets for correctness and their IPv6 src-addr,\ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${ot_mode}= | 6to4 +| ${is_gpe}= | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure LISPGPE\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv6 LISPoIP4 testing +| | And Vpp Interfaces RA Suppress On All Nodes | ${nodes} +| | And Configure LISP in 2-node circular topology +| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} +| | ... | ${dut1_ip6o4_static_adjacency} | ${is_gpe} +| | Then Send packet and verify LISPoTunnel encap +| | ... | ${tg} | ${tg_if1_ip6} | ${dst_ip6} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${src_rloc4} | ${dst_rloc4} | ${ot_mode} + +*** Test Cases *** +| 64B-0c-ethip4lispgpe-ip6base-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-dev.robot b/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-dev.robot deleted file mode 100644 index d4e5408f0d..0000000000 --- a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-dev.robot +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Variables | resources/test_data/lisp/lisp.py -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | LISP | LISP_IP4o4 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4lisp-ip4base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ip4-lisp-ip4 encapsulation test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ -| ... | circular topology with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4-ICMPv4\ -| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing\ -| ... | over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT is configured with IPv4\ -| ... | routing and static routes. LISPoIPv4 tunnel is\ -| ... | configured between DUT1 and TG2. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets\ -| ... | are sent by TG on if1 link to DUT1; on receive TG verifies\ -| ... | packets for correctness and their IPv4 src-addr, dst-addr\ -| ... | and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure LISP.\ -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv4 LISP testing -| | And Configure LISP in 2-node circular topology -| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} -| | ... | ${dut1_to_tg_ip4_static_adjacency} -| | Then Send packet and verify LISP encap -| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${src_rloc4} | ${dst_rloc4} - -*** Test Cases *** -| 46B-ethip4lisp-ip4base-dev -| | [Tags] | 46B -| | frame_size=${46} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-dev.robot b/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-dev.robot deleted file mode 100644 index 5ec64df9e7..0000000000 --- a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-dev.robot +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Variables | resources/test_data/lisp/lisp.py -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | LISP | LISPGPE_IP4o4 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4lispgpe-ip4base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ip4-lispgpe-ip4 encapsulation test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ -| ... | circular topology with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISPGPE-IPv4-ICMPv4\ -| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4\ -| ... | routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ -| ... | with IPv4 routing and static routes. LISPoIPv4 tunnel is\ -| ... | configured between DUT1 and TG. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets\ -| ... | are sent in TG->DUT(if1); On receive TG(if2) verifies packets\ -| ... | for correctness and their IPv4 src-addr, dst-addr and\ -| ... | MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${is_gpe}= | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure LISP. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv4 LISP testing -| | And Configure LISP in 2-node circular topology -| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} -| | ... | ${dut1_to_tg_ip4_static_adjacency} | ${is_gpe} -| | Then Send packet and verify LISP GPE encap -| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${src_rloc4} | ${dst_rloc4} - -*** Test Cases *** -| 46B-ethip4lispgpe-ip4base-dev -| | [Tags] | 46B -| | frame_size=${46} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-dev.robot b/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-dev.robot deleted file mode 100644 index b0372a507d..0000000000 --- a/tests/vpp/device/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-dev.robot +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Variables | resources/test_data/lisp/lisp.py -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP4FWD | LISP | LISPGPE_IP6o4 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4lispgpe-ip6base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ip4-lispgpe-ip6 encapsulation test cases* -| -| ... | *[Top] Network Topologies:* TG(if1)-DUT1-TG(if2) 2-node\ -| ... | circular topology with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISPGPE-IPv6-ICMPv6\ -| ... | on DUT1-TG(if2),Eth-IPv6-ICMPv6 on TG-DUTn for IPv6\ -| ... | routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ -| ... | with IPv6 routing and static routes. LISPoIPv4 tunnel is\ -| ... | configured between DUT1 and TG(if2). -| ... | *[Ver] TG verification:* Test ICMPv6 Echo Request packets\ -| ... | are sent in if1 by TG on links to DUT1; on receive\ -| ... | TG verifies packets for correctness and their IPv6 src-addr,\ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${ot_mode}= | 6to4 -| ${is_gpe}= | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure LISPGPE\ -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv6 LISPoIP4 testing -| | And Vpp Interfaces RA Suppress On All Nodes | ${nodes} -| | And Configure LISP in 2-node circular topology -| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${is_gpe} -| | Then Send packet and verify LISPoTunnel encap -| | ... | ${tg} | ${tg_if1_ip6} | ${dst_ip6} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${src_rloc4} | ${dst_rloc4} | ${ot_mode} - -*** Test Cases *** -| 62B-ethip4lispgpe-ip6base-dev -| | [Tags] | 62B -| | frame_size=${62} | phy_cores=${0} diff --git a/tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py b/tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/lisp/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/ip4_tunnels/regenerate_testcases.py b/tests/vpp/device/ip4_tunnels/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/ip4_tunnels/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlalwlistbase-scapy.robot b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlalwlistbase-scapy.robot new file mode 100644 index 0000000000..70a914e12d --- /dev/null +++ b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlalwlistbase-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | ADLALWLIST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6-ip6base-adlalwlistbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ADL Security IPv6 allowlist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ +| ... | static routes. ADL security allowlists are applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ +| | ... | verify received IPv6 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding in circular topology +| | And Add Fib Table | ${dut1} | 1 | ipv6=${TRUE} +| | And Vpp Route Add | ${dut1} | 2001:1:: | 64 | vrf=1 | local=${TRUE} +| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip6 | 1 +| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable +| | Then Send packet and verify headers +| | ... | ${tg} | 2001:1::2 | 2001:2::2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-adlalwlistbase-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlblklistbase-scapy.robot b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlblklistbase-scapy.robot new file mode 100644 index 0000000000..77b385278e --- /dev/null +++ b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-adlblklistbase-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | ADLBLKLIST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6-ip6base-adlblklistbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ADL Security IPv6 allowlist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ +| ... | static routes. ADL security allowlists are applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ +| | ... | verify received IPv6 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding in circular topology +| | And Add Fib Table | ${dut1} | 1 | ipv6=${True} +| | And Vpp Route Add | ${dut1} | 2002:1::0 | 64 | vrf=1 | local=${True} +| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip6 | 1 +| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable +| | Then Packet transmission from port to port should fail +| | ... | ${tg} | 2002:1::2 | 2002:2::2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-adlblklistbase-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-iacldstbase-scapy.robot b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-iacldstbase-scapy.robot new file mode 100644 index 0000000000..3a3816b139 --- /dev/null +++ b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-iacldstbase-scapy.robot @@ -0,0 +1,90 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | IACLDST | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6-ip6base-iacldstbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | classify +| +| Test Template | Local Template +| +| Documentation | *IPv6 iAcl whitelist test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ +| ... | static routes. IPv6 iAcl security whitelist is applied on DUT1 ingress \ +| ... | interface from TG. +| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ +| | ... | verify received IPv6 pkts are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding in circular topology +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip6 | dst | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} | ip6 | dst +| | ... | 2001:2::2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${DUT1_${int}1}[0] | ip6 | ${table_idx} +| | Then Send packet and verify headers +| | ... | ${tg} | 2001:1::2 | 2001:2::2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-iacldstbase-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ipolicemarkbase-scapy.robot b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ipolicemarkbase-scapy.robot new file mode 100644 index 0000000000..943266923b --- /dev/null +++ b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-ipolicemarkbase-scapy.robot @@ -0,0 +1,86 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | POLICE_MARK | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6-ip6base-ipolicemarkbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | classify +| +| Test Template | Local Template +| +| Documentation | *IPv4 policer test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. +| ... | *[Cfg] DUT configuration:* On DUT1 configure interfaces IPv6 adresses, \ +| ... | and static ARP record on the second interface. On DUT1 configure 2R3C \ +| ... | color-aware policer on the first interface. +| ... | *[Ver] TG verification:* Test packet is sent from TG on the first link \ +| ... | to DUT1. Packet is received on TG on the second link from DUT1. +| ... | *[Ref] Applicable standard specifications:* RFC2474, RFC2697, RFC2698. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${cir}= | ${100} +| ${eir}= | ${150} +| ${dscp}= | AF22 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Test packet is sent from TG on the first link to DUT1. \ +| | ... | Packet is received on TG on the second link from DUT1. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Set Rates For Policer +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding in circular topology +| | And Initialize IPv6 policer 2r3c-'ca' in circular topology +| | Then Send packet and verify marking +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | ... | ${TG_pf1_mac}[0] | ${DUT1_${int}1_mac}[0] +| | ... | 2001:1::2 | 2001:2::2 + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-ipolicemarkbase-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot new file mode 100644 index 0000000000..4c3c169016 --- /dev/null +++ b/tests/vpp/device/ip6/2n1l-10ge2p1x710-ethip6-ip6base-scapy.robot @@ -0,0 +1,83 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | IP6BASE | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6-ip6base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *IPv6 routing test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on \ +| ... | both links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ +| ... | two static IPv6 /64 route entries. +| ... | *[Ver] TG verification:* Test IPv6 packet is sent in one direction \ +| ... | by TG on links to DUT1; on receive TG verifies packet for correctness \ +| ... | and their IPv6 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv6 packet routed over DUT1 interfaces;\ +| | ... | Make TG verify IPv6 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding in circular topology +| | ... | remote_host1_ip=3ffe:5f::1 | remote_host2_ip=3ffe:5f::2 +| | Then Send packet and verify headers +| | ... | ${tg} | 3ffe:5f::1 | 3ffe:5f::2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlalwlistbase-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlalwlistbase-dev.robot deleted file mode 100644 index e4c2669290..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlalwlistbase-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | ADLALWLIST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6-ip6base-adlalwlistbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ADL Security IPv6 allowlist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | static routes. ADL security allowlists are applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ -| | ... | verify received IPv6 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding in circular topology -| | And Add Fib Table | ${dut1} | 1 | ipv6=${TRUE} -| | And Vpp Route Add | ${dut1} | 2001:1:: | 64 | vrf=1 | local=${TRUE} -| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip6 | 1 -| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable -| | Then Send packet and verify headers -| | ... | ${tg} | 2001:1::2 | 2001:2::2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 78B-ethip6-ip6base-adlalwlistbase-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlblklistbase-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlblklistbase-dev.robot deleted file mode 100644 index 40e4a0bc99..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-adlblklistbase-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | ADLBLKLIST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6-ip6base-adlblklistbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ADL Security IPv6 allowlist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | static routes. ADL security allowlists are applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | adl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ -| | ... | verify received IPv6 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding in circular topology -| | And Add Fib Table | ${dut1} | 1 | ipv6=${True} -| | And Vpp Route Add | ${dut1} | 2002:1::0 | 64 | vrf=1 | local=${True} -| | And ADL Add allowlist Entry | ${dut1} | ${DUT1_${int}1}[0] | ip6 | 1 -| | And ADL interface enable or disable | ${dut1} | ${DUT1_${int}1}[0] | enable -| | Then Packet transmission from port to port should fail -| | ... | ${tg} | 2002:1::2 | 2002:2::2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 78B-ethip6-ip6base-adlblklistbase-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot deleted file mode 100644 index c96ab3df3b..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-iacldstbase-dev.robot +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | IACLDST | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6-ip6base-iacldstbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | classify -| -| Test Template | Local Template -| -| Documentation | *IPv6 iAcl whitelist test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | static routes. IPv6 iAcl security whitelist is applied on DUT1 ingress \ -| ... | interface from TG. -| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv6 on its interface to DUT1; \ -| | ... | verify received IPv6 pkts are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). -| | ... | Type: integer, string -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding in circular topology -| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 -| | ... | ${dut1} | ip6 | dst | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff -| | And Vpp Configures Classify Session L3 -| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} | ip6 | dst -| | ... | 2001:2::2 -| | And Vpp Enable Input Acl Interface -| | ... | ${dut1} | ${DUT1_${int}1}[0] | ip6 | ${table_idx} -| | Then Send packet and verify headers -| | ... | ${tg} | 2001:1::2 | 2001:2::2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 78B-ethip6-ip6base-iacldstbase-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot deleted file mode 100644 index de64f99613..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-ipolicemarkbase-dev.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | POLICE_MARK | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6-ip6base-ipolicemarkbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | classify -| -| Test Template | Local Template -| -| Documentation | *IPv4 policer test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 on all links. -| ... | *[Cfg] DUT configuration:* On DUT1 configure interfaces IPv6 adresses, \ -| ... | and static ARP record on the second interface. On DUT1 configure 2R3C \ -| ... | color-aware policer on the first interface. -| ... | *[Ver] TG verification:* Test packet is sent from TG on the first link \ -| ... | to DUT1. Packet is received on TG on the second link from DUT1. -| ... | *[Ref] Applicable standard specifications:* RFC2474, RFC2697, RFC2698. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${cir}= | ${100} -| ${eir}= | ${150} -| ${dscp}= | AF22 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Test packet is sent from TG on the first link to DUT1. \ -| | ... | Packet is received on TG on the second link from DUT1. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Set Rates For Policer -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding in circular topology -| | And Initialize IPv6 policer 2r3c-'ca' in circular topology -| | Then Send packet and verify marking -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ... | ${TG_pf1_mac}[0] | ${DUT1_${int}1_mac}[0] -| | ... | 2001:1::2 | 2001:2::2 - -*** Test Cases *** -| 78B-ethip6-ip6base-ipolicemarkbase-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot b/tests/vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot deleted file mode 100644 index c1dc11a7e3..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethipv6-ip6base-dev.robot +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | IP6BASE | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv6-ip6base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *IPv6 routing test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on \ -| ... | both links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | two static IPv6 /64 route entries. -| ... | *[Ver] TG verification:* Test IPv6 packet is sent in one direction \ -| ... | by TG on links to DUT1; on receive TG verifies packet for correctness \ -| ... | and their IPv6 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv6 packet routed over DUT1 interfaces;\ -| | ... | Make TG verify IPv6 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding in circular topology -| | ... | remote_host1_ip=3ffe:5f::1 | remote_host2_ip=3ffe:5f::2 -| | Then Send packet and verify headers -| | ... | ${tg} | 3ffe:5f::1 | 3ffe:5f::2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 78B-ethipv6-ip6base-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/regenerate_testcases.py b/tests/vpp/device/ip6/regenerate_testcases.py new file mode 100755 index 0000000000..b1c6336c72 --- /dev/null +++ b/tests/vpp/device/ip6/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6") diff --git a/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot b/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot new file mode 100644 index 0000000000..0ba74eaa21 --- /dev/null +++ b/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip4base-scapy.robot @@ -0,0 +1,93 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Variables | resources/test_data/lisp/lisp.py +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP6FWD | LISP | LISPGPE_IP4o6 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6lispgpe-ip4base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ip6-lispgpe-ip4 encapsulation test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular\ +| ... | topology with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISPGPE-IPv4-ICMPv4\ +| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv6 routing\ +| ... | over LISPoIPv6 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ +| ... | with IPv6 routing and static routes. LISPoIPv6 tunnel is\ +| ... | configured between DUT1 and TG. +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets are\ +| ... | sent in TG->DUT(if1); On receive TG(if2) verifies packets for\ +| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${ot_mode}= | 4to6 +| ${is_gpe}= | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure LISP.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv4 LISPoIP6 testing +| | And Vpp Interfaces RA Suppress On All Nodes | ${nodes} +| | And Configure LISP in 2-node circular topology +| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} +| | ... | ${dut1_ip4o6_static_adjacency} | ${is_gpe} +| | Then Send packet and verify LISPoTunnel encap +| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${src_rloc6} | ${dst_rloc6} | ${ot_mode} + +*** Test Cases *** +| 78B-0c-ethip6lispgpe-ip4base-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot b/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot new file mode 100644 index 0000000000..be1ea84ad0 --- /dev/null +++ b/tests/vpp/device/ip6_tunnels/lisp/2n1l-10ge2p1x710-ethip6lispgpe-ip6base-scapy.robot @@ -0,0 +1,92 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Variables | resources/test_data/lisp/lisp.py +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | IP6FWD | LISP | LISPGPE_IP6o6 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6lispgpe-ip6base +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *ip6-lispgpe-ip6 encapsulation test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ +| ... | circular topology with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISPGPE-IPv6-ICMPv6\ +| ... | on DUT1-TG, Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing\ +| ... | over LISPoIPv6 tunnel. +| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ +| ... | with IPv6 routing and static routes. LISPoIPv6 tunnel is\ +| ... | configured between DUT1 and TG. +| ... | *[Ver] TG verification:* Test ICMPv6 Echo Request packets\ +| ... | are sent in TG->DUT(if1); On receive TG(if2) verifies\ +| ... | packets for correctness and their IPv6 src-addr,\ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC6830. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${54} +| ${is_gpe}= | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] On DUT1 configure LISP. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Configure topology for IPv6 LISP testing +| | And Configure LISP in 2-node circular topology +| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} +| | ... | ${duts_locator_set} | ${dut1_ip6_eid} +| | ... | ${dut1_to_tg_ip6_static_adjacency} | ${is_gpe} +| | Then Send packet and verify LISP GPE encap +| | ... | ${tg} | ${tg_if1_ip6} | ${dst_ip6} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${src_rloc6} | ${dst_rloc6} + +*** Test Cases *** +| 78B-0c-ethip6lispgpe-ip6base-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-dev.robot b/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-dev.robot deleted file mode 100644 index 547723e9e9..0000000000 --- a/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-dev.robot +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Variables | resources/test_data/lisp/lisp.py -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP6FWD | LISP | LISPGPE_IP4o6 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6lispgpe-ip4base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ip6-lispgpe-ip4 encapsulation test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular\ -| ... | topology with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISPGPE-IPv4-ICMPv4\ -| ... | on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv6 routing\ -| ... | over LISPoIPv6 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ -| ... | with IPv6 routing and static routes. LISPoIPv6 tunnel is\ -| ... | configured between DUT1 and TG. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets are\ -| ... | sent in TG->DUT(if1); On receive TG(if2) verifies packets for\ -| ... | correctness and their IPv4 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${ot_mode}= | 4to6 -| ${is_gpe}= | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure LISP.\ -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv4 LISPoIP6 testing -| | And Vpp Interfaces RA Suppress On All Nodes | ${nodes} -| | And Configure LISP in 2-node circular topology -| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4o6_eid} -| | ... | ${dut1_ip4o6_static_adjacency} | ${is_gpe} -| | Then Send packet and verify LISPoTunnel encap -| | ... | ${tg} | ${tg_if1_ip4} | ${dst_ip4} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${src_rloc6} | ${dst_rloc6} | ${ot_mode} - -*** Test Cases *** -| 46B-ethip6lispgpe-ip4base-dev -| | [Tags] | 46B -| | frame_size=${46} | phy_cores=${0} diff --git a/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-dev.robot b/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-dev.robot deleted file mode 100644 index 8a1890cdcd..0000000000 --- a/tests/vpp/device/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-dev.robot +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Variables | resources/test_data/lisp/lisp.py -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | IP6FWD | LISP | LISPGPE_IP6o6 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6lispgpe-ip6base -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *ip6-lispgpe-ip6 encapsulation test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node\ -| ... | circular topology with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISPGPE-IPv6-ICMPv6\ -| ... | on DUT1-TG, Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing\ -| ... | over LISPoIPv6 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and TG(if2) are configured\ -| ... | with IPv6 routing and static routes. LISPoIPv6 tunnel is\ -| ... | configured between DUT1 and TG. -| ... | *[Ver] TG verification:* Test ICMPv6 Echo Request packets\ -| ... | are sent in TG->DUT(if1); On receive TG(if2) verifies\ -| ... | packets for correctness and their IPv6 src-addr,\ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | lisp_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${54} -| ${is_gpe}= | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] On DUT1 configure LISP. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Configure topology for IPv6 LISP testing -| | And Configure LISP in 2-node circular topology -| | ... | ${dut1} | ${DUT1_${int}2}[0] | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6_eid} -| | ... | ${dut1_to_tg_ip6_static_adjacency} | ${is_gpe} -| | Then Send packet and verify LISP GPE encap -| | ... | ${tg} | ${tg_if1_ip6} | ${dst_ip6} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${src_rloc6} | ${dst_rloc6} - -*** Test Cases *** -| 62B-ethip6lispgpe-ip6base-dev -| | [Tags] | 62B -| | frame_size=${62} | phy_cores=${0} diff --git a/tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py b/tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py new file mode 100755 index 0000000000..b1c6336c72 --- /dev/null +++ b/tests/vpp/device/ip6_tunnels/lisp/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6") diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot new file mode 100644 index 0000000000..07c4a656c9 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sf-scapy.robot @@ -0,0 +1,98 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL +| ... | IACL | ACL1 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-iacl1sf +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | acl | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD test cases with ACL* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ +| ... | and MAC learning enabled.Required ACL rules are applied to input\ +| ... | paths of both DUT1 intefaces.\ +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# ACL test setup +| ${acl_action}= | permit+reflect +| ${acl_apply_type}= | input +| ${no_hit_aces_number}= | 1 +# starting points for non-hitting ACLs +| ${src_ip_start}= | 30.30.30.1 +| ${dst_ip_start}= | 40.40.40.1 +| ${ip_step}= | ${1} +| ${sport_start}= | ${1000} +| ${dport_start}= | ${1000} +| ${port_step}= | ${1} +| ${trex_stream1_subnet}= | 10.10.10.0/24 +| ${trex_stream2_subnet}= | 20.20.20.0/24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with ACLs. +| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ +| | ... | of its interfaces to be switched by DUT to and from docker.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-iacl1sf-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot new file mode 100644 index 0000000000..960eebf893 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-iacl1sl-scapy.robot @@ -0,0 +1,98 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS +| ... | IACL | ACL1 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-iacl1sl +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | acl | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD test cases with ACL* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ +| ... | and MAC learning enabled.Required ACL rules are applied to input\ +| ... | paths of both DUT1 intefaces.\ +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# ACL test setup +| ${acl_action}= | permit +| ${acl_apply_type}= | input +| ${no_hit_aces_number}= | 1 +# starting points for non-hitting ACLs +| ${src_ip_start}= | 30.30.30.1 +| ${dst_ip_start}= | 40.40.40.1 +| ${ip_step}= | ${1} +| ${sport_start}= | ${1000} +| ${dport_start}= | ${1000} +| ${port_step}= | ${1} +| ${trex_stream1_subnet}= | 10.10.10.0/24 +| ${trex_stream2_subnet}= | 20.20.20.0/24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with ACLs. +| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ +| | ... | of its interfaces to be switched by DUT to and from docker.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-iacl1sl-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot new file mode 100644 index 0000000000..dfced1f5f2 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy.robot @@ -0,0 +1,99 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS +| ... | IACL | ACL1 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-macip-iacl1sl +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | macipacl | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD test cases with ACL* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ +| ... | and MAC learning enabled.Required MACIP ACL rules are applied to input\ +| ... | paths of both DUT1 intefaces.\ +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# ACL test setup +| ${acl_action}= | permit +| ${no_hit_aces_number}= | 1 +# starting points for non-hitting ACLs +| ${src_ip_start}= | 30.30.30.1 +| ${ip_step}= | ${1} +| ${src_mac_start}= | 01:02:03:04:05:06 +| ${src_mac_step}= | ${1000} +| ${src_mac_mask}= | 00:00:00:00:00:00 +| ${tg_stream1_mac}= | ca:fe:00:00:00:00 +| ${tg_stream2_mac}= | fa:ce:00:00:00:00 +| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00 +| ${tg_stream1_subnet}= | 10.0.0.0/18 +| ${tg_stream2_subnet}= | 20.0.0.0/18 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with ACLs. +| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ +| | ... | of its interfaces to be switched by DUT to and from docker.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain with MACIP ACLs in circular topology +| | Then Send packet and verify headers +| | ... | ${tg} | 10.0.0.2 | 20.0.0.2 +| | ... | ${TG_pf1}[0] | ${tg_stream1_mac} | ${tg_stream2_mac} +| | ... | ${TG_pf2}[0] | ${tg_stream1_mac} | ${tg_stream2_mac} + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-macip-iacl1sl-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot new file mode 100644 index 0000000000..978a37cf72 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sf-scapy.robot @@ -0,0 +1,98 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL +| ... | OACL | ACL1 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-oacl1sf +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | acl | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD test cases with ACL* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ +| ... | and MAC learning enabled.Required ACL rules are applied to input\ +| ... | paths of both DUT1 intefaces.\ +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# ACL test setup +| ${acl_action}= | permit+reflect +| ${acl_apply_type}= | output +| ${no_hit_aces_number}= | 1 +# starting points for non-hitting ACLs +| ${src_ip_start}= | 30.30.30.1 +| ${dst_ip_start}= | 40.40.40.1 +| ${ip_step}= | ${1} +| ${sport_start}= | ${1000} +| ${dport_start}= | ${1000} +| ${port_step}= | ${1} +| ${trex_stream1_subnet}= | 10.10.10.0/24 +| ${trex_stream2_subnet}= | 20.20.20.0/24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with ACLs. +| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ +| | ... | of its interfaces to be switched by DUT to and from docker.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-oacl1sf-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot new file mode 100644 index 0000000000..07daa83098 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-oacl1sl-scapy.robot @@ -0,0 +1,98 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS +| ... | OACL | ACL1 | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-oacl1sl +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | acl | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2BD test cases with ACL* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ +| ... | and MAC learning enabled.Required ACL rules are applied to input\ +| ... | paths of both DUT1 intefaces.\ +| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ +| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ +| ... | and drops as applicable. +| ... | *[Ref] Applicable standard specifications:* + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +# ACL test setup +| ${acl_action}= | permit +| ${acl_apply_type}= | output +| ${no_hit_aces_number}= | 1 +# starting points for non-hitting ACLs +| ${src_ip_start}= | 30.30.30.1 +| ${dst_ip_start}= | 40.40.40.1 +| ${ip_step}= | ${1} +| ${sport_start}= | ${1000} +| ${dport_start}= | ${1000} +| ${port_step}= | ${1} +| ${trex_stream1_subnet}= | 10.10.10.0/24 +| ${trex_stream2_subnet}= | 20.20.20.0/24 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs L2BD config with ACLs. +| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ +| | ... | of its interfaces to be switched by DUT to and from docker.\ +| | ... | Make TG verify IPv4 packet is correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology +| | Then Send packet and verify headers +| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] +| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-oacl1sl-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot new file mode 100644 index 0000000000..0e9b45b198 --- /dev/null +++ b/tests/vpp/device/l2bd/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-scapy.robot @@ -0,0 +1,82 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2 bridge-domain test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ +| ... | Both apply to all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ +| ... | switching. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ +| ... | are sent in both directions by TG on links to DUT1; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, \ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 bridge domain +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot b/tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot deleted file mode 100644 index a287a6e4f7..0000000000 --- a/tests/vpp/device/l2bd/eth2p-avf-ethipv4-l2bdbasemaclrn-dev.robot +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | DRV_AVF -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | avf-ethipv4-l2bdbasemaclrn -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2 bridge-domain test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ -| ... | Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ -| ... | switching. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, \ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | avf_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | avf -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 1 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-avf-ethipv4-l2bdbasemaclrn-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot deleted file mode 100644 index b5cbdf39ff..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-dev.robot +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdbasemaclrn -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2 bridge-domain test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ -| ... | Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ -| ... | switching. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, \ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdbasemaclrn-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot deleted file mode 100644 index ca5477eb3d..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sf-dev.robot +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL -| ... | IACL | ACL1 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdmaclrn-iacl1sf -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | acl | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD test cases with ACL* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ -| ... | and MAC learning enabled.Required ACL rules are applied to input\ -| ... | paths of both DUT1 intefaces.\ -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# ACL test setup -| ${acl_action}= | permit+reflect -| ${acl_apply_type}= | input -| ${no_hit_aces_number}= | 1 -# starting points for non-hitting ACLs -| ${src_ip_start}= | 30.30.30.1 -| ${dst_ip_start}= | 40.40.40.1 -| ${ip_step}= | ${1} -| ${sport_start}= | ${1000} -| ${dport_start}= | ${1000} -| ${port_step}= | ${1} -| ${trex_stream1_subnet}= | 10.10.10.0/24 -| ${trex_stream2_subnet}= | 20.20.20.0/24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with ACLs. -| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ -| | ... | of its interfaces to be switched by DUT to and from docker.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdmaclrn-iacl1sf-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot deleted file mode 100644 index b9050bce8e..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-iacl1sl-dev.robot +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS -| ... | IACL | ACL1 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdmaclrn-iacl1sl -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | acl | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD test cases with ACL* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ -| ... | and MAC learning enabled.Required ACL rules are applied to input\ -| ... | paths of both DUT1 intefaces.\ -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# ACL test setup -| ${acl_action}= | permit -| ${acl_apply_type}= | input -| ${no_hit_aces_number}= | 1 -# starting points for non-hitting ACLs -| ${src_ip_start}= | 30.30.30.1 -| ${dst_ip_start}= | 40.40.40.1 -| ${ip_step}= | ${1} -| ${sport_start}= | ${1000} -| ${dport_start}= | ${1000} -| ${port_step}= | ${1} -| ${trex_stream1_subnet}= | 10.10.10.0/24 -| ${trex_stream2_subnet}= | 20.20.20.0/24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with ACLs. -| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ -| | ... | of its interfaces to be switched by DUT to and from docker.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdmaclrn-iacl1sl-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot deleted file mode 100644 index 7452d2aacc..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-macip-iacl1sl-dev.robot +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS -| ... | IACL | ACL1 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdmaclrn-macip-iacl1sl -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | macipacl | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD test cases with ACL* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ -| ... | and MAC learning enabled.Required MACIP ACL rules are applied to input\ -| ... | paths of both DUT1 intefaces.\ -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# ACL test setup -| ${acl_action}= | permit -| ${no_hit_aces_number}= | 1 -# starting points for non-hitting ACLs -| ${src_ip_start}= | 30.30.30.1 -| ${ip_step}= | ${1} -| ${src_mac_start}= | 01:02:03:04:05:06 -| ${src_mac_step}= | ${1000} -| ${src_mac_mask}= | 00:00:00:00:00:00 -| ${tg_stream1_mac}= | ca:fe:00:00:00:00 -| ${tg_stream2_mac}= | fa:ce:00:00:00:00 -| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00 -| ${tg_stream1_subnet}= | 10.0.0.0/18 -| ${tg_stream2_subnet}= | 20.0.0.0/18 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with ACLs. -| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ -| | ... | of its interfaces to be switched by DUT to and from docker.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain with MACIP ACLs in circular topology -| | Then Send packet and verify headers -| | ... | ${tg} | 10.0.0.2 | 20.0.0.2 -| | ... | ${TG_pf1}[0] | ${tg_stream1_mac} | ${tg_stream2_mac} -| | ... | ${TG_pf2}[0] | ${tg_stream1_mac} | ${tg_stream2_mac} - -*** Test Cases *** -| 64B-ethipv4-l2bdbasemaclrn-iacl1sl-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot deleted file mode 100644 index e4bac2e07a..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sf-dev.robot +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL -| ... | OACL | ACL1 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdmaclrn-oacl1sf -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | acl | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD test cases with ACL* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ -| ... | and MAC learning enabled.Required ACL rules are applied to input\ -| ... | paths of both DUT1 intefaces.\ -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# ACL test setup -| ${acl_action}= | permit+reflect -| ${acl_apply_type}= | output -| ${no_hit_aces_number}= | 1 -# starting points for non-hitting ACLs -| ${src_ip_start}= | 30.30.30.1 -| ${dst_ip_start}= | 40.40.40.1 -| ${ip_step}= | ${1} -| ${sport_start}= | ${1000} -| ${dport_start}= | ${1000} -| ${port_step}= | ${1} -| ${trex_stream1_subnet}= | 10.10.10.0/24 -| ${trex_stream2_subnet}= | 20.20.20.0/24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with ACLs. -| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ -| | ... | of its interfaces to be switched by DUT to and from docker.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdmaclrn-oacl1sf-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot b/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot deleted file mode 100644 index 672aef1255..0000000000 --- a/tests/vpp/device/l2bd/eth2p-ethipv4-l2bdbasemaclrn-oacl1sl-dev.robot +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS -| ... | OACL | ACL1 | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdmaclrn-oacl1sl -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | acl | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2BD test cases with ACL* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 on all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge domain\ -| ... | and MAC learning enabled.Required ACL rules are applied to input\ -| ... | paths of both DUT1 intefaces.\ -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -# ACL test setup -| ${acl_action}= | permit -| ${acl_apply_type}= | output -| ${no_hit_aces_number}= | 1 -# starting points for non-hitting ACLs -| ${src_ip_start}= | 30.30.30.1 -| ${dst_ip_start}= | 40.40.40.1 -| ${ip_step}= | ${1} -| ${sport_start}= | ${1000} -| ${dport_start}= | ${1000} -| ${port_step}= | ${1} -| ${trex_stream1_subnet}= | 10.10.10.0/24 -| ${trex_stream2_subnet}= | 20.20.20.0/24 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT runs L2BD config with ACLs. -| | ... | [Ver] Make TG send IPv4 packet in one direction between two\ -| | ... | of its interfaces to be switched by DUT to and from docker.\ -| | ... | Make TG verify IPv4 packet is correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply Startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 bridge domain with IPv4 ACLs in circular topology -| | Then Send packet and verify headers -| | ... | ${tg} | 10.10.10.2 | 20.20.20.2 -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] -| | ... | ${TG_pf2}[0] | ${TG_pf1_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdmaclrn-oacl1sl-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2bd/regenerate_testcases.py b/tests/vpp/device/l2bd/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/l2bd/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/l2patch/2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot b/tests/vpp/device/l2patch/2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot new file mode 100644 index 0000000000..9d3831395f --- /dev/null +++ b/tests/vpp/device/l2patch/2n1l-10ge2p1x710-ethip4-l2patch-scapy.robot @@ -0,0 +1,81 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2PATCH | BASE | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2patch +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2 cross-connect test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of \ +| ... | IPv4. Both apply to all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 patch switching. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ +| ... | are sent in both directions by TG on links to DUT1; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, \ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 patch +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2patch-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2patch/eth2p-ethip4-l2patch-dev.robot b/tests/vpp/device/l2patch/eth2p-ethip4-l2patch-dev.robot deleted file mode 100644 index eae16f9e0e..0000000000 --- a/tests/vpp/device/l2patch/eth2p-ethip4-l2patch-dev.robot +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2PATCH | BASE | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4-l2patch -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2 cross-connect test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of \ -| ... | IPv4. Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 patch switching. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, \ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 patch -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethip4-l2patch-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2patch/regenerate_testcases.py b/tests/vpp/device/l2patch/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/l2patch/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/l2xc/2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot b/tests/vpp/device/l2xc/2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot new file mode 100644 index 0000000000..b26cddc110 --- /dev/null +++ b/tests/vpp/device/l2xc/2n1l-10ge2p1x710-ethip4-l2xcbase-scapy.robot @@ -0,0 +1,82 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2xcbase +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *L2 cross-connect test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ +| ... | Both apply to all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ +| ... | switching. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ +| ... | are sent in both directions by TG on links to DUT1; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, \ +| ... | dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 cross connect +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2xcbase-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot b/tests/vpp/device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot deleted file mode 100644 index 80d71d07f7..0000000000 --- a/tests/vpp/device/l2xc/eth2p-ethipv4-l2xcbase-dev.robot +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2xcbase -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *L2 cross-connect test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ -| ... | Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ -| ... | switching. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, \ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 cross connect -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2xcbase-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2xc/regenerate_testcases.py b/tests/vpp/device/l2xc/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/l2xc/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot new file mode 100644 index 0000000000..f65bd8973b --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6ip6-ip6base-srv6enc1sid-scapy.robot @@ -0,0 +1,103 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_1SID | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6ip6-ip6base-srv6enc1sid +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with one SID\ +| ... | (SRH not inserted) test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with one SID - Segment Routing Header not inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${40} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2}= | 2003:2:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1}= | 2002:2:: +| ${dut2_sid2}= | 2003:1:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${prefix}= | ${64} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and one SR\ +| | ... | behaviour (function) - End.DX6 - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize SRv6 encapsulation with '1' x SID 'with' decapsulation +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} + +*** Test Cases *** +| 78B-0c-ethip6ip6-ip6base-srv6enc1sid-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot new file mode 100644 index 0000000000..426c6f0d79 --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy.robot @@ -0,0 +1,107 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_2SID_NODECAP +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6srhip6-ip6base-srv6enc2sids-nodecaps +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with two SIDs\ +| ... | (SRH inserted) test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with two SIDs - Segment Routing Header inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${80} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2_1}= | 2003:2:: +| ${dut1_sid2_2}= | 2003:3:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1_1}= | 2002:2:: +| ${dut2_sid1_2}= | 2002:3:: +| ${dut2_sid2}= | 2003:1:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${prefix}= | ${64} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and one SR\ +| | ... | behaviour (function) - End - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize SRv6 encapsulation with '2' x SID 'without' decapsulation +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2_1} | ${dut2_sid2} | ${dut2_sid1_1} +| | ... | ${dut1_sid2_2} | ${dut2_sid1_2} | decap=${False} + +*** Test Cases *** +| 78B-0c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot new file mode 100644 index 0000000000..1fa603e8fd --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6enc2sids-scapy.robot @@ -0,0 +1,107 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_2SID_DECAP +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6srhip6-ip6base-srv6enc2sids +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with two SIDs\ +| ... | (SRH inserted) test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with two SIDs - Segment Routing Header inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${80} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2_1}= | 2003:2:: +| ${dut1_sid2_2}= | 2003:3:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1_1}= | 2002:2:: +| ${dut2_sid1_2}= | 2002:3:: +| ${dut2_sid2}= | 2003:1:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${prefix}= | ${64} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and two SR\ +| | ... | behaviours (functions) - End and End.DX6 - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize SRv6 encapsulation with '2' x SID 'with' decapsulation +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2_1} | ${dut2_sid2} | ${dut2_sid1_1} +| | ... | ${dut1_sid2_2} | ${dut2_sid1_2} + +*** Test Cases *** +| 78B-0c-ethip6srhip6-ip6base-srv6enc2sids-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot new file mode 100644 index 0000000000..c53d612e80 --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-dyn-scapy.robot @@ -0,0 +1,122 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY +| ... | SRv6_PROXY_DYN | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6srhip6-ip6base-srv6proxy-dyn +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with Dynamic\ +| ... | SRv6 proxy test suite.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with three SIDs - Segment Routing Header inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ... | srv6ad_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${80} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2}= | 2003:2:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1}= | 2002:2:: +| ${dut2_sid2}= | 2003:1:: +| ${out_sid1_1}= | 2002:3:: +| ${out_sid1_2}= | 2002:4:: +| ${out_sid2_1}= | 2003:3:: +| ${out_sid2_2}= | 2003:4:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut1-memif-1-if1_ip6}= | 3001:1::1 +| ${dut1-memif-1-if2_ip6}= | 3001:1::2 +| ${dut1_nh}= | 4002:: +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${dut2-memif-1-if1_ip6}= | 3002:1::1 +| ${dut2-memif-1-if2_ip6}= | 3002:1::2 +| ${dut2_nh}= | 4001:: +| ${prefix}= | ${64} +| ${mem_prefix}= | ${128} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and one SR\ +| | ... | behaviour (function) - End.AD - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize SRv6 with 'dynamic_proxy' SR-unaware Service Function +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} +| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} +| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} + +*** Test Cases *** +| 78B-0c-ethip6srhip6-ip6base-srv6proxy-dyn-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot new file mode 100644 index 0000000000..ac5bdf497d --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-masq-scapy.robot @@ -0,0 +1,122 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY +| ... | SRv6_PROXY_MASQ | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6srhip6-ip6base-srv6proxy-masq +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with Masquerading\ +| ... | SRv6 proxy test cases* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with three SIDs - Segment Routing Header inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ... | srv6am_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${80} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2}= | 2003:2:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1}= | 2002:2:: +| ${dut2_sid2}= | 2003:1:: +| ${out_sid1_1}= | 2002:3:: +| ${out_sid1_2}= | 2002:4:: +| ${out_sid2_1}= | 2003:3:: +| ${out_sid2_2}= | 2003:4:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut1-memif-1-if1_ip6}= | 3001:1::1 +| ${dut1-memif-1-if2_ip6}= | 3001:1::2 +| ${dut1_nh}= | 4002:: +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${dut2-memif-1-if1_ip6}= | 3002:1::1 +| ${dut2-memif-1-if2_ip6}= | 3002:1::2 +| ${dut2_nh}= | 4001:: +| ${prefix}= | ${64} +| ${mem_prefix}= | ${128} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and one SR\ +| | ... | behaviour (function) - End.AM - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize SRv6 with 'masquerading' SR-unaware Service Function +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} +| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} +| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} + +*** Test Cases *** +| 78B-0c-ethip6srhip6-ip6base-srv6proxy-masq-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot new file mode 100644 index 0000000000..d98064ca79 --- /dev/null +++ b/tests/vpp/device/srv6/2n1l-10ge2p1x710-ethip6srhip6-ip6base-srv6proxy-stat-scapy.robot @@ -0,0 +1,123 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY +| ... | SRv6_PROXY_STAT | MEMIF | DOCKER | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip6srhip6-ip6base-srv6proxy-stat +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | container +| +| Test Template | Local Template +| +| Documentation | *Segment routing over IPv6 dataplane with Static\ +| ... | SRv6 proxy test cases.* +| +| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ +| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ +| ... | with three SIDs - Segment Routing Header inserted. +| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ +| ... | direction. Packet is received and verified for correctness on TG. Then\ +| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ +| ... | received and verified for correctness on TG. +| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ +| ... | draft 3. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so +| ... | srv6as_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${80} +# SIDs +| ${dut1_sid1}= | 2002:1:: +| ${dut1_sid2}= | 2003:2:: +| ${dut1_bsid}= | 2002:1::1 +| ${dut2_sid1}= | 2002:2:: +| ${dut2_sid2}= | 2003:1:: +| ${out_sid1_1}= | 2002:3:: +| ${out_sid1_2}= | 2002:4:: +| ${out_sid2_1}= | 2003:3:: +| ${out_sid2_2}= | 2003:4:: +| ${sid_prefix}= | ${64} +# IP settings +| ${tg_if1_ip6_subnet}= | 2001:1:: +| ${tg_if2_ip6_subnet}= | 2001:2:: +| ${dst_addr_nr}= | ${1} +| ${dut1_if1_ip6}= | 2001:1::1 +| ${dut1_if2_ip6}= | 2001:3::1 +| ${dut1-memif-1-if1_ip6}= | 3001:1::1 +| ${dut1-memif-1-if2_ip6}= | 3001:1::2 +| ${dut1_nh}= | 4002:: +| ${dut2_if1_ip6}= | 2001:3::2 +| ${dut2_if2_ip6}= | 2001:2::1 +| ${dut2-memif-1-if1_ip6}= | 3002:1::1 +| ${dut2-memif-1-if2_ip6}= | 3002:1::2 +| ${dut2_nh}= | 4001:: +| ${prefix}= | ${64} +| ${mem_prefix}= | ${128} +# Container +| ${container_engine}= | Docker +| ${container_chain_topology}= | chain_functional + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ +| | ... | SR policy and steering policy for one direction and one SR\ +| | ... | behaviour (function) - End.AS - for other direction. +| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ +| | ... | Make TG verify IPv6 packets are correct. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize SRv6 with 'static_proxy' SR-unaware Service Function +| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] +| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 +| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} +| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} +| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} +| | ... | static_proxy=${True} + +*** Test Cases *** +| 78B-0c-ethip6srhip6-ip6base-srv6proxy-stat-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot deleted file mode 100644 index 9545ed3b65..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6ip6-ip6base-srv6enc1sid-dev.robot +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_1SID | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6ip6-ip6base-srv6enc1sid -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with one SID\ -| ... | (SRH not inserted) test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with one SID - Segment Routing Header not inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${40} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2}= | 2003:2:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1}= | 2002:2:: -| ${dut2_sid2}= | 2003:1:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${prefix}= | ${64} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and one SR\ -| | ... | behaviour (function) - End.DX6 - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize SRv6 encapsulation with '1' x SID 'with' decapsulation -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} - -*** Test Cases *** -| 78B-ethip6ip6-ip6base-srv6enc1sid-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot deleted file mode 100644 index b98af30d91..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-dev.robot +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_2SID_DECAP -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6srhip6-ip6base-srv6enc2sids -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with two SIDs\ -| ... | (SRH inserted) test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with two SIDs - Segment Routing Header inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${80} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2_1}= | 2003:2:: -| ${dut1_sid2_2}= | 2003:3:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1_1}= | 2002:2:: -| ${dut2_sid1_2}= | 2002:3:: -| ${dut2_sid2}= | 2003:1:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${prefix}= | ${64} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and two SR\ -| | ... | behaviours (functions) - End and End.DX6 - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize SRv6 encapsulation with '2' x SID 'with' decapsulation -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2_1} | ${dut2_sid2} | ${dut2_sid1_1} -| | ... | ${dut1_sid2_2} | ${dut2_sid1_2} - -*** Test Cases *** -| 78B-ethip6srhip6-ip6base-srv6enc2sids-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot deleted file mode 100644 index 5a17d65eef..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev.robot +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_2SID_NODECAP -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6srhip6-ip6base-srv6enc2sids-nodecaps -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with two SIDs\ -| ... | (SRH inserted) test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with two SIDs - Segment Routing Header inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${80} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2_1}= | 2003:2:: -| ${dut1_sid2_2}= | 2003:3:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1_1}= | 2002:2:: -| ${dut2_sid1_2}= | 2002:3:: -| ${dut2_sid2}= | 2003:1:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${prefix}= | ${64} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and one SR\ -| | ... | behaviour (function) - End - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize SRv6 encapsulation with '2' x SID 'without' decapsulation -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2_1} | ${dut2_sid2} | ${dut2_sid1_1} -| | ... | ${dut1_sid2_2} | ${dut2_sid1_2} | decap=${False} - -*** Test Cases *** -| 78B-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot deleted file mode 100644 index c49e0c0e60..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-dyn-dev.robot +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY -| ... | SRv6_PROXY_DYN | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6srhip6-ip6base-srv6proxy-dyn -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with Dynamic\ -| ... | SRv6 proxy test suite.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with three SIDs - Segment Routing Header inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ... | srv6ad_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${80} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2}= | 2003:2:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1}= | 2002:2:: -| ${dut2_sid2}= | 2003:1:: -| ${out_sid1_1}= | 2002:3:: -| ${out_sid1_2}= | 2002:4:: -| ${out_sid2_1}= | 2003:3:: -| ${out_sid2_2}= | 2003:4:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut1-memif-1-if1_ip6}= | 3001:1::1 -| ${dut1-memif-1-if2_ip6}= | 3001:1::2 -| ${dut1_nh}= | 4002:: -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${dut2-memif-1-if1_ip6}= | 3002:1::1 -| ${dut2-memif-1-if2_ip6}= | 3002:1::2 -| ${dut2_nh}= | 4001:: -| ${prefix}= | ${64} -| ${mem_prefix}= | ${128} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and one SR\ -| | ... | behaviour (function) - End.AD - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize SRv6 with 'dynamic_proxy' SR-unaware Service Function -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} -| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} -| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} - -*** Test Cases *** -| 78B-ethip6srhip6-ip6base-srv6proxy-dyn-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot deleted file mode 100644 index 922e9cfa81..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-masq-dev.robot +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY -| ... | SRv6_PROXY_MASQ | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6srhip6-ip6base-srv6proxy-masq -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with Masquerading\ -| ... | SRv6 proxy test cases* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with three SIDs - Segment Routing Header inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ... | srv6am_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${80} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2}= | 2003:2:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1}= | 2002:2:: -| ${dut2_sid2}= | 2003:1:: -| ${out_sid1_1}= | 2002:3:: -| ${out_sid1_2}= | 2002:4:: -| ${out_sid2_1}= | 2003:3:: -| ${out_sid2_2}= | 2003:4:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut1-memif-1-if1_ip6}= | 3001:1::1 -| ${dut1-memif-1-if2_ip6}= | 3001:1::2 -| ${dut1_nh}= | 4002:: -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${dut2-memif-1-if1_ip6}= | 3002:1::1 -| ${dut2-memif-1-if2_ip6}= | 3002:1::2 -| ${dut2_nh}= | 4001:: -| ${prefix}= | ${64} -| ${mem_prefix}= | ${128} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and one SR\ -| | ... | behaviour (function) - End.AM - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize SRv6 with 'masquerading' SR-unaware Service Function -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} -| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} -| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} - -*** Test Cases *** -| 78B-ethip6srhip6-ip6base-srv6proxy-masq-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot b/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot deleted file mode 100644 index 374f6fe59a..0000000000 --- a/tests/vpp/device/srv6/eth2p-ethip6srhip6-ip6base-srv6proxy-stat-dev.robot +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | FEATURE | SRv6 | SRv6_PROXY -| ... | SRv6_PROXY_STAT | MEMIF | DOCKER | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip6srhip6-ip6base-srv6proxy-stat -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | container -| -| Test Template | Local Template -| -| Documentation | *Segment routing over IPv6 dataplane with Static\ -| ... | SRv6 proxy test cases.* -| -| ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ -| ... | between nodes. -| ... | *[Cfg] DUT configuration:* On DUT1 configure physical interface IPv6\ -| ... | addresses, static ARP record, route and IPv6 forwarding over SRv6\ -| ... | with three SIDs - Segment Routing Header inserted. -| ... | *[Ver] TG verification:* ETH-IP6 packet is sent from TG to DUT1 in one\ -| ... | direction. Packet is received and verified for correctness on TG. Then\ -| ... | ETH-IP6-IP6 packet is sent from TG in opposite direction. Packet is\ -| ... | received and verified for correctness on TG. -| ... | *[Ref] Applicable standard specifications:* SRv6 Network Programming -\ -| ... | draft 3. - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | memif_plugin.so -| ... | srv6as_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${80} -# SIDs -| ${dut1_sid1}= | 2002:1:: -| ${dut1_sid2}= | 2003:2:: -| ${dut1_bsid}= | 2002:1::1 -| ${dut2_sid1}= | 2002:2:: -| ${dut2_sid2}= | 2003:1:: -| ${out_sid1_1}= | 2002:3:: -| ${out_sid1_2}= | 2002:4:: -| ${out_sid2_1}= | 2003:3:: -| ${out_sid2_2}= | 2003:4:: -| ${sid_prefix}= | ${64} -# IP settings -| ${tg_if1_ip6_subnet}= | 2001:1:: -| ${tg_if2_ip6_subnet}= | 2001:2:: -| ${dst_addr_nr}= | ${1} -| ${dut1_if1_ip6}= | 2001:1::1 -| ${dut1_if2_ip6}= | 2001:3::1 -| ${dut1-memif-1-if1_ip6}= | 3001:1::1 -| ${dut1-memif-1-if2_ip6}= | 3001:1::2 -| ${dut1_nh}= | 4002:: -| ${dut2_if1_ip6}= | 2001:3::2 -| ${dut2_if2_ip6}= | 2001:2::1 -| ${dut2-memif-1-if1_ip6}= | 3002:1::1 -| ${dut2-memif-1-if2_ip6}= | 3002:1::2 -| ${dut2_nh}= | 4001:: -| ${prefix}= | ${64} -| ${mem_prefix}= | ${128} -# Container -| ${container_engine}= | Docker -| ${container_chain_topology}= | chain_functional - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Cfg] DUT1 is configured with IPv6 routing and static route,\ -| | ... | SR policy and steering policy for one direction and one SR\ -| | ... | behaviour (function) - End.AS - for other direction. -| | ... | [Ver] Make TG send IPv6 packets routed over DUT1 interfaces.\ -| | ... | Make TG verify IPv6 packets are correct. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize SRv6 with 'static_proxy' SR-unaware Service Function -| | Then Send IPv6 Packet and verify SRv6 encapsulation in received packet -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] | ${DUT1_${int}1_mac}[0] -| | ... | ${DUT1_${int}2_mac}[0] | ${tg_if1_ip6_subnet}2 | ${tg_if2_ip6_subnet}2 -| | ... | ${dut1_sid1} | ${dut1_sid2} | ${dut2_sid2} | ${dut2_sid1} -| | ... | ${out_sid2_1} | ${out_sid1_1} | decap=${False} -| | ... | tg_dstsid3=${out_sid1_2} | dut_dstsid3=${out_sid2_2} -| | ... | static_proxy=${True} - -*** Test Cases *** -| 78B-ethip6srhip6-ip6base-srv6proxy-stat-dev -| | [Tags] | 78B -| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/srv6/regenerate_testcases.py b/tests/vpp/device/srv6/regenerate_testcases.py new file mode 100755 index 0000000000..b1c6336c72 --- /dev/null +++ b/tests/vpp/device/srv6/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6") diff --git a/tests/vpp/device/stats/2n1l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot b/tests/vpp/device/stats/2n1l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot new file mode 100644 index 0000000000..b509693c6b --- /dev/null +++ b/tests/vpp/device/stats/2n1l-10ge2p1x710-ethip4-l2xcbase-stats-scapy.robot @@ -0,0 +1,84 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | STATS | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2xcbase-stats +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace +| +| Test Template | Local Template +| +| Documentation | *VPP statistic commands test cases* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ +| ... | Both apply to all links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ +| ... | switching. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ +| ... | are sent in both directions by TG on links to DUT1; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ +| ... | and MAC addresses. Run VPP statistic commands used in performance tests. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ +| | ... | of its interfaces to be switched by DUT to and from docker; verify\ +| | ... | all packets are received. Run VPP statistic commands. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 cross connect +| | VPP Enable Elog Traces On All DUTs | ${nodes} +| | Then Send IPv4 bidirectionally and verify received packets +| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] +| | And Verify statistic commands + +*** Test Cases *** +| 64B-0c-ethip4-l2xcbase-stats-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot b/tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot deleted file mode 100644 index baeadea425..0000000000 --- a/tests/vpp/device/stats/eth2p-avf-dot1qip4-l2bdbasemaclrn-stats-dev.robot +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | DOT1Q | IP4BASE | DRV_AVF -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | avf-dot1qip4-l2bdbasemaclrn -| -| Suite Setup | Setup suite topology interfaces | scapy -| Suite Teardown | Tear down suite -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing with IEEE 802.1Q test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with\ -| ... | single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. IEEE 802.1Q\ -| ... | tagging is applied on links between TG-DUT1. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\ -| ... | two static IPv4 /30 route entries. DUT1 is tested with ${nic_name}. -| ... | *[Ver] TG verification:* Test IPv4 packets are sent in one direction \ -| ... | by TG on link to DUT1; on receive TG verifies packets for correctness \ -| ... | and drops as applicable. -| ... | *[Ref] Applicable standard specifications:* IEEE 802.1q. - -*** Variables *** -| @{plugins_to_enable}= | avf_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | avf -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 1 -| ${overhead}= | ${4} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize layer dot1q -| | And Initialize L2 bridge domain -| | # Do not fail here, we have a non-stats copy of this test elsewhere, -| | # here we want to see stats after traffic, even if that test fails. -| | Then Run Keyword And Ignore Error -| | ... | Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | And Verify statistic commands - -*** Test Cases *** -| 68B-avf-dot1qip4-l2bdbasemaclrn-stats-dev -| | [Tags] | 68B -| | frame_size=${68} | phy_cores=${0} diff --git a/tests/vpp/device/stats/eth2p-ethipv4-l2xcbase-stats-dev.robot b/tests/vpp/device/stats/eth2p-ethipv4-l2xcbase-stats-dev.robot deleted file mode 100644 index ab1c60dc3b..0000000000 --- a/tests/vpp/device/stats/eth2p-ethipv4-l2xcbase-stats-dev.robot +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | STATS | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2xcbase-stats -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| -| Test Template | Local Template -| -| Documentation | *VPP statistic commands test cases* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology \ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.\ -| ... | Both apply to all links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ -| ... | switching. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 \ -| ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ -| ... | and MAC addresses. Run VPP statistic commands used in performance tests. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Ver] Make TG send IPv4 packets in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. Run VPP statistic commands. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 cross connect -| | VPP Enable Elog Traces On All DUTs | ${nodes} -| | Then Send IPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | And Verify statistic commands - -*** Test Cases *** -| 64B-ethipv4-l2xcbase-stats-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/stats/regenerate_testcases.py b/tests/vpp/device/stats/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/stats/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot new file mode 100644 index 0000000000..61896d927c --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-ip4base-eth-2vhost-1vm-scapy.robot @@ -0,0 +1,95 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-ip4base-eth-2vhost-1vm +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | vhost +| +| Test Template | Local Template +| +| Documentation | *IPv4 routing test cases with vhost user interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | VM and single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ +| ... | two static IPv4 /24 route entries. Qemu Guest is connected to VPP via \ +| ... | vhost-user interfaces. Guest is running VPP ip4 interconnecting \ +| ... | vhost-user interfaces. +| ... | *[Ver] TG verification:* Test IPv4 packet with IP protocol=61 is sent \ +| ... | in one direction by TG on links to DUT1; on receive TG verifies packet \ +| ... | for correctness and their IPv4 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${nf_chains}= | ${1} +| ${nf_nodes}= | ${1} +| ${nf_dtc} | ${1} +| ${nf_dtcr} | ${1} +| ${tg_if1_ip}= | 10.10.10.2 +| ${tg_if2_ip}= | 20.20.20.2 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | Test uses two VRFs to route IPv4 traffic through two vhost-user \ +| | ... | nterfaces. Both interfaces are configured with IP addresses from \ +| | ... | the same network. The VM is running VPP IPv4 forwarding to pass \ +| | ... | packet from one vhost-user interface to the other one. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding with vhost in 2-node circular topology +| | ... | nf_nodes=${nf_nodes} +| | And Configure chains of NFs connected via vhost-user +| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} +| | ... | vnf=vppip4noarp_2vhostvr1024 | pinning=${False} +| | Then Send packet and verify headers +| | ... | ${tg} | ${tg_if1_ip} | ${tg_if2_ip} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + +*** Test Cases *** +| 64B-0c-ethip4-ip4base-eth-2vhost-1vm-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot new file mode 100644 index 0000000000..ee32bd04c6 --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy.robot @@ -0,0 +1,95 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | VHOST | 1VM +| ... | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2bdbasemaclrn-eth-2vhost-1vm +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | vhost +| +| Test Template | Local Template +| +| Documentation | *L2 bridge-domain test cases with vhost user interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | VM and single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with two L2 \ +| ... | bridge-domains (L2BD) switching combined with MAC learning enabled. \ +| ... | Qemu Guest is connected to VPP via vhost-user interfaces. Guest is \ +| ... | configured with VPP l2 cross-connect interconnecting vhost-user \ +| ... | interfaces. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ +| ... | sent in both directions by TG on links to DUT1 via VM; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ +| ... | and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${nf_chains}= | ${1} +| ${nf_nodes}= | ${1} +| ${nf_dtc} | ${1} +| ${nf_dtcr} | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4. [Cfg] On DUT1 configure \ +| | ... | two L2BDs with MAC learning, each with vhost-user i/f to local \ +| | ... | VM and i/f to TG; configure VPP in VM to loop pkts back betwen its \ +| | ... | two virtio i/fs. [Ver] Make TG verify IPv4 packets are switched \ +| | ... | thru DUT1 and VM in both directions and are correct on receive. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | ... | count=${nf_chains} +| | And Initialize L2 bridge domains with Vhost-User | nf_nodes=${nf_nodes} +| | And Configure chains of NFs connected via vhost-user +| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} +| | ... | vnf=vppl2xc_2vhostvr1024 | pinning=${False} +| | Then Send IPv4 bidirectionally and verify received packets | ${tg} +| | ... | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2bdbasemaclrn-eth-2vhost-1vm-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot new file mode 100644 index 0000000000..7fc076bbad --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip4/2n1l-10ge2p1x710-ethip4-l2xcbase-eth-2vhost-1vm-scapy.robot @@ -0,0 +1,93 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | VHOST | 1VM | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4-l2xcbase-eth-2vhost-1vm +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | vhost +| +| Test Template | Local Template +| +| Documentation | *L2 cross-connect test cases with vhost user interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | VM and single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ +| ... | (L2XC) switching. Qemu Guest is connected to VPP via vhost-user \ +| ... | interfaces. Guest is configured with VPP l2 cross-connect \ +| ... | interconnecting vhost-user interfaces. +| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ +| ... | sent in both directions by TG on links to DUT1 via VM; on receive TG \ +| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ +| ... | and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${nf_chains}= | ${1} +| ${nf_nodes}= | ${1} +| ${nf_dtc} | ${1} +| ${nf_dtcr} | ${1} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4. [Cfg] On DUT configure \ +| | ... | two L2 cross-connects (L2XC), each with one untagged interface \ +| | ... | to TG and untagged i/f to local VM over vhost-user. [Ver] Make \ +| | ... | TG send IPv4 packets in both directions between two of its \ +| | ... | i/fs to be switched by DUT to and from VM; verify all packets \ +| | ... | are received. [Ref] +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize L2 xconnect with Vhost-User | nf_nodes=${nf_nodes} +| | And Configure chains of NFs connected via vhost-user +| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} +| | ... | vnf=vppl2xc_2vhostvr1024 | pinning=${False} +| | Then Send IPv4 bidirectionally and verify received packets | ${tg} +| | ... | ${TG_pf1}[0] | ${TG_pf2}[0] + +*** Test Cases *** +| 64B-0c-ethip4-l2xcbase-eth-2vhost-1vm-scapy +| | [Tags] | 64B | 0C +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py b/tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py new file mode 100755 index 0000000000..87521e662d --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip4/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot") diff --git a/tests/vpp/device/vm_vhost/ethip6/2n1l-10ge2p1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot b/tests/vpp/device/vm_vhost/ethip6/2n1l-10ge2p1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot new file mode 100644 index 0000000000..15dfb5d75a --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip6/2n1l-10ge2p1x710-ethip6-ip6base-eth-2vhost-1vm-scapy.robot @@ -0,0 +1,96 @@ +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 | EXPECTED_FAILING +| ... | ethip6-ip6base-eth-2vhost-1vm +| +| Suite Setup | Setup suite topology interfaces | scapy +| Test Setup | Setup test +| Test Teardown | Tear down test | packet_trace | vhost +| +| Test Template | Local Template +| +| Documentation | *IPv4 routing test cases with vhost user interface* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ +| ... | VM and single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on both links. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ +| ... | two static IPv6 /64 route entries. Qemu Guest is connected to VPP via \ +| ... | vhost-user interfaces. Guest is running VPP ip6 interconnecting \ +| ... | vhost-user interfaces. +| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ +| ... | by TG on links to DUT1; on receive TG verifies packets for correctness \ +| ... | and their IPv6 src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${overhead}= | ${0} +| ${nf_chains}= | ${1} +| ${nf_nodes}= | ${1} +| ${nf_dtc} | ${1} +| ${nf_dtcr} | ${1} +| ${tg_if1_ip}= | 2001:1::2 +| ${tg_if2_ip}= | 2001:2::2 + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | Test uses two VRFs to route IPv6 traffic through two vhost-user \ +| | ... | interfaces. Both interfaces are configured with IP addresses from \ +| | ... | the same network. The VM is running VPP IPv6 forwarding to pass \ +| | ... | packet from one vhost-user interface to the other one. +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer. Type: integer +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv6 forwarding with vhost in 2-node circular topology +| | ... | nf_nodes=${nf_nodes} +| | And Configure chains of NFs connected via vhost-user +| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} +| | ... | vnf=vppip6_2vhostvr1024 | pinning=${False} +| | Then Send packet and verify headers +| | ... | ${tg} | ${tg_if1_ip} | ${tg_if2_ip} +| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] +| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] + + +*** Test Cases *** +| 78B-0c-ethip6-ip6base-eth-2vhost-1vm-scapy +| | [Tags] | 78B | 0C +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py b/tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py new file mode 100755 index 0000000000..b1c6336c72 --- /dev/null +++ b/tests/vpp/device/vm_vhost/ethip6/regenerate_testcases.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2021 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from resources.libraries.python.autogen.Regenerator import Regenerator + +Regenerator().regenerate_glob(u"*.robot", protocol=u"ip6") diff --git a/tests/vpp/device/vm_vhost/ip4/eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/ip4/eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot deleted file mode 100644 index 94cf590865..0000000000 --- a/tests/vpp/device/vm_vhost/ip4/eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev.robot +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-ip4base-eth-2vhost-1vm -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | vhost -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing test cases with vhost user interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | VM and single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing on both links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and \ -| ... | two static IPv4 /24 route entries. Qemu Guest is connected to VPP via \ -| ... | vhost-user interfaces. Guest is running VPP ip4 interconnecting \ -| ... | vhost-user interfaces. -| ... | *[Ver] TG verification:* Test IPv4 packet with IP protocol=61 is sent \ -| ... | in one direction by TG on links to DUT1; on receive TG verifies packet \ -| ... | for correctness and their IPv4 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC791, RFC826, RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${nf_chains}= | ${1} -| ${nf_nodes}= | ${1} -| ${nf_dtc} | ${1} -| ${nf_dtcr} | ${1} -| ${tg_if1_ip}= | 10.10.10.2 -| ${tg_if2_ip}= | 20.20.20.2 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | Test uses two VRFs to route IPv4 traffic through two vhost-user \ -| | ... | nterfaces. Both interfaces are configured with IP addresses from \ -| | ... | the same network. The VM is running VPP IPv4 forwarding to pass \ -| | ... | packet from one vhost-user interface to the other one. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv4 forwarding with vhost in 2-node circular topology -| | ... | nf_nodes=${nf_nodes} -| | And Configure chains of NFs connected via vhost-user -| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} -| | ... | vnf=vppip4noarp_2vhostvr1024 | pinning=${False} -| | Then Send packet and verify headers -| | ... | ${tg} | ${tg_if1_ip} | ${tg_if2_ip} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - -*** Test Cases *** -| 64B-ethip4-ip4base-eth-2vhost-1vm-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/ip6/eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/ip6/eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot deleted file mode 100644 index c70747552c..0000000000 --- a/tests/vpp/device/vm_vhost/ip6/eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev.robot +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | IP6FWD | BASE | VHOST | 1VM | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 | EXPECTED_FAILING -| ... | ethipv6-ip6base-eth-2vhost-1vm -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | vhost -| -| Test Template | Local Template -| -| Documentation | *IPv4 routing test cases with vhost user interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | VM and single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv6 for IPv6 routing on both links. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv6 routing and \ -| ... | two static IPv6 /64 route entries. Qemu Guest is connected to VPP via \ -| ... | vhost-user interfaces. Guest is running VPP ip6 interconnecting \ -| ... | vhost-user interfaces. -| ... | *[Ver] TG verification:* Test IPv6 packets are sent in one direction \ -| ... | by TG on links to DUT1; on receive TG verifies packets for correctness \ -| ... | and their IPv6 src-addr, dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC2460, RFC4443, RFC4861 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${nf_chains}= | ${1} -| ${nf_nodes}= | ${1} -| ${nf_dtc} | ${1} -| ${nf_dtcr} | ${1} -| ${tg_if1_ip}= | 2001:1::2 -| ${tg_if2_ip}= | 2001:2::2 - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | Test uses two VRFs to route IPv6 traffic through two vhost-user \ -| | ... | interfaces. Both interfaces are configured with IP addresses from \ -| | ... | the same network. The VM is running VPP IPv6 forwarding to pass \ -| | ... | packet from one vhost-user interface to the other one. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize IPv6 forwarding with vhost in 2-node circular topology -| | ... | nf_nodes=${nf_nodes} -| | And Configure chains of NFs connected via vhost-user -| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} -| | ... | vnf=vppip6_2vhostvr1024 | pinning=${False} -| | Then Send packet and verify headers -| | ... | ${tg} | ${tg_if1_ip} | ${tg_if2_ip} -| | ... | ${TG_pf1}[0] | ${TG_pf1_mac}[0] | ${DUT1_vf1_mac}[0] -| | ... | ${TG_pf2}[0] | ${DUT1_vf2_mac}[0] | ${TG_pf2_mac}[0] - - -*** Test Cases *** -| 64B-ethipv6-ip6base-eth-2vhost-1vm-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/l2bd/eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/l2bd/eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot deleted file mode 100644 index 15acd8c23c..0000000000 --- a/tests/vpp/device/vm_vhost/l2bd/eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev.robot +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | VHOST | 1VM -| ... | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2bdbasemaclrn-eth-2vhost-1vm -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | vhost -| -| Test Template | Local Template -| -| Documentation | *L2 bridge-domain test cases with vhost user interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | VM and single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with two L2 \ -| ... | bridge-domains (L2BD) switching combined with MAC learning enabled. \ -| ... | Qemu Guest is connected to VPP via vhost-user interfaces. Guest is \ -| ... | configured with VPP l2 cross-connect interconnecting vhost-user \ -| ... | interfaces. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ -| ... | sent in both directions by TG on links to DUT1 via VM; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ -| ... | and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${nf_chains}= | ${1} -| ${nf_nodes}= | ${1} -| ${nf_dtc} | ${1} -| ${nf_dtcr} | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4. [Cfg] On DUT1 configure \ -| | ... | two L2BDs with MAC learning, each with vhost-user i/f to local \ -| | ... | VM and i/f to TG; configure VPP in VM to loop pkts back betwen its \ -| | ... | two virtio i/fs. [Ver] Make TG verify IPv4 packets are switched \ -| | ... | thru DUT1 and VM in both directions and are correct on receive. -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | ... | count=${nf_chains} -| | And Initialize L2 bridge domains with Vhost-User | nf_nodes=${nf_nodes} -| | And Configure chains of NFs connected via vhost-user -| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} -| | ... | vnf=vppl2xc_2vhostvr1024 | pinning=${False} -| | Then Send IPv4 bidirectionally and verify received packets | ${tg} -| | ... | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/vm_vhost/l2xc/eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/l2xc/eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot deleted file mode 100644 index 4778bcfa6c..0000000000 --- a/tests/vpp/device/vm_vhost/l2xc/eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev.robot +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | VHOST | 1VM | DRV_VFIO_PCI -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethipv4-l2xcbase-eth-2vhost-1vm -| -| Suite Setup | Setup suite topology interfaces | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace | vhost -| -| Test Template | Local Template -| -| Documentation | *L2 cross-connect test cases with vhost user interface* -| -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology with \ -| ... | VM and single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ -| ... | (L2XC) switching. Qemu Guest is connected to VPP via vhost-user \ -| ... | interfaces. Guest is configured with VPP l2 cross-connect \ -| ... | interconnecting vhost-user interfaces. -| ... | *[Ver] TG verification:* Test IPv4 packets with IP protocol=61 are \ -| ... | sent in both directions by TG on links to DUT1 via VM; on receive TG \ -| ... | verifies packets for correctness and their IPv4 src-addr, dst-addr \ -| ... | and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so -| ${crypto_type}= | ${None} -| ${nic_name}= | Intel-X710 -| ${nic_driver}= | vfio-pci -| ${nic_rxq_size}= | 0 -| ${nic_txq_size}= | 0 -| ${nic_pfs}= | 2 -| ${nic_vfs}= | 0 -| ${overhead}= | ${0} -| ${nf_chains}= | ${1} -| ${nf_nodes}= | ${1} -| ${nf_dtc} | ${1} -| ${nf_dtcr} | ${1} - -*** Keywords *** -| Local Template -| | [Documentation] -| | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4. [Cfg] On DUT configure \ -| | ... | two L2 cross-connects (L2XC), each with one untagged interface \ -| | ... | to TG and untagged i/f to local VM over vhost-user. [Ver] Make \ -| | ... | TG send IPv4 packets in both directions between two of its \ -| | ... | i/fs to be switched by DUT to and from VM; verify all packets \ -| | ... | are received. [Ref] -| | -| | ... | *Arguments:* -| | ... | - frame_size - Framesize in Bytes in integer. Type: integer -| | ... | - phy_cores - Number of physical cores. Type: integer -| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer -| | -| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} -| | -| | Set Test Variable | \${frame_size} -| | -| | Given Set Max Rate And Jumbo -| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} -| | And Pre-initialize layer driver | ${nic_driver} -| | And Apply startup configuration on all VPP DUTs | with_trace=${True} -| | When Initialize layer driver | ${nic_driver} -| | And Initialize layer interface -| | And Initialize L2 xconnect with Vhost-User | nf_nodes=${nf_nodes} -| | And Configure chains of NFs connected via vhost-user -| | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} -| | ... | vnf=vppl2xc_2vhostvr1024 | pinning=${False} -| | Then Send IPv4 bidirectionally and verify received packets | ${tg} -| | ... | ${TG_pf1}[0] | ${TG_pf2}[0] - -*** Test Cases *** -| 64B-ethipv4-l2xcbase-eth-2vhost-1vm-dev -| | [Tags] | 64B -| | frame_size=${64} | phy_cores=${0} diff --git a/tox.ini b/tox.ini index ab6a4b0209..e8b28f029b 100644 --- a/tox.ini +++ b/tox.ini @@ -66,6 +66,7 @@ whitelist_externals = /bin/bash commands = bash {[tox]checker_dir}/gpl_license.sh [testenv:job_spec] +ignore_outcome = true whitelist_externals = /bin/bash commands = bash {[tox]checker_dir}/job_spec.sh -- cgit 1.2.3-korg