diff options
Diffstat (limited to 'tests/vpp')
46 files changed, 1076 insertions, 964 deletions
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 c6a287281d..7fcf754ee5 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 @@ -13,8 +13,7 @@ *** Settings *** | Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPv6Util -| Library | resources.libraries.python.Routing +| Library | resources.libraries.python.IPUtil | ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot @@ -80,14 +79,14 @@ | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set up functional test with containers | | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} +| | 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 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} @@ -96,16 +95,16 @@ | | ${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} +| | And Vpp Route Add +| | ... | ${dut_node} | ${net3} | ${prefix_length} | | ... | gateway=${net2_ip2} | interface=${memif_if1} -| | ... | resolve_attempts=${NONE} | count=${NONE} -| | And Vpp Route Add | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${memif_if2} -| | ... | resolve_attempts=${NONE} | count=${NONE} | vrf=${fib_table_2} -| | Add IP Neighbor | ${dut_node} | ${memif_if1} | ${net2_ip2} -| | ... | ${memif_if2_mac} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} -| | ... | ${tg_to_dut_if2_mac} +| | 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} | | 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} 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 60dd9538d4..fcf1ce0658 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 @@ -13,9 +13,7 @@ *** Settings *** | Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPv6Setup -| Library | resources.libraries.python.IPv6Util -| Library | resources.libraries.python.Routing +| Library | resources.libraries.python.IPUtil | ... | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/memif.robot @@ -80,35 +78,35 @@ | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set up functional test with containers | | And Configure interfaces in path up -| | When Set up memif interfaces on DUT node | ${dut_node} | ${sock_base} -| | ... | ${sock_base} | dcr_uuid=${dcr_uuid} +| | 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 Vpp Set If IPv6 Addr | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} -| | ... | ${prefix_length} -| | And Vpp Set If IPv6 Addr | ${dut_node} | ${memif_if1} | ${net2_ip1} -| | ... | ${prefix_length} -| | And Vpp Set If IPv6 Addr | ${dut_node} | ${memif_if2} | ${net2_ip2} -| | ... | ${prefix_length} -| | And Vpp Set If IPv6 Addr | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} -| | ... | ${prefix_length} +| | And Add Fib Table | ${dut_node} | ${fib_table_2} | ipv6=${True} +| | And Assign Interface To Fib Table +| | ... | ${dut_node} | ${memif_if2} | ${fib_table_2} | ipv6=${True} +| | And Assign Interface To Fib Table +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2} | ipv6=${True} +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${memif_if1} | ${net2_ip1} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${memif_if2} | ${net2_ip2} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${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} +| | And Vpp Route Add +| | ... | ${dut_node} | ${net3} | ${prefix_length} | | ... | gateway=${net2_ip2} | interface=${memif_if1} -| | ... | resolve_attempts=${NONE} | count=${NONE} -| | And Vpp Route Add | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${memif_if2} -| | ... | resolve_attempts=${NONE} | count=${NONE} | vrf=${fib_table_2} -| | Add IP Neighbor | ${dut_node} | ${memif_if1} | ${net2_ip2} -| | ... | ${memif_if2_mac} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} -| | ... | ${tg_to_dut_if2_mac} +| | 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} | | 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} 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 e97ccaf1fb..47de572b18 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,17 +12,18 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Namespaces +| Library | resources.libraries.python.Tap +| Library | resources.libraries.python.Trace +| ... | 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/default.robot +| Resource | resources/libraries/robot/shared/interfaces.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 | IP4FWD | BASE | ETH | IP4BASE | TAP @@ -72,19 +73,19 @@ | | ... | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up | | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} | -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix} -| | And Set Interface Address +| | 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 Route | ${dut_node} +| | And Add Linux Route | ${dut_node} | | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac} -| | And Add Arp On Dut | ${dut_node} | ${int1} +| | 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} @@ -102,9 +103,9 @@ | | ... | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up | | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} | -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix} -| | And Set Interface Address +| | 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} @@ -114,11 +115,11 @@ | | ... | ${tap_int1} | ${tap1_NM_mac} | ${namespace1} | | And Set Linux Interface IP | ${dut_node} | | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix} | ${namespace1} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac} -| | And Add Arp On Dut | ${dut_node} | ${int1} +| | And VPP Add IP Neighbor | ${dut_node} | ${int1} | | ... | ${tap1_NM_ip} | ${tap1_NM_mac} -| | And Add Route | ${dut_node} +| | 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} diff --git a/tests/vpp/device/vm_vhost/ip4/eth2p-ethip4-ip4base-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/ip4/eth2p-ethip4-ip4base-eth-2vhost-1vm-dev.robot index e97e7919b1..3a24c6dce9 100644 --- a/tests/vpp/device/vm_vhost/ip4/eth2p-ethip4-ip4base-eth-2vhost-1vm-dev.robot +++ b/tests/vpp/device/vm_vhost/ip4/eth2p-ethip4-ip4base-eth-2vhost-1vm-dev.robot @@ -19,6 +19,7 @@ | Library | resources.libraries.python.Trace | Library | resources.libraries.python.VhostUser | Library | resources.libraries.python.VPPUtil +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot | Resource | resources/libraries/robot/shared/default.robot @@ -92,14 +93,13 @@ | | ${vhost2_mac}= | And Get Vhost User Mac By SW Index | | ... | ${dut_node} | ${vhost2} | | And Vpp Route Add | ${dut_node} | ${net3} | ${prefix_length} -| | ... | gateway=${net2_ip2} | interface=${vhost1} | resolve_attempts=${NONE} -| | ... | count=${NONE} +| | ... | gateway=${net2_ip2} | interface=${vhost1} | | And Vpp Route Add | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${vhost2} | resolve_attempts=${NONE} -| | ... | count=${NONE} | vrf=${fib_table_2} -| | Add IP Neighbor | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} -| | ... | ${tg_to_dut_if2_mac} +| | ... | gateway=${net2_ip1} | interface=${vhost2} +| | ... | vrf=${fib_table_2} +| | VPP Add IP Neighbor | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac} | | When Configure VM for vhost L2BD forwarding | | ... | ${dut_node} | ${sock1} | ${sock2} | | Then Send packet and verify headers diff --git a/tests/vpp/device/vm_vhost/ip6/eth2p-ethip6-ip6base-eth-2vhost-1vm-dev.robot b/tests/vpp/device/vm_vhost/ip6/eth2p-ethip6-ip6base-eth-2vhost-1vm-dev.robot index 48070e933b..508e628729 100644 --- a/tests/vpp/device/vm_vhost/ip6/eth2p-ethip6-ip6base-eth-2vhost-1vm-dev.robot +++ b/tests/vpp/device/vm_vhost/ip6/eth2p-ethip6-ip6base-eth-2vhost-1vm-dev.robot @@ -19,6 +19,7 @@ | Library | resources.libraries.python.Trace | Library | resources.libraries.python.VhostUser | Library | resources.libraries.python.VPPUtil +| ... | Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/l2/l2_bridge_domain.robot | Resource | resources/libraries/robot/shared/default.robot @@ -79,31 +80,32 @@ | | ${vhost2}= | And Vpp Create Vhost User Interface | ${dut_node} | ${sock2} | | And Set Interface State | ${dut_node} | ${vhost1} | up | | And Set Interface State | ${dut_node} | ${vhost2} | up -| | And Add Fib Table | ${dut_node} | ${fib_table_2} -| | And Assign Interface To Fib Table | ${dut_node} -| | ... | ${vhost2} | ${fib_table_2} -| | And Assign Interface To Fib Table | ${dut_node} -| | ... | ${dut_to_tg_if2} | ${fib_table_2} -| | And Vpp Set If IPv6 Addr +| | And Add Fib Table | ${dut_node} | ${fib_table_2} | ipv6=${True} +| | And Assign Interface To Fib Table +| | ... | ${dut_node} | ${vhost2} | ${fib_table_2} | ipv6=${True} +| | And Assign Interface To Fib Table +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${fib_table_2} | ipv6=${True} +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_ip1} | ${prefix_length} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${vhost1} | ${net2_ip1} | ${prefix_length} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${vhost2} | ${net2_ip2} | ${prefix_length} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip1} | ${prefix_length} | | And Suppress ICMPv6 router advertisement message | ${nodes} | | ${vhost2_mac}= | And Get Vhost User Mac By SW Index | | ... | ${dut_node} | ${vhost2} -| | And Vpp Route Add | ${dut_node} | ${net3} | ${prefix_length} -| | ... | gateway=${net2_ip2} | interface=${vhost1} | resolve_attempts=${NONE} -| | ... | count=${NONE} -| | And Vpp Route Add | ${dut_node} | ${net1} | ${prefix_length} -| | ... | gateway=${net2_ip1} | interface=${vhost2} | resolve_attempts=${NONE} -| | ... | count=${NONE} | vrf=${fib_table_2} -| | Add IP Neighbor | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} -| | ... | ${tg_to_dut_if2_mac} +| | And Vpp Route Add +| | ... | ${dut_node} | ${net3} | ${prefix_length} +| | ... | gateway=${net2_ip2} | interface=${vhost1} +| | And Vpp Route Add +| | ... | ${dut_node} | ${net1} | ${prefix_length} +| | ... | gateway=${net2_ip1} | interface=${vhost2} | vrf=${fib_table_2} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${vhost1} | ${net2_ip2} | ${vhost2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${net3_ip2} | ${tg_to_dut_if2_mac} | | When Configure VM for vhost L2BD forwarding | | ... | ${dut_node} | ${sock1} | ${sock2} | | Then Send packet and verify headers diff --git a/tests/vpp/func/ip4/eth2p-dot1q-ip4base-func.robot b/tests/vpp/func/ip4/eth2p-dot1q-ip4base-func.robot index d5b89ec594..123969a867 100644 --- a/tests/vpp/func/ip4/eth2p-dot1q-ip4base-func.robot +++ b/tests/vpp/func/ip4/eth2p-dot1q-ip4base-func.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: @@ -12,13 +12,15 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPv6Util +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/l2/tagging.robot +| Resource | resources/libraries/robot/shared/default.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.IPv6Util +| ... | Force Tags | 3_NODE_DOUBLE_LINK_TOPO | VM_ENV | HW_ENV | VPP_VM_ENV | ... | SKIP_VPP_PATCH | Test Setup | Set up functional test @@ -89,16 +91,16 @@ | | ${vlan2_name} | ${vlan2_index}= | Create vlan sub-interface | | ... | ${dut_node} | ${dut_to_tg_if2} | ${tag_2} | | -| | Set Interface Address | ${dut_node} +| | VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if1} | ${ip4_net0_1} | ${ip4_prefix} -| | Set Interface Address | ${dut_node} +| | VPP Interface Set IP Address | ${dut_node} | | ... | ${vlan1_index} | ${ip4_net1_1} | ${ip4_prefix} -| | Set Interface Address | ${dut_node} +| | VPP Interface Set IP Address | ${dut_node} | | ... | ${vlan2_index} | ${ip4_net2_1} | ${ip4_prefix} | | -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${ip4_net0_2} -| | ... | ${tg_to_dut_if1_mac} -| | Add IP Neighbor | ${dut_node} | ${vlan1_index} | ${ip4_net1_2} -| | ... | ${tg_to_dut_if2_mac} -| | Add IP Neighbor | ${dut_node} | ${vlan2_index} | ${ip4_net2_2} -| | ... | ${tg_to_dut_if2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ip4_net0_2} | ${tg_to_dut_if1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${vlan1_index} | ${ip4_net1_2} | ${tg_to_dut_if2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${vlan2_index} | ${ip4_net2_2} | ${tg_to_dut_if2_mac} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copblklistbase-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copblklistbase-func.robot index 6db16411f8..ef84aa21b0 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copblklistbase-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copblklistbase-func.robot @@ -12,18 +12,22 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.Cop +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Variables | resources/libraries/python/IPv4NodeAddress.py | ${nodes} +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *COP Security IPv4 Blacklist Tests* | ... | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology @@ -53,7 +57,6 @@ | ${cop_dut_ip}= | 16.0.0.0 | ${ip_prefix}= | 24 -| ${nodes_ipv4_addresses}= | ${nodes_ipv4_addr} | ${fib_table_number}= | 1 @@ -71,17 +74,16 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip} | ${ip_prefix} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip_GW} | ${tg_to_dut1_mac} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip_GW} | ${tg_to_dut2_mac} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${test_dst_ip} | ${ip_prefix} | gateway=${dut1_if2_ip_GW} -| | ... | interface=${dut1_to_dut2} +| | And Vpp Route Add | ${dut1_node} | ${test_dst_ip} | ${ip_prefix} +| | ... | gateway=${dut1_if2_ip_GW} | interface=${dut1_to_dut2} | | And Add fib table | ${dut1_node} | ${fib_table_number} | | When COP Add whitelist Entry | | ... | ${dut1_node} | ${dut1_to_tg} | ip4 | ${fib_table_number} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copwhlistbase-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copwhlistbase-func.robot index 31ef0faf6f..5fcc74f94a 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copwhlistbase-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-copwhlistbase-func.robot @@ -12,18 +12,22 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.Cop +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Variables | resources/libraries/python/IPv4NodeAddress.py | ${nodes} +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *COP Security IPv4 Whitelist Tests* | ... | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology @@ -53,7 +57,6 @@ | ${cop_dut_ip}= | 16.0.0.0 | ${ip_prefix}= | 24 -| ${nodes_ipv4_addresses}= | ${nodes_ipv4_addr} | ${fib_table_number}= | 1 @@ -71,20 +74,19 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip} | ${ip_prefix} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip_GW} | ${tg_to_dut1_mac} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip_GW} | ${tg_to_dut2_mac} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${test_dst_ip} | ${ip_prefix} | gateway=${dut1_if2_ip_GW} -| | ... | interface=${dut1_to_dut2} +| | And Vpp Route Add | ${dut1_node} | ${test_dst_ip} | ${ip_prefix} +| | ... | gateway=${dut1_if2_ip_GW} | interface=${dut1_to_dut2} | | And Add fib table | ${dut1_node} | ${fib_table_number} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${cop_dut_ip} | ${ip_prefix} | vrf=${fib_table_number} | local=${TRUE} +| | And Vpp Route Add | ${dut1_node} | ${cop_dut_ip} | ${ip_prefix} +| | ... | vrf=${fib_table_number} | local=${TRUE} | | When COP Add whitelist Entry | | ... | ${dut1_node} | ${dut1_to_tg} | ip4 | ${fib_table_number} | | And COP interface enable or disable | ${dut1_node} | ${dut1_to_tg} | enable diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-iaclbase-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-iaclbase-func.robot index 0c07bf6674..edc9480260 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-iaclbase-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-iaclbase-func.robot @@ -12,19 +12,24 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPv4 routing with ingress ACL test cases* | ... | ... | Encapsulations: Eth-IPv4 on links TG-DUT1, TG-DUT2, DUT1-DUT2. IPv4 @@ -57,11 +62,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -101,11 +106,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -148,11 +153,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -202,11 +207,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -242,11 +247,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -282,11 +287,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -323,11 +328,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -364,11 +369,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -406,11 +411,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -447,11 +452,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -488,11 +493,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4arp-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4arp-func.robot index 01b3f13806..4f2bcfeb97 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4arp-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4arp-func.robot @@ -12,17 +12,22 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPv4 ARP test cases* | ... | ... | RFC826 ARP: Eth-IPv4 and Eth-ARP on links TG-DUT1, TG-DUT2, DUT1-DUT2: @@ -50,9 +55,9 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} | | Then Send packet and verify ARP request | ${tg_node} | | ... | ${test_src_ip} | ${dut1_to_dut2_ip_GW} | ${tg_to_dut1} @@ -69,14 +74,13 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} | | And Vpp Route Add | | ... | ${dut1_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${dut1_to_dut2_ip_GW} | interface=${dut1_to_dut2} -| | ... | resolve_attempts=${NONE} | | Then Send packet and verify ARP request | ${tg_node} | | ... | ${test_src_ip} | ${test_dst_ip} | ${tg_to_dut1} | | ... | ${dut1_to_tg_mac} | ${tg_to_dut2} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpclient-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpclient-func.robot index db32c07ab1..3dbb2abb11 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpclient-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpclient-func.robot @@ -12,15 +12,20 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/features/dhcp_client.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/features/dhcp_client.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test -| Documentation | *DHCPv4 Client related test cases* +| ... +| Documentation | DHCPv4 Client related test cases *** Variables *** | ${client_hostname}= | dhcp-client @@ -63,8 +68,7 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} +| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | local=${TRUE} | | When Set DHCP client on Interface | ${dut_node} | ${dut_to_tg_if1} | | Then Verify DHCP REQUEST after OFFER | ${tg_node} | ${tg_to_dut_if1} | | ... | ${tg_to_dut_if1_mac} | ${server_ip} @@ -79,8 +83,7 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} +| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | local=${TRUE} | | When Set DHCP client on Interface | ${dut_node} | ${dut_to_tg_if1} | | Then Run Keyword And Expect Error | DHCP REQUEST Rx timeout | | ... | Verify DHCP REQUEST after OFFER | ${tg_node} | ${tg_to_dut_if1} @@ -96,15 +99,14 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} +| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | local=${TRUE} | | When Set DHCP client on Interface | ${dut_node} | ${dut_to_tg_if1} | | And Configure IP on client via DHCP | | ... | ${tg_node} | ${tg_to_dut_if1} | | ... | ${tg_to_dut_if1_mac} | ${server_ip} | | ... | ${client_ip} | ${client_mask} | | ... | ${lease_time} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1} | ${server_ip} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${server_ip} | | ... | ${tg_to_dut_if1_mac} | | Then Send ICMP echo request and verify answer | | ... | ${tg_node} | ${tg_to_dut_if1} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpproxy-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpproxy-func.robot index e655cf6fd9..24514d018b 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpproxy-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4dhcpproxy-func.robot @@ -12,14 +12,19 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/features/dhcp_proxy.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/features/dhcp_proxy.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *DHCPv4 proxy test cases* | ... | ... | *[Top] Network Topologies:* TG = DUT @@ -53,13 +58,12 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} -| | And Set Interface Address | ${dut_node} +| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | local=${True} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix_length} -| | And Set Interface Address | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if2} | ${dut_to_tg_if2_ip} | ${prefix_length} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server_ip} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server_ip} | | ... | ${tg_to_dut_if2_mac} | | When DHCP Proxy Config | ${dut_node} | ${dhcp_server_ip} | | ... | ${dut_to_tg_if1_ip} @@ -77,13 +81,12 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} -| | And Set Interface Address | ${dut_node} +| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | local=${True} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix_length} -| | And Set Interface Address | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if2} | ${dut_to_tg_if2_ip} | ${prefix_length} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server_ip} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server_ip} | | ... | ${tg_to_dut_if2_mac} | | When DHCP Proxy Config | ${dut_node} | ${dhcp_server_ip} | | ... | ${dut_to_tg_if1_ip} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4ecmp-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4ecmp-func.robot index fcdfe98b2a..4738699803 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4ecmp-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4ecmp-func.robot @@ -13,16 +13,21 @@ *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Ipv4 Multipath routing test cases* | ... | ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\ @@ -54,22 +59,20 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Set Interface Address | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if2} | ${ip_1} | ${prefix_length} -| | And Set Interface Address | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if1} | ${ip_2} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_1_ip} | ${neighbor_1_mac} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_2_ip} | ${neighbor_2_mac} -| | When Vpp Route Add -| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} +| | When Vpp Route Add | ${dut_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${neighbor_1_ip} | interface=${dut_to_tg_if1} -| | ... | resolve_attempts=${NONE} | multipath=${TRUE} -| | And Vpp Route Add -| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} +| | ... | multipath=${TRUE} +| | And Vpp Route Add | ${dut_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${neighbor_2_ip} | interface=${dut_to_tg_if1} -| | ... | resolve_attempts=${NONE} | multipath=${TRUE} +| | ... | multipath=${TRUE} | | Then Send packets and verify multipath routing | ${tg_node} | | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1} | ${test_src_ip} | ${test_dst_ip} | | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} | ${dut_to_tg_if1_mac} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4proxyarp-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4proxyarp-func.robot index 4348c734ca..da1988defe 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4proxyarp-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-ip4proxyarp-func.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: @@ -12,16 +12,21 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.ProxyArp +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.ProxyArp +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *RFC1027 Proxy ARP test cases* | ... | ... | *[Top] Network topologies:* TG-DUT1 2-node topology with @@ -59,13 +64,12 @@ | | And Set interfaces in 3-node circular topology up | | ${dut1_to_tg_name}= | Get interface name | ${dut1_node} | ${dut1_to_tg} | | ${tg_to_dut1_name}= | Get interface name | ${tg_node} | ${tg_to_dut1} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | And Vpp Add Proxy ARP | ${dut1_node} | ${lo_ip4_addr} | ${hi_ip4_addr} | | And Vpp Proxy ARP Interface Enable | ${dut1_node} | ${dut1_to_tg_name} -| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} -| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut1_ip} | ${pass_test_ip} +| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} | ${tg_to_dut1_mac} +| | ... | ${dut1_to_tg_mac} | ${tg_to_dut1_ip} | ${pass_test_ip} | TC02: DUT sends ARP reply on behalf of another machine from beginning of the IP range | | [Documentation] @@ -81,13 +85,12 @@ | | And Set interfaces in 3-node circular topology up | | ${dut1_to_tg_name}= | Get interface name | ${dut1_node} | ${dut1_to_tg} | | ${tg_to_dut1_name}= | Get interface name | ${tg_node} | ${tg_to_dut1} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | And Vpp Add Proxy ARP | ${dut1_node} | ${lo_ip4_addr} | ${hi_ip4_addr} | | And Vpp Proxy ARP Interface Enable | ${dut1_node} | ${dut1_to_tg_name} -| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} -| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut1_ip} | ${pass_test_lo_ip} +| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} | ${tg_to_dut1_mac} +| | ... | ${dut1_to_tg_mac} | ${tg_to_dut1_ip} | ${pass_test_lo_ip} | TC03: DUT sends ARP reply on behalf of another machine from end of the IP range | | [Documentation] @@ -103,13 +106,12 @@ | | And Set interfaces in 3-node circular topology up | | ${dut1_to_tg_name}= | Get interface name | ${dut1_node} | ${dut1_to_tg} | | ${tg_to_dut1_name}= | Get interface name | ${tg_node} | ${tg_to_dut1} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | And Vpp Add Proxy ARP | ${dut1_node} | ${lo_ip4_addr} | ${hi_ip4_addr} | | And Vpp Proxy ARP Interface Enable | ${dut1_node} | ${dut1_to_tg_name} -| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} -| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut1_ip} | ${pass_test_hi_ip} +| | Then Send ARP Request | ${tg_node} | ${tg_to_dut1_name} | ${tg_to_dut1_mac} +| | ... | ${dut1_to_tg_mac} | ${tg_to_dut1_ip} | ${pass_test_hi_ip} | TC04: DUT does not send ARP reply on behalf of another machine from below of the IP range | | [Documentation] @@ -125,13 +127,13 @@ | | And Set interfaces in 3-node circular topology up | | ${dut1_to_tg_name}= | Get interface name | ${dut1_node} | ${dut1_to_tg} | | ${tg_to_dut1_name}= | Get interface name | ${tg_node} | ${tg_to_dut1} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | And Vpp Add Proxy ARP | ${dut1_node} | ${lo_ip4_addr} | ${hi_ip4_addr} | | And Vpp Proxy ARP Interface Enable | ${dut1_node} | ${dut1_to_tg_name} | | Then ARP request should fail | ${tg_node} | ${tg_to_dut1_name} -| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut1_ip} | ${fail_test_lo_ip} +| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} | ${tg_to_dut1_ip} +| | ... | ${fail_test_lo_ip} | TC05: DUT does not send ARP reply on behalf of another machine from above of the IP range | | [Documentation] @@ -147,10 +149,10 @@ | | And Set interfaces in 3-node circular topology up | | ${dut1_to_tg_name}= | Get interface name | ${dut1_node} | ${dut1_to_tg} | | ${tg_to_dut1_name}= | Get interface name | ${tg_node} | ${tg_to_dut1} -| | When Set Interface Address | ${dut1_node} +| | When VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | And Vpp Add Proxy ARP | ${dut1_node} | ${lo_ip4_addr} | ${hi_ip4_addr} | | And Vpp Proxy ARP Interface Enable | ${dut1_node} | ${dut1_to_tg_name} | | Then ARP request should fail | ${tg_node} | ${tg_to_dut1_name} -| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut1_ip} | ${fail_test_hi_ip} +| | ... | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} | ${tg_to_dut1_ip} +| | ... | ${fail_test_hi_ip} diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-rpf-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-rpf-func.robot index 63db07e49d..c98a05b344 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4base-rpf-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4base-rpf-func.robot @@ -12,17 +12,23 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Source RPF check on IPv4 test cases* | ... | ... | *[Top] Network Topologies:* TG - DUT1 - DUT2 - TG @@ -54,18 +60,18 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add | | ... | ${dut1_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${dut1_to_dut2_ip_GW} | interface=${dut1_to_dut2} | | ... | resolve_attempts=${NONE} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip_GW} | | ... | ${tg_to_dut1_mac} | | And Vpp Route Add @@ -106,18 +112,18 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add | | ... | ${dut1_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${dut1_to_dut2_ip_GW} | interface=${dut1_to_dut2} | | ... | resolve_attempts=${NONE} -| | And Add Arp On Dut +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip_GW} | | ... | ${tg_to_dut1_mac} | | And Vpp Route Add diff --git a/tests/vpp/func/ip4/eth2p-ethip4-ip4basevrf-func.robot b/tests/vpp/func/ip4/eth2p-ethip4-ip4basevrf-func.robot index 0f71fab5fe..da2128f0de 100644 --- a/tests/vpp/func/ip4/eth2p-ethip4-ip4basevrf-func.robot +++ b/tests/vpp/func/ip4/eth2p-ethip4-ip4basevrf-func.robot @@ -12,18 +12,23 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/ip/ip6.robot +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Vpn routed forwarding - baseline IPv4* | ... | *[Top] Network Topologies:* TG=DUT1=DUT2=TG 3-node topology with two | ... | links in between nodes. @@ -301,30 +306,22 @@ | | ... | addresses are subsequently set on interfaces, and ARP is set for | | ... | neighbors. The last setting is route for each fib table. | | ... -| | ${dut1_if1_idx}= | Get Interface SW Index -| | ... | ${dut1_node} | ${dut1_to_dut2_if1} -| | ${dut1_if2_idx}= | Get Interface SW Index -| | ... | ${dut1_node} | ${dut1_to_dut2_if2} -| | ${dut2_if1_idx}= | Get Interface SW Index -| | ... | ${dut2_node} | ${dut2_to_dut1_if1} -| | ${dut2_if2_idx}= | Get Interface SW Index -| | ... | ${dut2_node} | ${dut2_to_dut1_if2} | | And Add fib table | ${dut1_node} | ${fib_table_1} | | And Add fib table | ${dut1_node} | ${fib_table_2} | | And Add fib table | ${dut2_node} | ${fib_table_1} | | And Add fib table | ${dut2_node} | ${fib_table_2} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${tg_dut2_ip1} | ${ip_prefix} | gateway=${fib_table_1} -| | ... | interface=via ${dut2_to_dut1_ip1} sw_if_index ${dut1_if1_idx} multipath -| | And Vpp Route Add | ${dut1_node} -| | ... | ${tg_dut2_ip2} | ${ip_prefix} | gateway=${fib_table_2} -| | ... | interface=via ${dut1_to_dut2_ip2} sw_if_index ${dut1_if2_idx} multipath -| | And Vpp Route Add | ${dut2_node} -| | ... | ${tg_dut1_ip1} | ${ip_prefix} | gateway=${fib_table_1} -| | ... | interface=via ${dut2_to_dut1_ip1} sw_if_index ${dut2_if1_idx} multipath -| | And Vpp Route Add | ${dut2_node} -| | ... | ${tg_dut1_ip2} | ${ip_prefix} | gateway=${fib_table_2} -| | ... | interface=via ${dut2_to_dut1_ip2} sw_if_index ${dut2_if2_idx} multipath +| | And Vpp Route Add | ${dut1_node} | ${tg_dut2_ip1} | ${ip_prefix} +| | ... | vrf=${fib_table_1} | interface=${dut1_to_dut2_if1} +| | ... | gateway=${dut1_to_dut2_ip2} | multipath=${True} +| | And Vpp Route Add | ${dut1_node} | ${tg_dut2_ip2} | ${ip_prefix} +| | ... | vrf=${fib_table_2} | interface=${dut1_to_dut2_if2} +| | ... | gateway=${dut1_to_dut2_ip2} | multipath=${True} +| | And Vpp Route Add | ${dut2_node} | ${tg_dut1_ip1} | ${ip_prefix} +| | ... | vrf=${fib_table_1} | interface=${dut2_to_dut1_if1} +| | ... | gateway=${dut2_to_dut1_ip1} | multipath=${True} +| | And Vpp Route Add | ${dut2_node} | ${tg_dut1_ip2} | ${ip_prefix} +| | ... | vrf=${fib_table_2} | interface=${dut2_to_dut1_if2} +| | ... | gateway=${dut2_to_dut1_ip2} | multipath=${True} | | Assign Interface To Fib Table | | ... | ${dut1_node} | ${dut1_to_dut2_if1} | ${fib_table_1} @@ -344,44 +341,44 @@ | | Assign Interface To Fib Table | | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${fib_table_2} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg_if1} | ${dut1_to_tg_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg_if2} | ${dut1_to_tg_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2_if1} | | ... | ${dut1_to_dut2_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2_if2} | | ... | ${dut1_to_dut2_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg_if1} | ${dut2_to_tg_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${dut2_to_tg_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1_if1} | | ... | ${dut2_to_dut1_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1_if2} | | ... | ${dut2_to_dut1_ip2} | ${ip_prefix} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if1} | | ... | ${tg_dut1_ip1} | ${tg_to_dut1_if1_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_dut2_if1} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if1} | | ... | ${dut2_to_dut1_ip1} | ${dut2_to_dut1_if1_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if1} | | ... | ${tg_dut2_ip1} | ${tg_to_dut2_if1_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_dut1_if1} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if1} | | ... | ${dut1_to_dut2_ip1} | ${dut1_to_dut2_if1_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg_if2} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if2} | | ... | ${tg_dut1_ip2} | ${tg_to_dut1_if2_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_dut2_if2} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if2} | | ... | ${dut2_to_dut1_ip2} | ${dut2_to_dut1_if2_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg_if2} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if2} | | ... | ${tg_dut2_ip2} | ${tg_to_dut2_if2_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_dut1_if2} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if2} | | ... | ${dut1_to_dut2_ip2} | ${dut1_to_dut2_if2_mac} | | And Vpp Route Add | ${dut1_node} | ${tg_dut2_ip1} | ${ip_prefix} diff --git a/tests/vpp/func/ip4_tunnels/gre/eth2p-ethip4gre-ip4base-func.robot b/tests/vpp/func/ip4_tunnels/gre/eth2p-ethip4gre-ip4base-func.robot index bdafd34843..2b67db5d7e 100644 --- a/tests/vpp/func/ip4_tunnels/gre/eth2p-ethip4gre-ip4base-func.robot +++ b/tests/vpp/func/ip4_tunnels/gre/eth2p-ethip4gre-ip4base-func.robot @@ -12,16 +12,21 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/overlay/gre.robot +| Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace +| ... | Force Tags | VM_ENV | HW_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *GREoIPv4 test cases* | ... | ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links @@ -72,8 +77,8 @@ | | ... | both DUTs and GRE tunnel between them; verify IPv4 headers on | | ... | received packets are correct. [Ref] RFC2784. | | [Tags] | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO -| | Given Configure path in 3-node circular topology | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} | ${nodes['TG']} +| | Given Configure path in 3-node circular topology | ${nodes['TG']} +| | ... | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up | | And Configure IP addresses on interfaces | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_ip_address} | ${prefix} @@ -82,8 +87,8 @@ | | ... | ${dut2_node} | ${dut2_to_tg} | ${net2_gw_address} | ${prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${dut2_ip_address} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${dut1_ip_address} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${net2_host_address} -| | ... | ${tg_to_dut2_mac} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} +| | ... | ${net2_host_address} | ${tg_to_dut2_mac} | | ${dut1_gre_interface} | ${dut1_gre_index}= | | ... | When Create GRE tunnel interface and set it up | | ... | ${dut1_node} | ${dut1_ip_address} | ${dut2_ip_address} @@ -114,8 +119,8 @@ | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut1_ip_address} | ${prefix} | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_gw_address} | ${prefix} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dut2_ip_address} -| | ... | ${tg_to_dut_if2_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} +| | ... | ${dut2_ip_address} | ${tg_to_dut_if2_mac} | | ${dut1_gre_interface} | ${dut1_gre_index}= | | ... | When Create GRE tunnel interface and set it up | | ... | ${dut_node} | ${dut1_ip_address} | ${dut2_ip_address} @@ -143,8 +148,8 @@ | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut1_ip_address} | ${prefix} | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_gw_address} | ${prefix} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1} | ${net1_host_address} -| | ... | ${tg_to_dut_if1_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} +| | ... | ${net1_host_address} | ${tg_to_dut_if1_mac} | | ${dut1_gre_interface} | ${dut1_gre_index}= | | ... | When Create GRE tunnel interface and set it up | | ... | ${dut_node} | ${dut1_ip_address} | ${dut2_ip_address} @@ -176,8 +181,8 @@ | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut1_ip_address} | ${prefix} | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_gw_address} | ${prefix} | | ... | ${dut_node} | ${dut1_lo_index} | ${dut1_lo_address} | ${32} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dut2_ip_address} -| | ... | ${tg_to_dut_if2_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} +| | ... | ${dut2_ip_address} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | ${tun0_dst} | ${32} | | ... | gateway=${dut2_ip_address} | interface=${dut_to_tg_if2} | | And Vpp Route Add | ${dut_node} | ${tun1_dst} | ${32} @@ -227,8 +232,8 @@ | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut1_ip_address} | ${prefix} | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_gw_address} | ${prefix} | | ... | ${dut_node} | ${dut1_lo_index} | ${dut1_lo_address} | ${32} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dut2_ip_address} -| | ... | ${tg_to_dut_if2_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} +| | ... | ${dut2_ip_address} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | ${tun0_dst} | ${32} | | ... | gateway=${dut2_ip_address} | interface=${dut_to_tg_if2} | | And Vpp Route Add | ${dut_node} | ${tun1_dst} | ${32} @@ -276,10 +281,10 @@ | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut1_ip_address} | ${prefix} | | ... | ${dut_node} | ${dut_to_tg_if1} | ${net1_gw_address} | ${prefix} | | ... | ${dut_node} | ${dut1_lo_index} | ${dut1_lo_address} | ${32} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1} | ${net1_host_address} -| | ... | ${tg_to_dut_if1_mac} -| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if2} | ${dut2_ip_address} -| | ... | ${tg_to_dut_if2_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} +| | ... | ${net1_host_address} | ${tg_to_dut_if1_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} +| | ... | ${dut2_ip_address} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | ${tun0_dst} | ${32} | | ... | gateway=${dut2_ip_address} | interface=${dut_to_tg_if2} | | And Vpp Route Add | ${dut_node} | ${tun1_dst} | ${32} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot index ae9485c3b8..ce49b4ba72 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.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: @@ -12,14 +12,16 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace +| ... # import additional Lisp settings from resource file | Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py | ... @@ -74,10 +76,10 @@ | | ... | ${dut2_to_tg_ip4} | ${prefix4} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} -| | ... | ${tg_to_dut2_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} -| | ... | ${tg_to_dut1_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} | | When Configure LISP topology in 3-node circular topology | | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-l2bdbasemaclrn-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-l2bdbasemaclrn-func.robot index 98602fc45f..5c3ba1b1b2 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-l2bdbasemaclrn-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-l2bdbasemaclrn-func.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: @@ -12,18 +12,20 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.LispUtil | Library | resources.libraries.python.L2Util -| Resource | resources/libraries/robot/shared/traffic.robot +| Library | resources.libraries.python.LispUtil +| Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/overlay/l2lisp.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/overlay/l2lisp.robot +| Resource | resources/libraries/robot/shared/traffic.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/l2/l2_ipv4.py | ... @@ -67,14 +69,14 @@ | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${prefix4} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_dut1_ip4} | ${prefix4} | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_to_tg_ip4} | ${prefix4} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} -| | ... | ${tg_to_dut2_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} -| | ... | ${tg_to_dut1_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_dut1_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} -| | ... | ${dut1_to_dut2_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} +| | And VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} +| | And VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} | ${dut2_to_dut1_mac} +| | And VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} | ${dut1_to_dut2_mac} | | When Create L2 BD | ${dut1_node} | ${vpp_bd_id} | | And Add Interface To L2 BD | ${dut1_node} | ${dut1_to_tg} | ${vpp_bd_id} | | And Create L2 BD | ${dut2_node} | ${vpp_bd_id} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot index 679acd7874..3677e0d68c 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.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: @@ -12,21 +12,23 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.IPUtil | Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.VPPUtil -| Library | resources.libraries.python.InterfaceUtil | Library | resources.libraries.python.VhostUser -| Resource | resources/libraries/robot/shared/traffic.robot +| Library | resources.libraries.python.VPPUtil +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lispgpe.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/ipv4_lispgpe_ipv4/ipv4_lispgpe_ipv4.py | ... @@ -93,11 +95,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4basevrf-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4basevrf-func.robot index 2aa4990564..22fdae46db 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4basevrf-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4basevrf-func.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: @@ -12,21 +12,23 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.InterfaceUtil +| Library | resources.libraries.python.IPUtil | Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.VPPUtil -| Library | resources.libraries.python.InterfaceUtil | Library | resources.libraries.python.VhostUser -| Resource | resources/libraries/robot/shared/traffic.robot +| Library | resources.libraries.python.VPPUtil +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lispgpe.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/ipv4_lispgpe_ipv4/ipv4_lispgpe_ipv4.py | ... @@ -100,11 +102,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot index 7e97aca29e..f3114723cc 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.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: @@ -12,19 +12,21 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| Library | resources.libraries.python.VhostUser +| Library | resources.libraries.python.VPPUtil +| ... | Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot | Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/overlay/lispgpe.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.VhostUser -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.VPPUtil +| ... # import additional Lisp settings from resource file | Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py | ... @@ -110,11 +112,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6o4} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6o4} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip6o4} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6o4} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6o4} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6o4} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6o4} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6basevrf-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6basevrf-func.robot index 2b13eae0dd..2363b0c9f9 100644 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6basevrf-func.robot +++ b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6basevrf-func.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: @@ -12,19 +12,21 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| Library | resources.libraries.python.VhostUser +| Library | resources.libraries.python.VPPUtil +| ... | Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot | Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/overlay/lispgpe.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.VhostUser -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.VPPUtil +| ... # import additional Lisp settings from resource file | Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py | ... @@ -66,8 +68,8 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Add Fib Table | ${dut1_node} | ${fib_table_1} | ip6=${TRUE} -| | And Add Fib Table | ${dut2_node} | ${fib_table_1} | ip6=${TRUE} +| | And Add Fib Table | ${dut1_node} | ${fib_table_1} | ipv6=${TRUE} +| | And Add Fib Table | ${dut2_node} | ${fib_table_1} | ipv6=${TRUE} | | And Assign Interface To Fib Table | ${dut1_node} | | ... | ${dut1_to_tg} | ${fib_table_1} | ip6=${TRUE} | | And Assign Interface To Fib Table | ${dut2_node} @@ -102,11 +104,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6o4} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6o4} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip6o4} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip6o4} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6o4} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6o4} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6o4} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6o4} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func.robot b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func.robot index e78f2627f2..7a17c4cfd1 100644 --- a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func.robot +++ b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swirelw46-func.robot @@ -12,15 +12,21 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/ip/map.robot -| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SOFTWIRE +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Lightweight 4 over 6 test cases* | ... | ... | LW4o6 is a subset of MAP-E, with per-subscriber rules. It uses the @@ -76,12 +82,12 @@ | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if2} | ${tg_ip6} | | ... | ${tg_to_dut_if2_mac} | | And Vpp Route Add | | ... | ${dut_node} | ${lw_rule_ipv6_dst} | 128 -| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} +| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | | ${domain_index}= | | ... | When Map Add Domain | | ... | ${dut_node} | ${lw_ipv4_pfx} | ${lw_ipv6_pfx} @@ -113,12 +119,12 @@ TC02: Encapsulate IPv4 ICMP into IPv6. IPv6 dst depends on IPv4 addr and ICMP ID | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if2} | ${tg_ip6} | | ... | ${tg_to_dut_if2_mac} | | And Vpp Route Add | | ... | ${dut_node} | ${lw_rule_ipv6_dst} | 128 -| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} +| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | | ${domain_index}= | | ... | When Map Add Domain | | ... | ${dut_node} | ${lw_ipv4_pfx} | ${lw_ipv6_pfx} @@ -148,7 +154,7 @@ TC03: Decapsulate IPv4 UDP from IPv6. | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} -| | And Add Arp on DUT +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if1} | | ... | ${test_ipv4_outside} | | ... | ${tg_to_dut_if1_mac} @@ -182,12 +188,12 @@ TC04: Hairpinning of traffic between two lwB4 | | And Configure IP addresses on interfaces | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if2} | ${tg_ip6} | | ... | ${tg_to_dut_if2_mac} | | And Vpp Route Add | | ... | ${dut_node} | ${lw_rule_2_ipv6_dst} | 128 -| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} +| | ... | gateway=${tg_ip6} | interface=${dut_to_tg_if2} | | ${domain_index}= | | ... | When Map Add Domain | | ... | ${dut_node} | ${lw_ipv4_pfx} | ${lw_ipv6_pfx} diff --git a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func.robot b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func.robot index 665585bdd3..47f88ff347 100644 --- a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func.robot +++ b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremape-func.robot @@ -13,18 +13,24 @@ *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/ip/map.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| ... | Variables | resources/test_data/softwire/map_e_domains.py | ${5} +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH | ... | SOFTWIRE +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Test for Basic mapping rule for MAP-E*\ | ... | *[Top] Network Topologies:* TG - DUT1 - TG with two links between the | ... | nodes. @@ -252,13 +258,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | And Vpp Route Add | ${dut_node} | :: | 0 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | | :FOR | ${domain_set} | IN | @{domain_sets} | | | When Map Add Domain | ${dut_node} | @{domain_set} | | :FOR | ${ip_set} | IN | @{ip_sets} @@ -292,13 +298,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | And Vpp Route Add | ${dut_node} | :: | 0 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | | :FOR | ${domain_set} | IN | @{domain_sets} | | | When Map Add Domain | ${dut_node} | @{domain_set} | | ${ip_set_A}= | Get From List | ${ip_sets} | 0 @@ -338,13 +344,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | And Vpp Route Add | ${dut_node} | :: | 0 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | | :FOR | ${domain_set} | IN | @{domain_sets} | | | When Map Add Domain | ${dut_node} | @{domain_set} | | ${ip_set_A}= | Get From List | ${ip_sets} | 0 @@ -374,13 +380,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | And Vpp Route Add | ${dut_node} | 2001:: | 16 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | | Then Check MAP Configuration With Traffic Script | | ... | 20.0.0.0/8 | 2001::/16 | ${ipv6_br_src} | ${48} | ${6} | ${8} | | ... | 20.169.201.219 | ${1232} | 2001:a9c9:db34::14a9:c9db:34 @@ -388,13 +394,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | And Vpp Route Add | ${dut_node} | 2001:: | 16 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | And VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | | Then Check MAP Configuration With Traffic Script | | ... | 20.0.0.0/8 | 2001::/16 | ${ipv6_br_src} | ${48} | ${6} | ${8} | | ... | 20.169.201.219 | ${1232} | 2001:a9c9:db34::14a9:c9db:34 @@ -423,13 +429,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | Vpp Route Add | ${dut_node} | :: | 0 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | Vpp Route Add | ${dut_node} | ${ipv4_outside} | 32 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | VPP Add IP Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | Check MAP Configuration With Traffic Script | | [Documentation] diff --git a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func.robot b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func.robot index 6bedf88313..a9c32a90bf 100644 --- a/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func.robot +++ b/tests/vpp/func/ip4_tunnels/softwire/eth2p-ethip4--ethip6ip4-ip4base--ip6base-swiremapt-func.robot @@ -13,17 +13,22 @@ *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/ip/map.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SOFTWIRE +| ... | Test Setup | Run Keywords | Set up functional test | ... | AND | Set interfaces IP addresses and routes +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Test for Basic mapping rule for MAP-T*\ | ... | *[Top] Network Topologies:* TG - DUT1 - TG with two links between the | ... | nodes. @@ -85,13 +90,13 @@ | | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len} | | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len} | | Vpp Route Add | ${dut_node} | :: | 0 | gateway=${dut_ip6_gw} -| | ... | interface=${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE} -| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} -| | ... | ${tg_to_dut_if2_mac} +| | ... | interface=${dut_to_tg_if2} +| | VPP Add IP neighbor +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw} | ${tg_to_dut_if2_mac} | | Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | gateway=${dut_ip4_gw} -| | ... | interface=${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE} -| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} -| | ... | ${tg_to_dut_if1_mac} +| | ... | interface=${dut_to_tg_if1} +| | VPP Add IP neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw} | ${tg_to_dut_if1_mac} | Check MAP-T configuration with traffic script | | [Documentation] | diff --git a/tests/vpp/func/ip4_tunnels/vxlan/eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func.robot b/tests/vpp/func/ip4_tunnels/vxlan/eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func.robot index e1ec8ffc37..f212f8be2e 100644 --- a/tests/vpp/func/ip4_tunnels/vxlan/eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func.robot +++ b/tests/vpp/func/ip4_tunnels/vxlan/eth4p-ethip4vxlan-l2bdbasemaclrn-l2shg-func.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: @@ -12,15 +12,20 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/overlay/vxlan.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/overlay/vxlan.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *L2BD with SHG combined with VXLAN test cases - IPv4* | ... | ... | *[Top] Network topologies:* TG=DUT1=DUT2=TG 3-node circular topology @@ -67,23 +72,22 @@ | | ... | [Ref] RFC7348. | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | | Given Configure path for 3-node BD-SHG test | ${nodes['TG']} -| | ... | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} +| | ... | ${nodes['DUT1']} | ${nodes['DUT2']} | | And Set interfaces in 3-node BD-SHG test up -| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr1} -| | ... | ${ip4_prefix} -| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr2} -| | ... | ${ip4_prefix} +| | And VPP Interface Set IP Address | ${dut1_node} | ${dut1_to_dut2} +| | ... | ${ip4_addr1} | ${ip4_prefix} +| | And VPP Interface Set IP Address | ${dut2_node} | ${dut2_to_dut1} +| | ... | ${ip4_addr2} | ${ip4_prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr2} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr1} | | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} -| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} | | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} -| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} | | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} -| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} | | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} -| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up | | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up @@ -92,39 +96,34 @@ | | And Vpp Node Interfaces Ready Wait | ${dut2_node} | | And Create bridge domain | ${dut1_node} | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} -| | ... | ${bd_id1} +| | ... | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} -| | ... | ${bd_id1} +| | ... | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan1} -| | ... | ${bd_id1} | ${shg1} +| | ... | ${bd_id1} | ${shg1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan2} -| | ... | ${bd_id1} | ${shg1} +| | ... | ${bd_id1} | ${shg1} | | And Create bridge domain | ${dut2_node} | ${bd_id2} | | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} -| | ... | ${bd_id2} +| | ... | ${bd_id2} | | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan1} -| | ... | ${bd_id2} +| | ... | ${bd_id2} | | And Create bridge domain | ${dut2_node} | ${bd_id3} | | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} -| | ... | ${bd_id3} +| | ... | ${bd_id3} | | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan2} -| | ... | ${bd_id3} +| | ... | ${bd_id3} | | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut1_if1} | ${tg_to_dut2_if1} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if2} +| | ... | ${tg_to_dut1_if1} | ${tg_to_dut2_if2} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut1_if2} | ${tg_to_dut2_if1} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if2} +| | ... | ${tg_to_dut1_if2} | ${tg_to_dut2_if2} | | And Run Keyword And Expect Error | ICMP echo Rx timeout -| | ... | Send ICMPv4 bidirectionally and verify received packets -| | | ... | ${tg_node} | ${tg_to_dut2_if1} -| | | ... | ${tg_to_dut2_if2} +| | ... | Send ICMPv4 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut2_if1} | ${tg_to_dut2_if2} | TC01: DUT1 and DUT2 with L2BD and VXLANoIPv4 tunnels in different SHGs switch ICMPv4 between TG links | | [Documentation] @@ -140,23 +139,22 @@ | | ... | all TG interfaces. [Ref] RFC7348. | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | | Given Configure path for 3-node BD-SHG test | ${nodes['TG']} -| | ... | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} +| | ... | ${nodes['DUT1']} | ${nodes['DUT2']} | | And Set interfaces in 3-node BD-SHG test up -| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr1} -| | ... | ${ip4_prefix} -| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr2} -| | ... | ${ip4_prefix} +| | And VPP Interface Set IP Address | ${dut1_node} | ${dut1_to_dut2} +| | ... | ${ip4_addr1} | ${ip4_prefix} +| | And VPP Interface Set IP Address | ${dut2_node} | ${dut2_to_dut1} +| | ... | ${ip4_addr2} | ${ip4_prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr2} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr1} | | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} -| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} | | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} -| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} | | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} -| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} | | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} -| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up | | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up @@ -165,35 +163,30 @@ | | And Vpp Node Interfaces Ready Wait | ${dut2_node} | | And Create bridge domain | ${dut1_node} | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} -| | ... | ${bd_id1} +| | ... | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} -| | ... | ${bd_id1} +| | ... | ${bd_id1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan1} -| | ... | ${bd_id1} | ${shg1} +| | ... | ${bd_id1} | ${shg1} | | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan2} -| | ... | ${bd_id1} | ${shg2} +| | ... | ${bd_id1} | ${shg2} | | And Create bridge domain | ${dut2_node} | ${bd_id2} | | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} -| | ... | ${bd_id2} +| | ... | ${bd_id2} | | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan1} -| | ... | ${bd_id2} +| | ... | ${bd_id2} | | And Create bridge domain | ${dut2_node} | ${bd_id3} | | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} -| | ... | ${bd_id3} +| | ... | ${bd_id3} | | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan2} -| | ... | ${bd_id3} +| | ... | ${bd_id3} | | Then Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut1_if1} | ${tg_to_dut2_if1} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if2} +| | ... | ${tg_to_dut1_if1} | ${tg_to_dut2_if2} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut1_if2} | ${tg_to_dut2_if1} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if2} +| | ... | ${tg_to_dut1_if2} | ${tg_to_dut2_if2} | | And Send ICMPv4 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut2_if1} -| | ... | ${tg_to_dut2_if2} +| | ... | ${tg_to_dut2_if1} | ${tg_to_dut2_if2} diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copblklistbase-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copblklistbase-func.robot index 0550a75226..9e45799606 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copblklistbase-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copblklistbase-func.robot @@ -12,18 +12,23 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.Cop +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip6.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Variables | resources/libraries/python/IPv6NodesAddr.py | ${nodes} +| Resource | resources/libraries/robot/shared/traffic.robot +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *COP Security IPv6 Blacklist Tests* | ... | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology @@ -57,8 +62,6 @@ | ${ip_prefix}= | 64 -| ${nodes_ipv6_addresses}= | ${nodes_ipv6_addr} - | ${fib_table_number}= | 1 *** Test Cases *** @@ -75,21 +78,20 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_if1_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_if2_ip} | ${ip_prefix} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip_GW} | ${tg_to_dut1_mac} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip_GW} | ${tg_to_dut2_mac} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${test_dst_ip} | ${ip_prefix} | gateway=${dut1_if2_ip_GW} -| | ... | interface=${dut1_to_dut2} +| | And Vpp Route Add | ${dut1_node} | ${test_dst_ip} | ${ip_prefix} +| | ... | gateway=${dut1_if2_ip_GW} | interface=${dut1_to_dut2} | | And Vpp All Ra Suppress Link Layer | ${nodes} | | And Add fib table | ${dut1_node} | ${fib_table_number} | ipv6=${TRUE} | | When COP Add whitelist Entry diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copwhlistbase-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copwhlistbase-func.robot index 933aa0a8a5..a69171c426 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copwhlistbase-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-copwhlistbase-func.robot @@ -12,18 +12,23 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.Cop +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip6.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot -| Variables | resources/libraries/python/IPv6NodesAddr.py | ${nodes} +| Resource | resources/libraries/robot/shared/traffic.robot +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *COP Security IPv6 Whitelist Tests* | ... | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology @@ -57,8 +62,6 @@ | ${ip_prefix}= | 64 -| ${nodes_ipv6_addresses}= | ${nodes_ipv6_addr} - | ${fib_table_number}= | 1 *** Test Cases *** @@ -75,25 +78,24 @@ | | And Set interfaces in 3-node circular topology up | | And Configure L2XC | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_tg} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_if1_ip} | ${ip_prefix} -| | And VPP Set IF IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_if2_ip} | ${ip_prefix} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip_GW} | ${tg_to_dut1_mac} -| | And Add IP Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip_GW} | ${tg_to_dut2_mac} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${test_dst_ip} | ${ip_prefix} | gateway=${dut1_if2_ip_GW} -| | ... | interface=${dut1_to_dut2} +| | And Vpp Route Add | ${dut1_node} | ${test_dst_ip} | ${ip_prefix} +| | ... | gateway=${dut1_if2_ip_GW} | interface=${dut1_to_dut2} | | And Vpp All Ra Suppress Link Layer | ${nodes} | | And Add fib table | ${dut1_node} | ${fib_table_number} | ipv6=${TRUE} -| | And Vpp Route Add | ${dut1_node} -| | ... | ${cop_dut_ip} | ${ip_prefix} | vrf=${fib_table_number} | local=${TRUE} +| | And Vpp Route Add | ${dut1_node} | ${cop_dut_ip} | ${ip_prefix} +| | ... | vrf=${fib_table_number} | local=${TRUE} | | When COP Add whitelist Entry | ${dut1_node} | ${dut1_to_tg} | ip6 | | | ... | ${fib_table_number} | | And COP interface enable or disable | ${dut1_node} | ${dut1_to_tg} | enable diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-iaclbase-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-iaclbase-func.robot index f877649d1f..74a92d26ed 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-iaclbase-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-iaclbase-func.robot @@ -12,18 +12,24 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip6.robot +| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip6.robot -| Resource | resources/libraries/robot/l2/l2_xconnect.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPv6 routing with ingress ACL test cases* | ... | ... | Encapsulations: Eth-IPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2. IPv6 @@ -58,11 +64,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -103,11 +109,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -151,11 +157,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -206,11 +212,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -247,11 +253,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -288,11 +294,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -330,11 +336,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -372,11 +378,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -415,11 +421,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -457,11 +463,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add @@ -499,11 +505,11 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip_GW} | | ... | ${tg_to_dut2_mac} | | And Vpp Route Add diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6dhcpproxy-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6dhcpproxy-func.robot index 12bcfefd47..7611cbcbd4 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6dhcpproxy-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6dhcpproxy-func.robot @@ -12,14 +12,20 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/features/dhcp_proxy.robot | Resource | resources/libraries/robot/ip/ip6.robot -| Library | resources.libraries.python.Trace +| Resource | resources/libraries/robot/shared/default.robot +| Resource | resources/libraries/robot/shared/testing_path.robot +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *DHCPv6 proxy test cases* | ... | ... | *[Top] Network Topologies:* TG = DUT @@ -50,17 +56,16 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut_node} +| | And VPP Interface Set IP Address | ${dut_node} | | ... | ${dut_to_tg_if2} | ${dut_to_tg_if2_ip} | ${prefix_length} -| | And VPP Route Add | ${dut_node} | ff02::1:2 | 128 | gateway=${NONE} -| | ... | interface=local | use_sw_index=${FALSE} | resolve_attempts=${NONE} -| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server_ip} -| | ... | ${tg_to_dut_if2_mac} +| | And VPP Route Add | ${dut_node} | ff02::1:2 | 128 | local=${TRUE} +| | And VPP Add IP Neighbor | ${dut_node} +| | ... | ${dut_to_tg_if2} | ${dhcp_server_ip} | ${tg_to_dut_if2_mac} | | And Vpp All Ra Suppress Link Layer | ${nodes} -| | When DHCP Proxy Config | ${dut_node} | ${dhcp_server_ip} -| | ... | ${dut_to_tg_if1_ip} +| | When DHCP Proxy Config +| | ... | ${dut_node} | ${dhcp_server_ip} | ${dut_to_tg_if1_ip} | | Then Send DHCPv6 Messages | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2} | | ... | ${dut_to_tg_if1_ip} | ${dut_to_tg_if1_mac} | ${dhcp_server_ip} | | ... | ${tg_to_dut_if2_mac} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if2_mac} diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ecmp-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ecmp-func.robot index bf2a902cd3..b970d37aef 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ecmp-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ecmp-func.robot @@ -11,18 +11,23 @@ # See the License for the specific language governing permissions and # limitations under the License. - *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Ipv6 Multipath routing test cases* | ... | ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\ @@ -53,24 +58,24 @@ | | Given Configure path in 2-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut_node} -| | ... | ${dut_to_tg_if2} | ${ip_1} | ${prefix_length} -| | And Vpp Set If Ipv6 Addr | ${dut_node} -| | ... | ${dut_to_tg_if1} | ${ip_2} | ${prefix_length} -| | And Add Ip Neighbor +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${dut_to_tg_if2} | ${ip_1} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ip_2} | ${prefix_length} +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_1_ip} | ${neighbor_1_mac} -| | And Add Ip Neighbor +| | And VPP Add IP Neighbor | | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_2_ip} | ${neighbor_2_mac} | | And Suppress ICMPv6 router advertisement message | ${nodes} | | When Vpp Route Add | | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${neighbor_1_ip} | interface=${dut_to_tg_if1} -| | ... | resolve_attempts=${NONE} | multipath=${TRUE} +| | ... | multipath=${TRUE} | | And Vpp Route Add | | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | | ... | gateway=${neighbor_2_ip} | interface=${dut_to_tg_if1} -| | ... | resolve_attempts=${NONE} | multipath=${TRUE} -| | Then Send packets and verify multipath routing | ${tg_node} -| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1} | ${test_src_ip} | ${test_dst_ip} -| | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} | ${dut_to_tg_if1_mac} -| | ... | ${neighbor_1_mac} | ${neighbor_2_mac} +| | ... | multipath=${TRUE} +| | Then Send packets and verify multipath routing +| | ... | ${tg_node} | ${tg_to_dut_if2} | ${tg_to_dut_if1} | ${test_src_ip} +| | ... | ${test_dst_ip} | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} +| | ... | ${dut_to_tg_if1_mac} | ${neighbor_1_mac} | ${neighbor_2_mac} diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ra-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ra-func.robot index d897f7c90a..267faac50f 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ra-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6base-ip6ra-func.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: @@ -12,16 +12,21 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/shared/counters.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Library | resources.libraries.python.Trace +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPv6 Router Advertisement test cases* | ... | ... | RFC4861 Neighbor Discovery. Encapsulations: Eth-IPv6-RA on links @@ -47,7 +52,7 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | When Vpp RA Send After Interval | ${dut1_node} | ${dut1_to_tg} | | Then Receive and verify router advertisement packet @@ -63,8 +68,8 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | When Vpp RA Send After Interval | ${dut1_node} | ${dut1_to_tg} | | ... | interval=${interval} | | :FOR | ${n} | IN RANGE | ${2} @@ -82,8 +87,8 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | When VPP RA Suppress Link Layer | ${dut1_node} | ${dut1_to_tg} | | Then Send router solicitation and verify response | | ... | ${tg_node} | ${dut1_node} | ${tg_to_dut1} | ${dut1_to_tg} @@ -100,8 +105,8 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} | | When VPP RA Suppress Link Layer | ${dut1_node} | ${dut1_to_tg} | | Then Send router solicitation and verify response | | ... | ${tg_node} | ${dut1_node} | ${tg_to_dut1} | ${dut1_to_tg} diff --git a/tests/vpp/func/ip6/eth2p-ethip6-ip6basevrf-func.robot b/tests/vpp/func/ip6/eth2p-ethip6-ip6basevrf-func.robot index 4b97715740..9c90bc39a4 100644 --- a/tests/vpp/func/ip6/eth2p-ethip6-ip6basevrf-func.robot +++ b/tests/vpp/func/ip6/eth2p-ethip6-ip6basevrf-func.robot @@ -12,18 +12,23 @@ # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/shared/default.robot +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/ip/ip6.robot +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO | SKIP_VPP_PATCH +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Vpn routed forwarding - baseline IPv6* | ... | *[Top] Network Topologies:* TG=DUT1=DUT2=TG 3-node topology with two | ... | links in between nodes. @@ -101,11 +106,11 @@ | | ... | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in double-link 3-node circular topology up | | When Setup Env - 2xVRF Each Node -| | Then Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if1} -| | ... | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} +| | Then Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if1} | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} | | ... | ${dut1_to_dut2_ip1} | ${tg_dut1_ip1} | ${timeout} -| | And Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if2} -| | ... | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} +| | And Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if2} | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} | | ... | ${dut1_to_dut2_ip2} | ${tg_dut1_ip2} | ${timeout} | TC03: TG packets routed to DUT2 ingress interface through DUT1, VPP configured with two VRFs @@ -124,11 +129,11 @@ | | ... | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in double-link 3-node circular topology up | | When Setup Env - 2xVRF Each Node -| | Then Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if1} -| | ... | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} +| | Then Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if1} | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} | | ... | ${dut2_to_dut1_ip1} | ${tg_dut1_ip1} | ${timeout} -| | And Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if2} -| | ... | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} +| | And Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if2} | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} | | ... | ${dut2_to_dut1_ip2} | ${tg_dut1_ip2} | ${timeout} | TC04: TG packets routed to DUT2 egress interface through DUT1, VPP configured with two VRFs @@ -147,11 +152,11 @@ | | ... | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in double-link 3-node circular topology up | | When Setup Env - 2xVRF Each Node -| | Then Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if1} -| | ... | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} +| | Then Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if1} | ${dut1_to_tg_if1_mac} | ${tg_to_dut1_if1_mac} | | ... | ${dut2_to_tg_ip1} | ${tg_dut1_ip1} | ${timeout} -| | And Send ICMP echo request and verify answer | ${tg_node} | ${tg_to_dut1_if2} -| | ... | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} +| | And Send ICMP echo request and verify answer | ${tg_node} +| | ... | ${tg_to_dut1_if2} | ${dut1_to_tg_if2_mac} | ${tg_to_dut1_if2_mac} | | ... | ${dut2_to_tg_ip2} | ${tg_dut1_ip2} | ${timeout} | TC05: TG packets routed to TG through DUT1 and DUT2, VPP configured with two VRFs @@ -360,44 +365,44 @@ | | Assign Interface To Fib Table | | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${fib_table_2} | ipv6=${TRUE} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg_if1} | ${dut1_to_tg_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg_if2} | ${dut1_to_tg_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2_if1} | | ... | ${dut1_to_dut2_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2_if2} | | ... | ${dut1_to_dut2_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg_if1} | ${dut2_to_tg_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${dut2_to_tg_ip2} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1_if1} | | ... | ${dut2_to_dut1_ip1} | ${ip_prefix} -| | And Set Interface Address +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1_if2} | | ... | ${dut2_to_dut1_ip2} | ${ip_prefix} -| | And Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if1} | | ... | ${tg_dut1_ip1} | ${tg_to_dut1_if1_mac} -| | And Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if1} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if1} | | ... | ${dut2_to_dut1_ip1} | ${dut2_to_dut1_if1_mac} -| | And Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if1} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if1} | | ... | ${tg_dut2_ip1} | ${tg_to_dut2_if1_mac} -| | And Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if1} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if1} | | ... | ${dut1_to_dut2_ip1} | ${dut1_to_dut2_if1_mac} -| | And Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if2} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg_if2} | | ... | ${tg_dut1_ip2} | ${tg_to_dut1_if2_mac} -| | And Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if2} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2_if2} | | ... | ${dut2_to_dut1_ip2} | ${dut2_to_dut1_if2_mac} -| | And Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if2} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg_if2} | | ... | ${tg_dut2_ip2} | ${tg_to_dut2_if2_mac} -| | And Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if2} +| | And VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1_if2} | | ... | ${dut1_to_dut2_ip2} | ${dut1_to_dut2_if2_mac} | | And Vpp Route Add | ${dut1_node} | ${tg_dut2_ip1} | ${ip_prefix} diff --git a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lisp-l2bdbasemaclrn-func.robot b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lisp-l2bdbasemaclrn-func.robot index 6927dacde4..df1b6c0d02 100644 --- a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lisp-l2bdbasemaclrn-func.robot +++ b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lisp-l2bdbasemaclrn-func.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: @@ -12,18 +12,20 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace | Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.LispUtil | Library | resources.libraries.python.L2Util -| Resource | resources/libraries/robot/shared/traffic.robot +| Library | resources.libraries.python.LispUtil +| Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/overlay/l2lisp.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/overlay/l2lisp.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/l2/l2_ipv6.py | ... @@ -67,14 +69,14 @@ | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip6} | ${prefix6} | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_dut1_ip6} | ${prefix6} | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_to_tg_ip6} | ${prefix6} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} -| | ... | ${tg_to_dut2_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} -| | ... | ${tg_to_dut1_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_dut1_mac} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} | ${dut1_to_dut2_mac} | | And Vpp All RA Suppress Link Layer | ${nodes} | | When Create L2 BD | ${dut1_node} | ${vpp_bd_id} | | And Add Interface To L2 BD | ${dut1_node} | ${dut1_to_tg} | ${vpp_bd_id} diff --git a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-func.robot b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-func.robot index 08fc5c76c6..6f7af24ee0 100644 --- a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-func.robot +++ b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip4base-func.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: @@ -12,14 +12,16 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/traffic.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace +| ... # import additional Lisp settings from resource file | Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py | ... @@ -74,10 +76,10 @@ | | ... | ${dut2_to_tg_ip4o6} | ${tg_prefix4o6} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4o6} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4o6} -| | And Add Arp On Dut | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4o6} -| | ... | ${tg_to_dut2_mac} -| | And Add Arp On Dut | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4o6} -| | ... | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4o6} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4o6} | ${tg_to_dut1_mac} | | And Vpp All RA Suppress Link Layer | ${nodes} | | When Configure LISP topology in 3-node circular topology | | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} diff --git a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-func.robot b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-func.robot index 3bd13b898d..65f53d9b49 100644 --- a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-func.robot +++ b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6base-func.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: @@ -12,19 +12,20 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.IPUtil | Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.IPv6Setup | Library | resources.libraries.python.VPPUtil -| Resource | resources/libraries/robot/shared/traffic.robot +| ... +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lispgpe.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/ipv6_lispgpe_ipv6/ipv6_lispgpe_ipv6.py | ... @@ -66,13 +67,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_dut1_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_to_tg_ip6} | ${prefix6} | | And Add IP Neighbors | | And Vpp All RA Suppress Link Layer | ${nodes} @@ -96,11 +97,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6basevrf-func.robot b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6basevrf-func.robot index c89ab68414..7d8d905eae 100644 --- a/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6basevrf-func.robot +++ b/tests/vpp/func/ip6_tunnels/lisp/eth2p-ethip6lispgpe-ip6basevrf-func.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: @@ -12,19 +12,20 @@ # limitations under the License. *** Settings *** -| Library | resources.libraries.python.topology.Topology +| Library | resources.libraries.python.IPUtil | Library | resources.libraries.python.NodePath +| Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.IPv6Setup | Library | resources.libraries.python.VPPUtil -| Resource | resources/libraries/robot/shared/traffic.robot +| ... +| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot +| Resource | resources/libraries/robot/overlay/lispgpe.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot +| Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot +| ... # Import configuration and test data: | Variables | resources/test_data/lisp/ipv6_lispgpe_ipv6/ipv6_lispgpe_ipv6.py | ... @@ -66,19 +67,19 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Add Fib Table | ${dut1_node} | ${fib_table_1} | ip6=${TRUE} -| | And Add Fib Table | ${dut2_node} | ${fib_table_1} | ip6=${TRUE} +| | And Add Fib Table | ${dut1_node} | ${fib_table_1} | ipv6=${TRUE} +| | And Add Fib Table | ${dut2_node} | ${fib_table_1} | ipv6=${TRUE} | | And Assign Interface To Fib Table | ${dut1_node} | | ... | ${dut1_to_tg} | ${fib_table_1} | ipv6=${TRUE} | | And Assign Interface To Fib Table | ${dut2_node} | | ... | ${dut2_to_tg} | ${fib_table_1} | ipv6=${TRUE} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_dut1_ip6} | ${prefix6} -| | And Vpp Set If IPv6 Addr +| | And VPP Interface Set IP Address | | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_to_tg_ip6} | ${prefix6} | | And Add IP Neighbors | | And Vpp All RA Suppress Link Layer | ${nodes} @@ -103,11 +104,11 @@ | | [Documentation] | | ... | Add IP neighbors to physical interfaces on DUTs. | | ... -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} -| | ... | ${tg_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} -| | ... | ${tg_to_dut2_mac} -| | Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} -| | ... | ${dut2_to_dut1_mac} -| | Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} -| | ... | ${dut1_to_dut2_mac} +| | VPP Add IP Neighbor +| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6} | ${tg_to_dut1_mac} +| | VPP Add IP Neighbor +| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6} | ${tg_to_dut2_mac} +| | VPP Add IP Neighbor | ${dut1_node} +| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6} | ${dut2_to_dut1_mac} +| | VPP Add IP Neighbor | ${dut2_node} +| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip6_tunnels/vxlan/eth2p-ethip6vxlan-l2bdbasemaclrn-func.robot b/tests/vpp/func/ip6_tunnels/vxlan/eth2p-ethip6vxlan-l2bdbasemaclrn-func.robot index 2d9ee14038..114a3e1a92 100644 --- a/tests/vpp/func/ip6_tunnels/vxlan/eth2p-ethip6vxlan-l2bdbasemaclrn-func.robot +++ b/tests/vpp/func/ip6_tunnels/vxlan/eth2p-ethip6vxlan-l2bdbasemaclrn-func.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: @@ -12,16 +12,21 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/overlay/vxlan.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/overlay/vxlan.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPv6Setup +| ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *Bridge-domain with VXLAN test cases - IPv6* | ... | ... | *[Top] Network topologies:* TG-DUT1-DUT2-TG 3-node circular topology @@ -60,21 +65,21 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} -| | ... | ${ip6_prefix} -| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} -| | ... | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} | ${ip6_prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} | | And Vpp All RA Suppress Link Layer | ${nodes} -| | ${dut1s_vxlan}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} -| | | ... | ${ip6_addr1} | ${ip6_addr2} -| | And Add interfaces to L2BD | ${dut1_node} | ${bd_id1} -| | ... | ${dut1_to_tg} | ${dut1s_vxlan} -| | ${dut2s_vxlan}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} -| | | ... | ${ip6_addr2} | ${ip6_addr1} -| | And Add interfaces to L2BD | ${dut2_node} | ${bd_id1} -| | ... | ${dut2_to_tg} | ${dut2s_vxlan} +| | ${dut1s_vxlan}= | When Create VXLAN interface +| | ... | ${dut1_node} | ${vni_1} | ${ip6_addr1} | ${ip6_addr2} +| | And Add interfaces to L2BD +| | ... | ${dut1_node} | ${bd_id1} | ${dut1_to_tg} | ${dut1s_vxlan} +| | ${dut2s_vxlan}= | And Create VXLAN interface +| | ... | ${dut2_node} | ${vni_1} | ${ip6_addr2} | ${ip6_addr1} +| | And Add interfaces to L2BD +| | ... | ${dut2_node} | ${bd_id1} | ${dut2_to_tg} | ${dut2s_vxlan} | | Then Send ICMPv6 bidirectionally and verify received packets | | ... | ${tg_node} | ${tg_to_dut1} | ${tg_to_dut2} | | And Get VXLAN dump | ${dut1_node} diff --git a/tests/vpp/func/ip6_tunnels/vxlan/eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func.robot b/tests/vpp/func/ip6_tunnels/vxlan/eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func.robot index 49df42a63e..8c3dcf43ac 100644 --- a/tests/vpp/func/ip6_tunnels/vxlan/eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func.robot +++ b/tests/vpp/func/ip6_tunnels/vxlan/eth4p-ethip6vxlan-l2bdbasemaclrn-l2shg-func.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: @@ -12,16 +12,21 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/l2/l2_traffic.robot +| Resource | resources/libraries/robot/overlay/vxlan.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/overlay/vxlan.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot | Resource | resources/libraries/robot/vm/qemu.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPv6Setup +| ... | Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *L2BD with SHG combined with VXLAN test cases - IPv6* | ... | ... | *[Top] Network topologies:* TG=DUT1=DUT2=TG 3-node circular topology @@ -67,25 +72,24 @@ | | ... | TG interfaces connected to DUT2 that are isolated by SHG on DUT1. | | ... | [Ref] RFC7348. | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO -| | Given Configure path for 3-node BD-SHG test | ${nodes['TG']} -| | ... | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} +| | Given Configure path for 3-node BD-SHG test +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | | And Set interfaces in 3-node BD-SHG test up -| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} -| | ... | ${ip6_prefix} -| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} -| | ... | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} | ${ip6_prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} | | And Vpp All RA Suppress Link Layer | ${nodes} -| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} -| | | ... | ${ip6_addr1} | ${ip6_addr2} -| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} -| | | ... | ${ip6_addr1} | ${ip6_addr2} -| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} -| | | ... | ${ip6_addr2} | ${ip6_addr1} -| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} -| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface +| | | ... | ${dut1_node} | ${vni_1} | ${ip6_addr1} | ${ip6_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface +| | | ... | ${dut1_node} | ${vni_2} | ${ip6_addr1} | ${ip6_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface +| | | ... | ${dut2_node} | ${vni_1} | ${ip6_addr2} | ${ip6_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface +| | | ... | ${dut2_node} | ${vni_2} | ${ip6_addr2} | ${ip6_addr1} | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up | | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up @@ -93,40 +97,35 @@ | | And Vpp Node Interfaces Ready Wait | ${dut1_node} | | And Vpp Node Interfaces Ready Wait | ${dut2_node} | | And Create bridge domain | ${dut1_node} | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan1} -| | ... | ${bd_id1} | ${shg1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan2} -| | ... | ${bd_id1} | ${shg1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1_to_tg_if1} | ${bd_id1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1_to_tg_if2} | ${bd_id1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1s_vxlan1} | ${bd_id1} | ${shg1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1s_vxlan2} | ${bd_id1} | ${shg1} | | And Create bridge domain | ${dut2_node} | ${bd_id2} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} -| | ... | ${bd_id2} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan1} -| | ... | ${bd_id2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2_to_tg_if1} | ${bd_id2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2s_vxlan1} | ${bd_id2} | | And Create bridge domain | ${dut2_node} | ${bd_id3} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} -| | ... | ${bd_id3} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan2} -| | ... | ${bd_id3} -| | Then Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if1} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if2} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if1} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${bd_id3} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2s_vxlan2} | ${bd_id3} +| | Then Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if1} | ${tg_to_dut2_if1} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if1} | ${tg_to_dut2_if2} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if2} | ${tg_to_dut2_if1} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if2} | ${tg_to_dut2_if2} | | And Run Keyword And Expect Error | ICMP echo Rx timeout -| | ... | Send ICMPv6 bidirectionally and verify received packets -| | | ... | ${tg_node} | ${tg_to_dut2_if1} -| | | ... | ${tg_to_dut2_if2} +| | ... | Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut2_if1} | ${tg_to_dut2_if2} | TC02: DUT1 and DUT2 with L2BD and VXLANoIPv6 tunnels in different SHGs switch ICMPv6 between TG links | | [Documentation] @@ -141,25 +140,24 @@ | | ... | to be switched by DUT1 and DUT2; verify packets are switched between | | ... | all TG interfaces. [Ref] RFC7348. | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO -| | Given Configure path for 3-node BD-SHG test | ${nodes['TG']} -| | ... | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} +| | Given Configure path for 3-node BD-SHG test +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | | And Set interfaces in 3-node BD-SHG test up -| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} -| | ... | ${ip6_prefix} -| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} -| | ... | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} | ${ip6_prefix} +| | And VPP Interface Set IP Address +| | ... | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} | ${ip6_prefix} | | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} | | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} | | And Vpp All RA Suppress Link Layer | ${nodes} -| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} -| | | ... | ${ip6_addr1} | ${ip6_addr2} -| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} -| | | ... | ${ip6_addr1} | ${ip6_addr2} -| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} -| | | ... | ${ip6_addr2} | ${ip6_addr1} -| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} -| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface +| | ... | ${dut1_node} | ${vni_1} | ${ip6_addr1} | ${ip6_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface +| | ... | ${dut1_node} | ${vni_2} | ${ip6_addr1} | ${ip6_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface +| | ... | ${dut2_node} | ${vni_1} | ${ip6_addr2} | ${ip6_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface +| | | ... | ${dut2_node} | ${vni_2} | ${ip6_addr2} | ${ip6_addr1} | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up | | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up | | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up @@ -167,36 +165,31 @@ | | And Vpp Node Interfaces Ready Wait | ${dut1_node} | | And Vpp Node Interfaces Ready Wait | ${dut2_node} | | And Create bridge domain | ${dut1_node} | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} -| | ... | ${bd_id1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan1} -| | ... | ${bd_id1} | ${shg1} -| | And Add interface to bridge domain | ${dut1_node} | ${dut1s_vxlan2} -| | ... | ${bd_id1} | ${shg2} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1_to_tg_if1} | ${bd_id1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1_to_tg_if2} | ${bd_id1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1s_vxlan1} | ${bd_id1} | ${shg1} +| | And Add interface to bridge domain +| | ... | ${dut1_node} | ${dut1s_vxlan2} | ${bd_id1} | ${shg2} | | And Create bridge domain | ${dut2_node} | ${bd_id2} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} -| | ... | ${bd_id2} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan1} -| | ... | ${bd_id2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2_to_tg_if1} | ${bd_id2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2s_vxlan1} | ${bd_id2} | | And Create bridge domain | ${dut2_node} | ${bd_id3} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} -| | ... | ${bd_id3} -| | And Add interface to bridge domain | ${dut2_node} | ${dut2s_vxlan2} -| | ... | ${bd_id3} -| | Then Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if1} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if1} -| | ... | ${tg_to_dut2_if2} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if1} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut1_if2} -| | ... | ${tg_to_dut2_if2} -| | And Send ICMPv6 bidirectionally and verify received packets | ${tg_node} -| | ... | ${tg_to_dut2_if1} -| | ... | ${tg_to_dut2_if2} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2_to_tg_if2} | ${bd_id3} +| | And Add interface to bridge domain +| | ... | ${dut2_node} | ${dut2s_vxlan2} | ${bd_id3} +| | Then Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if1} | ${tg_to_dut2_if1} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if1} | ${tg_to_dut2_if2} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if2} | ${tg_to_dut2_if1} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut1_if2} | ${tg_to_dut2_if2} +| | And Send ICMPv6 bidirectionally and verify received packets +| | ... | ${tg_node} | ${tg_to_dut2_if1} | ${tg_to_dut2_if2} diff --git a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixbase-func.robot b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixbase-func.robot index a736a26712..27b254bc11 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixbase-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixbase-func.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: @@ -12,18 +12,22 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.telemetry.IPFIXSetup +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/telemetry/ipfix.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.telemetry.IPFIXSetup -| Library | resources.libraries.python.Trace - +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPFIX ipv4 test cases* | ... | ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with @@ -52,9 +56,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | src @@ -82,9 +86,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | src @@ -112,9 +116,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | dst @@ -143,12 +147,12 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip} -| | ... | ${dut2_to_dut1_mac} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} +| | ... | ${dut2_to_dut1_ip} | ${dut2_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | dst | | And VPP configures classify session L3 | ${dut1_node} | permit @@ -176,9 +180,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} diff --git a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixscale-func.robot b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixscale-func.robot index 99eb418522..41f86b4a36 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixscale-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-ip4ipfixscale-func.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: @@ -12,19 +12,23 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.telemetry.IPFIXSetup +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/telemetry/ipfix.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.telemetry.IPFIXSetup -| Library | resources.libraries.python.Trace - +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH -| ... | EXPECTED_FAILING +| ... | EXPECTED_FAILING +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPFIX ipv4 test cases* | ... | ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with @@ -52,9 +56,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | src @@ -84,9 +88,9 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} diff --git a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-spanrx-func.robot b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-spanrx-func.robot index 37e5b04662..d3cf5636fd 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-spanrx-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip4-ip4base-spanrx-func.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: @@ -12,16 +12,20 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.Trace +| Library | resources.libraries.python.telemetry.SPAN +| ... | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/telemetry/span.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPv4Util -| Library | resources.libraries.python.IPv4Setup -| Library | resources.libraries.python.telemetry.SPAN +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *SPAN test suite* | ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two | ... | links between nodes. @@ -46,10 +50,10 @@ | | ... | [Ver] Make TG send an ARP packet to DUT through one interface,\ | | ... | then receive a copy of sent packet and of DUT's ARP reply\ | | ... | on the second interface. -| | Given Configure path in 2-node circular topology | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['TG']} +| | Given Configure path in 2-node circular topology | ${nodes['TG']} +| | ... | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Set interface Address | ${dut_node} | ${dut_to_tg_if1} +| | And VPP Interface Set IP Address | ${dut_node} | ${dut_to_tg_if1} | | ... | ${dut_to_tg_if1_ip4} | ${prefix} | | And Set SPAN Mirroring | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2} | | Then Send Packet And Check Received Copies | ${tg_node} @@ -65,13 +69,13 @@ | | ... | [Ver] Make TG send an ICMP packet to DUT through one interface,\ | | ... | then receive a copy of sent packet and of DUT's ICMP reply\ | | ... | on the other interface. -| | Given Configure path in 2-node circular topology | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['TG']} +| | Given Configure path in 2-node circular topology | ${nodes['TG']} +| | ... | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Set interface Address | ${dut_node} | ${dut_to_tg_if1} +| | And VPP Interface Set IP Address | ${dut_node} | ${dut_to_tg_if1} | | ... | ${dut_to_tg_if1_ip4} | ${prefix} -| | And Add ARP on DUT | ${dut_node} | ${dut_to_tg_if1} | ${tg_to_dut_if1_ip4} -| | ... | ${tg_to_dut_if1_mac} +| | And VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} +| | ... | ${tg_to_dut_if1_ip4} | ${tg_to_dut_if1_mac} | | And Set SPAN Mirroring | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2} | | Then Send Packet And Check Received Copies | ${tg_node} | | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} diff --git a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixbase-func.robot b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixbase-func.robot index 5580ce8e68..ccf8526fe7 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixbase-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixbase-func.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: @@ -12,19 +12,23 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.IPv6Util +| Library | resources.libraries.python.telemetry.IPFIXSetup +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/telemetry/ipfix.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.telemetry.IPFIXSetup -| Library | resources.libraries.python.IPv6Setup -| Library | resources.libraries.python.Trace - +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPFIX ipv6 test cases* | ... | ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with @@ -58,13 +62,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= @@ -93,13 +97,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= @@ -129,16 +133,16 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip} -| | ... | ${dut2_to_dut1_mac} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} +| | ... | ${dut2_to_dut1_ip} | ${dut2_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= | | ... | And VPP creates classify table L3 | ${dut1_node} | ${ip_version} | dst @@ -168,13 +172,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= diff --git a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixscale-func.robot b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixscale-func.robot index cda900a144..d8b0444549 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixscale-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-ip6ipfixscale-func.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: @@ -12,20 +12,23 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.Classify.Classify +| Library | resources.libraries.python.telemetry.IPFIXSetup +| Library | resources.libraries.python.Trace +| ... +| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/interfaces.robot | Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/ip/ip4.robot | Resource | resources/libraries/robot/telemetry/ipfix.robot -| Library | resources.libraries.python.Classify.Classify -| Library | resources.libraries.python.telemetry.IPFIXSetup -| Library | resources.libraries.python.IPv6Setup -| Library | resources.libraries.python.Trace - +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_SINGLE_LINK_TOPO | SKIP_VPP_PATCH -| ... | EXPECTED_FAILING +| ... | EXPECTED_FAILING +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *IPFIX ipv6 test cases* | ... | ... | IPFIX tests use 3-node topology TG - DUT1 - DUT2 - TG with @@ -57,13 +60,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= @@ -94,13 +97,13 @@ | | Given Configure path in 3-node circular topology | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} | | And Set interfaces in 3-node circular topology up -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | And Set Interface Address | ${dut1_node} +| | And VPP Interface Set IP Address | ${dut1_node} | | ... | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${24} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip4} | | ... | ${tg_to_dut1_mac} -| | And Add ARP on DUT | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} +| | And VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_to_dut1_ip} | | ... | ${tg_to_dut1_mac} | | And VPP RA suppress link layer | ${dut1_node} | ${dut1_to_tg} | | ${table_index} | ${skip_n} | ${match_n}= diff --git a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-spanrx-func.robot b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-spanrx-func.robot index 6985ea88b1..4e7b452338 100644 --- a/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-spanrx-func.robot +++ b/tests/vpp/func/telemetry/eth2p-ethip6-ip6base-spanrx-func.robot @@ -12,17 +12,21 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.IPUtil +| Library | resources.libraries.python.IPv6Util +| Library | resources.libraries.python.telemetry.SPAN +| Library | resources.libraries.python.Trace +| ... | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/telemetry/span.robot -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.IPv6Util -| Library | resources.libraries.python.IPv6Setup -| Library | resources.libraries.python.Routing -| Library | resources.libraries.python.telemetry.SPAN +| ... | Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO +| ... | Test Setup | Set up functional test +| ... | Test Teardown | Tear down functional test +| ... | Documentation | *SPAN test suite* | ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two | ... | links between nodes. @@ -47,18 +51,18 @@ | | ... | [Ver] Make TG send an ICMP packet to DUT through one interface,\ | | ... | then receive a copy of sent packet and of DUT's ICMP reply\ | | ... | on the other interface. -| | Given Configure path in 2-node circular topology | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['TG']} +| | Given Configure path in 2-node circular topology +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} | | And Set interfaces in 2-node circular topology up -| | And Vpp Ra Suppress Link Layer | ${dut_node} | ${dut_to_tg_if1} -| | And Vpp Set If Ipv6 Addr | ${dut_node} | ${dut_to_tg_if1} -| | ... | ${dut_to_tg_if1_ip6} | ${prefix} -| | And Add Ip Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${tg_to_dut_if1_ip6} -| | ... | ${tg_to_dut_if1_mac} +| | And VPP Interface Set IP Address +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip6} | ${prefix} +| | And VPP Add IP Neighbor | ${dut_node} +| | ... | ${dut_to_tg_if1} | ${tg_to_dut_if1_ip6} | ${tg_to_dut_if1_mac} | | And Vpp Route Add | ${dut_node} | ${tg_to_dut_if1_ip6} | ${prefix} | | ... | gateway=${dut_to_tg_if1_ip6} | interface=${dut_to_tg_if1} +| | And Vpp Ra Suppress Link Layer | ${dut_node} | ${dut_to_tg_if1} | | And Set SPAN Mirroring | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if2} -| | Then Send Packet And Check Received Copies | ${tg_node} -| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} +| | Then Send Packet And Check Received Copies +| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | | ... | ${dut_to_tg__if1_mac} | ${tg_to_dut_if2} | | ... | ${tg_to_dut_if1_ip6} | ${dut_to_tg_if1_ip6} | ICMPv6 |