aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatej Klotton <mklotton@cisco.com>2016-09-13 10:38:41 +0200
committerPeter Mikus <pmikus@cisco.com>2016-10-04 12:01:11 +0000
commita1316b18443ca5360f1304fc74dee33872dd95eb (patch)
tree16037b72b99c4802bb673ce357f7b58d79293b04
parent33198e812804bfa7014cc6d03e787a0e4dbcfe9f (diff)
CSIT-365: IPv6 encaps softwire - MAP-E part II
- check traffic with multiple domains configured. Generate given amount of random configurations. - add map-e hairpinning test. - add icmp test for map-e. - reformat map_e.robot, capitalize all KW. Change-Id: I94c4c9d6b186cc4a7c65cdb84ee795365dff5e82 Signed-off-by: Matej Klotton <mklotton@cisco.com>
-rw-r--r--resources/test_data/softwire/map_e_domains.py54
-rwxr-xr-xresources/traffic_scripts/send_lw_4o6_check_hairpinning_udp.py1
-rw-r--r--tests/func/softwire/map_e.robot271
3 files changed, 252 insertions, 74 deletions
diff --git a/resources/test_data/softwire/map_e_domains.py b/resources/test_data/softwire/map_e_domains.py
new file mode 100644
index 0000000000..3637b4e1e5
--- /dev/null
+++ b/resources/test_data/softwire/map_e_domains.py
@@ -0,0 +1,54 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.l
+
+"""Variables for MAP-e feature tests."""
+
+from resources.libraries.python.Map import Map
+from random import sample, randint
+from itertools import product
+
+
+def get_variables(count):
+ """Generate variables with random generated MAP-E configuration sets and
+ IP test sets.
+
+ domain_set = [IPv4_prefix, IPv6_prefix, IPv6_source, 16, 0, 0]
+ ip_set = [IPv4_dst_address, IPv6_dst_address, dst_port, IPv6_src_address]
+
+ :param count: Generate "count" map domain configuration parameters.
+ :type count: int
+ :return: Variable dictionary with domain_sets and ip_sets.
+ :rtype: dict
+ """
+ domain_sets = []
+ ip_sets = []
+
+ for n1, n2 in sample(list(product(xrange(2, 224), xrange(0, 256))), count):
+ v4_pfx = '{}.{}.0.0/16'.format(n1, n2)
+ v6_pfx = '2001:{:x}{:x}::/48'.format(n1, n2)
+ ipv6_br = '2001:ffff::1'
+ domain_set = [v4_pfx,
+ v6_pfx,
+ ipv6_br, 16, 0, 0]
+ port = randint(1025, 65500)
+ ipv4_addr = '{}.{}.20.30'.format(n1, n2)
+ ipv6_addr = Map.compute_ipv6_map_destination_address(
+ v4_pfx, v6_pfx, 16, 0, 0, ipv4_addr, port)
+ domain_sets.append(domain_set)
+ ip_sets.append([ipv4_addr, ipv6_addr, port, ipv6_br])
+
+ variables = {
+ "domain_sets": domain_sets,
+ "ip_sets": ip_sets
+ }
+ return variables
diff --git a/resources/traffic_scripts/send_lw_4o6_check_hairpinning_udp.py b/resources/traffic_scripts/send_lw_4o6_check_hairpinning_udp.py
index df6bc42da5..eb5c26ea61 100755
--- a/resources/traffic_scripts/send_lw_4o6_check_hairpinning_udp.py
+++ b/resources/traffic_scripts/send_lw_4o6_check_hairpinning_udp.py
@@ -71,6 +71,7 @@ def main(): # pylint: disable=too-many-statements, too-many-locals
tx_pkt /= IPv6(src=tx_src_ipv6, dst=tx_dst_ipv6)
tx_pkt /= IP(src=tx_src_ipv4, dst=tx_dst_ipv4)
tx_pkt /= UDP(sport=tx_src_udp_port, dport=tx_dst_udp_port)
+ tx_pkt /= 'udp_payload'
txq.send(tx_pkt)
sent_packets.append(tx_pkt)
diff --git a/tests/func/softwire/map_e.robot b/tests/func/softwire/map_e.robot
index 7f3da6e5b9..c8b7f151fa 100644
--- a/tests/func/softwire/map_e.robot
+++ b/tests/func/softwire/map_e.robot
@@ -21,15 +21,16 @@
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.Trace
| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO
+| Variables | resources/test_data/softwire/map_e_domains.py | ${5}
| Suite Setup | Run Keywords
-| ... | Setup all DUTs before test | AND
-| ... | Setup all TGs before traffic script
+| ... | Setup All DUTs Before Test | AND
+| ... | Setup All TGs Before Traffic Script
| Test Setup | Run Keywords
-| ... | Setup all DUTs before test | AND
-| ... | Setup all TGs before traffic script
+| ... | Setup All DUTs Before Test | AND
+| ... | Setup All TGs Before Traffic Script
| Test Teardown | Run Keywords
-| ... | Show packet trace on all DUTs | ${nodes} | AND
-| ... | Show vpp trace dump on all DUTs
+| ... | Show Packet Trace On All DUTs | ${nodes} | AND
+| ... | Show Vpp Trace Dump On All DUTs
| Documentation | *Test for Basic mapping rule for MAP-E*\
| ... | *[Top] Network Topologies:* TG - DUT1 - TG with two links between the
| ... | nodes.
@@ -52,23 +53,23 @@
| ${ipv4_prefix_len}= | 24
| ${ipv6_prefix_len}= | 64
| ${ipv6_br_src}= | 2001:db8:ffff::1
-| ${ipv4_outside}= | 100.0.0.1
+| ${ipv4_outside}= | 1.0.0.1
*** Test Cases ***
| TC01: BMR, then an IPv4 prefix is assigned
-| | [Documentation] |
+| | [Documentation]
| | ... | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2\
| | ... | IPv4 prefix length + ea bits length < 32 (o + r < 32)
| | ... | psid_length = 0, ip6_prefix < 64, ip4_prefix <= 32
| | ...
# TODO: replace setup when VPP-312 fixed
-#| | [Setup] | Set interfaces IP addresses and routes
+#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup all DUTs before test | AND
-| | ... | Setup all TGs before traffic script | AND
-| | ... | Set interfaces IP addresses and routes
-| | [Template] | Check MAP configuration with traffic script
+| | ... | Setup All DUTs Before Test | AND
+| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Set Interfaces IP Addresses And Routes
+| | [Template] | Check MAP Configuration With Traffic Script
# |=================|===============|================|============|=============|==========|================|==========|==================================|
# | ipv4_pfx | ipv6_pfx | ipv6_src | ea_bit_len | psid_offset | psid_len | ipv4_dst | dst_port | expected_ipv6_dst |
# |=================|===============|================|============|=============|==========|================|==========|==================================|
@@ -83,18 +84,18 @@
| TC02: BMR, full IPv4 address is to be assigned
-| | [Documentation] |
+| | [Documentation]
| | ... | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2\
| | ... | IPv4 prefix length + ea bits length == 32 (o + r == 32)
| | ... | psid_length = 0, ip6_prefix < 64, ip4_prefix <= 32
| | ...
# TODO: replace setup when VPP-312 fixed
-#| | [Setup] | Set interfaces IP addresses and routes
+#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup all DUTs before test | AND
-| | ... | Setup all TGs before traffic script | AND
-| | ... | Set interfaces IP addresses and routes
-| | [Template] | Check MAP configuration with traffic script
+| | ... | Setup All DUTs Before Test | AND
+| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Set Interfaces IP Addresses And Routes
+| | [Template] | Check MAP Configuration With Traffic Script
# |===================|===============|================|============|=============|==========|================|==========|==================================|
# | ipv4_pfx | ipv6_pfx | ipv6_src | ea_bit_len | psid_offset | psid_len | ipv4_dst | dst_port | expected_ipv6_dst |
# |===================|===============|================|============|=============|==========|================|==========|==================================|
@@ -112,18 +113,18 @@
| TC03: BMR, shared IPv4 address is to be assigned
-| | [Documentation] |
+| | [Documentation]
| | ... | Basic Mapping Rule https://tools.ietf.org/html/rfc7597#section-5.2\
| | ... | IPv4 prefix length + ea bits length > 32 (o + r > 32)
| | ... | ip6_prefix < 64, ip4_prefix <= 32
| | ...
# TODO: replace setup when VPP-312 fixed
-#| | [Setup] | Set interfaces IP addresses and routes
+#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup all DUTs before test | AND
-| | ... | Setup all TGs before traffic script | AND
-| | ... | Set interfaces IP addresses and routes
-| | [Template] | Check MAP configuration with traffic script
+| | ... | Setup All DUTs Before Test | AND
+| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Set Interfaces IP Addresses And Routes
+| | [Template] | Check MAP Configuration With Traffic Script
# |===================|===============|================|============|=============|==========|================|==========|===================================|
# | ipv4_pfx | ipv6_pfx | ipv6_src | ea_bit_len | psid_offset | psid_len | ipv4_dst | dst_port | expected_ipv6_dst |
# |===================|===============|================|============|=============|==========|================|==========|===================================|
@@ -162,16 +163,16 @@
| TC04: End user IPv6 prefix is 64
-| | [Documentation] |
+| | [Documentation]
| | ... | Supported End-User IPv6 prefix length is 64 bit.
| | ...
# TODO: replace setup when VPP-312 fixed
-#| | [Setup] | Set interfaces IP addresses and routes
+#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup all DUTs before test | AND
-| | ... | Setup all TGs before traffic script | AND
-| | ... | Set interfaces IP addresses and routes
-| | [Template] | Check MAP configuration with traffic script
+| | ... | Setup All DUTs Before Test | AND
+| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Set Interfaces IP Addresses And Routes
+| | [Template] | Check MAP Configuration With Traffic Script
# |===================|=========================|================|============|=============|==========|================|==========|
# | ipv4_pfx | ipv6_pfx | ipv6_src | ea_bit_len | psid_offset | psid_len | ipv4_dst | dst_port |
# |===================|=========================|================|============|=============|==========|================|==========|
@@ -184,12 +185,12 @@
| TC05: IPv4 prefix is 0
| | [Tags] | EXPECTED_FAILING
# TODO: replace setup when VPP-312 fixed
-#| | [Setup] | Set interfaces IP addresses and routes
+#| | [Setup] | Set Interfaces IP Addresses And Routes
| | [Setup] | Run Keywords
-| | ... | Setup all DUTs before test | AND
-| | ... | Setup all TGs before traffic script | AND
-| | ... | Set interfaces IP addresses and routes
-| | [Template] | Check MAP configuration with traffic script
+| | ... | Setup All DUTs Before Test | AND
+| | ... | Setup All TGs Before Traffic Script | AND
+| | ... | Set Interfaces IP Addresses And Routes
+| | [Template] | Check MAP Configuration With Traffic Script
# |===================|=========================|================|============|=============|==========|================|==========|
# | ipv4_pfx | ipv6_pfx | ipv6_src | ea_bit_len | psid_offset | psid_len | ipv4_dst | dst_port |
# |===================|=========================|================|============|=============|==========|================|==========|
@@ -200,13 +201,135 @@
| | 0.0.0.0/0 | 2001::/16 | ${ipv6_br_src} | ${40} | ${6} | ${8} | 20.169.201.219 | ${1232} |
+| TC06: Multiple domain and check with traffic script IPv4 source IPv6 destination
+| | [Documentation]
+| | ... | [Top] TG=DUT1.
+| | ... | [Cfg] Multiple MAP-E domains are configured, values from variable\
+| | ... | file.
+| | ... | [Ver] Send IPv4 to destination in configured domain and receive IPv6\
+| | ... | packet.
+| | ... | [Ref] RFC7597.
+| | Given Path For 2-node Testing Is Set
+| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
+| | And Interfaces In 2-node Path Are Up
+| | And IP Addresses Are Set 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 Vpp Route Add | ${dut_node} | :: | 0 | ${dut_ip6_gw}
+| | ... | ${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}
+| | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | ${dut_ip4_gw}
+| | ... | ${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}
+| | :FOR | ${domain_set} | IN | @{domain_sets}
+| | | When Map Add Domain | ${dut_node} | @{domain_set}
+| | :FOR | ${ip_set} | IN | @{ip_sets}
+| | | ${ipv4}= | Get From List | ${ip_set} | 0
+| | | ${ipv6}= | Get From List | ${ip_set} | 1
+| | | ${port}= | Get From List | ${ip_set} | 2
+| | | ${ipv6_br}= | Get From List | ${ip_set} | 3
+| | | Then Send IPv4 UDP And Check Headers For Lightweight 4over6
+| | | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | | ... | ${dut_to_tg_if1_mac} | ${ipv4} | ${ipv4_outside} | ${port}
+| | | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} | ${ipv6} | ${ipv6_br}
+| | | And Send IPv4 UDP In IPv6 And Check Headers For Lightweight 4over6
+| | | ... | ${tg_node} | ${tg_to_dut_if2} | ${tg_to_dut_if1}
+| | | ... | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac} | ${ipv6_br} | ${ipv6}
+| | | ... | ${ipv4_outside} | ${ipv4} | ${port} | ${tg_to_dut_if1_mac}
+| | | ... | ${dut_to_tg_if1_mac}
+
+
+| TC07: Multiple domain and check with traffic script IPv6 source IPv6 destination
+| | [Documentation]
+| | ... | [Top] TG=DUT1.
+| | ... | [Cfg] Multiple MAP-E domains are configured, values from variable\
+| | ... | file.
+| | ... | [Ver] Send IPv4 encapsulated in IPv6. Source and destination are from\
+| | ... | configured domains. Check if VPP translate IPv6 addresses.
+| | ... | [Ref] RFC7597.
+| | Given Path For 2-node Testing Is Set
+| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
+| | And Interfaces In 2-node Path Are Up
+| | And IP Addresses Are Set 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 Vpp Route Add | ${dut_node} | :: | 0 | ${dut_ip6_gw}
+| | ... | ${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}
+| | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | ${dut_ip4_gw}
+| | ... | ${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}
+| | :FOR | ${domain_set} | IN | @{domain_sets}
+| | | When Map Add Domain | ${dut_node} | @{domain_set}
+| | ${ip_set_A}= | Get From List | ${ip_sets} | 0
+| | ${ip_set_B}= | Get From List | ${ip_sets} | 1
+| | ${ipv6_br}= | Get From List | ${ip_set_A} | 3
+| | ${port_A}= | Get From List | ${ip_set_A} | 2
+| | ${port_B}= | Get From List | ${ip_set_B} | 2
+| | ${ipv6_A}= | Get From List | ${ip_set_A} | 1
+| | ${ipv6_B}= | Get From List | ${ip_set_B} | 1
+| | ${ipv4_A}= | Get From List | ${ip_set_A} | 0
+| | ${ipv4_B}= | Get From List | ${ip_set_B} | 0
+| | Then Send IPv4 UDP In IPv6 And Check Headers For Lightweight Hairpinning
+| | ... | ${tg_node} | ${tg_to_dut_if2}
+| | ... | ${tg_to_dut_if2} | ${dut_to_tg_if2_mac}
+| | ... | ${ipv6_br} | ${ipv6_A}
+| | ... | ${ipv4_B} | ${ipv4_A}
+| | ... | ${port_B} | ${port_A}
+| | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac}
+| | ... | ${ipv6_B} | ${ipv6_br}
+
+
+| TC08: Encapsulate IPv4 ICMP into IPv6
+| | [Documentation]
+| | ... | [Top] TG=DUT1.
+| | ... | [Enc] Eth-IPv4-ICMP(type 0 and 8) on TG_if1-DUT, Eth-IPv6-IPv4-ICMP\
+| | ... | on TG_if2_DUT.
+| | ... | [Cfg] Multiple MAP-E domains are configured, values from variable\
+| | ... | file.
+| | ... | [Ver] Make TG send non-encapsulated ICMP to DUT; verify TG received\
+| | ... | IPv4oIPv6 encapsulated packet is correct. Checks IPv6 destination\
+| | ... | based on ICMP Identifier field.
+| | ... | [Ref] RFC7597 section 8.2.
+| | Given Path For 2-node Testing Is Set
+| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
+| | And Interfaces In 2-node Path Are Up
+| | And IP Addresses Are Set 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 Vpp Route Add | ${dut_node} | :: | 0 | ${dut_ip6_gw}
+| | ... | ${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}
+| | And Vpp Route Add | ${dut_node} | 0.0.0.0 | 0 | ${dut_ip4_gw}
+| | ... | ${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}
+| | :FOR | ${domain_set} | IN | @{domain_sets}
+| | | When Map Add Domain | ${dut_node} | @{domain_set}
+| | ${ip_set_A}= | Get From List | ${ip_sets} | 0
+| | ${ipv4_A}= | Get From List | ${ip_set_A} | 0
+| | ${ipv6_A}= | Get From List | ${ip_set_A} | 1
+| | ${icmp_id_A}= | Get From List | ${ip_set_A} | 2
+| | ${ipv6_br}= | Get From List | ${ip_set_A} | 3
+| | Then Send IPv4 ICMP And Check Headers For Lightweight 4over6
+| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | ... | ${dut_to_tg_if1_mac} | ${ipv4_A} | ${ipv4_outside}
+| | ... | ${icmp_id_A} | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac}
+| | ... | ${ipv6_A} | ${ipv6_br}
+
+
| Bug: VPP-318
| | [Tags] | EXPECTED_FAILING
| | [Documentation] | qlen < psid length
-| | Given Path for 2-node testing is set
+| | Given Path For 2-node Testing Is Set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Interfaces in 2-node path are up
-| | And IP addresses are set on interfaces
+| | And Interfaces In 2-node Path Are Up
+| | And IP Addresses Are Set On Interfaces
| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4} | ${ipv4_prefix_len}
| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6} | ${ipv6_prefix_len}
| | Then Run Keyword And Expect Error | Unable to add map domain *
@@ -218,54 +341,54 @@
| | [Tags] | EXPECTED_FAILING
| | [Documentation] |
| | ... | add route; add map; traffic pass; add route; add map; traffic fail
-| | Given Path for 2-node testing is set
+| | Given Path For 2-node Testing Is Set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Interfaces in 2-node path are up
+| | And Interfaces In 2-node Path Are Up
-| | When IP addresses are set on interfaces
+| | When IP Addresses Are Set 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 Vpp Route Add | ${dut_node} | 2001:: | 16 | ${dut_ip6_gw}
| | ... | ${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE}
-| | And Add IP neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw}
+| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw}
| | ... | ${tg_to_dut_if2_mac}
-| | Then Check MAP configuration with traffic script
+| | 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
-| | When IP addresses are set on interfaces
+| | When IP Addresses Are Set 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 Vpp Route Add | ${dut_node} | 2001:: | 16 | ${dut_ip6_gw}
| | ... | ${dut_to_tg_if2} | resolve_attempts=${NONE} | count=${NONE}
-| | And Add IP neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw}
+| | And Add IP Neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw}
| | ... | ${tg_to_dut_if2_mac}
-| | Then Check MAP configuration with traffic script
+| | 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
*** Keywords ***
-| Set interfaces IP addresses and routes
-| | Path for 2-node testing is set
+| Set Interfaces IP Addresses And Routes
+| | Path For 2-node Testing Is Set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | Interfaces in 2-node path are up
-| | IP addresses are set on interfaces
+| | Interfaces In 2-node Path Are Up
+| | IP Addresses Are Set On Interfaces
| | ... | ${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 | ${dut_ip6_gw} | ${dut_to_tg_if2}
| | ... | resolve_attempts=${NONE} | count=${NONE}
-| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if2} | ${dut_ip6_gw}
+| | 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 | ${dut_ip4_gw}
| | ... | ${dut_to_tg_if1} | resolve_attempts=${NONE} | count=${NONE}
-| | Add IP neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw}
+| | Add IP Neighbor | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip4_gw}
| | ... | ${tg_to_dut_if1_mac}
-| Check MAP configuration with traffic script
-| | [Documentation] |
+| Check MAP Configuration With Traffic Script
+| | [Documentation]
| | ... | Used as a test case template.\
| | ... | Configure MAP-E domain with given parameters, with traffic script send
| | ... | UDP in IPv4 packet to given UDP destination port and IP destination
@@ -279,38 +402,38 @@
| | ... | ${expected_ipv6_dst}=${EMPTY}
| | ${domain_index}= | Map Add Domain | ${dut_node} | ${ipv4_pfx} | ${ipv6_pfx}
| | ... | ${ipv6_br_src} | ${ea_bit_len} | ${psid_offset} | ${psid_len}
-| | ${computed_ipv6_dst}= | Compute IPv6 map destination address
+| | ${computed_ipv6_dst}= | Compute IPv6 Map Destination Address
| | ... | ${ipv4_pfx} | ${ipv6_pfx} | ${ea_bit_len} | ${psid_offset}
| | ... | ${psid_len} | ${ipv4_dst} | ${dst_port}
| | ${ipv6_dst}= | Run Keyword If | "${expected_ipv6_dst}" == "${EMPTY}"
| | ... | Set Variable | ${computed_ipv6_dst}
| | ... | ELSE | Set Variable | ${expected_ipv6_dst}
| | Run Keyword If | "${expected_ipv6_dst}" != "${EMPTY}"
-| | ... | IP Addresses Should be Equal
+| | ... | IP Addresses Should Be Equal
| | ... | ${computed_ipv6_dst} | ${expected_ipv6_dst}
| | ${ipv6_dst}= | Set Variable | ${computed_ipv6_dst}
-| | Check encapsulation with traffic script
+| | Check Encapsulation With Traffic Script
| | ... | ${ipv4_dst} | ${dst_port} | ${ipv6_dst}
-| | Check decapsulation with traffic script
+| | Check Decapsulation With Traffic Script
| | ... | ${ipv6_dst} | ${ipv4_dst} | ${dst_port}
| | [Teardown] | Run Keywords
| | ... | Map Del Domain | ${dut_node} | ${domain_index} | AND
-| | ... | Show packet trace on all DUTs | ${nodes} | AND
-| | ... | Clear packet trace on all DUTs | ${nodes}
+| | ... | Show Packet Trace On All DUTs | ${nodes} | AND
+| | ... | Clear Packet Trace On All DUTs | ${nodes}
-| Check encapsulation with traffic script
+| Check Encapsulation With Traffic Script
| | [Arguments] | ${ipv4_dst} | ${dst_port} | ${ipv6_dst}
-| | Send IPv4 UDP and check headers for lightweight 4over6
-| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
-| | ... | ${dut_to_tg_if1_mac} | ${ipv4_dst} | ${ipv4_outside}
-| | ... | ${dst_port} | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac}
-| | ... | ${ipv6_dst} | ${ipv6_br_src}
+| | Send IPv4 UDP And Check Headers For Lightweight 4over6
+| | ... | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
+| | ... | ${dut_to_tg_if1_mac} | ${ipv4_dst} | ${ipv4_outside}
+| | ... | ${dst_port} | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac}
+| | ... | ${ipv6_dst} | ${ipv6_br_src}
-| Check decapsulation with traffic script
+| Check Decapsulation With Traffic Script
| | [Arguments] | ${ipv6_ce_addr} | ${ipv4_inside} | ${port}
-| | Send IPv4 UDP in IPv6 and check headers for lightweight 4over6
-| | ... | ${tg_node} | ${tg_to_dut_if2} | ${tg_to_dut_if1}
-| | ... | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac}
-| | ... | ${ipv6_br_src} | ${ipv6_ce_addr}
-| | ... | ${ipv4_outside} | ${ipv4_inside} | ${port}
-| | ... | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
+| | Send IPv4 UDP In IPv6 And Check Headers For Lightweight 4over6
+| | ... | ${tg_node} | ${tg_to_dut_if2} | ${tg_to_dut_if1}
+| | ... | ${dut_to_tg_if2_mac} | ${tg_to_dut_if2_mac}
+| | ... | ${ipv6_br_src} | ${ipv6_ce_addr}
+| | ... | ${ipv4_outside} | ${ipv4_inside} | ${port}
+| | ... | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}