aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot
diff options
context:
space:
mode:
authorJan Gelety <jgelety@cisco.com>2019-05-30 16:13:25 +0200
committerJan Gelety <jgelety@cisco.com>2019-06-18 21:07:12 +0200
commit0e28406b43bf4ce145f1530f15dbb00957edf945 (patch)
treeb9f76fe6f1b92165962a82cb4bf850f0cf4c491d /resources/libraries/robot
parent92fbe3b8d880f9a3dd63e1309d76772b1685a037 (diff)
CSIT-1459: Migrate IP libraries from VAT to PAPI
Change-Id: Id84cf9c3afd53260b5bbf658a6a3870aa0c91333 Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r--resources/libraries/robot/crypto/ipsec.robot32
-rw-r--r--resources/libraries/robot/features/policer.robot55
-rw-r--r--resources/libraries/robot/honeycomb/interfaces.robot8
-rw-r--r--resources/libraries/robot/honeycomb/persistence.robot3
-rw-r--r--resources/libraries/robot/honeycomb/port_mirroring.robot3
-rw-r--r--resources/libraries/robot/honeycomb/sub_interface.robot1
-rw-r--r--resources/libraries/robot/ip/ip4.robot118
-rw-r--r--resources/libraries/robot/ip/ip6.robot233
-rw-r--r--resources/libraries/robot/overlay/lisp_static_adjacency.robot156
-rw-r--r--resources/libraries/robot/overlay/vxlan.robot27
-rw-r--r--resources/libraries/robot/performance/performance_configuration.robot356
-rw-r--r--resources/libraries/robot/shared/traffic.robot9
-rw-r--r--resources/libraries/robot/tcp/tcp_setup.robot21
13 files changed, 387 insertions, 635 deletions
diff --git a/resources/libraries/robot/crypto/ipsec.robot b/resources/libraries/robot/crypto/ipsec.robot
index 5c0fc863a6..b571fcd6ca 100644
--- a/resources/libraries/robot/crypto/ipsec.robot
+++ b/resources/libraries/robot/crypto/ipsec.robot
@@ -12,19 +12,17 @@
# limitations under the License.
*** Settings ***
-| Resource | resources/libraries/robot/shared/default.robot
+| Library | String
+| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPsecUtil
+| Library | resources.libraries.python.IPUtil
+| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.NodePath
| Library | resources.libraries.python.TrafficScriptExecutor
-| Library | resources.libraries.python.IPv4Util.IPv4Util
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.Routing
-| Library | String
-| Library | resources.libraries.python.IPv6Util
-| Library | resources.libraries.python.IPv6Setup
-| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']}
-| ... | WITH NAME | dut1_v4
-| Documentation | *IPsec keywords.*
+| ...
+| Resource | resources/libraries/robot/shared/default.robot
+| ...
+| Documentation | IPsec keywords
*** Keywords ***
| Generate keys for IPSec
@@ -94,11 +92,11 @@
| | ... | *Example:*
| | ... | \| Configure topology for IPv4 IPsec testing \|
| | Configure path for IPSec test
-| | Set Interface Address | ${dut_node} | ${dut_if} | ${dut_if_ip4}
+| | VPP Interface Set IP Address | ${dut_node} | ${dut_if} | ${dut_if_ip4}
| | ... | ${ip4_plen}
-| | Set Interface Address | ${dut_node} | ${dut_lo} | ${dut_lo_ip4}
+| | VPP Interface Set IP Address | ${dut_node} | ${dut_lo} | ${dut_lo_ip4}
| | ... | ${ip4_plen}
-| | dut1_v4.Set Arp | ${dut_if} | ${tg_if_ip4} | ${tg_if_mac}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_if} | ${tg_if_ip4} | ${tg_if_mac}
| | Vpp Route Add | ${dut_node} | ${tg_lo_ip4} | ${ip4_plen}
| | ... | gateway=${tg_if_ip4} | interface=${dut_if}
| | Set Test Variable | ${dut_tun_ip} | ${dut_if_ip4}
@@ -118,9 +116,11 @@
| | ... | *Example:*
| | ... | \| Configure topology for IPv6 IPsec testing \|
| | Configure path for IPSec test
-| | VPP Set If IPv6 Addr | ${dut_node} | ${dut_if} | ${dut_if_ip6} | ${ip6_plen}
-| | VPP Set If IPv6 Addr | ${dut_node} | ${dut_lo} | ${dut_lo_ip6} | ${ip6_plen}
-| | Add IP Neighbor | ${dut_node} | ${dut_if} | ${tg_if_ip6} | ${tg_if_mac}
+| | VPP Interface Set IP Address
+| | ... | ${dut_node} | ${dut_if} | ${dut_if_ip6} | ${ip6_plen}
+| | VPP Interface Set IP Address
+| | ... | ${dut_node} | ${dut_lo} | ${dut_lo_ip6} | ${ip6_plen}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_if} | ${tg_if_ip6} | ${tg_if_mac}
| | Vpp All RA Suppress Link Layer | ${nodes}
| | Vpp Route Add | ${dut_node} | ${tg_lo_ip6} | ${ip6_plen_rt}
| | ... | gateway=${tg_if_ip6} | interface=${dut_if}
diff --git a/resources/libraries/robot/features/policer.robot b/resources/libraries/robot/features/policer.robot
index 321488b8c5..8fdfa39d18 100644
--- a/resources/libraries/robot/features/policer.robot
+++ b/resources/libraries/robot/features/policer.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,17 +12,16 @@
# limitations under the License.
*** Settings ***
-| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/testing_path.robot
-| Library | resources.libraries.python.Policer
| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.IPv4Util
-| Library | resources.libraries.python.TrafficScriptExecutor
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.IPv6Util
-| Library | resources.libraries.python.IPv6Setup
-| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']}
-| ... | WITH NAME | dut1_v4
-| Documentation | *Policer keywords*
+| Library | resources.libraries.python.Policer
+| Library | resources.libraries.python.TrafficScriptExecutor
+| ...
+| Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/shared/testing_path.robot
+| ...
+| Documentation | Policer keywords
*** Keywords ***
| Configure topology for IPv4 policer test
@@ -33,15 +32,15 @@
| | ... | - dut_to_tg_if2_ip - DUT second interface IP address. Type: string
| | ... | - tg_to_dut_if1_ip - TG first interface IP address. Type: string
| | ... | - tg_to_dut_if2_ip - TG second interface IP address. Type: string
-| | Configure path in 2-node circular topology | ${nodes['TG']} | ${nodes['DUT1']}
-| | ... | ${nodes['TG']}
+| | Configure path in 2-node circular topology | ${nodes['TG']}
+| | ... | ${nodes['DUT1']} | ${nodes['TG']}
| | Set interfaces in 2-node circular topology up
-| | Set Interface Address | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${dut_to_tg_if1_ip4} | ${ip4_plen}
-| | Set Interface Address | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${dut_to_tg_if2_ip4} | ${ip4_plen}
-| | dut1_v4.Set ARP | ${dut_to_tg_if2} | ${tg_to_dut_if2_ip4}
-| | ... | ${tg_to_dut_if2_mac}
+| | VPP Interface Set IP Address | ${dut_node} | ${dut_to_tg_if1}
+| | ... | ${dut_to_tg_if1_ip4} | ${ip4_plen}
+| | VPP Interface Set IP Address | ${dut_node} | ${dut_to_tg_if2}
+| | ... | ${dut_to_tg_if2_ip4} | ${ip4_plen}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${tg_to_dut_if2_ip4}
+| | ... | ${tg_to_dut_if2_mac}
| | Set Test Variable | ${dut_to_tg_if1_ip} | ${dut_to_tg_if1_ip4}
| | Set Test Variable | ${dut_to_tg_if2_ip} | ${dut_to_tg_if2_ip4}
| | Set Test Variable | ${tg_to_dut_if1_ip} | ${tg_to_dut_if1_ip4}
@@ -55,15 +54,15 @@
| | ... | - dut_to_tg_if2_ip - DUT second interface IP address. Type: string
| | ... | - tg_to_dut_if1_ip - TG first interface IP address. Type: string
| | ... | - tg_to_dut_if2_ip - TG second interface IP address. Type: string
-| | Configure path in 2-node circular topology | ${nodes['TG']} | ${nodes['DUT1']}
-| | ... | ${nodes['TG']}
+| | Configure path in 2-node circular topology | ${nodes['TG']}
+| | ... | ${nodes['DUT1']} | ${nodes['TG']}
| | Set interfaces in 2-node circular topology up
-| | Vpp Set If IPv6 Addr | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${dut_to_tg_if1_ip6} | ${ip6_plen}
-| | Vpp Set If IPv6 Addr | ${dut_node} | ${dut_to_tg_if2}
-| | ... | ${dut_to_tg_if2_ip6} | ${ip6_plen}
-| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${tg_to_dut_if2_ip6}
-| | ... | ${tg_to_dut_if2_mac}
+| | VPP Interface Set IP Address
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip6} | ${ip6_plen}
+| | VPP Interface Set IP Address
+| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_to_tg_if2_ip6} | ${ip6_plen}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${tg_to_dut_if2_ip6}
+| | ... | ${tg_to_dut_if2_mac}
| | Vpp All RA Suppress Link Layer | ${nodes}
| | Set Test Variable | ${dut_to_tg_if1_ip} | ${dut_to_tg_if1_ip6}
| | Set Test Variable | ${dut_to_tg_if2_ip} | ${dut_to_tg_if2_ip6}
@@ -89,11 +88,11 @@
| | ... | \| 08:00:27:87:4d:f7 \| 52:54:00:d4:d8:22 \| 192.168.122.2 \
| | ... | \| 192.168.122.1 \| ${dscp} \|
| | [Arguments] | ${node} | ${tx_if} | ${rx_if} | ${src_mac} | ${dst_mac}
-| | ... | ${src_ip} | ${dst_ip} | ${dscp}
+| | ... | ${src_ip} | ${dst_ip} | ${dscp}
| | ${tx_if_name}= | Get Interface Name | ${node} | ${tx_if}
| | ${rx_if_name}= | Get Interface Name | ${node} | ${rx_if}
| | ${args}= | Traffic Script Gen Arg | ${rx_if_name} | ${tx_if_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
+| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
| | ${dscp_num}= | Get DSCP Num Value | ${dscp}
| | ${args}= | Set Variable | ${args} --dscp ${dscp_num}
| | Run Traffic Script On Node | policer.py | ${node} | ${args}
diff --git a/resources/libraries/robot/honeycomb/interfaces.robot b/resources/libraries/robot/honeycomb/interfaces.robot
index 7159124242..06428c0c96 100644
--- a/resources/libraries/robot/honeycomb/interfaces.robot
+++ b/resources/libraries/robot/honeycomb/interfaces.robot
@@ -14,7 +14,7 @@
*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
-| Library | resources.libraries.python.IPv4Util
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.TrafficScriptExecutor
*** Keywords ***
@@ -401,13 +401,13 @@
| | ...
| | ... | \| IPv6 address from VAT should contain \| ${nodes['DUT1']} \
| | ... | \| GigabitEthernet0/8/0 \| 10::10 \| 64 \|
-| | [Arguments] | ${node} | ${interface} | ${address} | ${prefix}
+| | [Arguments] | ${node} | ${interface} | ${address} | ${prefix} | ${netmask}
| | ${sw_if_index}= | Vpp Get Interface Sw Index | ${node} | ${interface}
| | ${vpp_data}= | VPP get interface ip addresses
| | ... | ${node} | ${interface} | ipv6
| | ${settings}= | Create Dictionary
-| | ... | ip=${address} | sw_if_index=${sw_if_index} | prefix_length=${prefix}
-| | ... | is_ipv6=${1}
+| | ... | ip=${address} | netmask=${netmask} | sw_if_index=${sw_if_index}
+| | ... | prefix_length=${prefix} | is_ipv6=${1}
| | Should contain | ${vpp_data} | ${settings}
| Honeycomb removes interface IPv6 addresses
diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot
index 01336f3a48..bc2b167f28 100644
--- a/resources/libraries/robot/honeycomb/persistence.robot
+++ b/resources/libraries/robot/honeycomb/persistence.robot
@@ -281,7 +281,8 @@
| | IPv6 address from Honeycomb should contain
| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
| | IPv6 address from VAT should contain
-| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
+| | ... | ${node} | ${interface} | ${ipv6_address}
+| | ... | ${ipv6_prefix} | ${ipv6_mask}
| | IPv6 neighbor from Honeycomb should be
| | ... | ${node} | ${interface} | ${ipv6_neighbor} | ${neighbor_mac}
diff --git a/resources/libraries/robot/honeycomb/port_mirroring.robot b/resources/libraries/robot/honeycomb/port_mirroring.robot
index 1ce233f57d..5ae0c46ae1 100644
--- a/resources/libraries/robot/honeycomb/port_mirroring.robot
+++ b/resources/libraries/robot/honeycomb/port_mirroring.robot
@@ -15,8 +15,7 @@
| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
| Library | resources.libraries.python.telemetry.SPAN
| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.IPv4Util
-| Library | resources.libraries.python.IPv4Setup
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
*** Keywords ***
diff --git a/resources/libraries/robot/honeycomb/sub_interface.robot b/resources/libraries/robot/honeycomb/sub_interface.robot
index 6e60b23c37..8bb95f51b8 100644
--- a/resources/libraries/robot/honeycomb/sub_interface.robot
+++ b/resources/libraries/robot/honeycomb/sub_interface.robot
@@ -13,6 +13,7 @@
*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.L2Util
| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
| Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
diff --git a/resources/libraries/robot/ip/ip4.robot b/resources/libraries/robot/ip/ip4.robot
index bb0ae5be4c..1307eb89a9 100644
--- a/resources/libraries/robot/ip/ip4.robot
+++ b/resources/libraries/robot/ip/ip4.robot
@@ -13,33 +13,17 @@
*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.IPv4Util.IPv4Util
-| Library | resources.libraries.python.IPv4Setup.IPv4Setup
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.Routing
| Library | resources.libraries.python.TrafficScriptExecutor
+| ...
| Resource | resources/libraries/robot/shared/counters.robot
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/shared/testing_path.robot
-| Variables | resources/libraries/python/IPv4NodeAddress.py | ${nodes}
| ...
| Documentation | IPv4 keywords
*** Keywords ***
-| Show IP FIB On All DUTs
-| | [Documentation] | Show IP FIB on all DUTs.
-| | ...
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | VPP Show IP Table | ${nodes['${dut}']}
-
-| Configure IPv4 addresses on all DUTs
-| | [Documentation] | Setup IPv4 address on all DUTs in topology
-| | [Arguments] | ${nodes} | ${nodes_addr}
-| | ${interfaces}= | VPP nodes set ipv4 addresses | ${nodes} | ${nodes_addr}
-| | :FOR | ${interface} | IN | @{interfaces}
-| | | Set Interface State | @{interface} | up | if_type=name
-
| Get interface Ipv4 addresses
| | [Documentation] | Get IPv4 address for the given interface of the node.
| | ...
@@ -54,88 +38,8 @@
| | ${ip_data}= | VPP get interface ip addresses
| | ... | ${node} | ${interface} | ipv4
-| Configure routes for IPv4 test
-| | [Documentation] | Setup routing on all VPP nodes required for IPv4 tests
-| | [Arguments] | ${nodes} | ${nodes_addr}
-| | Append Nodes | ${nodes['DUT1']} | ${nodes['DUT2']}
-| | Compute Path
-| | ${tg}= | Set Variable | ${nodes['TG']}
-| | ${dut1_if} | ${dut1}= | First Interface
-| | ${dut2_if} | ${dut2}= | Last Interface
-| | ${dut1_if_addr}= | Get IPv4 address of node "${dut1}" interface "${dut1_if}" from "${nodes_addr}"
-| | ${dut2_if_addr}= | Get IPv4 address of node "${dut2}" interface "${dut2_if}" from "${nodes_addr}"
-| | @{tg_dut1_links}= | Get active links connecting "${tg}" and "${dut1}"
-| | @{tg_dut2_links}= | Get active links connecting "${tg}" and "${dut2}"
-| | :FOR | ${link} | IN | @{tg_dut1_links}
-| | | ${net}= | Get Link Address | ${link} | ${nodes_addr}
-| | | ${prefix}= | Get Link Prefix | ${link} | ${nodes_addr}
-| | | Vpp Route Add | ${dut2} | ${net} | ${prefix}
-| | | ... | gateway=${dut1_if_addr} | interface=${dut2_if}
-| | :FOR | ${link} | IN | @{tg_dut2_links}
-| | | ${net}= | Get Link Address | ${link} | ${nodes_addr}
-| | | ${prefix}= | Get Link Prefix | ${link} | ${nodes_addr}
-| | | Vpp Route Add | ${dut1} | ${net} | ${prefix}
-| | | ... | gateway=${dut2_if_addr} | interface=${dut1_if}
-
-| Configure DUT nodes for IPv4 testing
-| | Configure IPv4 addresses on all DUTs | ${nodes} | ${nodes_ipv4_addr}
-| | Setup ARP on all DUTs | ${nodes} | ${nodes_ipv4_addr}
-| | Configure routes for IPv4 test | ${nodes} | ${nodes_ipv4_addr}
-| | All Vpp Interfaces Ready Wait | ${nodes}
-
-| Route traffic from interface '${from_port}' on node '${from_node}' to interface '${to_port}' on node '${to_node}' '${hops}' hops away using IPv4
-| | ${src_ip}= | Get IPv4 address of node "${from_node}" interface "${from_port}" from "${nodes_ipv4_addr}"
-| | ${dst_ip}= | Get IPv4 address of node "${to_node}" interface "${to_port}" from "${nodes_ipv4_addr}"
-| | ${src_mac}= | Get interface mac | ${from_node} | ${from_port}
-| | ${dst_mac}= | Get interface mac | ${to_node} | ${to_port}
-| | ${is_dst_tg}= | Is TG node | ${to_node}
-| | ${adj_node} | ${adj_int}= | Get adjacent node and interface | ${nodes}
-| | ... | ${from_node} | ${from_port}
-| | ${from_port_name}= | Get interface name | ${from_node} | ${from_port}
-| | ${to_port_name}= | Get interface name | ${to_node} | ${to_port}
-| | ${adj_int_mac}= | Get interface MAC | ${adj_node} | ${adj_int}
-| | ${args}= | Traffic Script Gen Arg | ${to_port_name} | ${from_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | ${args}= | Catenate | ${args} | --hops ${hops}
-| | ... | --first_hop_mac ${adj_int_mac} | --is_dst_tg ${is_dst_tg}
-| | Run Traffic Script On Node | ipv4_ping_ttl_check.py | ${from_node} | ${args}
-
-| Execute IPv4 ICMP echo sweep
-| | [Documentation] | Type of the src_node must be TG and dst_node must be DUT
-| | [Arguments] | ${src_node} | ${dst_node} | ${start_size} | ${end_size}
-| | ... | ${step}
-| | Append Nodes | ${src_node} | ${dst_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${src_ip}= | Get IPv4 address of node "${src_node}" interface "${src_port}" from "${nodes_ipv4_addr}"
-| | ${dst_ip}= | Get IPv4 address of node "${dst_node}" interface "${dst_port}" from "${nodes_ipv4_addr}"
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | ${args}= | Catenate | ${args} | --start_size ${start_size}
-| | ... | --end_size ${end_size} | --step ${step}
-| | Run Traffic Script On Node | ipv4_sweep_ping.py | ${src_node} | ${args}
-| | ... | timeout=${180}
-
-| Send ARP request and verify response
-| | [Arguments] | ${tg_node} | ${vpp_node}
-| | ${link_name}= | Get first active connecting link between node "${tg_node}" and "${vpp_node}"
-| | ${src_if}= | Get interface by link name | ${tg_node} | ${link_name}
-| | ${dst_if}= | Get interface by link name | ${vpp_node} | ${link_name}
-| | ${src_ip}= | Get IPv4 address of node "${tg_node}" interface "${src_if}" from "${nodes_ipv4_addr}"
-| | ${dst_ip}= | Get IPv4 address of node "${vpp_node}" interface "${dst_if}" from "${nodes_ipv4_addr}"
-| | ${src_mac}= | Get node link mac | ${tg_node} | ${link_name}
-| | ${dst_mac}= | Get node link mac | ${vpp_node} | ${link_name}
-| | ${src_if_name}= | Get interface name | ${tg_node} | ${src_if}
-| | ${args}= | Traffic Script Gen Arg | ${src_if_name} | ${src_if_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | arp_request.py | ${tg_node} | ${args}
-
| Configure IP addresses on interfaces
-| | [Documentation] | Iterates through @{args} list and Set Interface Address
+| | [Documentation] | Iterates through @{args} list and set interface IP address
| | ... | for every (${dut_node}, ${interface}, ${address},
| | ... | ${prefix}) tuple.
| | ...
@@ -154,8 +58,8 @@
| | ...
| | [Arguments] | @{args}
| | :FOR | ${dut_node} | ${interface} | ${address} | ${prefix} | IN | @{args}
-| | | Set Interface Address | ${dut_node} | ${interface} | ${address}
-| | | ... | ${prefix}
+| | | VPP Interface Set IP Address
+| | | ... | ${dut_node} | ${interface} | ${address} | ${prefix}
| Send ICMP echo request and verify answer
| | [Documentation] | Run traffic script that waits for ICMP reply and ignores
@@ -287,9 +191,9 @@
| | ...
| | ${dut_tg_ip4_prefix}= | Set Variable | 24
| | ...
-| | Add arp on dut | ${dut_node} | ${dut_to_tg_if1} | ${tg_if1_ip4}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${tg_if1_ip4}
| | ... | ${tg_to_dut_if1_mac}
-| | Add arp on dut | ${dut_node} | ${dut_to_tg_if2} | ${tg_if2_ip4}
+| | VPP Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${tg_if2_ip4}
| | ... | ${tg_to_dut_if2_mac}
| | ...
| | Configure IP addresses on interfaces | ${dut_node} | ${dut_to_tg_if1}
@@ -347,13 +251,13 @@
| | ${dut_tg_ip4_prefix}= | Set Variable | 24
| | ${dut_link_ip4_prefix}= | Set Variable | 30
| | ...
-| | Add arp on dut | ${dut1_node} | ${dut1_to_tg} | ${tg_if1_ip4}
+| | VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_if1_ip4}
| | ... | ${tg_to_dut1_mac}
-| | Add arp on dut | ${dut1_node} | ${dut1_to_dut2} | ${dut2_if1_ip4}
+| | VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_if1_ip4}
| | ... | ${dut2_to_dut1_mac}
-| | Add arp on dut | ${dut2_node} | ${dut2_to_dut1} | ${dut1_if2_ip4}
+| | VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_if2_ip4}
| | ... | ${dut1_to_dut2_mac}
-| | Add arp on dut | ${dut2_node} | ${dut2_to_tg} | ${tg_if2_ip4}
+| | VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg_if2_ip4}
| | ... | ${tg_to_dut2_mac}
| | ...
| | Configure IP addresses on interfaces | ${dut1_node} | ${dut1_to_tg}
diff --git a/resources/libraries/robot/ip/ip6.robot b/resources/libraries/robot/ip/ip6.robot
index 6ef781f07e..8de302197e 100644
--- a/resources/libraries/robot/ip/ip6.robot
+++ b/resources/libraries/robot/ip/ip6.robot
@@ -13,12 +13,12 @@
*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.IPv6Util
-| Library | resources.libraries.python.IPv6Setup
| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.Routing
| Library | resources.libraries.python.topology.Topology
| Library | resources.libraries.python.TrafficScriptExecutor
+| ...
| Resource | resources/libraries/robot/shared/counters.robot
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/shared/testing_path.robot
@@ -40,191 +40,12 @@
| | ${ip_data}= | VPP get interface ip addresses
| | ... | ${node} | ${interface} | ipv6
-| Send IPv6 icmp echo request to DUT1 ingress inteface and verify answer
-| | [Documentation] | Type of the src_node must be TG and dst_node must be DUT
-| | [Arguments] | ${tg_node} | ${dut_node} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${dut_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args}
-
-| Execute IPv6 ICMP echo sweep
-| | [Documentation] | Type of the src_node must be TG and dst_node must be DUT
-| | [Arguments] | ${src_node} | ${dst_node} | ${start_size} | ${end_size}
-| | ... | ${step} | ${nodes_addr}
-| | Append Nodes | ${src_node} | ${dst_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | ${args}= | Catenate | ${args} | --start_size ${start_size}
-| | ... | --end_size ${end_size} | --step ${step}
-| | Run Traffic Script On Node | ipv6_sweep_ping.py | ${src_node} | ${args}
-| | ... | timeout=${180}
-
-| Send IPv6 ICMP echo request to DUT1 egress interface and verify answer
-| | [Documentation] | Send traffic from TG to first DUT egress interface
-| | [Arguments] | ${tg_node} | ${first_dut} | ${second_dut} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${first_dut} | ${second_dut}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Egress Interface
-| | ${hop_port} | ${hop_node}= | First Ingress Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args}
-
-
-| Send IPv6 ICMP echo request to DUT2 via DUT1 and verify answer
-| | [Documentation] | Send traffic from TG to second DUT through first DUT
-| | [Arguments] | ${tg_node} | ${first_dut} | ${second_dut} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${first_dut} | ${second_dut}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${hop_port} | ${hop_node}= | First Ingress Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args}
-
-| Send IPv6 ICMP echo request to DUT2 egress interface via DUT1 and verify answer
-| | [Documentation] | Send traffic from TG to second DUT egress interface
-| | ... | through first DUT
-| | [Arguments] | ${tg_node} | ${first_dut} | ${second_dut} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${first_dut} | ${second_dut} | ${tg_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Egress Interface
-| | ${hop_port} | ${hop_node}= | First Ingress Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args}
-
-| Ipv6 tg to tg routed
-| | [Documentation] | Send traffic from one TG port to another through DUT nodes
-| | ... | and send reply back, also verify hop limit processing
-| | [Arguments] | ${tg_node} | ${first_dut} | ${second_dut} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${first_dut} | ${second_dut} | ${tg_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${src_nh_port} | ${src_nh_node}= | First Ingress Interface
-| | ${dst_nh_port} | ${dst_nh_node}= | Last Egress Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${src_node} | ${dst_port}
-| | ${src_nh_mac}= | Get Interface Mac | ${src_nh_node} | ${src_nh_port}
-| | ${dst_nh_mac}= | Get Interface Mac | ${dst_nh_node} | ${dst_nh_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${dst_port_name}= | Get interface name | ${dst_node} | ${dst_port}
-| | ${args}= | Traffic Script Gen Arg | ${dst_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | ${args}= | Catenate | ${args} | --src_nh_mac ${src_nh_mac}
-| | ... | --dst_nh_mac ${dst_nh_mac} | --h_num 2
-| | Run Traffic Script On Node | icmpv6_echo_req_resp.py | ${tg_node} | ${args}
-
-| Send IPv6 neighbor solicitation and verify answer
-| | [Documentation] | Send IPv6 neighbor solicitation from TG to DUT
-| | [Arguments] | ${tg_node} | ${dut_node} | ${nodes_addr}
-| | Append Nodes | ${tg_node} | ${dut_node}
-| | Compute Path
-| | ${src_port} | ${src_node}= | First Interface
-| | ${dst_port} | ${dst_node}= | Last Interface
-| | ${src_ip}= | Get Node Port Ipv6 Address | ${src_node} | ${src_port}
-| | ... | ${nodes_addr}
-| | ${dst_ip}= | Get Node Port Ipv6 Address | ${dst_node} | ${dst_port}
-| | ... | ${nodes_addr}
-| | ${src_mac}= | Get Interface Mac | ${src_node} | ${src_port}
-| | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port}
-| | ${src_port_name}= | Get interface name | ${src_node} | ${src_port}
-| | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name}
-| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip}
-| | Run Traffic Script On Node | ipv6_ns.py | ${src_node} | ${args}
-
-| Configure IPv6 on all DUTs in topology
-| | [Documentation] | Setup IPv6 address on all DUTs
-| | [Arguments] | ${nodes} | ${nodes_addr}
-| | Restart Vpp Service On All Duts | ${nodes}
-| | Verify Vpp On All Duts | ${nodes}
-| | VPP Enable Traces On All Duts | ${nodes}
-| | ${interfaces}= | Nodes Set Ipv6 Addresses | ${nodes} | ${nodes_addr}
-| | :FOR | ${interface} | IN | @{interfaces}
-| | | Set Interface State | @{interface} | up | if_type=name
-| | All Vpp Interfaces Ready Wait | ${nodes}
-
| Suppress ICMPv6 router advertisement message
| | [Documentation] | Suppress ICMPv6 router advertisement message for link
| | ... | scope address
| | [Arguments] | ${nodes}
| | Vpp All Ra Suppress Link Layer | ${nodes}
-| Configure IPv6 routing on all DUTs
-| | [Documentation] | Setup routing on all VPP nodes required for IPv6 tests
-| | [Arguments] | ${nodes} | ${nodes_addr}
-| | Append Nodes | ${nodes['DUT1']} | ${nodes['DUT2']}
-| | Compute Path
-| | ${tg}= | Set Variable | ${nodes['TG']}
-| | ${dut1_if} | ${dut1}= | First Interface
-| | ${dut2_if} | ${dut2}= | Last Interface
-| | ${dut1_if_addr}= | Get Node Port Ipv6 Address | ${dut1} | ${dut1_if}
-| | ... | ${nodes_addr}
-| | ${dut2_if_addr}= | Get Node Port Ipv6 Address | ${dut2} | ${dut2_if}
-| | ... | ${nodes_addr}
-| | @{tg_dut1_links}= | Get active links connecting "${tg}" and "${dut1}"
-| | @{tg_dut2_links}= | Get active links connecting "${tg}" and "${dut2}"
-| | :FOR | ${link} | IN | @{tg_dut1_links}
-| | | ${net}= | Get Link Address | ${link} | ${nodes_addr}
-| | | ${prefix}= | Get Link Prefix | ${link} | ${nodes_addr}
-| | | Vpp Route Add | ${dut2} | ${net} | ${prefix} | gateway=${dut1_if_addr}
-| | | ... | interface=${dut2_if}
-| | :FOR | ${link} | IN | @{tg_dut2_links}
-| | | ${net}= | Get Link Address | ${link} | ${nodes_addr}
-| | | ${prefix}= | Get Link Prefix | ${link} | ${nodes_addr}
-| | | Vpp Route Add | ${dut1} | ${net} | ${prefix} | gateway=${dut2_if_addr}
-| | | ... | interface=${dut1_if}
-
| Configure IPv6 forwarding in circular topology
| | [Documentation]
| | ... | Set UP state on VPP interfaces in path on nodes in 2-node / 3-node
@@ -325,15 +146,15 @@
| | ...
| | ${dut_tg_ip6_prefix}= | Set Variable | 64
| | ...
-| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if1} | ${tg_if1_ip6}
-| | ... | ${tg_to_dut_if1_mac}
-| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if2} | ${tg_if2_ip6}
-| | ... | ${tg_to_dut_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${tg_if1_ip6} | ${tg_to_dut_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut_node} | ${dut_to_tg_if2} | ${tg_if2_ip6} | ${tg_to_dut_if2_mac}
| | ...
-| | VPP set If IPv6 addr | ${dut_node} | ${dut_to_tg_if1} | ${dut1_if1_ip6}
-| | ... | ${dut_tg_ip6_prefix}
-| | VPP set If IPv6 addr | ${dut_node} | ${dut_to_tg_if2} | ${dut1_if2_ip6}
-| | ... | ${dut_tg_ip6_prefix}
+| | VPP Interface Set IP Address | ${dut_node}
+| | ... | ${dut_to_tg_if1} | ${dut1_if1_ip6} | ${dut_tg_ip6_prefix}
+| | VPP Interface Set IP Address | ${dut_node}
+| | ... | ${dut_to_tg_if2} | ${dut1_if2_ip6} | ${dut_tg_ip6_prefix}
| | ...
| | Run Keyword Unless | '${remote_host1_ip6}' == '${NONE}'
| | ... | Vpp Route Add | ${dut_node} | ${remote_host1_ip6}
@@ -386,23 +207,23 @@
| | ${dut_tg_ip6_prefix}= | Set Variable | 64
| | ${dut_link_ip6_prefix}= | Set Variable | 96
| | ...
-| | Add IP neighbor | ${dut1_node} | ${dut1_to_tg} | ${tg_if1_ip6}
-| | ... | ${tg_to_dut1_mac}
-| | Add IP neighbor | ${dut1_node} | ${dut1_to_dut2} | ${dut2_if1_ip6}
-| | ... | ${dut2_to_dut1_mac}
-| | Add IP neighbor | ${dut2_node} | ${dut2_to_dut1} | ${dut1_if2_ip6}
-| | ... | ${dut1_to_dut2_mac}
-| | Add IP neighbor | ${dut2_node} | ${dut2_to_tg} | ${tg_if2_ip6}
-| | ... | ${tg_to_dut2_mac}
-| | ...
-| | VPP set If IPv6 addr | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip6}
-| | ... | ${dut_tg_ip6_prefix}
-| | VPP set If IPv6 addr | ${dut1_node} | ${dut1_to_dut2} | ${dut1_if2_ip6}
-| | ... | ${dut_link_ip6_prefix}
-| | VPP set If IPv6 addr | ${dut2_node} | ${dut2_to_dut1} | ${dut2_if1_ip6}
-| | ... | ${dut_link_ip6_prefix}
-| | VPP set If IPv6 addr | ${dut2_node} | ${dut2_to_tg} | ${dut2_if2_ip6}
-| | ... | ${dut_tg_ip6_prefix}
+| | VPP Add IP Neighbor
+| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg_if1_ip6} | ${tg_to_dut1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut2_if1_ip6} | ${dut2_to_dut1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut1_if2_ip6} | ${dut1_to_dut2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg_if2_ip6} | ${tg_to_dut2_mac}
+| | ...
+| | VPP Interface Set IP Address
+| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_if1_ip6} | ${dut_tg_ip6_prefix}
+| | VPP Interface Set IP Address | ${dut1_node}
+| | ... | ${dut1_to_dut2} | ${dut1_if2_ip6} | ${dut_link_ip6_prefix}
+| | VPP Interface Set IP Address | ${dut2_node}
+| | ... | ${dut2_to_dut1} | ${dut2_if1_ip6} | ${dut_link_ip6_prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_if2_ip6} | ${dut_tg_ip6_prefix}
| | ...
| | Vpp Route Add | ${dut1_node} | ${tg_if2_ip6} | ${dut_tg_ip6_prefix}
| | ... | gateway=${dut2_if1_ip6} | interface=${dut1_to_dut2}
diff --git a/resources/libraries/robot/overlay/lisp_static_adjacency.robot b/resources/libraries/robot/overlay/lisp_static_adjacency.robot
index 389b1bfb40..55dab37d10 100644
--- a/resources/libraries/robot/overlay/lisp_static_adjacency.robot
+++ b/resources/libraries/robot/overlay/lisp_static_adjacency.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 ***
-| Documentation | Lisp static adjacency suite keywords
-| Resource | resources/libraries/robot/overlay/lisp_api.robot
-| Library | resources.libraries.python.LispSetup.LispLocatorSet
+| Library | resources.libraries.python.IPUtil
+| Library | resources.libraries.python.LispSetup.LispAdjacency
| Library | resources.libraries.python.LispSetup.LispLocator
| Library | resources.libraries.python.LispSetup.LispLocalEid
-| Library | resources.libraries.python.LispSetup.LispAdjacency
+| Library | resources.libraries.python.LispSetup.LispLocatorSet
| Library | resources.libraries.python.LispSetup.LispRemoteMapping
-| Library | resources.libraries.python.IPv4Util.IPv4Util
+| ...
+| Resource | resources/libraries/robot/overlay/lisp_api.robot
+| ...
+| Documentation | Lisp static adjacency suite keywords
*** Keywords ***
| Configure LISP topology in 3-node circular topology
@@ -49,55 +51,51 @@
| | ... | \| ${dut1_static_adjacency} \| ${dut2_static_adjacency} \|
| | ...
| | [Arguments] | ${dut1_node} | ${dut1_int_name} | ${dut1_int_index}
-| | ... | ${dut2_node} | ${dut2_int_name} | ${dut2_int_index}
-| | ... | ${locator_set} | ${dut1_eid} | ${dut2_eid}
-| | ... | ${dut1_static_adjacency} | ${dut2_static_adjacency}
+| | ... | ${dut2_node} | ${dut2_int_name} | ${dut2_int_index}
+| | ... | ${locator_set} | ${dut1_eid} | ${dut2_eid}
+| | ... | ${dut1_static_adjacency} | ${dut2_static_adjacency}
| | ${dut1_int_index}= | Run Keyword If | ${dut1_int_index} is None
-| | | ... | Get Interface Sw Index | ${dut1_node}
-| | | ... | ${dut1_int_name}
-| | | ... | ELSE | Set Variable | ${dut1_int_index}
+| | ... | Get Interface Sw Index | ${dut1_node} | ${dut1_int_name}
+| | ... | ELSE | Set Variable | ${dut1_int_index}
| | ${dut2_int_index}= | Run Keyword If | ${dut2_int_index} is None
-| | | ... | Get Interface Sw Index | ${dut2_node}
-| | | ... | ${dut2_int_name}
-| | | ... | ELSE | Set Variable | ${dut2_int_index}
+| | ... | Get Interface Sw Index | ${dut2_node} | ${dut2_int_name}
+| | ... | ELSE | Set Variable | ${dut2_int_index}
| | Enable Lisp | ${dut1_node}
| | Vpp Add Lisp Locator Set | ${dut1_node} | ${locator_set['locator_name']}
| | Vpp Add Lisp Locator | ${dut1_node} | ${locator_set['locator_name']}
-| | ... | ${dut1_int_index} | ${locator_set['priority']}
-| | ... | ${locator_set['weight']}
+| | ... | ${dut1_int_index} | ${locator_set['priority']}
+| | ... | ${locator_set['weight']}
| | Vpp Add Lisp Local Eid | ${dut1_node} | ${dut1_eid['locator_name']}
-| | ... | ${dut1_eid['vni']} | ${dut1_eid['eid']}
-| | ... | ${dut1_eid['prefix']}
+| | ... | ${dut1_eid['vni']} | ${dut1_eid['eid']} | ${dut1_eid['prefix']}
| | Vpp Add Lisp Remote Mapping | ${dut1_node} | ${dut1_static_adjacency['vni']}
-| | ... | ${dut1_static_adjacency['deid']}
-| | ... | ${dut1_static_adjacency['prefix']}
-| | ... | ${dut1_static_adjacency['seid']}
-| | ... | ${dut1_static_adjacency['prefix']}
-| | ... | ${dut1_static_adjacency['rloc']}
+| | ... | ${dut1_static_adjacency['deid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['seid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['rloc']}
| | Vpp Add Lisp Adjacency | ${dut1_node} | ${dut1_static_adjacency['vni']}
-| | ... | ${dut1_static_adjacency['deid']}
-| | ... | ${dut1_static_adjacency['prefix']}
-| | ... | ${dut1_static_adjacency['seid']}
-| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['deid']}
+| | ... | ${dut1_static_adjacency['prefix']}
+| | ... | ${dut1_static_adjacency['seid']}
+| | ... | ${dut1_static_adjacency['prefix']}
| | Enable Lisp | ${dut2_node}
| | Vpp Add Lisp Locator Set | ${dut2_node} | ${locator_set['locator_name']}
| | Vpp Add Lisp Locator | ${dut2_node} | ${locator_set['locator_name']}
-| | ... | ${dut2_int_index} | ${locator_set['priority']}
-| | ... | ${locator_set['weight']}
+| | ... | ${dut2_int_index} | ${locator_set['priority']}
+| | ... | ${locator_set['weight']}
| | Vpp Add Lisp Local Eid | ${dut2_node} | ${dut2_eid['locator_name']}
-| | ... | ${dut2_eid['vni']} | ${dut2_eid['eid']}
-| | ... | ${dut2_eid['prefix']}
+| | ... | ${dut2_eid['vni']} | ${dut2_eid['eid']} | ${dut2_eid['prefix']}
| | Vpp Add Lisp Remote Mapping | ${dut2_node} | ${dut2_static_adjacency['vni']}
-| | ... | ${dut2_static_adjacency['deid']}
-| | ... | ${dut2_static_adjacency['prefix']}
-| | ... | ${dut2_static_adjacency['seid']}
-| | ... | ${dut2_static_adjacency['prefix']}
-| | ... | ${dut2_static_adjacency['rloc']}
+| | ... | ${dut2_static_adjacency['deid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['seid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['rloc']}
| | Vpp Add Lisp Adjacency | ${dut2_node} | ${dut2_static_adjacency['vni']}
-| | ... | ${dut2_static_adjacency['deid']}
-| | ... | ${dut2_static_adjacency['prefix']}
-| | ... | ${dut2_static_adjacency['seid']}
-| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['deid']}
+| | ... | ${dut2_static_adjacency['prefix']}
+| | ... | ${dut2_static_adjacency['seid']}
+| | ... | ${dut2_static_adjacency['prefix']}
| Change LISP Configuration
| | [Documentation] | Change configuration of the Lisp protocol.
@@ -108,18 +106,18 @@
| | ... | - dut1_to_dut2 - DUT1 towards DUT2 interface name. Type: string
| | ... | - dut2_to_dut1 - DUT2 towards DUT1 interface name. Type: string
| | ... | - dut1_to_dut2_mac - DUT1 towards DUT2 interface mac address.
-| | ... | Type: string
+| | ... | Type: string
| | ... | - dut2_to_dut1_mac - DUT2 towards DUT1 interface mac address.
-| | ... | Type: string
+| | ... | Type: string
| | ... | - new_dut1_ip - New DUT1 towards DUT2 interface IP address.
-| | ... | Type: string
+| | ... | Type: string
| | ... | - new_dut2_ip - New DUT2 towards DUT1 interface IP address.
-| | ... | Type: string
+| | ... | Type: string
| | ... | - prefix - Prefix of the DUT nodes. Type: integer
| | ... | - old_dut1_static_adjacency - Old DUT1 static adjacency.
-| | ... | Type: dictionary
+| | ... | Type: dictionary
| | ... | - new_dut1_static_adjacency - New DUT1 static adjacency.
-| | ... | Type: dictionary
+| | ... | Type: dictionary
| | ...
| | ... | *Return:*
| | ... | - No value returned
@@ -131,39 +129,39 @@
| | ... | \| ${old_dut1_static_adjacency} \| ${new_dut1_static_adjacency} \|
| | ...
| | [Arguments] | ${dut1_node} | ${dut2_node} | ${dut1_to_dut2}
-| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_mac} | ${dut2_to_dut1_mac}
-| | ... | ${new_dut1_ip} | ${new_dut2_ip} | ${prefix}
-| | ... | ${old_dut1_static_adjacency} | ${new_dut1_static_adjacency}
-| | Flush IPv4 Addresses "${dut2_to_dut1}" "${dut2_node}"
+| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_mac} | ${dut2_to_dut1_mac}
+| | ... | ${new_dut1_ip} | ${new_dut2_ip} | ${prefix}
+| | ... | ${old_dut1_static_adjacency} | ${new_dut1_static_adjacency}
+| | Flush IP Addresses | ${dut2_node} | ${dut2_to_dut1}
| | Vpp Del Lisp Remote Mapping | ${dut1_node}
-| | ... | ${old_dut1_static_adjacency['vni']}
-| | ... | ${old_dut1_static_adjacency['deid']}
-| | ... | ${old_dut1_static_adjacency['prefix']}
-| | ... | ${old_dut1_static_adjacency['seid']}
-| | ... | ${old_dut1_static_adjacency['prefix']}
-| | ... | ${old_dut1_static_adjacency['rloc']}
+| | ... | ${old_dut1_static_adjacency['vni']}
+| | ... | ${old_dut1_static_adjacency['deid']}
+| | ... | ${old_dut1_static_adjacency['prefix']}
+| | ... | ${old_dut1_static_adjacency['seid']}
+| | ... | ${old_dut1_static_adjacency['prefix']}
+| | ... | ${old_dut1_static_adjacency['rloc']}
| | Vpp Del Lisp Adjacency | ${dut1_node}
-| | ... | ${old_dut1_static_adjacency['vni']}
-| | ... | ${old_dut1_static_adjacency['deid']}
-| | ... | ${old_dut1_static_adjacency['prefix']}
-| | ... | ${old_dut1_static_adjacency['seid']}
-| | ... | ${old_dut1_static_adjacency['prefix']}
-| | Set Interface Address | ${dut2_node} | ${dut2_to_dut1}
-| | ... | ${new_dut2_ip} | ${prefix}
-| | Add Arp On Dut | ${dut1_node} | ${dut1_to_dut2} | ${new_dut2_ip}
-| | ... | ${dut2_to_dut1_mac}
-| | Add Arp On Dut | ${dut2_node} | ${dut2_to_dut1} | ${new_dut1_ip}
-| | ... | ${dut1_to_dut2_mac}
+| | ... | ${old_dut1_static_adjacency['vni']}
+| | ... | ${old_dut1_static_adjacency['deid']}
+| | ... | ${old_dut1_static_adjacency['prefix']}
+| | ... | ${old_dut1_static_adjacency['seid']}
+| | ... | ${old_dut1_static_adjacency['prefix']}
+| | VPP Interface Set IP Address | ${dut2_node} | ${dut2_to_dut1}
+| | ... | ${new_dut2_ip} | ${prefix}
+| | VPP Add IP Neighbor | ${dut1_node} | ${dut1_to_dut2} | ${new_dut2_ip}
+| | ... | ${dut2_to_dut1_mac}
+| | VPP Add IP Neighbor | ${dut2_node} | ${dut2_to_dut1} | ${new_dut1_ip}
+| | ... | ${dut1_to_dut2_mac}
| | Vpp Add Lisp Remote Mapping | ${dut1_node}
-| | ... | ${new_dut1_static_adjacency['vni']}
-| | ... | ${new_dut1_static_adjacency['deid']}
-| | ... | ${new_dut1_static_adjacency['prefix']}
-| | ... | ${new_dut1_static_adjacency['seid']}
-| | ... | ${new_dut1_static_adjacency['prefix']}
-| | ... | ${new_dut1_static_adjacency['rloc']}
+| | ... | ${new_dut1_static_adjacency['vni']}
+| | ... | ${new_dut1_static_adjacency['deid']}
+| | ... | ${new_dut1_static_adjacency['prefix']}
+| | ... | ${new_dut1_static_adjacency['seid']}
+| | ... | ${new_dut1_static_adjacency['prefix']}
+| | ... | ${new_dut1_static_adjacency['rloc']}
| | Vpp Add Lisp Adjacency | ${dut1_node}
-| | ... | ${new_dut1_static_adjacency['vni']}
-| | ... | ${new_dut1_static_adjacency['deid']}
-| | ... | ${new_dut1_static_adjacency['prefix']}
-| | ... | ${new_dut1_static_adjacency['seid']}
-| | ... | ${new_dut1_static_adjacency['prefix']}
+| | ... | ${new_dut1_static_adjacency['vni']}
+| | ... | ${new_dut1_static_adjacency['deid']}
+| | ... | ${new_dut1_static_adjacency['prefix']}
+| | ... | ${new_dut1_static_adjacency['seid']}
+| | ... | ${new_dut1_static_adjacency['prefix']}
diff --git a/resources/libraries/robot/overlay/vxlan.robot b/resources/libraries/robot/overlay/vxlan.robot
index 66ffa3dfa1..5e9fa3ddef 100644
--- a/resources/libraries/robot/overlay/vxlan.robot
+++ b/resources/libraries/robot/overlay/vxlan.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:
@@ -13,17 +13,18 @@
*** Settings ***
| Library | Collections
-| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/l2/l2_xconnect.robot
| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPUtil
-| Library | resources.libraries.python.IPv4Util
| Library | resources.libraries.python.IPv6Util
-| Library | resources.libraries.python.IPv4Setup
| Library | resources.libraries.python.L2Util
| Library | resources.libraries.python.NodePath
+| ...
+| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
+| Resource | resources/libraries/robot/l2/l2_xconnect.robot
+| Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/shared/interfaces.robot
+| ...
+| Documentation | VXLAN keywords
*** Keywords ***
| Configure IP addresses and neighbors on interfaces
@@ -55,14 +56,14 @@
| | ... | ELSE | Set Variable | ${DUT2_INT_INDEX}
| | ${DUT1_INT_MAC}= | Vpp Get Interface Mac | ${DUT1} | ${DUT1_INT_INDEX}
| | ${DUT2_INT_MAC}= | Vpp Get Interface Mac | ${DUT2} | ${DUT2_INT_INDEX}
-| | Set Interface Address | ${DUT1} | ${DUT1_INT_INDEX}
+| | VPP Interface Set IP Address | ${DUT1} | ${DUT1_INT_INDEX}
| | ... | ${dut1s_ip_address} | ${duts_ip_address_prefix}
-| | Set Interface Address | ${DUT2} | ${DUT2_INT_INDEX}
+| | VPP Interface Set IP Address | ${DUT2} | ${DUT2_INT_INDEX}
| | ... | ${dut2s_ip_address} | ${duts_ip_address_prefix}
-| | Add IP Neighbor | ${DUT1} | ${DUT1_INT_INDEX} | ${dut2s_ip_address}
-| | ... | ${DUT2_INT_MAC}
-| | Add IP Neighbor | ${DUT2} | ${DUT2_INT_INDEX} | ${dut1s_ip_address}
-| | ... | ${DUT1_INT_MAC}
+| | VPP Add IP Neighbor
+| | ... | ${DUT1} | ${DUT1_INT_INDEX} | ${dut2s_ip_address} | ${DUT2_INT_MAC}
+| | VPP Add IP Neighbor
+| | ... | ${DUT2} | ${DUT2_INT_INDEX} | ${dut1s_ip_address} | ${DUT1_INT_MAC}
| Add interfaces to L2BD
| | [Arguments] | ${DUT} | ${BID} | ${INTERFACE_1} | ${INTERFACE_2}
diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot
index 2aa2dc4898..0f13730c66 100644
--- a/resources/libraries/robot/performance/performance_configuration.robot
+++ b/resources/libraries/robot/performance/performance_configuration.robot
@@ -14,27 +14,29 @@
*** Settings ***
| Library | Collections
| Library | String
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.NodePath
+| Library | resources.libraries.python.Classify
| Library | resources.libraries.python.DpdkUtil
| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.VhostUser
-| Library | resources.libraries.python.TrafficGenerator
-| Library | resources.libraries.python.TrafficGenerator.TGDropRateSearchImpl
-| Library | resources.libraries.python.Classify
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.L2Util
-| Resource | resources/libraries/robot/shared/default.robot
-| Resource | resources/libraries/robot/shared/interfaces.robot
-| Resource | resources/libraries/robot/shared/counters.robot
-| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
-| Resource | resources/libraries/robot/l2/l2_xconnect.robot
-| Resource | resources/libraries/robot/l2/l2_patch.robot
+| Library | resources.libraries.python.NodePath
+| Library | resources.libraries.python.topology.Topology
+| Library | resources.libraries.python.TrafficGenerator
+| Library | resources.libraries.python.TrafficGenerator.TGDropRateSearchImpl
+| Library | resources.libraries.python.VhostUser
+| ...
| Resource | resources/libraries/robot/ip/ip4.robot
| Resource | resources/libraries/robot/ip/ip6.robot
+| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
+| Resource | resources/libraries/robot/l2/l2_patch.robot
+| Resource | resources/libraries/robot/l2/l2_xconnect.robot
| Resource | resources/libraries/robot/l2/tagging.robot
| Resource | resources/libraries/robot/overlay/srv6.robot
-| Documentation | Performance suite keywords - configuration.
+| Resource | resources/libraries/robot/shared/counters.robot
+| Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/shared/interfaces.robot
+| ...
+| Documentation | Performance suite keywords - configuration
*** Keywords ***
| Set interfaces in path up
@@ -161,8 +163,8 @@
| | ... | ${dut1_if1_ip4} | 24
| | Configure IP addresses on interfaces | ${dut2} | ${dut2_if2}
| | ... | ${dut2_if2_ip4} | 24
-| | Add arp on dut | ${dut1} | ${dut1_if1} | ${tg_if1_ip4} | ${tg_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if2} | ${tg_if2_ip4} | ${tg_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | ${tg_if1_ip4} | ${tg_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | ${tg_if2_ip4} | ${tg_if2_mac}
| | Vpp Route Add | ${dut1} | ${laddr_ip4} | 8 | gateway=${tg_if1_ip4}
| | ... | interface=${dut1_if1}
| | Vpp Route Add | ${dut2} | ${raddr_ip4} | 8 | gateway=${tg_if2_ip4}
@@ -189,18 +191,20 @@
| | ${dut2_if1_mac}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
| | ...
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut1} | ${dut1_if2} | 1.1.1.2 | ${dut2_if1_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | 1.1.1.2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut2} | ${dut2_if1} | 1.1.1.1 | ${dut1_if2_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | 1.1.1.1 | ${dut1_if2_mac}
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2_if2}
| | ... | ELSE | Set Variable | ${dut1_if2}
-| | Add arp on dut | ${dut} | ${dut_if2} | 20.20.20.2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 20.20.20.2 | ${tg1_if2_mac}
| | ...
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1}
| | ... | 10.10.10.1 | 24
@@ -249,18 +253,20 @@
| | ... | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 1.1.1.1 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 1.1.1.1 | ${tg1_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut1} | ${dut1_if2} | 2.2.2.2 | ${dut2_if1_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | 2.2.2.2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut2} | ${dut2_if1} | 2.2.2.1 | ${dut1_if2_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | 2.2.2.1 | ${dut1_if2_mac}
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2_if2}
| | ... | ELSE | Set Variable | ${dut1_if2}
-| | Add arp on dut | ${dut} | ${dut_if2} | 3.3.3.1 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 3.3.3.1 | ${tg1_if2_mac}
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} | 1.1.1.2 | 30
| | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 2.2.2.1
@@ -319,8 +325,8 @@
| | ... | ${dut1} | ${dut1_if2} | 200.0.0.1 | 30
| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 100.0.0.2 | ${tg1_if1_mac}
-| | Add arp on dut | ${dut1} | ${dut1_if2} | 200.0.0.2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 100.0.0.2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if2} | 200.0.0.2 | ${tg1_if2_mac}
| | Vpp Route Add | ${dut1} | 10.0.0.0 | 8 | gateway=100.0.0.2
| | ... | interface=${dut1_if1} | vrf=${fib_table_1}
| | Vpp Route Add | ${dut1} | 20.0.0.0 | 8 | gateway=200.0.0.2
@@ -392,8 +398,8 @@
| | ... | ${dut2} | ${dut2_if1} | 150.0.0.2 | 30
| | Configure IP addresses on interfaces
| | ... | ${dut2} | ${dut2_if2} | 200.0.0.1 | 30
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 100.0.0.2 | ${tg_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if2} | 200.0.0.2 | ${tg_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 100.0.0.2 | ${tg_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 200.0.0.2 | ${tg_if2_mac}
| | Vpp Route Add | ${dut1} | 10.0.0.0 | 8 | gateway=100.0.0.2
| | ... | interface=${dut1_if1} | vrf=${fib_table_1}
| | Vpp Route Add | ${dut1} | 20.0.0.0 | 8 | gateway=150.0.0.2
@@ -496,20 +502,20 @@
| | ... | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 1.1.1.1 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 1.1.1.1 | ${tg1_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut1} | ${subif_index_1} | 2.2.2.2
-| | ... | ${dut2_if1_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut1} | ${subif_index_1} | 2.2.2.2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut2} | ${subif_index_2} | 2.2.2.1
-| | ... | ${dut1_if2_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${subif_index_2} | 2.2.2.1 | ${dut1_if2_mac}
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2_if2}
| | ... | ELSE | Set Variable | ${subif_index_1}
-| | Add arp on dut | ${dut} | ${dut_if2} | 3.3.3.1 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 3.3.3.1 | ${tg1_if2_mac}
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} | 1.1.1.2 | 30
| | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Configure IP addresses on interfaces | ${dut1} | ${subif_index_1}
@@ -580,11 +586,11 @@
| | ${prefix}= | Set Variable | 64
| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2001:1::1 | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | 2001:2::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 2001:1::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if2} | 2001:2::1 | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | 2001:2::2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if2} | 2001:2::2 | ${tg1_if2_mac}
| Initialize IPv6 forwarding in 3-node circular topology
| | [Documentation]
@@ -600,15 +606,15 @@
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2001:1::1 | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | 2001:3::1 | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | 2001:3::2 | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | 2001:2::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 2001:1::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if2} | 2001:3::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut2} | ${dut2_if1} | 2001:3::2 | ${prefix}
+| | VPP Interface Set IP Address | ${dut2} | ${dut2_if2} | 2001:2::1 | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | 2001:3::2 | ${dut2_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | 2001:3::1 | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if2} | 2001:3::2 | ${dut2_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if1} | 2001:3::1 | ${dut1_if2_mac}
| | Vpp Route Add | ${dut1} | 2001:2::0 | ${prefix} | gateway=2001:3::2
| | ... | interface=${dut1_if2}
| | Vpp Route Add | ${dut2} | 2001:1::0 | ${prefix} | gateway=2001:3::1
@@ -645,25 +651,29 @@
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
| | ${prefix}= | Set Variable | 64
| | ${host_prefix}= | Set Variable | 128
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2001:3::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 2001:3::1 | ${prefix}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | 2001:4::1 | ${prefix}
+| | ... | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | 2001:4::1 | ${prefix}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | 2001:4::2 | ${prefix}
+| | ... | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | 2001:4::2 | ${prefix}
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2_if2}
| | ... | ELSE | Set Variable | ${dut1_if2}
-| | VPP Set If IPv6 Addr | ${dut} | ${dut_if2} | 2001:5::1 | ${prefix}
+| | VPP Interface Set IP Address | ${dut} | ${dut_if2} | 2001:5::1 | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:3::2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2001:3::2 | ${tg1_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add Ip Neighbor | ${dut1} | ${dut1_if2} | 2001:4::2 | ${dut2_if1_mac}
+| | ... | VPP Add Ip Neighbor
+| | ... | ${dut1} | ${dut1_if2} | 2001:4::2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add Ip Neighbor | ${dut2} | ${dut2_if1} | 2001:4::1 | ${dut1_if2_mac}
-| | Add Ip Neighbor | ${dut} | ${dut_if2} | 2001:5::2 | ${tg1_if2_mac}
+| | ... | VPP Add Ip Neighbor
+| | ... | ${dut2} | ${dut2_if1} | 2001:4::1 | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 2001:5::2 | ${tg1_if2_mac}
| | Vpp Route Add | ${dut1} | 2001:1::0 | ${host_prefix} | gateway=2001:3::2
| | ... | interface=${dut1_if1} | count=${count}
| | Run Keyword If | '${dut2_status}' == 'PASS'
@@ -732,28 +742,28 @@
| | ... | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2002:1::1 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2002:1::1 | ${tg1_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add Ip Neighbor | ${dut1} | ${subif_index_1} | 2002:2::2
-| | ... | ${dut2_if1_mac}
+| | ... | VPP Add Ip Neighbor
+| | ... | ${dut1} | ${subif_index_1} | 2002:2::2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add Ip Neighbor | ${dut2} | ${subif_index_2} | 2002:2::1
-| | ... | ${dut1_if2_mac}
+| | ... | VPP Add Ip Neighbor
+| | ... | ${dut2} | ${subif_index_2} | 2002:2::1 | ${dut1_if2_mac}
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
| | ${dut_if2}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2_if2}
| | ... | ELSE | Set Variable | ${subif_index_1}
-| | Add Ip Neighbor | ${dut} | ${dut_if2} | 2002:3::1 | ${tg1_if2_mac}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2002:1::2 | ${prefix}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 2002:3::1 | ${tg1_if2_mac}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 2002:1::2 | ${prefix}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Set If IPv6 Addr | ${dut1} | ${subif_index_1} | 2002:2::1
+| | ... | VPP Interface Set IP Address | ${dut1} | ${subif_index_1} | 2002:2::1
| | ... | ${prefix}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | VPP Set If IPv6 Addr | ${dut2} | ${subif_index_2} | 2002:2::2
+| | ... | VPP Interface Set IP Address | ${dut2} | ${subif_index_2} | 2002:2::2
| | ... | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut} | ${dut_if2} | 2002:3::2 | ${prefix}
+| | VPP Interface Set IP Address | ${dut} | ${dut_if2} | 2002:3::2 | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
| | Vpp Route Add | ${dut1} | ${tg_if1_net} | ${host_prefix}
| | ... | gateway=2002:1::1 | interface=${dut1_if1}
@@ -798,19 +808,25 @@
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | ${dut1_if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | ${dut1_if2_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | ${dut2_if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | ${dut2_if2_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if1} | ${dut1_if1_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | ${dut1_if2_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | ${dut2_if1_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if2} | ${dut2_if2_ip6} | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
| | :FOR | ${number} | IN RANGE | 2 | ${dst_addr_nr}+2
| | | ${hexa_nr}= | Convert To Hex | ${number}
-| | | Add Ip Neighbor | ${dut1} | ${dut1_if1} | ${tg_if1_ip6_subnet}${hexa_nr}
-| | | ... | ${tg1_if1_mac}
-| | | Add Ip Neighbor | ${dut2} | ${dut2_if2} | ${tg_if2_ip6_subnet}${hexa_nr}
-| | | ... | ${tg1_if2_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | ${dut2_if1_ip6} | ${dut2_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | ${dut1_if2_ip6} | ${dut1_if2_mac}
+| | | VPP Add IP Neighbor | ${dut1}
+| | | ... | ${dut1_if1} | ${tg_if1_ip6_subnet}${hexa_nr} | ${tg1_if1_mac}
+| | | VPP Add IP Neighbor | ${dut2}
+| | | ... | ${dut2_if2} | ${tg_if2_ip6_subnet}${hexa_nr} | ${tg1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_if1_ip6} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_if2_ip6} | ${dut1_if2_mac}
| | ${sid1}= | Set Variable If
| | ... | "${n}" == "1" | ${dut2_sid1}
| | ... | "${n}" == "2" | ${dut2_sid1_1}
@@ -897,31 +913,37 @@
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Show Memif | ${nodes['${dut}']}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | ${dut1_if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | ${dut1_if2_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1-memif-1-if1}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if1} | ${dut1_if1_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | ${dut1_if2_ip6} | ${prefix}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1-memif-1-if1}
| | ... | ${dut1-memif-1-if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1-memif-1-if2}
+| | VPP Interface Set IP Address | ${dut1} | ${dut1-memif-1-if2}
| | ... | ${dut1-memif-1-if2_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | ${dut2_if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | ${dut2_if2_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2-memif-1-if1}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | ${dut2_if1_ip6} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if2} | ${dut2_if2_ip6} | ${prefix}
+| | VPP Interface Set IP Address | ${dut2} | ${dut2-memif-1-if1}
| | ... | ${dut2-memif-1-if1_ip6} | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2-memif-1-if2}
+| | VPP Interface Set IP Address | ${dut2} | ${dut2-memif-1-if2}
| | ... | ${dut2-memif-1-if2_ip6} | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | ${dut2_if1_ip6} | ${dut2_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | ${dut1_if2_ip6} | ${dut1_if2_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | ${tg_if1_ip6_subnet}2
-| | ... | ${tg1_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if2} | ${tg_if2_ip6_subnet}2
-| | ... | ${tg1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_if1_ip6} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_if2_ip6} | ${dut1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if1} | ${tg_if1_ip6_subnet}2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if2} | ${tg_if2_ip6_subnet}2 | ${tg1_if2_mac}
| | ${dut1-memif-1-if2_mac}= | Get Interface MAC | ${dut1} | memif2
| | ${dut2-memif-1-if2_mac}= | Get Interface MAC | ${dut2} | memif2
-| | Add Ip Neighbor | ${dut1} | ${dut1-memif-1-if1} | ${dut1_nh}
-| | ... | ${dut1-memif-1-if2_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2-memif-1-if1} | ${dut2_nh}
-| | ... | ${dut2-memif-1-if2_mac}
+| | VPP Add IP Neighbor | ${dut1}
+| | ... | ${dut1-memif-1-if1} | ${dut1_nh} | ${dut1-memif-1-if2_mac}
+| | VPP Add IP Neighbor | ${dut2}
+| | ... | ${dut2-memif-1-if1} | ${dut2_nh} | ${dut2-memif-1-if2_mac}
| | Vpp Route Add | ${dut1} | ${dut2_sid1} | ${sid_prefix}
| | ... | gateway=${dut2_if1_ip6} | interface=${dut1_if2}
| | Vpp Route Add | ${dut1} | ${out_sid2_1} | ${sid_prefix}
@@ -1014,12 +1036,12 @@
| | ... | interfaces.
| | ...
| | Set interfaces in path up
-| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 172.16.0.1 | 24
-| | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1} | 172.16.0.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if2} | 172.16.0.1 | 24
+| | VPP Interface Set IP Address | ${dut2} | ${dut2_if1} | 172.16.0.2 | 24
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add arp on dut | ${dut1} | ${dut1_if2} | 172.16.0.2 | ${dut2_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if1} | 172.16.0.1 | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if2} | 172.16.0.2 | ${dut2_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if1} | 172.16.0.1 | ${dut1_if2_mac}
| | ${dut1s_vxlan}= | Create VXLAN interface | ${dut1} | 24
| | ... | 172.16.0.1 | 172.16.0.2
| | Configure L2XC | ${dut1} | ${dut1_if1} | ${dut1s_vxlan}
@@ -1422,14 +1444,16 @@
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
| | ...
| | :FOR | ${number} | IN RANGE | 2 | ${ip_nr}+2
-| | | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.${number}
-| | | ... | ${tg1_if1_mac}
-| | | Add arp on dut | ${dut} | ${dut_if2} | 20.20.20.${number}
-| | | ... | ${tg1_if2_mac}
+| | | VPP Add IP Neighbor
+| | | ... | ${dut1} | ${dut1_if1} | 10.10.10.${number} | ${tg1_if1_mac}
+| | | VPP Add IP Neighbor
+| | | ... | ${dut} | ${dut_if2} | 20.20.20.${number} | ${tg1_if2_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut1} | ${dut1_if2} | 1.1.1.2 | ${dut2_if1_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | 1.1.1.2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut2} | ${dut2_if1} | 1.1.1.1 | ${dut1_if2_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | 1.1.1.1 | ${dut1_if2_mac}
| | ...
| | Configure IP addresses on interfaces
| | ... | ${dut1} | ${dut1_if1} | 10.10.10.1 | 24
@@ -1671,8 +1695,8 @@
| | ... | 24
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add arp on dut | ${dut1} | ${dut1_if2} | 172.16.0.2 | ${dut2_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if1} | 172.16.0.1 | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if2} | 172.16.0.2 | ${dut2_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if1} | 172.16.0.1 | ${dut1_if2_mac}
| | ${dut1s_vxlan}= | Create VXLAN interface | ${dut1} | 24
| | ... | 172.16.0.1 | 172.16.0.2
| | ${dut2s_vxlan}= | Create VXLAN interface | ${dut2} | 24
@@ -1826,8 +1850,8 @@
| | | Add interface to bridge domain | ${dut2} | ${dut2s_vxlan} | ${dut2_bd_id1}
| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | ${dut1_gw} | ${tg_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if2} | ${dut2_gw} | ${tg_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | ${dut1_gw} | ${tg_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | ${dut2_gw} | ${tg_if2_mac}
| | Vpp Route Add | ${dut1} | ${dut1_route_subnet} | ${dut1_route_mask}
| | ... | gateway=${dut1_gw} | interface=${dut1_if1}
| | Vpp Route Add | ${dut2} | ${dut2_route_subnet} | ${dut2_route_mask}
@@ -2123,7 +2147,7 @@
| | ...
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
-| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
+| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1}
| | | Run keyword | ${dut}.Add DPDK Dev | ${if1_pci}
| | | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci}
@@ -2271,12 +2295,12 @@
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
-| | Add arp on dut | ${dut1} | ${dut1_if2} | ${dut2_dut1_address}
-| | ... | ${dut2_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if1} | ${dut1_dut2_address}
-| | ... | ${dut1_if2_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if2} | 20.20.20.2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_dut1_address} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_dut2_address} | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 20.20.20.2 | ${tg1_if2_mac}
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1}
| | ... | ${dut1_tg_address} | ${duts_prefix}
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2}
@@ -2347,21 +2371,21 @@
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | ${dut1_tg_address}
-| | ... | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | ${dut1_dut2_address}
-| | ... | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | ${dut2_dut1_address}
-| | ... | ${prefix}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | ${dut2_tg_address}
-| | ... | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if1} | ${dut1_tg_address} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | ${dut1_dut2_address} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | ${dut2_dut1_address} | ${prefix}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if2} | ${dut2_tg_address} | ${prefix}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | ${dut2_dut1_address}
-| | ... | ${dut2_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | ${dut1_dut2_address}
-| | ... | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_dut1_address} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_dut2_address} | ${dut1_if2_mac}
| Initialize LISP IPv4 over IPv6 forwarding in 3-node circular topology
| | [Documentation] | Custom setup of IPv4 over IPv6 topology on all DUT nodes \
@@ -2397,19 +2421,19 @@
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1}
| | ... | ${dut1_tg_ip4_address} | ${prefix4}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | ${dut1_dut2_ip6_address}
-| | ... | ${prefix6}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | ${dut2_dut1_ip6_address}
-| | ... | ${prefix6}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | ${dut1_dut2_ip6_address} | ${prefix6}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | ${dut2_dut1_ip6_address} | ${prefix6}
| | Configure IP addresses on interfaces | ${dut2} | ${dut2_if2}
| | ... | ${dut2_tg_ip4_address} | ${prefix4}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if2} | 20.20.20.2 | ${tg1_if2_mac}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | ${dut2_dut1_ip6_address}
-| | ... | ${dut2_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | ${dut1_dut2_ip6_address}
-| | ... | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 20.20.20.2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_dut1_ip6_address} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_dut2_ip6_address} | ${dut1_if2_mac}
| Initialize LISP IPv6 over IPv4 forwarding in 3-node circular topology
| | [Documentation] | Custom setup of IPv4 over IPv6 topology on all DUT nodes \
@@ -2443,21 +2467,21 @@
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2}
| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1}
-| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | ${dut1_tg_ip6_address}
-| | ... | ${prefix6}
-| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2}
-| | ... | ${dut1_dut2_ip4_address} | ${prefix4}
-| | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1}
-| | ... | ${dut2_dut1_ip4_address} | ${prefix4}
-| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | ${dut2_tg_ip6_address}
-| | ... | ${prefix6}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if1} | ${dut1_tg_ip6_address} | ${prefix6}
+| | VPP Interface Set IP Address
+| | ... | ${dut1} | ${dut1_if2} | ${dut1_dut2_ip4_address} | ${prefix4}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if1} | ${dut2_dut1_ip4_address} | ${prefix4}
+| | VPP Interface Set IP Address
+| | ... | ${dut2} | ${dut2_if2} | ${dut2_tg_ip6_address} | ${prefix6}
| | Suppress ICMPv6 router advertisement message | ${nodes}
-| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
-| | Add Ip Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
-| | Add arp on dut | ${dut1} | ${dut1_if2} | ${dut2_dut1_ip4_address}
-| | ... | ${dut2_if1_mac}
-| | Add arp on dut | ${dut2} | ${dut2_if1} | ${dut1_dut2_ip4_address}
-| | ... | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 2001:1::2 | ${tg1_if1_mac}
+| | VPP Add IP Neighbor | ${dut2} | ${dut2_if2} | 2001:2::2 | ${tg1_if2_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | ${dut2_dut1_ip4_address} | ${dut2_if1_mac}
+| | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | ${dut1_dut2_ip4_address} | ${dut1_if2_mac}
| Initialize NAT44 in circular topology
| | [Documentation] | Initialization of 2-node / 3-node topology with NAT44
@@ -2475,9 +2499,11 @@
| | ...
| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} | 10.0.0.1 | 20
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} | 11.0.0.1 | 20
+| | ... | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2}
+| | ... | 11.0.0.1 | 20
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1} | 11.0.0.2 | 20
+| | ... | Configure IP addresses on interfaces | ${dut2} | ${dut2_if1}
+| | ... | 11.0.0.2 | 20
| | ${dut}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Set Variable | ${dut2}
| | ... | ELSE | Set Variable | ${dut1}
@@ -2493,12 +2519,14 @@
| | ${dut2_if1_mac}= | Run Keyword If | '${dut2_status}' == 'PASS'
| | ... | Get Interface MAC | ${dut2} | ${dut2_if1}
| | ...
-| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.0.0.2 | ${tg_if1_mac}
+| | VPP Add IP Neighbor | ${dut1} | ${dut1_if1} | 10.0.0.2 | ${tg_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut1} | ${dut1_if2} | 11.0.0.2 | ${dut2_if1_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut1} | ${dut1_if2} | 11.0.0.2 | ${dut2_if1_mac}
| | Run Keyword If | '${dut2_status}' == 'PASS'
-| | ... | Add arp on dut | ${dut2} | ${dut2_if1} | 11.0.0.1 | ${dut1_if2_mac}
-| | Add arp on dut | ${dut} | ${dut_if2} | 12.0.0.2 | ${tg_if2_mac}
+| | ... | VPP Add IP Neighbor
+| | ... | ${dut2} | ${dut2_if1} | 11.0.0.1 | ${dut1_if2_mac}
+| | VPP Add IP Neighbor | ${dut} | ${dut_if2} | 12.0.0.2 | ${tg_if2_mac}
| | ...
| | Vpp Route Add | ${dut1} | 20.0.0.0 | 18 | gateway=10.0.0.2
| | ... | interface=${dut1_if1}
@@ -2871,8 +2899,8 @@
| | ... | ELSE | Set Variable | if2
| | ${prev_if_mac}= | Get Interface MAC | ${nodes['${prev_node}']}
| | ... | ${${prev_node}_${prev_if}}
-| | Add ARP on DUT | ${nodes['${dut}']} | ${${dut}_if1} | ${ip_net_if1}.1
-| | ... | ${prev_if_mac}
+| | VPP Add IP Neighbor
+| | ... | ${nodes['${dut}']} | ${${dut}_if1} | ${ip_net_if1}.1 | ${prev_if_mac}
| | ...
| | ${fib_table_2}= | Evaluate | ${fib_table_1} + ${count}
| | Add Fib Table | ${nodes['${dut}']} | ${fib_table_2}
@@ -2894,8 +2922,8 @@
| | ... | ELSE | Set Variable | if1
| | ${next_if_mac}= | Get Interface MAC | ${nodes['${next_node}']}
| | ... | ${${next_node}_${next_if}}
-| | Add ARP on DUT | ${nodes['${dut}']} | ${${dut}_if2} | ${ip_net_if2}.2
-| | ... | ${next_if_mac}
+| | VPP Add IP Neighbor
+| | ... | ${nodes['${dut}']} | ${${dut}_if2} | ${ip_net_if2}.2 | ${next_if_mac}
| | ...
| | ${fib_table_1}= | Evaluate | ${fib_table_1} - ${1}
| | ${ip_base_start}= | Set Variable | ${31}
@@ -2939,10 +2967,10 @@
| | | ... | ${memif2}
| | | ${memif_if2_mac}= | Get interface mac | ${nodes['${dut}']}
| | | ... | ${memif_if2_key}
-| | | Add arp on dut | ${nodes['${dut}']} | ${memif1} | ${ip_net_memif2}.1
-| | | ... | ${memif_if2_mac}
-| | | Add arp on dut | ${nodes['${dut}']} | ${memif2} | ${ip_net_memif1}.1
-| | | ... | ${memif_if1_mac}
+| | | VPP Add IP Neighbor | ${nodes['${dut}']}
+| | | ... | ${memif1} | ${ip_net_memif2}.1 | ${memif_if2_mac}
+| | | VPP Add IP Neighbor | ${nodes['${dut}']}
+| | | ... | ${memif2} | ${ip_net_memif1}.1 | ${memif_if1_mac}
| Initialize IPv4 routing with memif pairs
| | [Documentation]
diff --git a/resources/libraries/robot/shared/traffic.robot b/resources/libraries/robot/shared/traffic.robot
index f002850071..4ec5496e84 100644
--- a/resources/libraries/robot/shared/traffic.robot
+++ b/resources/libraries/robot/shared/traffic.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -14,13 +14,12 @@
"""Traffic keywords"""
*** Settings ***
+| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPv6Util
-| Library | resources.libraries.python.IPv6Setup
-| Library | resources.libraries.python.TrafficScriptExecutor
| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.Routing
-| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.topology.Topology
+| Library | resources.libraries.python.TrafficScriptExecutor
+| ...
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/shared/counters.robot
| ...
diff --git a/resources/libraries/robot/tcp/tcp_setup.robot b/resources/libraries/robot/tcp/tcp_setup.robot
index d2bc41fce0..8a39a0bc4a 100644
--- a/resources/libraries/robot/tcp/tcp_setup.robot
+++ b/resources/libraries/robot/tcp/tcp_setup.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -12,9 +12,10 @@
# limitations under the License.
*** Settings ***
-| Library | resources.libraries.python.IPv4Util.IPv4Util
| Library | resources.libraries.python.InterfaceUtil
+| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.tcp.TCPUtils
+| ...
| Resource | resources/libraries/robot/ip/ip4.robot
| ...
| Documentation | L2 keywords to set up VPP to test tcp.
@@ -62,14 +63,14 @@
| | [Arguments] | ${prealloc_fifos} | ${fifo_size} | ${private_segment_size}
| | ...
| | Set Interface State | ${dut1} | ${dut1_if1} | up
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.10.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.20.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.30.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.40.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.50.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.60.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.70.2 | 24
-| | Set Interface Address | ${dut1} | ${dut1_if1} | 192.168.80.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.10.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.20.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.30.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.40.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.50.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.60.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.70.2 | 24
+| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.80.2 | 24
| | Vpp Node Interfaces Ready Wait | ${dut1}
| | Start HTTP server params | ${dut1} | ${prealloc_fifos} | ${fifo_size}
| | ... | ${private_segment_size}