From d2a7114de8c307c152b119d2c153e1d75df78b65 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Tue, 9 Jul 2019 14:28:27 +0000 Subject: [PATCH] Aligning FUNC/PERF keywords - Data driven Change-Id: I233c8908c724556db09c60de6efa9237068fb4c3 Signed-off-by: Peter Mikus --- resources/libraries/robot/shared/default.robot | 22 +++- tests/vpp/device/__init__.robot | 2 +- ...2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev.robot} | 27 +++-- ...cmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot} | 50 ++++----- ...p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev.robot} | 50 ++++----- ...2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev.robot} | 27 +++-- ...4base-policy-aes-128-cbc-sha-512-256-dev.robot} | 63 +++++------- ...4base-policy-aes-128-cbc-sha-512-256-dev.robot} | 61 +++++------ ...6base-policy-aes-128-cbc-sha-512-256-dev.robot} | 63 +++++------- ...6base-policy-aes-128-cbc-sha-512-256-dev.robot} | 60 +++++------ .../eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot | 95 +++++++++++++++++ ...ethicmpv4-ip4base-eth-1tap-namespace-dev.robot} | 62 ++++-------- ...2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev.robot} | 29 ++++-- .../eth2p-ethicmpv4-ip4base-dut-egress-dev.robot | 71 +++++++++++++ .../eth2p-ethicmpv4-ip4base-dut-ingress-dev.robot | 71 +++++++++++++ .../eth2p-ethicmpv4-ip4base-tg-ingress-dev.robot | 72 +++++++++++++ ...v4-ip4base-tg-ingress-for-remote-host-dev.robot | 73 ++++++++++++++ .../vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot | 112 --------------------- .../eth2p-ethicmpv6-ip6base-dut-egress-dev.robot | 71 +++++++++++++ .../eth2p-ethicmpv6-ip6base-dut-ingress-dev.robot | 71 +++++++++++++ .../eth2p-ethicmpv6-ip6base-tg-ingress-dev.robot | 72 +++++++++++++ ...icmpv6-ip6base-tg-ingress-remote-host-dev.robot | 73 ++++++++++++++ .../vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot | 112 --------------------- ...ot => eth2p-ethicmpv4-l2bdbasemaclrn-dev.robot} | 48 ++++----- ...ev.robot => eth2p-ethicmpv4-l2xcbase-dev.robot} | 49 ++++----- 25 files changed, 961 insertions(+), 545 deletions(-) rename tests/vpp/device/container_memif/{eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot => eth2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev.robot} (78%) rename tests/vpp/device/container_memif/{eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot => eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot} (66%) rename tests/vpp/device/container_memif/{eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot => eth2p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev.robot} (66%) rename tests/vpp/device/container_memif/{eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot => eth2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev.robot} (84%) rename tests/vpp/device/crypto/{eth2p-ethip4ipsectnl-ip4base-dev.robot => eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot} (61%) rename tests/vpp/device/crypto/{eth2p-ethip4ipsectpt-ip4base-dev.robot => eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot} (62%) rename tests/vpp/device/crypto/{eth2p-ethip6ipsectnl-ip6base-dev.robot => eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot} (61%) rename tests/vpp/device/crypto/{eth2p-ethip6ipsectpt-ip6base-dev.robot => eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot} (62%) create mode 100644 tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot rename tests/vpp/device/interfaces/{eth2p-ethip4-ip4base-eth-1tap-dev.robot => eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot} (65%) rename tests/vpp/device/interfaces/{eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot => eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev.robot} (78%) create mode 100644 tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-egress-dev.robot create mode 100644 tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-ingress-dev.robot create mode 100644 tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-dev.robot create mode 100644 tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-for-remote-host-dev.robot delete mode 100644 tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot create mode 100644 tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-egress-dev.robot create mode 100644 tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-ingress-dev.robot create mode 100644 tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-dev.robot create mode 100644 tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-remote-host-dev.robot delete mode 100644 tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot rename tests/vpp/device/l2bd/{eth2p-eth-l2bdbasemaclrn-dev.robot => eth2p-ethicmpv4-l2bdbasemaclrn-dev.robot} (63%) rename tests/vpp/device/l2xc/{eth2p-ethicmp-l2xcbase-dev.robot => eth2p-ethicmpv4-l2xcbase-dev.robot} (62%) diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 86e124ad62..57ee1797af 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -160,7 +160,8 @@ | | | ${cpu_main}= | Cpu list per node str | ${nodes['${dut}']} | ${numa} | | | ... | skip_cnt=${skip_cnt} | cpu_cnt=${CPU_CNT_MAIN} | | | ${skip_cnt}= | Evaluate | ${CPU_CNT_SYSTEM} + ${CPU_CNT_MAIN} -| | | ${cpu_wt}= | Cpu list per node str | ${nodes['${dut}']} | ${numa} +| | | ${cpu_wt}= | Run keyword if | ${cpu_count_int} > 0 | +| | | ... | Cpu list per node str | ${nodes['${dut}']} | ${numa} | | | ... | skip_cnt=${skip_cnt} | cpu_cnt=${cpu_count_int} | | | ... | smt_used=${smt_used} | | | ${thr_count_int}= | Run keyword if | ${smt_used} @@ -172,9 +173,12 @@ | | | ${rxq_count_int}= | Run keyword if | ${rxq_count_int} == 0 | | | ... | Set variable | ${1} | | | ... | ELSE | Set variable | ${rxq_count_int} -| | | Run keyword | ${dut}.Add CPU Main Core | ${cpu_main} -| | | Run keyword | ${dut}.Add CPU Corelist Workers | ${cpu_wt} -| | | Run keyword | ${dut}.Add DPDK Dev Default RXQ | ${rxq_count_int} +| | | Run keyword if | ${cpu_count_int} > 0 +| | | ... | ${dut}.Add CPU Main Core | ${cpu_main} +| | | Run keyword if | ${cpu_count_int} > 0 +| | | ... | ${dut}.Add CPU Corelist Workers | ${cpu_wt} +| | | Run keyword +| | | ... | ${dut}.Add DPDK Dev Default RXQ | ${rxq_count_int} # For now there is no way to easily predict the number of buffers. Statically # doing maximum amount of buffers allowed by DPDK. | | | Run keyword if | ${smt_used} @@ -431,11 +435,21 @@ | | [Documentation] | Write VPP startup configuration and restart VPP on all | | ... | DUTs. | | ... +| | ... | *Arguments:* +| | ... | - with_trace - Enable packet trace after VPP restart Type: boolean +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Apply startup configuration on all VPP DUTs \| False \| +| | ... +| | [Arguments] | ${with_trace}=${False} +| | ... | | :FOR | ${dut} | IN | @{duts} | | | Run keyword | ${dut}.Apply Config | | Save VPP PIDs | | Enable Coredump Limit VPP on All DUTs | ${nodes} | | Update All Interface Data On All Nodes | ${nodes} | skip_tg=${True} +| | Run keyword If | ${with_trace} | VPP Enable Traces On All Duts | ${nodes} | Save VPP PIDs | | [Documentation] | Get PIDs of VPP processes from all DUTs in topology and\ diff --git a/tests/vpp/device/__init__.robot b/tests/vpp/device/__init__.robot index 595f27097e..69883ea469 100644 --- a/tests/vpp/device/__init__.robot +++ b/tests/vpp/device/__init__.robot @@ -25,7 +25,7 @@ | ... | AND | Verify Vpp On All Duts | ${nodes} | ... | AND | Get CPU Layout from all nodes | ${nodes} | ... | AND | Update All Interface Data On All Nodes | ${nodes} -| ... | skip_tg_udev=${True} +| ... | skip_tg_udev=${True} | numa_node=${True} | ... | Suite Teardown | Cleanup Framework | ${nodes} diff --git a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev.robot similarity index 78% rename from tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot rename to tests/vpp/device/container_memif/eth2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev.robot index 7f67fca434..a90f1efad6 100644 --- a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev.robot @@ -21,6 +21,8 @@ | 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 \ @@ -45,23 +47,34 @@ | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional -*** Test Cases *** -| tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\ | | ... | of its interfaces to be routed by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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} | | ... -| | Given Add PCI devices to all DUTs +| | Set Test Variable | \${frame_size} +| | ... +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When 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_if1} | ${tg_if1_mac} | ${dut1_if1_mac} | | ... | ${tg_if2} | ${dut1_if2_mac} | ${tg_if2_mac} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-eth-2memif-1dcr-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot similarity index 66% rename from tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot rename to tests/vpp/device/container_memif/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot index 62ca150935..ea60fee6d2 100644 --- a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot @@ -21,19 +21,20 @@ | 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-ICMPv4 for L2 switching of \ -| ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply to all \ -| ... | links. +| ... | 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 ICMPv4 (or ICMPv6) Echo Request packets \ +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets \ | ... | are sent in both directions by TG on links to DUT1 and via container; \ -| ... | on receive TG verifies packets for correctness and their IPv4 (IPv6) \ +| ... | on receive TG verifies packets for correctness and their IPv4 \ | ... | src-addr, dst-addr and MAC addresses. | ... | *[Ref] Applicable standard specifications:* RFC792 @@ -45,39 +46,32 @@ | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional -*** Test Cases *** -| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\ | | ... | of its interfaces to be switched by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False} -| | Then Send ICMPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${tg_if1} | ${tg_if2} - -| tc02-eth2p-ethip6-l2bdbase-eth-2memif-1dcr-dev -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Reqs 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} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Start containers for test | auto_scale=${False} | pinning=${False} | | And Initialize L2 Bridge Domain with memif pairs | auto_scale=${False} -| | Then Send ICMPv6 bidirectionally and verify received packets +| | Then Send ICMPv4 bidirectionally and verify received packets | | ... | ${tg} | ${tg_if1} | ${tg_if2} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2memif-1dcr-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev.robot similarity index 66% rename from tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot rename to tests/vpp/device/container_memif/eth2p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev.robot index 7596f96ff2..1f33992afa 100644 --- a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev.robot @@ -21,18 +21,19 @@ | 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-ICMPv4 for L2 switching of \ -| ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 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 ICMPv4 (or ICMPv6) Echo Request packets \ +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets \ | ... | are sent in both directions by TG on links to DUT1 and via container; \ -| ... | on receive TG verifies packets for correctness and their IPv4 (IPv6) \ +| ... | on receive TG verifies packets for correctness and their IPv4 \ | ... | src-addr, dst-addr and MAC addresses. | ... | *[Ref] Applicable standard specifications:* RFC792 @@ -44,39 +45,32 @@ | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional -*** Test Cases *** -| tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\ | | ... | of its interfaces to be switched by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Start containers for test | auto_scale=${False} | pinning=${False} -| | And Initialize L2 xconnect with memif pairs -| | Then Send ICMPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${tg_if1} | ${tg_if2} - -| tc02-eth2p-ethip6-l2xcbase-eth-2memif-1dcr-dev -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Reqs 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} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Start containers for test | auto_scale=${False} | pinning=${False} | | And Initialize L2 xconnect with memif pairs -| | Then Send ICMPv6 bidirectionally and verify received packets +| | Then Send ICMPv4 bidirectionally and verify received packets | | ... | ${tg} | ${tg_if1} | ${tg_if2} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-l2xcbase-eth-2memif-1dcr-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev.robot similarity index 84% rename from tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot rename to tests/vpp/device/container_memif/eth2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev.robot index a645a58792..69b8ee0db6 100644 --- a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev.robot @@ -21,6 +21,8 @@ | 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 \ @@ -45,20 +47,26 @@ | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional -*** Test Cases *** -| tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two\ | | ... | of its interfaces to be routed by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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} | | ... -| | Given Add PCI devices to all DUTs +| | Set Test Variable | \${frame_size} +| | ... +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Start containers for test | auto_scale=${False} | pinning=${False} | | And Set interfaces in path up | | And Set up memif interfaces on DUT node @@ -94,3 +102,8 @@ | | ... | ${tg} | 2001:1::1 | 2001:3::2 | | ... | ${tg_if1} | ${tg_if1_mac} | ${dut1_if1_mac} | | ... | ${tg_if2} | ${dut1_if2_mac} | ${tg_if2_mac} + +*** Test Cases *** +| tc01-78B-eth2p-ethicmpv6-ip6base-eth-2memif-1dcr-dev +| | [Tags] | 78B +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot similarity index 61% rename from tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot rename to tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot index bf5db490b4..b06b3c507a 100644 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot @@ -15,12 +15,15 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE +| ... | NIC_Virtual | IP4FWD | IPSEC | IPSECSW | IPSECTUN | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | ... | Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... +| Test Template | Local Template +| ... | Documentation | *IPv4 IPsec tunnel mode test suite.* | ... | ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ @@ -36,7 +39,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual -| ${overhead}= | ${58} +| ${overhead}= | ${54} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -46,50 +49,31 @@ | ${dut_lo_ip4}= | 192.168.4.4 | ${ip4_plen}= | ${24} -*** Test Cases *** -| tc01-eth2p-ethip4ipsectnl-ip4base-dev-aes-128-cbc-sha-256-128 +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ | | ... | mode. | | ... -| | Set Test Variable | ${frame_size} | ${106} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv4 IPsec testing -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 256 128 -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip} -| | ... | ${dut_tun_ip} | ${tg_tun_ip} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip} -| | ... | ${dut_tun_ip} - -| tc02-eth2p-ethip4ipsectnl-ip4base-dev-aes-128-cbc-sha-512-256 -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\ -| | ... | mode. +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${106} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv4 IPsec testing +| | # 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Configure topology for IPv4 IPsec testing | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec | | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} @@ -100,3 +84,8 @@ | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip} | | ... | ${dut_tun_ip} + +*** Test Cases *** +| tc01-110B-eth2p-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-ethip4ipsectpt-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot similarity index 62% rename from tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot rename to tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot index 5cf0df6355..5097437069 100644 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev.robot @@ -15,12 +15,15 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE +| ... | NIC_Virtual | IP4FWD | IPSEC | IPSECSW | IPSECTPT | IP4BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | ... | Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... +| Test Template | Local Template +| ... | Documentation | *IPv4 IPsec transport mode test suite.* | ... | ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ @@ -36,7 +39,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual -| ${overhead}= | ${58} +| ${overhead}= | ${54} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -46,48 +49,31 @@ | ${dut_lo_ip4}= | 192.168.4.4 | ${ip4_plen}= | ${24} -*** Test Cases *** -| tc01-eth2p-ethip4ipsectpt-ip4base-dev-aes-128-cbc-sha-256-128 +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ | | ... | transport mode. | | ... -| | Set Test Variable | ${frame_size} | ${90} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv4 IPsec testing -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 256 128 -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} - -| tc02-eth2p-ethip4ipsectpt-ip4base-dev-aes-128-cbc-sha-512-256 -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\ -| | ... | transport mode. +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${90} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv4 IPsec testing +| | # 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Configure topology for IPv4 IPsec testing | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec | | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} @@ -96,3 +82,8 @@ | | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} + +*** Test Cases *** +| tc01-110B-eth2p-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-ethip6ipsectnl-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot similarity index 61% rename from tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot rename to tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot index b8c5ed5bb5..cb96f52923 100644 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot @@ -15,12 +15,15 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE +| ... | NIC_Virtual | IP6FWD | IPSEC | IPSECSW | IPSECTUN | IP6BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | ... | Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... +| Test Template | Local Template +| ... | Documentation | *IPv6 IPsec tunnel mode test suite.* | ... | ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ @@ -36,7 +39,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual -| ${overhead}= | ${58} +| ${overhead}= | ${54} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -47,50 +50,31 @@ | ${ip6_plen}= | ${64} | ${ip6_plen_rt}= | ${128} -*** Test Cases *** -| tc01-eth2p-ethip6ipsectnl-ip6base-dev-aes-128-cbc-sha-256-128 +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in tunnel\ | | ... | mode. | | ... -| | Set Test Variable | ${frame_size} | ${158} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv6 IPsec testing -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 256 128 -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_src_ip} | ${tg_src_ip} -| | ... | ${dut_tun_ip} | ${tg_tun_ip} | is_ipv6=${TRUE} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip} -| | ... | ${dut_tun_ip} - -| tc02-eth2p-ethip6ipsectnl-ip6base-dev-aes-128-cbc-sha-512-256 -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in tunnel\ -| | ... | mode. +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${158} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv6 IPsec testing +| | # 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Configure topology for IPv6 IPsec testing | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec | | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} @@ -101,3 +85,8 @@ | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_src_ip} | ${dut_src_ip} | ${tg_tun_ip} | | ... | ${dut_tun_ip} + +*** Test Cases *** +| tc01-124B-eth2p-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-ethip6ipsectpt-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot similarity index 62% rename from tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot rename to tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot index dd5537016a..11a7b0bc5d 100644 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev.robot @@ -15,12 +15,15 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE +| ... | NIC_Virtual | IP6FWD | IPSEC | IPSECSW | IPSECTPT | IP6BASE +| ... | AES_128_CBC | HMAC_SHA_512 | HMAC | AES | ... | Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... +| Test Template | Local Template +| ... | Documentation | *IPv6 IPsec transport mode test suite.* | ... | ... | *[Top] Network topologies:* TG-DUT1 2-node topology with one link\ @@ -47,49 +50,31 @@ | ${ip6_plen}= | ${64} | ${ip6_plen_rt}= | ${128} -*** Test Cases *** -| tc01-eth2p-ethip6ipsectpt-ip6base-dev-aes-128-cbc-sha-256-128 +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\ +| | ... | algorithm AES_128_CBC and integrity algorithm HMAC_SHA_512 in\ | | ... | transport mode. | | ... -| | Set Test Variable | ${frame_size} | ${174} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv6 IPsec testing -| | ${encr_alg}= | Crypto Alg AES CBC 128 -| | ${auth_alg}= | Integ Alg SHA 256 128 -| | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} -| | And Configure manual keyed connection for IPSec -| | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} -| | ... | ${auth_key} | ${dut_spi} | ${tg_spi} | ${dut_tun_ip} | ${tg_tun_ip} -| | ... | is_ipv6=${TRUE} -| | Then Send IPsec Packet and verify ESP encapsulation in received packet -| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} -| | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} -| | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} - -| tc02-eth2p-ethip6ipsectpt-ip6base-dev-aes-128-cbc-sha-512-256 -| | [Documentation] -| | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\ -| | ... | transport mode. +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${174} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Configure topology for IPv6 IPsec testing +| | # 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Configure topology for IPv6 IPsec testing | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec | | ... | ${dut1} | ${dut1_if1} | ${encr_alg} | ${encr_key} | ${auth_alg} @@ -99,3 +84,8 @@ | | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} + +*** Test Cases *** +| tc01-124B-eth2p-ethip6ipsectpt-ip6base-policy-aes-128-cbc-sha-512-256-dev +| | [Tags] | 124B +| | frame_size=${124} | 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 new file mode 100644 index 0000000000..066821c276 --- /dev/null +++ b/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-dev.robot @@ -0,0 +1,95 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE | 1TAP +| ... +| Suite Setup | Setup suite single link | 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 +| ${nic_name}= | virtual +| ${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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Set interfaces in path up +| | ${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_if1} | ${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_if1} | ${tg_ip_address} | ${tg_if1_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} +| | Then Send ICMP echo request and verify answer +| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac} +| | ... | ${tap1_NM_ip} | ${tg_ip_address} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-eth-1tap-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot similarity index 65% rename from tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot rename to tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot index 4d7f189da4..b0cacd1f24 100644 --- a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot +++ b/tests/vpp/device/interfaces/eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev.robot @@ -15,12 +15,14 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE | TAP +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE | 1TAP | NAMESPACE | ... | Suite Setup | Setup suite single link | 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. @@ -47,41 +49,8 @@ | ${tg_ip_address_GW}= | 192.168.0.0 | ${prefix}= | 24 -*** Test Cases *** -| tc01-eth2p-ethicmpv4-ip4base-dev_tap-no-namespace -| | [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. -| | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Set interfaces in path up -| | ${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_if1} | ${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_if1} | ${tg_ip_address} | ${tg_if1_mac} -| | And VPP Add IP Neighbor -| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} -| | Then Send ICMP echo request and verify answer -| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac} -| | ... | ${tap1_NM_ip} | ${tg_ip_address} - -| tc02-eth2p-ethicmpv4-ip4base-dev_tap-namespace +*** 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\ @@ -89,13 +58,19 @@ | | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is\ | | ... | received on TG. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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} | | ... -| | Given Add PCI devices to all DUTs +| | Set Test Variable | \${frame_size} +| | ... +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Set interfaces in path up | | ${int1}= | And Add Tap Interface | ${dut1} | tap0 | | And VPP Interface Set IP Address @@ -118,3 +93,8 @@ | | Then Send ICMP echo request and verify answer | | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac} | | ... | ${tap1_NM_ip} | ${tg_ip_address} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev.robot similarity index 78% rename from tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot rename to tests/vpp/device/interfaces/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev.robot index 3e7fd03e89..0c97d983bc 100644 --- a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot +++ b/tests/vpp/device/interfaces/eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev.robot @@ -15,12 +15,14 @@ | Resource | resources/libraries/robot/shared/default.robot | ... | Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | ETH | L2BD | BASE | TAP +| ... | NIC_Virtual | ETH | L2BD | BASE | 2TAP | ... | Suite Setup | Setup suite single link | 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 @@ -42,19 +44,25 @@ | ${overhead}= | ${0} | ${bid_TAP}= | tapBr -*** Test Cases *** -| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev_tap-simple-bd +*** 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. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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} | | ... -| | Given Add PCI devices to all DUTs +| | Set Test Variable | \${frame_size} +| | ... +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Set interfaces in path up | | ${int1}= | And Add Tap Interface | ${dut1} | tap0 | | ${int2}= | And Add Tap Interface | ${dut1} | tap1 @@ -69,3 +77,8 @@ | | And Add interface to bridge domain | ${dut1} | ${dut1_if2} | 19 | 0 | | Then Send ICMP packet and verify received packet | | ... | ${tg} | ${tg_if1} | ${tg_if2} + +*** Test Cases *** +| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-egress-dev.robot b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-egress-dev.robot new file mode 100644 index 0000000000..4f2484c93e --- /dev/null +++ b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-egress-dev.robot @@ -0,0 +1,71 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv4 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 ICMPv4 Echo Request packets are sent in \ +| ... | one direction 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:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv4 Echo Req towards DUT1 egress interface.\ +| | ... | Make TG verify ICMP Echo Reply 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv4 forwarding in circular topology +| | Then Send IPv4 ping packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2} +| | ... | 10.10.10.2 | 20.20.20.1 | ${dut1_if1_mac} | ${0} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-dut-egress-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-ingress-dev.robot b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-ingress-dev.robot new file mode 100644 index 0000000000..8bccc20372 --- /dev/null +++ b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-dut-ingress-dev.robot @@ -0,0 +1,71 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv4 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 ICMPv4 Echo Request packets are sent in \ +| ... | one direction 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:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv4 Echo Req to DUT1 ingress interface.\ +| | ... | Make TG verify ICMP Echo Reply 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv4 forwarding in circular topology +| | Then Send IPv4 ping packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1} +| | ... | 10.10.10.2 | 10.10.10.1 | ${dut1_if1_mac} | ${0} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-dut-ingress-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-dev.robot b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-dev.robot new file mode 100644 index 0000000000..cc7ce61075 --- /dev/null +++ b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-dev.robot @@ -0,0 +1,72 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv4 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 ICMPv4 Echo Request packets are sent in \ +| ... | one direction 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:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\ +| | ... | for locally connected IPv4 addresses. Make TG verify ICMPv4 Echo\ +| | ... | Replies 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv4 forwarding in circular topology +| | Then Send IPv4 ping packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} +| | ... | 10.10.10.2 | 20.20.20.2 | ${dut1_if1_mac} | ${1} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-tg-ingress-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-for-remote-host-dev.robot b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-for-remote-host-dev.robot new file mode 100644 index 0000000000..334db8359a --- /dev/null +++ b/tests/vpp/device/ip4/eth2p-ethicmpv4-ip4base-tg-ingress-for-remote-host-dev.robot @@ -0,0 +1,73 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv4 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 ICMPv4 Echo Request packets are sent in \ +| ... | one direction 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:* RFC791, RFC826, RFC792 + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\ +| | ... | for remote host IPv4 addresses. Make TG verify ICMPv4 Echo Replies\ +| | ... | 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv4 forwarding in circular topology +| | ... | remote_host1_ip=192.168.0.1 | remote_host2_ip=192.168.0.2 +| | Then Send IPv4 ping packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} +| | ... | 192.168.0.1 | 192.168.0.2 | ${dut1_if1_mac} | ${1} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-ip4base-tg-ingress-for-remote-host-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot deleted file mode 100644 index f9b6ebf314..0000000000 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE -| ... -| Suite Setup | Setup suite single link | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| ... -| 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-ICMPv4 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 ICMPv4 Echo Request packets are sent in \ -| ... | one direction 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:* RFC791, RFC826, RFC792 - -*** Variables *** -| @{plugins_to_enable}= | dpdk_plugin.so -| ${nic_name}= | virtual -| ${overhead}= | ${0} - -*** Test Cases *** -| tc01-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-ingress-interface -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv4 Echo Req to DUT1 ingress interface.\ -| | ... | Make TG verify ICMP Echo Reply is correct. -| | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv4 forwarding in circular topology -| | Then Send IPv4 ping packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1} -| | ... | 10.10.10.2 | 10.10.10.1 | ${dut1_if1_mac} | ${0} - -| tc02-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-egress-interface -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv4 Echo Req towards DUT1 egress interface.\ -| | ... | Make TG verify ICMP Echo Reply is correct. -| | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv4 forwarding in circular topology -| | Then Send IPv4 ping packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2} -| | ... | 10.10.10.2 | 20.20.20.1 | ${dut1_if1_mac} | ${0} - -| tc03-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-local-ipv4-address -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\ -| | ... | for locally connected IPv4 addresses. Make TG verify ICMPv4 Echo\ -| | ... | Replies are correct. -| | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv4 forwarding in circular topology -| | Then Send IPv4 ping packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} -| | ... | 10.10.10.2 | 20.20.20.2 | ${dut1_if1_mac} | ${1} - -| tc04-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv4 Echo Req between its interfaces across DUT1\ -| | ... | for remote host IPv4 addresses. Make TG verify ICMPv4 Echo Replies\ -| | ... | are correct. -| | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv4 forwarding in circular topology -| | ... | remote_host1_ip=192.168.0.1 | remote_host2_ip=192.168.0.2 -| | Then Send IPv4 ping packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} -| | ... | 192.168.0.1 | 192.168.0.2 | ${dut1_if1_mac} | ${1} diff --git a/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-egress-dev.robot b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-egress-dev.robot new file mode 100644 index 0000000000..a82005e22b --- /dev/null +++ b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-egress-dev.robot @@ -0,0 +1,71 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv6 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 ICMPv6 Echo Request 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 +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv6 Echo Req towards DUT1 egress interface.\ +| | ... | Make TG verify ICMPv6 Echo Reply 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv6 forwarding in circular topology +| | Then Send IPv6 echo request packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2} +| | ... | 2001:1::2 | 2001:2::1 | ${dut1_if1_mac} | ${0} + +*** Test Cases *** +| tc01-78B-eth2p-ethicmpv6-ip6base-dut-egress-dev +| | [Tags] | 78B +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-ingress-dev.robot b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-ingress-dev.robot new file mode 100644 index 0000000000..ab1fefca80 --- /dev/null +++ b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-dut-ingress-dev.robot @@ -0,0 +1,71 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv6 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 ICMPv6 Echo Request 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 +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver ]Make TG send ICMPv6 Echo Req to DUT1 ingress interface.\ +| | ... | Make TG verify ICMPv6 Echo Reply 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv6 forwarding in circular topology +| | Then Send IPv6 echo request packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1} +| | ... | 2001:1::2 | 2001:1::1 | ${dut1_if1_mac} | ${0} + +*** Test Cases *** +| tc01-78B-eth2p-ethicmpv6-ip6base-dut-ingress-dev +| | [Tags] | 78B +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-dev.robot b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-dev.robot new file mode 100644 index 0000000000..4c3180289f --- /dev/null +++ b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-dev.robot @@ -0,0 +1,72 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv6 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 ICMPv6 Echo Request 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 +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\ +| | ... | for locally connected IPv6 addresses. Make TG verify ICMPv6 Echo\ +| | ... | Replies 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv6 forwarding in circular topology +| | Then Send IPv6 echo request packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} +| | ... | 2001:1::2 | 2001:2::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac} + +*** Test Cases *** +| tc01-78B-eth2p-ethicmpv6-ip6base-tg-ingress-dev +| | [Tags] | 78B +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-remote-host-dev.robot b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-remote-host-dev.robot new file mode 100644 index 0000000000..33c1191475 --- /dev/null +++ b/tests/vpp/device/ip6/eth2p-ethicmpv6-ip6base-tg-ingress-remote-host-dev.robot @@ -0,0 +1,73 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| ... +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE +| ... +| Suite Setup | Setup suite single link | 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-ICMPv6 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 ICMPv6 Echo Request 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 +| ${nic_name}= | virtual +| ${overhead}= | ${0} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\ +| | ... | for remote host IPv6 addresses. Make TG verify ICMPv6 Echo Replies\ +| | ... | 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 Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs +| | And Set Max Rate And Jumbo And Handle Multi Seg +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} +| | When Initialize IPv6 forwarding in circular topology +| | ... | remote_host1_ip=3ffe:5f::1 | remote_host2_ip=3ffe:5f::2 +| | Then Send IPv6 echo request packet and verify headers +| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} +| | ... | 3ffe:5f::1 | 3ffe:5f::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac} + +*** Test Cases *** +| tc01-78B-eth2p-ethicmpv6-ip6base-tg-ingress-remote-host-dev +| | [Tags] | 78B +| | frame_size=${78} | phy_cores=${0} diff --git a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot deleted file mode 100644 index 2dda6e054c..0000000000 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY -| ... | NIC_Virtual | ETH | IP6FWD | BASE | IP6BASE -| ... -| Suite Setup | Setup suite single link | scapy -| Test Setup | Setup test -| Test Teardown | Tear down test | packet_trace -| ... -| 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-ICMPv6 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 ICMPv6 Echo Request 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 -| ${nic_name}= | virtual -| ${overhead}= | ${0} - -*** Test Cases *** -| tc01-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-ingress-interface -| | [Documentation] -| | ... | [Ver ]Make TG send ICMPv6 Echo Req to DUT1 ingress interface.\ -| | ... | Make TG verify ICMPv6 Echo Reply is correct. -| | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv6 forwarding in circular topology -| | Then Send IPv6 echo request packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if1} -| | ... | 2001:1::2 | 2001:1::1 | ${dut1_if1_mac} | ${0} - -| tc02-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-egress-interface -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Req towards DUT1 egress interface.\ -| | ... | Make TG verify ICMPv6 Echo Reply is correct. -| | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv6 forwarding in circular topology -| | Then Send IPv6 echo request packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${dut1} | ${dut1_if2} -| | ... | 2001:1::2 | 2001:2::1 | ${dut1_if1_mac} | ${0} - -| tc03-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-local-ipv4-address -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\ -| | ... | for locally connected IPv6 addresses. Make TG verify ICMPv6 Echo\ -| | ... | Replies are correct. -| | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv6 forwarding in circular topology -| | Then Send IPv6 echo request packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} -| | ... | 2001:1::2 | 2001:2::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac} - -| tc04-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across DUT1\ -| | ... | for remote host IPv6 addresses. Make TG verify ICMPv6 Echo Replies\ -| | ... | are correct. -| | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize IPv6 forwarding in circular topology -| | ... | remote_host1_ip=3ffe:5f::1 | remote_host2_ip=3ffe:5f::2 -| | Then Send IPv6 echo request packet and verify headers -| | ... | ${tg} | ${tg_if1} | ${tg} | ${tg_if2} -| | ... | 3ffe:5f::1 | 3ffe:5f::2 | ${dut1_if1_mac} | ${1} | ${dut1_if2_mac} diff --git a/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot b/tests/vpp/device/l2bd/eth2p-ethicmpv4-l2bdbasemaclrn-dev.robot similarity index 63% rename from tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot rename to tests/vpp/device/l2bd/eth2p-ethicmpv4-l2bdbasemaclrn-dev.robot index 3e1cee067f..1a39881077 100644 --- a/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot +++ b/tests/vpp/device/l2bd/eth2p-ethicmpv4-l2bdbasemaclrn-dev.robot @@ -21,18 +21,19 @@ | 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-ICMPv4 for L2 switching of \ -| ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply to all \ -| ... | links. +| ... | IPv4. Both apply to all links. | ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 bridge-domain \ | ... | switching. -| ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) Echo Request packets \ +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets \ | ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 (IPv6) src-addr, \ +| ... | verifies packets for correctness and their IPv4 src-addr, \ | ... | dst-addr and MAC addresses. | ... | *[Ref] Applicable standard specifications:* RFC792 @@ -41,36 +42,31 @@ | ${nic_name}= | virtual | ${overhead}= | ${0} -*** Test Cases *** -| tc01-eth2p-ethicmpv4-l2bdbase-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\ | | ... | of its interfaces to be switched by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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} | | ... -| | Given Add PCI devices to all DUTs +| | Set Test Variable | \${frame_size} +| | ... +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Initialize L2 bridge domain in circular topology | | Then Send ICMPv4 bidirectionally and verify received packets | | ... | ${tg} | ${tg_if1} | ${tg_if2} -| tc02-eth2p-ethicmpv6-l2bdbase-dev -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Reqs in both directions between two\ -| | ... | of its interfaces to be switched by DUT to and from docker; verify\ -| | ... | all packets are received. -| | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} -| | ... -| | Given Add PCI devices to all DUTs -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize L2 bridge domain in circular topology -| | Then Send ICMPv6 bidirectionally and verify received packets -| | ... | ${tg} | ${tg_if1} | ${tg_if2} +*** Test Cases *** +| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} diff --git a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot b/tests/vpp/device/l2xc/eth2p-ethicmpv4-l2xcbase-dev.robot similarity index 62% rename from tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot rename to tests/vpp/device/l2xc/eth2p-ethicmpv4-l2xcbase-dev.robot index 31407d2ce2..24aaee8065 100644 --- a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot +++ b/tests/vpp/device/l2xc/eth2p-ethicmpv4-l2xcbase-dev.robot @@ -21,18 +21,19 @@ | 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-ICMPv4 for L2 switching of \ -| ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply to all \ -| ... | links. +| ... | IPv4. Both apply to all links. | ... | *[Cfg] DUT configuration:* DUT1 is configured with L2 cross-connect \ | ... | switching. -| ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) Echo Request packets \ +| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets \ | ... | are sent in both directions by TG on links to DUT1; on receive TG \ -| ... | verifies packets for correctness and their IPv4 (IPv6) src-addr, \ +| ... | verifies packets for correctness and their IPv4 src-addr, \ | ... | dst-addr and MAC addresses. | ... | *[Ref] Applicable standard specifications:* RFC792 @@ -41,37 +42,31 @@ | ${nic_name}= | virtual | ${overhead}= | ${0} -*** Test Cases *** -| tc01-eth2p-ethicmpv4-l2xcbase-dev +*** Keywords *** +| Local Template | | [Documentation] | | ... | [Ver] Make TG send ICMPv4 Echo Reqs in both directions between two\ | | ... | of its interfaces to be switched by DUT to and from docker; verify\ | | ... | all packets are received. | | ... -| | Set Test Variable | ${frame_size} | ${42} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | ... | *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 | | ... -| | Given Add PCI devices to all DUTs -| | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} -| | When Initialize L2 xconnect in 2-node circular topology -| | Then Send ICMPv4 bidirectionally and verify received packets -| | ... | ${tg} | ${tg_if1} | ${tg_if2} - -| tc02-eth2p-ethicmpv6-l2xcbase-dev -| | [Documentation] -| | ... | [Ver] Make TG send ICMPv6 Echo Reqs 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} | ${phy_cores} | ${rxq}=${None} | | ... -| | Set Test Variable | ${frame_size} | ${62} -| | Set Test Variable | ${rxq_count_int} | ${1} +| | Set Test Variable | \${frame_size} | | ... -| | Given Add PCI devices to all DUTs +| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq} +| | And Add PCI devices to all DUTs | | And Set Max Rate And Jumbo And Handle Multi Seg -| | And Apply startup configuration on all VPP DUTs -| | And VPP Enable Traces On All Duts | ${nodes} +| | And Apply startup configuration on all VPP DUTs | with_trace=${True} | | When Initialize L2 xconnect in 2-node circular topology -| | Then Send ICMPv6 bidirectionally and verify received packets +| | Then Send ICMPv4 bidirectionally and verify received packets | | ... | ${tg} | ${tg_if1} | ${tg_if2} + +*** Test Cases *** +| tc01-64B-eth2p-ethicmpv4-l2xcbase-dev +| | [Tags] | 64B +| | frame_size=${64} | phy_cores=${0} -- 2.16.6