diff options
Diffstat (limited to 'tests/vpp/device')
14 files changed, 404 insertions, 603 deletions
diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot index 6d4cffd834..62ca150935 100644 --- a/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-eth-l2bdbasemaclrn-eth-2memif-1dcr-dev.robot @@ -13,14 +13,11 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/shared/testing_path.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | L2BDMACLRN | BASE | ETH | MEMIF | DOCKER +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | L2BDMACLRN | BASE | MEMIF | DOCKER | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | container | ... @@ -37,81 +34,50 @@ | ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) 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) \ -| ... | src-addr, dst-addr and MAC addresses.pecifications:* RFC792 +| ... | src-addr, dst-addr and MAC addresses. +| ... | *[Ref] Applicable standard specifications:* RFC792 *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so | ${nic_name}= | virtual -# L2BD -| ${bd_id1}= | 1 -| ${bd_id2}= | 2 -# Memif -| ${sock_base}= | memif-DUT1_CNF +| ${overhead}= | ${0} # Container | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional *** Test Cases *** -| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-device +| tc01-eth2p-ethip4-l2bdbase-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] Configure two \ -| | ... | L2 bridge-domains (L2BD) with MAC learning enabled on DUT1, each \ -| | ... | with one untagged interface to TG and untagged i/f to docker over \ -| | ... | memif. [Ver] Make TG send ICMPv4 Echo Req in both directions between \ -| | ... | two of its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Create bridge domain | ${dut_node} | ${bd_id1} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut_node} | ${memif_if1} -| | ... | ${bd_id1} -| | And Create bridge domain | ${dut_node} | ${bd_id2} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${bd_id2} -| | And Add interface to bridge domain | ${dut_node} | ${memif_if2} -| | ... | ${bd_id2} -| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | 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-device +| tc02-eth2p-ethip6-l2bdbase-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] Configure two \ -| | ... | L2 bridge-domains (L2BD) with MAC learning enabled on DUT1, each \ -| | ... | with one untagged interface to TG and untagged i/f to docker over \ -| | ... | memif. [Ver] Make TG send ICMPv4 Echo Req in both directions between \ -| | ... | two of its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Create bridge domain | ${dut_node} | ${bd_id1} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut_node} | ${memif_if1} -| | ... | ${bd_id1} -| | And Create bridge domain | ${dut_node} | ${bd_id2} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${bd_id2} -| | And Add interface to bridge domain | ${dut_node} | ${memif_if2} -| | ... | ${bd_id2} +| | 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 -| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | ... | ${tg} | ${tg_if1} | ${tg_if2} diff --git a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot index 12896b335e..7596f96ff2 100644 --- a/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-eth-l2xcbase-eth-2memif-1dcr-dev.robot @@ -13,14 +13,11 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/shared/testing_path.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | L2XCFWD | BASE | ETH | MEMIF | DOCKER +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | L2XCFWD | BASE | MEMIF | DOCKER | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | container | ... @@ -42,57 +39,44 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so | ${nic_name}= | virtual -# Memif -| ${sock_base}= | memif-DUT1_CNF +| ${overhead}= | ${0} # Container | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional *** Test Cases *** -| tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-device +| tc01-eth2p-ethip4-l2xcbase-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT configure \ -| | ... | two L2 cross-connects (L2XC), each with one untagged interface \ -| | ... | to TG and untagged i/f to docker over memif. [Ver] Make \ -| | ... | TG send ICMPv4 Echo Reqs in both directions between two of its \ -| | ... | i/fs to be switched by DUT to and from docker; verify all packets \ -| | ... | are received. [Ref] +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${memif_if1} -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${memif_if2} -| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | 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-device +| tc02-eth2p-ethip6-l2xcbase-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT configure\ -| | ... | two L2 cross-connects (L2XC), each with one untagged i/f to TG\ -| | ... | and untagged i/f to docker over memif. [Ver] Make TG send\ -| | ... | ICMPv6 Echo Reqs in both directions between two of its i/fs to\ -| | ... | be switched by DUT to and from docker; verify all packets are\ -| | ... | received. [Ref] +| | ... | [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 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${memif_if1} -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if2} | ${memif_if2} -| | Then Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | 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 +| | ... | ${tg} | ${tg_if1} | ${tg_if2} diff --git a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot index a91810bed8..7f67fca434 100644 --- a/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethip4-ip4base-eth-2memif-1dcr-dev.robot @@ -12,18 +12,12 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPUtil -| ... | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP4FWD | BASE | ETH | MEMIF | DOCKER +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | MEMIF | DOCKER | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | container | ... @@ -46,66 +40,28 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so | ${nic_name}= | virtual -# IP -| ${net1}= | 10.0.1.0 -| ${net3}= | 10.0.3.0 -| ${net1_ip1}= | 10.0.1.1 -| ${net1_ip2}= | 10.0.1.2 -| ${net2_ip1}= | 10.0.2.1 -| ${net2_ip2}= | 10.0.2.2 -| ${net3_ip1}= | 10.0.3.1 -| ${net3_ip2}= | 10.0.3.2 -| ${prefix_length}= | 24 -| ${fib_table_2}= | 20 -# Memif -| ${sock_base}= | memif-DUT1_CNF +| ${overhead}= | ${0} # Container | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional *** Test Cases *** -| tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-device +| tc01-eth2p-ethip4-ip4base-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv4-ICMPv4. [Cfg] Configure two VRFs to \ -| | ... | route IPv4 traffic through two memif interfaces. Both interfaces are \ -| | ... | configured with IP addresses from the same network. [Ver] Make TG to \ -| | ... | send ICMPv4 Echo Reqest form one TG interface to another one to be \ -| | ... | switched by DUT1; verify header of received packet. +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node -| | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Add Fib Table | ${dut_node} | ${fib_table_2} -| | And Assign Interface To Fib Table -| | ... | ${dut_node} | ${memif_if2} | ${fib_table_2} -| | And Assign Interface To Fib Table -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2} -| | And Configure IP addresses on interfaces -| | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length} -| | ... | ${dut_node} | ${memif_if1} | ${net2_ip1} | ${prefix_length} -| | ... | ${dut_node} | ${memif_if2} | ${net2_ip2} | ${prefix_length} -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} | ${prefix_length} -| | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']} -| | ... | ${memif_if2} -| | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key} -| | And Vpp Route Add -| | ... | ${dut_node} | ${net3} | ${prefix_length} -| | ... | gateway=${net2_ip2} | interface=${memif_if1} -| | And Vpp Route Add -| | ... | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${memif_if2} | vrf=${fib_table_2} -| | VPP Add IP Neighbor -| | ... | ${dut_node} | ${memif_if1} | ${net2_ip2} | ${memif_if2_mac} -| | VPP Add IP Neighbor -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac} +| | When Start containers for test | auto_scale=${False} | pinning=${False} +| | And Initialize IPv4 routing with memif pairs | | Then Send packet and verify headers -| | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac} -| | ... | ${tg_to_dut_if2} | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac} +| | ... | ${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} diff --git a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot b/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot index 122e83068f..a645a58792 100644 --- a/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot +++ b/tests/vpp/device/container_memif/eth2p-ethip6-ip6base-eth-2memif-1dcr-dev.robot @@ -12,17 +12,12 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPUtil -| ... | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP6FWD | BASE | ETH | MEMIF | DOCKER +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP6FWD | BASE | MEMIF | DOCKER | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | container | ... @@ -45,69 +40,57 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | memif_plugin.so | ${nic_name}= | virtual -# IP -| ${net1}= | 2001:1::0 -| ${net3}= | 2001:3::0 -| ${net1_ip1}= | 2001:1::1 -| ${net1_ip2}= | 2001:1::2 -| ${net2_ip1}= | 2001:2::1 -| ${net2_ip2}= | 2001:2::2 -| ${net3_ip1}= | 2001:3::1 -| ${net3_ip2}= | 2001:3::2 -| ${prefix_length}= | 64 -| ${fib_table_2}= | 20 -# Memif -| ${sock_base}= | memif-DUT1_CNF +| ${overhead}= | ${0} # Container | ${container_engine}= | Docker | ${container_chain_topology}= | chain_functional *** Test Cases *** -| tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-device +| tc01-eth2p-ethip6-ip6base-eth-2memif-1dcr-dev | | [Documentation] -| | ... | [Top] TG=DUT=DCR. [Enc] Eth-IPv6-ICMPv6. [Cfg] Configure two VRFs to \ -| | ... | route IPv6 traffic through two memif interfaces. Both interfaces are \ -| | ... | configured with IP addresses from the same network. [Ver] Make TG to \ -| | ... | send ICMPv6 Echo Reqest form one TG interface to another one to be \ -| | ... | switched by DUT1; verify header of received packet. +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Start containers for device test -| | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node -| | ... | ${dut_node} | ${sock_base} | ${sock_base} | dcr_uuid=${dcr_uuid} -| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 | rxq=${0} | txq=${0} -| | And Add Fib Table | ${dut_node} | ${fib_table_2} | ipv6=${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 +| | ... | ${dut1} | memif-DUT1_CNF | memif-DUT1_CNF +| | ... | memif_if1=memif_if1 | memif_if2=memif_if2 +| | ... | rxq=${rxq_count_int} | txq=${rxq_count_int} +| | And Add Fib Table | ${dut1} | 20 | ipv6=${True} | | And Assign Interface To Fib Table -| | ... | ${dut_node} | ${memif_if2} | ${fib_table_2} | ipv6=${True} +| | ... | ${dut1} | ${memif_if2} | 20 | ipv6=${True} | | And Assign Interface To Fib Table -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2} | ipv6=${True} +| | ... | ${dut1} | ${dut1_if2} | 20 | ipv6=${True} | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length} +| | ... | ${dut1} | ${dut1_if1} | 2001:1::1 | 64 | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${memif_if1} | ${net2_ip1} | ${prefix_length} +| | ... | ${dut1} | ${memif_if1} | 2001:2::1 | 64 | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${memif_if2} | ${net2_ip2} | ${prefix_length} +| | ... | ${dut1} | ${memif_if2} | 2001:2::2 | 64 | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} | ${prefix_length} +| | ... | ${dut1} | ${dut1_if2} | 2001:3::1 | 64 | | ${memif_if2_key}= | Get interface by sw index | ${nodes['DUT1']} | | ... | ${memif_if2} | | ${memif_if2_mac}= | Get interface MAC | ${nodes['DUT1']} | ${memif_if2_key} | | And Vpp Route Add -| | ... | ${dut_node} | ${net3} | ${prefix_length} -| | ... | gateway=${net2_ip2} | interface=${memif_if1} +| | ... | ${dut1} | 2001:3::0 | 64 | gateway=2001:2::2 | interface=${memif_if1} | | And Vpp Route Add -| | ... | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${memif_if2} | vrf=${fib_table_2} +| | ... | ${dut1} | 2001:1::0 | 64 | gateway=2001:2::2 | interface=${memif_if2} +| | ... | vrf=20 | | VPP Add IP Neighbor -| | ... | ${dut_node} | ${memif_if1} | ${net2_ip2} | ${memif_if2_mac} +| | ... | ${dut1} | ${memif_if1} | 2001:2::2 | ${memif_if2_mac} | | VPP Add IP Neighbor -| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac} +| | ... | ${dut1} | ${dut1_if2} | 2001:3::2 | ${tg_if2_mac} | | Then Send packet and verify headers -| | ... | ${tg_node} | ${net1_ip2} | ${net3_ip2} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac} -| | ... | ${tg_to_dut_if2} | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac} +| | ... | ${tg} | 2001:1::1 | 2001:3::2 +| | ... | ${tg_if1} | ${tg_if1_mac} | ${dut1_if1_mac} +| | ... | ${tg_if2} | ${dut1_if2_mac} | ${tg_if2_mac} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot index b85bd70f96..bf5db490b4 100644 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip4ipsectnl-ip4base-dev.robot @@ -14,10 +14,10 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TNL | IP4BASE | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -36,6 +36,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual +| ${overhead}= | ${58} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -46,14 +47,17 @@ | ${ip4_plen}= | ${24} *** Test Cases *** -| tc01-eth2p-ethip4ipsectnl-ip4base-device-aes-128-cbc-sha-256-128 +| tc01-eth2p-ethip4ipsectnl-ip4base-dev-aes-128-cbc-sha-256-128 | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\ | | ... | mode. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... +| | Set Test Variable | ${frame_size} | ${106} +| | 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 Configure topology for IPv4 IPsec testing @@ -61,23 +65,26 @@ | | ${auth_alg}= | Integ Alg SHA 256 128 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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-device-aes-128-cbc-sha-512-256 +| 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. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... +| | Set Test Variable | ${frame_size} | ${106} +| | 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 Configure topology for IPv4 IPsec testing @@ -85,11 +92,11 @@ | | ${auth_alg}= | Integ Alg SHA 512 256 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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} diff --git a/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot index f37630a0ce..5cf0df6355 100644 --- a/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip4ipsectpt-ip4base-dev.robot @@ -14,10 +14,10 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | IP4FWD | IPSEC | IPSEC_TPT | IP4BASE | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -36,6 +36,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual +| ${overhead}= | ${58} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -46,14 +47,17 @@ | ${ip4_plen}= | ${24} *** Test Cases *** -| tc01-eth2p-ethip4ipsectpt-ip4base-device-aes-128-cbc-sha-256-128 +| tc01-eth2p-ethip4ipsectpt-ip4base-dev-aes-128-cbc-sha-256-128 | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in transport -| | ... | mode. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\ +| | ... | transport mode. +| | ... +| | Set Test Variable | ${frame_size} | ${90} +| | 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 Configure topology for IPv4 IPsec testing @@ -61,21 +65,24 @@ | | ${auth_alg}= | Integ Alg SHA 256 128 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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-device-aes-128-cbc-sha-512-256 +| 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. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\ +| | ... | transport mode. +| | ... +| | Set Test Variable | ${frame_size} | ${90} +| | 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 Configure topology for IPv4 IPsec testing @@ -83,9 +90,9 @@ | | ${auth_alg}= | Integ Alg SHA 512 256 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot index 5524b4fccc..b8c5ed5bb5 100644 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip6ipsectnl-ip6base-dev.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# 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: @@ -14,10 +14,10 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TNL | IP6BASE | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -36,6 +36,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual +| ${overhead}= | ${58} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -47,14 +48,17 @@ | ${ip6_plen_rt}= | ${128} *** Test Cases *** -| tc01-eth2p-ethip6ipsectnl-ip6base-device-aes-128-cbc-sha-256-128 +| tc01-eth2p-ethip6ipsectnl-ip6base-dev-aes-128-cbc-sha-256-128 | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ | | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in tunnel\ | | ... | mode. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... +| | Set Test Variable | ${frame_size} | ${158} +| | 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 Configure topology for IPv6 IPsec testing @@ -62,23 +66,26 @@ | | ${auth_alg}= | Integ Alg SHA 256 128 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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-device-aes-128-cbc-sha-512-256 +| 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. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... +| | Set Test Variable | ${frame_size} | ${158} +| | 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 Configure topology for IPv6 IPsec testing @@ -86,11 +93,11 @@ | | ${auth_alg}= | Integ Alg SHA 512 256 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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} diff --git a/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot b/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot index a4623eda0d..dd5537016a 100644 --- a/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot +++ b/tests/vpp/device/crypto/eth2p-ethip6ipsectpt-ip6base-dev.robot @@ -14,10 +14,10 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | IP6FWD | IPSEC | IPSEC_TPT | IP6BASE | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -36,6 +36,7 @@ | @{plugins_to_enable}= | dpdk_plugin.so | crypto_ia32_plugin.so | ... | crypto_ipsecmb_plugin.so | crypto_openssl_plugin.so | ${nic_name}= | virtual +| ${overhead}= | ${58} | ${tg_spi}= | ${1000} | ${dut_spi}= | ${1001} | ${ESP_PROTO}= | ${50} @@ -47,14 +48,17 @@ | ${ip6_plen_rt}= | ${128} *** Test Cases *** -| tc01-eth2p-ethip6ipsectpt-ip6base-device-aes-128-cbc-sha-256-128 +| tc01-eth2p-ethip6ipsectpt-ip6base-dev-aes-128-cbc-sha-256-128 | | [Documentation] | | ... | [Cfg] On DUT1 configure IPsec manual keyed connection with encryption\ -| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in transport -| | ... | mode. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-256-128 in\ +| | ... | transport mode. +| | ... +| | Set Test Variable | ${frame_size} | ${174} +| | 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 Configure topology for IPv6 IPsec testing @@ -62,22 +66,25 @@ | | ${auth_alg}= | Integ Alg SHA 256 128 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${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-device-aes-128-cbc-sha-512-256 +| 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. -| | ... | [Ver] Send and receive ESP packet between TG and VPP node. +| | ... | algorithm AES-CBC-128 and integrity algorithm SHA-512-256 in\ +| | ... | transport mode. +| | ... +| | Set Test Variable | ${frame_size} | ${174} +| | 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 Configure topology for IPv6 IPsec testing @@ -85,10 +92,10 @@ | | ${auth_alg}= | Integ Alg SHA 512 256 | | And Generate keys for IPSec | ${encr_alg} | ${auth_alg} | | And Configure manual keyed connection for IPSec -| | ... | ${dut_node} | ${dut_if} | ${encr_alg} | ${encr_key} | ${auth_alg} +| | ... | ${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_node} | ${tg_if} | ${dut_if_mac} +| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | | ... | ${encr_alg} | ${encr_key} | ${auth_alg} | ${auth_key} | ${tg_spi} | | ... | ${dut_spi} | ${tg_tun_ip} | ${dut_tun_ip} diff --git a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot b/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot index 6cf2b324d4..3e7fd03e89 100644 --- a/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot +++ b/tests/vpp/device/interfaces/eth2p-eth-l2bdbasemaclrn-eth-2tap-dev.robot @@ -13,25 +13,16 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.Tap -| Library | resources.libraries.python.Namespaces -| Library | resources.libraries.python.IPUtil | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | L2BD | BASE | ETH | TAP +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | L2BD | BASE | TAP | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | namespace | Test Teardown | Tear down test | packet_trace | namespace | linux_bridge | ... | 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 @@ -48,44 +39,33 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | ${nic_name}= | virtual -| ${bid_from_TG}= | 19 -| ${bid_to_TG}= | 20 +| ${overhead}= | ${0} | ${bid_TAP}= | tapBr -| ${tap_int1}= | tap0 -| ${tap_int2}= | tap1 *** Test Cases *** -| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-device_tap-simple-bd +| tc01-eth2p-ethicmpv4-l2bdbasemaclrn-eth-2tap-dev_tap-simple-bd | | [Documentation] -| | ... | [Cfg] On DUT1 configure two L2BD with two if's for each L2BD with MAC\ -| | ... | learning and one L2BD joining two linux-TAP interfaces created by VPP\ -| | ... | located in namespace. | | ... | [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} +| | ... | | 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 path in 2-node circular topology | ${nodes['TG']} -| | ... | ${nodes['DUT1']} | ${nodes['TG']} -| | And Set interfaces in 2-node circular topology up -| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} -| | ${int2}= | And Add Tap Interface | ${dut_node} | ${tap_int2} -| | And Set Interface State | ${dut_node} | ${int1} | up -| | And Set Interface State | ${dut_node} | ${int2} | up -| | And Create bridge domain | ${dut_node} -| | ... | ${bid_from_TG} | learn=${TRUE} -| | And Create bridge domain | ${dut_node} -| | ... | ${bid_to_TG} | learn=${TRUE} -| | And Linux Add Bridge | ${dut_node} -| | ... | ${bid_TAP} | ${tap_int1} | ${tap_int2} -| | And Add interface to bridge domain | ${dut_node} -| | ... | ${int1} | ${bid_to_TG} | 0 -| | And Add interface to bridge domain | ${dut_node} -| | ... | ${dut_to_tg_if1} | ${bid_to_TG} | 0 -| | And Add interface to bridge domain | ${dut_node} -| | ... | ${int2} | ${bid_from_TG} | 0 -| | And Add interface to bridge domain | ${dut_node} -| | ... | ${dut_to_tg_if2} | ${bid_from_TG} | 0 -| | Then Send ICMP packet and verify received packet | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | When Set interfaces in path up +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 +| | ${int2}= | And Add Tap Interface | ${dut1} | tap1 +| | And Set Interface State | ${dut1} | ${int1} | up +| | And Set Interface State | ${dut1} | ${int2} | up +| | And Create bridge domain | ${dut1} | 19 | learn=${TRUE} +| | And Create bridge domain | ${dut1} | 20 | learn=${TRUE} +| | And Linux Add Bridge | ${dut1} | ${bid_TAP} | tap0 | tap1 +| | And Add interface to bridge domain | ${dut1} | ${int1} | 20 | 0 +| | And Add interface to bridge domain | ${dut1} | ${dut1_if1} | 20 | 0 +| | And Add interface to bridge domain | ${dut1} | ${int2} | 19 | 0 +| | And Add interface to bridge domain | ${dut1} | ${dut1_if2} | 19 | 0 +| | Then Send ICMP packet and verify received packet +| | ... | ${tg} | ${tg_if1} | ${tg_if2} diff --git a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot b/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot index 7568f03765..4d7f189da4 100644 --- a/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot +++ b/tests/vpp/device/interfaces/eth2p-ethip4-ip4base-eth-1tap-dev.robot @@ -12,23 +12,12 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Namespaces -| Library | resources.libraries.python.Tap -| Library | resources.libraries.python.Trace -| ... | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE | TAP +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | IP4FWD | BASE | IP4BASE | TAP | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | namespace | Test Teardown | Tear down test | packet_trace | namespace | ... @@ -49,50 +38,50 @@ *** 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 -| ${tap_int1}= | tap0 -| ${namespace1}= | nmspace1 | ${dut_ip_address}= | 192.168.0.1 | ${tg_ip_address}= | 192.168.0.2 | ${tg_ip_address_GW}= | 192.168.0.0 | ${prefix}= | 24 *** Test Cases *** -| tc01-eth2p-ethicmpv4-ip4base-device_tap-no-namespace +| 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 Configure path in 2-node circular topology | ${nodes['TG']} -| | ... | ${nodes['DUT1']} | ${nodes['TG']} -| | And Set interfaces in 2-node circular topology up -| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} | +| | When Set interfaces in path up +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix} +| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix} -| | And Set Interface State | ${dut_node} | ${int1} | up -| | And Set Linux Interface MAC | ${dut_node} | ${tap_int1} | ${tap1_NM_mac} -| | And Set Linux Interface IP | ${dut_node} -| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix} -| | And Add Linux Route | ${dut_node} -| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} -| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac} -| | And VPP Add IP Neighbor | ${dut_node} | ${int1} -| | ... | ${tap1_NM_ip} | ${tap1_NM_mac} -| | Then Send ICMP echo request and verify answer | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac} +| | ... | ${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-device_tap-namespace +| tc02-eth2p-ethicmpv4-ip4base-dev_tap-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 in\ @@ -100,31 +89,32 @@ | | ... | [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 Configure path in 2-node circular topology | ${nodes['TG']} -| | ... | ${nodes['DUT1']} | ${nodes['TG']} -| | And Set interfaces in 2-node circular topology up -| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} | +| | When Set interfaces in path up +| | ${int1}= | And Add Tap Interface | ${dut1} | tap0 | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix} +| | ... | ${dut1} | ${int1} | ${tap1_VPP_ip} | ${prefix} | | And VPP Interface Set IP Address -| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix} -| | And Set Interface State | ${dut_node} | ${int1} | up -| | When Create Namespace | ${dut_node} | ${namespace1} -| | And Attach Interface To Namespace | ${dut_node} -| | ... | ${namespace1} | ${tap_int1} -| | And Set Linux Interface MAC | ${dut_node} -| | ... | ${tap_int1} | ${tap1_NM_mac} | ${namespace1} -| | And Set Linux Interface IP | ${dut_node} -| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix} | ${namespace1} -| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac} -| | And VPP Add IP Neighbor | ${dut_node} | ${int1} -| | ... | ${tap1_NM_ip} | ${tap1_NM_mac} -| | And Add Linux Route | ${dut_node} -| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | ${namespace1} -| | Then Send ICMP echo request and verify answer | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac} +| | ... | ${dut1} | ${dut1_if1} | ${dut_ip_address} | ${prefix} +| | And Set Interface State | ${dut1} | ${int1} | up +| | And Create Namespace | ${dut1} | nmspace1 +| | And Attach Interface To Namespace | ${dut1} | nmspace1 | tap0 +| | And Set Linux Interface MAC +| | ... | ${dut1} | tap0 | ${tap1_NM_mac} | nmspace1 +| | And Set Linux Interface IP +| | ... | ${dut1} | tap0 | ${tap1_NM_ip} | ${prefix} | nmspace1 +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${dut1_if1} | ${tg_ip_address} | ${tg_if1_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut1} | ${int1} | ${tap1_NM_ip} | ${tap1_NM_mac} +| | And Add Linux Route +| | ... | ${dut1} | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | nmspace1 +| | Then Send ICMP echo request and verify answer +| | ... | ${tg} | ${tg_if1} | ${dut1_if1_mac} | ${tg_if1_mac} | | ... | ${tap1_NM_ip} | ${tg_ip_address} diff --git a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot index 23a5b76afa..f9b6ebf314 100644 --- a/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot +++ b/tests/vpp/device/ip4/eth2p-ethip4-ip4base-dev.robot @@ -13,14 +13,11 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/shared/traffic.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP4FWD | BASE | ETH | IP4BASE +| 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 +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -40,98 +37,76 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | ${nic_name}= | virtual -| ${tg_to_dut_if1_ip4}= | 10.10.10.2 -| ${tg_to_dut_if2_ip4}= | 20.20.20.2 -| ${dut_to_tg_if1_ip4}= | 10.10.10.1 -| ${dut_to_tg_if2_ip4}= | 20.20.20.1 -| ${remote_host1_ip4}= | 192.168.0.1 -| ${remote_host2_ip4}= | 192.168.0.2 -| ${remote_host_ip4_prefix}= | 32 +| ${overhead}= | ${0} *** Test Cases *** -| tc01-eth2p-ethicmpv4-ip4base-device_echo-req-to-dut-ingress-interface +| tc01-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-ingress-interface | | [Documentation] -| | ... | Make TG send ICMPv4 Echo Req to DUT1 ingress interface. Make TG \ -| | ... | verify ICMP Echo Reply is correct. +| | ... | [Ver] Make TG send ICMPv4 Echo Req to DUT1 ingress interface.\ +| | ... | Make TG verify ICMP Echo Reply is correct. | | ... -| | ${hops}= | Set Variable | ${0} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4} -| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4} -| | When All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv4 ping packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${tg_to_dut_if1_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if1_mac} -| | ... | ${hops} -| | Get interface Ipv4 addresses | ${nodes['DUT1']} | ${dut_to_tg_if1} +| | 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-device_echo-req-to-dut-egress-interface +| tc02-eth2p-ethicmpv4-ip4base-dev_echo-req-to-dut-egress-interface | | [Documentation] -| | ... | Make TG send ICMPv4 Echo Req towards DUT1 egress interface. Make TG \ -| | ... | verify ICMP Echo Reply is correct. +| | ... | [Ver] Make TG send ICMPv4 Echo Req towards DUT1 egress interface.\ +| | ... | Make TG verify ICMP Echo Reply is correct. | | ... -| | ${hops}= | Set Variable | ${0} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4} -| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4} -| | When All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv4 ping packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${tg_to_dut_if1_ip4} | ${dut_to_tg_if2_ip4} | ${dut_to_tg_if1_mac} -| | ... | ${hops} +| | 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-device_echo-req-to-tg-interface-for-local-ipv4-address +| tc03-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-local-ipv4-address | | [Documentation] -| | ... | Make TG send ICMPv4 Echo Req between its interfaces across DUT1 for \ -| | ... | locally connected IPv4 addresses. Make TG verify ICMPv4 Echo Replies \ -| | ... | are correct. +| | ... | [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. | | ... -| | ${hops}= | Set Variable | ${1} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4} -| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4} -| | When All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv4 ping packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2} -| | ... | ${tg_to_dut_if1_ip4} | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_mac} -| | ... | ${hops} +| | 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-device_echo-req-to-tg-interface-for-remote-host-ipv4-address +| tc04-eth2p-ethicmpv4-ip4base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address | | [Documentation] -| | ... | Make TG send ICMPv4 Echo Req between its interfaces across DUT1 for \ -| | ... | remote host IPv4 addresses. Make TG verify ICMPv4 Echo Replies are \ -| | ... | correct. +| | ... | [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. | | ... -| | ${hops}= | Set Variable | ${1} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv4 forwarding in circular topology | ${tg_to_dut_if1_ip4} -| | ... | ${tg_to_dut_if2_ip4} | ${dut_to_tg_if1_ip4} | ${dut_to_tg_if2_ip4} -| | ... | remote_host1_ip4=${remote_host1_ip4} -| | ... | remote_host2_ip4=${remote_host2_ip4} -| | ... | remote_host_ip4_prefix=${remote_host_ip4_prefix} -| | And VPP Get IP tables | ${dut_node} -| | When All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv4 ping packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2} -| | ... | ${remote_host1_ip4} | ${remote_host2_ip4} | ${dut_to_tg_if1_mac} -| | ... | ${hops} +| | 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-ethip6-ip6base-dev.robot b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot index 4851c92b5f..2dda6e054c 100644 --- a/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot +++ b/tests/vpp/device/ip6/eth2p-ethip6-ip6base-dev.robot @@ -13,14 +13,11 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/shared/traffic.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | IP6FWD | BASE | ETH | IP6BASE +| 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 +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -40,102 +37,76 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | ${nic_name}= | virtual -| ${tg_to_dut_if1_ip6}= | 2001:1::2 -| ${tg_to_dut_if2_ip6}= | 2001:2::2 -| ${dut_to_tg_if1_ip6}= | 2001:1::1 -| ${dut_to_tg_if2_ip6}= | 2001:2::1 -| ${remote_host1_ip6}= | 3ffe:5f::1 -| ${remote_host2_ip6}= | 3ffe:5f::2 -| ${remote_host_ip6_prefix}= | 128 +| ${overhead}= | ${0} *** Test Cases *** -| tc01-eth2p-ethicmpv6-ip6base-device_echo-req-to-dut-ingress-interface +| tc01-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-ingress-interface | | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req to DUT1 ingress interface. Make TG \ -| | ... | verify ICMPv6 Echo Reply is correct. +| | ... | [Ver ]Make TG send ICMPv6 Echo Req to DUT1 ingress interface.\ +| | ... | Make TG verify ICMPv6 Echo Reply is correct. | | ... -| | ${hops}= | Set Variable | ${0} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6} -| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6} -| | And Suppress ICMPv6 router advertisement message | ${nodes} -| | And All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv6 echo request packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if1_mac} -| | ... | ${hops} -| | Get interface Ipv6 addresses | ${nodes['DUT1']} | ${dut_to_tg_if1} +| | 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-device_echo-req-to-dut-egress-interface +| tc02-eth2p-ethicmpv6-ip6base-dev_echo-req-to-dut-egress-interface | | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req towards DUT1 egress interface. Make TG \ -| | ... | verify ICMPv6 Echo Reply is correct. +| | ... | [Ver] Make TG send ICMPv6 Echo Req towards DUT1 egress interface.\ +| | ... | Make TG verify ICMPv6 Echo Reply is correct. | | ... -| | ${hops}= | Set Variable | ${0} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6} -| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6} -| | And Suppress ICMPv6 router advertisement message | ${nodes} -| | And All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv6 echo request packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if2_ip6} | ${dut_to_tg_if1_mac} -| | ... | ${hops} +| | 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-device_echo-req-to-tg-interface-for-local-ipv4-address +| tc03-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-local-ipv4-address | | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req between its interfaces across DUT1 for \ -| | ... | locally connected IPv6 addresses. Make TG verify ICMPv6 Echo Replies \ -| | ... | are correct. +| | ... | [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. | | ... -| | ${hops}= | Set Variable | ${1} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6} -| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6} -| | And Suppress ICMPv6 router advertisement message | ${nodes} -| | And All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv6 echo request packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2} -| | ... | ${tg_to_dut_if1_ip6} | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_mac} -| | ... | ${hops} | ${dut_to_tg_if2_mac} +| | 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-device_echo-req-to-tg-interface-for-remote-host-ipv4-address +| tc04-eth2p-ethicmpv6-ip6base-dev_echo-req-to-tg-interface-for-remote-host-ipv4-address | | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req between its interfaces across DUT1 for \ -| | ... | remote host IPv6 addresses. Make TG verify ICMPv6 Echo Replies are \ -| | ... | correct. +| | ... | [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. | | ... -| | ${hops}= | Set Variable | ${1} +| | 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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure IPv6 forwarding in circular topology | ${tg_to_dut_if1_ip6} -| | ... | ${tg_to_dut_if2_ip6} | ${dut_to_tg_if1_ip6} | ${dut_to_tg_if2_ip6} -| | ... | remote_host1_ip6=${remote_host1_ip6} -| | ... | remote_host2_ip6=${remote_host2_ip6} -| | ... | remote_host_ip6_prefix=${remote_host_ip6_prefix} -| | And Suppress ICMPv6 router advertisement message | ${nodes} -| | And VPP Get IP tables | ${dut_node} -| | And All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send IPv6 echo request packet and verify headers | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_node} | ${tg_to_dut_if2} -| | ... | ${remote_host1_ip6} | ${remote_host2_ip6} | ${dut_to_tg_if1_mac} -| | ... | ${hops} | ${dut_to_tg_if2_mac} +| | 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-eth-l2bdbasemaclrn-dev.robot index 44e3f0147e..3e1cee067f 100644 --- a/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot +++ b/tests/vpp/device/l2bd/eth2p-eth-l2bdbasemaclrn-dev.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# 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: @@ -12,17 +12,12 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.L2Util | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/shared/testing_path.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | L2BDMACLRN | BASE | ETH | ICMP +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | L2BDMACLRN | BASE | ICMP | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -44,57 +39,38 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | ${nic_name}= | virtual -| ${bd_id}= | 1 +| ${overhead}= | ${0} *** Test Cases *** -| tc01-eth2p-ethicmpv4-l2bdbase-device +| tc01-eth2p-ethicmpv4-l2bdbase-dev | | [Documentation] -| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv4-ICMPv4. -| | ... | [Cfg] Configure L2 bridge-domain (L2BD) with MAC learning enabled on \ -| | ... | DUT1. Add both interfaces towards TG to this L2BD. -| | ... | [Ver] Make TG send ICMPv4 Echo Req in both directions between two of \ -| | ... | its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure interfaces in path up -| | And Create bridge domain | ${dut_node} | ${bd_id} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${bd_id} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${bd_id} -| | And All Vpp Interfaces Ready Wait | ${nodes} -| | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2} -| | ... -| | And VPP get bridge domain data | ${nodes['DUT1']} -| | And Get L2 Fib Table | ${nodes['DUT1']} | ${bd_id} +| | 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-device +| tc02-eth2p-ethicmpv6-l2bdbase-dev | | [Documentation] -| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv6-ICMPv6. -| | ... | [Cfg] Configure L2 bridge-domain (L2BD) with MAC learning enabled on \ -| | ... | DUT1. Add both interfaces towards TG to this L2BD. -| | ... | [Ver] Make TG send ICMPv6 Echo Req in both directions between two of \ -| | ... | its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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 Configure path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure interfaces in path up -| | And Create bridge domain | ${dut_node} | ${bd_id} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${bd_id} -| | And Add interface to bridge domain | ${dut_node} | ${dut_to_tg_if2} -| | ... | ${bd_id} -| | And All Vpp Interfaces Ready Wait | ${nodes} +| | When Initialize L2 bridge domain in circular topology | | Then Send ICMPv6 bidirectionally and verify received packets -| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2} -| | VPP get bridge domain data | ${nodes['DUT1']} | bd_id=${bd_id} +| | ... | ${tg} | ${tg_if1} | ${tg_if2} diff --git a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot b/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot index bf1496be46..31407d2ce2 100644 --- a/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot +++ b/tests/vpp/device/l2xc/eth2p-ethicmp-l2xcbase-dev.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# 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: @@ -13,14 +13,11 @@ *** Settings *** | Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/shared/testing_path.robot | ... -| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV -| ... | FUNCTEST | L2XCFWD | BASE | ETH | ICMP +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY +| ... | NIC_Virtual | ETH | L2XCFWD | BASE | ICMP | ... -| Suite Setup | Setup suite single link +| Suite Setup | Setup suite single link | scapy | Test Setup | Setup test | Test Teardown | Tear down test | packet_trace | ... @@ -42,44 +39,39 @@ *** Variables *** | @{plugins_to_enable}= | dpdk_plugin.so | ${nic_name}= | virtual +| ${overhead}= | ${0} *** Test Cases *** -| tc01-eth2p-ethicmpv4-l2xcbase-device +| tc01-eth2p-ethicmpv4-l2xcbase-dev | | [Documentation] -| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv4-ICMPv4. -| | ... | [Cfg] Configure L2 cross-connects (L2XC) between both interfaces \ -| | ... | towards TG on DUT1. -| | ... | [Ver] Make TG send ICMPv4 Echo Req in both directions between two of \ -| | ... | its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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} | | ... | | 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure interfaces in path up -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2} -| | And All Vpp Interfaces Ready Wait | ${nodes} +| | When Initialize L2 xconnect in 2-node circular topology | | Then Send ICMPv4 bidirectionally and verify received packets -| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | ... | ${tg} | ${tg_if1} | ${tg_if2} -| tc02-eth2p-ethicmpv6-l2xcbase-device +| tc02-eth2p-ethicmpv6-l2xcbase-dev | | [Documentation] -| | ... | [Top] TG-DUT1-TG. [Enc] Eth-IPv6-ICMPv6. -| | ... | [Cfg] Configure L2 cross-connects (L2XC) between both interfaces \ -| | ... | towards TG on DUT1. -| | ... | [Ver] Make TG send ICMPv6 Echo Req in both directions between two of \ -| | ... | its interfaces to be switched by DUT1; verify all packets are \ -| | ... | received. +| | ... | [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 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 path in 2-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} -| | And Configure interfaces in path up -| | And Configure L2XC | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2} -| | And All Vpp Interfaces Ready Wait | ${nodes} +| | When Initialize L2 xconnect in 2-node circular topology | | Then Send ICMPv6 bidirectionally and verify received packets -| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2} +| | ... | ${tg} | ${tg_if1} | ${tg_if2} |