diff options
author | Patrik Hrnciar <phrnciar@cisco.com> | 2016-09-28 09:36:15 +0200 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2016-10-04 12:01:37 +0000 |
commit | 149c67b82f9af5144431f4d5b781ed345ca09fb8 (patch) | |
tree | 7cb03bd4efa656a56667bbf0b0396b3c655a1053 /tests | |
parent | a1316b18443ca5360f1304fc74dee33872dd95eb (diff) |
CSIT-227, CSIT-240 IPv4/IPv6 Multipath routing tests
- add IPv4 Equal-cost multipath routing test
- add IPv6 Equal-cost multipath routing test
Change-Id: I62eaf9983b7767e124f80af7d8c8652ffc460cf8
Signed-off-by: Patrik Hrnciar <phrnciar@cisco.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/func/ipv4/ipv4_multipath_routing.robot | 79 | ||||
-rw-r--r-- | tests/func/ipv6/ipv6_multipath_routing.robot | 78 |
2 files changed, 157 insertions, 0 deletions
diff --git a/tests/func/ipv4/ipv4_multipath_routing.robot b/tests/func/ipv4/ipv4_multipath_routing.robot new file mode 100644 index 0000000000..9d31bf0d61 --- /dev/null +++ b/tests/func/ipv4/ipv4_multipath_routing.robot @@ -0,0 +1,79 @@ +# 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. + + +*** Settings *** +| Resource | resources/libraries/robot/default.robot +| Resource | resources/libraries/robot/counters.robot +| Resource | resources/libraries/robot/interfaces.robot +| Resource | resources/libraries/robot/testing_path.robot +| Resource | resources/libraries/robot/ipv4.robot +| Resource | resources/libraries/robot/traffic.robot +| Library | resources.libraries.python.Trace + +| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO +| Suite Setup | Run Keywords | Setup all TGs before traffic script +| ... | AND | Update All Interface Data On All Nodes | ${nodes} +| Test Setup | Setup all DUTs before test +| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes} +| ... | AND | Vpp Show Errors | ${nodes['DUT1']} +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Ipv4 Multipath routing test cases* +| ... +| ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT configure interfaces IPv4 adresses,\ +| ... | and multipath routing. +| ... | *[Ver] TG verification:* Test packets are sent from TG on the first\ +| ... | link to DUT. Packet is received on TG on the second link from DUT1. + + +*** Variables *** +| ${ip_1}= | 192.168.1.1 +| ${ip_2}= | 192.168.2.1 +| ${test_dst_ip}= | 32.0.0.1 +| ${test_src_ip}= | 16.0.0.1 +| ${prefix_length}= | 24 +| ${neighbor_1_ip}= | 192.168.2.10 +| ${neighbor_1_mac}= | 02:00:00:00:00:02 +| ${neighbor_2_ip}= | 192.168.2.20 +| ${neighbor_2_mac}= | 02:00:00:00:00:03 + +*** Test Cases *** +| TC01: IPv4 Equal-cost multipath routing +| | [Documentation] +| | ... | [Top] TG=DUT +| | ... | [Cfg] On DUT configure multipath routing wiht two equal-cost paths. +| | ... | [Ver] TG sends 100 IPv4 ICMP packets traffic on the first link to\ +| | ... | DUT. On second link to TG verify if traffic is divided into two paths. +| | Given Path for 2-node testing is set +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} +| | And Interfaces in 2-node path are UP +| | And Set Interface Address | ${dut_node} +| | ... | ${dut_to_tg_if2} | ${ip_1} | ${prefix_length} +| | And Set Interface Address | ${dut_node} +| | ... | ${dut_to_tg_if1} | ${ip_2} | ${prefix_length} +| | And Add Arp On Dut +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_1_ip} | ${neighbor_1_mac} +| | And Add Arp On Dut +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_2_ip} | ${neighbor_2_mac} +| | When Vpp Route Add +| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | ${neighbor_1_ip} +| | ... | ${dut_to_tg_if1} | resolve_attempts=${NONE} | multipath=${TRUE} +| | And Vpp Route Add +| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | ${neighbor_2_ip} +| | ... | ${dut_to_tg_if1} | resolve_attempts=${NONE} | multipath=${TRUE} +| | Then Send Packets And Check Multipath Routing | ${tg_node} +| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1} | ${test_src_ip} | ${test_dst_ip} +| | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} | ${dut_to_tg_if1_mac} +| | ... | ${neighbor_1_mac} | ${neighbor_2_mac} diff --git a/tests/func/ipv6/ipv6_multipath_routing.robot b/tests/func/ipv6/ipv6_multipath_routing.robot new file mode 100644 index 0000000000..02d48a0a72 --- /dev/null +++ b/tests/func/ipv6/ipv6_multipath_routing.robot @@ -0,0 +1,78 @@ +# 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. + + +*** Settings *** +| Resource | resources/libraries/robot/default.robot +| Resource | resources/libraries/robot/counters.robot +| Resource | resources/libraries/robot/interfaces.robot +| Resource | resources/libraries/robot/testing_path.robot +| Resource | resources/libraries/robot/ipv6.robot +| Resource | resources/libraries/robot/traffic.robot +| Library | resources.libraries.python.Trace + +| Force Tags | HW_ENV | VM_ENV | 3_NODE_DOUBLE_LINK_TOPO +| Suite Setup | Run Keywords | Setup all TGs before traffic script +| ... | AND | Update All Interface Data On All Nodes | ${nodes} +| Test Setup | Setup all DUTs before test +| Test Teardown | Run Keywords | Show packet trace on all DUTs | ${nodes} +| ... | AND | Vpp Show Errors | ${nodes['DUT1']} +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Ipv6 Multipath routing test cases* +| ... +| ... | *[Top] Network topologies:* TG=DUT 2-node topology with two links\ +| ... | between nodes. +| ... | *[Cfg] DUT configuration:* On DUT configure interfaces IPv4 adresses,\ +| ... | and multipath routing. +| ... | *[Ver] TG verification:* Test packets are sent from TG on the first\ +| ... | link to DUT. Packet is received on TG on the second link from DUT1. + +*** Variables *** +| ${ip_1}= | 3ffe:61::1 +| ${ip_2}= | 3ffe:62::1 +| ${test_dst_ip}= | 3ffe:71::1 +| ${test_src_ip}= | 3ffe:51::1 +| ${prefix_length}= | 64 +| ${neighbor_1_ip}= | 3ffe:62::2 +| ${neighbor_1_mac}= | 02:00:00:00:00:02 +| ${neighbor_2_ip}= | 3ffe:62::3 +| ${neighbor_2_mac}= | 02:00:00:00:00:03 + +*** Test Cases *** +| TC01: IPv6 Equal-cost multipath routing +| | [Documentation] +| | ... | [Top] TG=DUT +| | ... | [Cfg] On DUT configure multipath routing wiht two equal-cost paths. +| | ... | [Ver] TG sends 100 IPv6 ICMP packets traffic on the first link to\ +| | ... | DUT. On second link to TG verify if traffic is divided into two paths. +| | Given Path for 2-node testing is set +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} +| | And Interfaces in 2-node path are UP +| | And Vpp Set If Ipv6 Addr | ${dut_node} +| | ... | ${dut_to_tg_if2} | ${ip_1} | ${prefix_length} +| | And Vpp Set If Ipv6 Addr | ${dut_node} +| | ... | ${dut_to_tg_if1} | ${ip_2} | ${prefix_length} +| | And Add Ip Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_1_ip} | ${neighbor_1_mac} +| | And Add Ip Neighbor +| | ... | ${dut_node} | ${dut_to_tg_if1} | ${neighbor_2_ip} | ${neighbor_2_mac} +| | When Vpp Route Add +| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | ${neighbor_1_ip} +| | ... | ${dut_to_tg_if1} | resolve_attempts=${NONE} | multipath=${TRUE} +| | And Vpp Route Add +| | ... | ${dut_node} | ${test_dst_ip} | ${prefix_length} | ${neighbor_2_ip} +| | ... | ${dut_to_tg_if1} | resolve_attempts=${NONE} | multipath=${TRUE} +| | Then Send Packets And Check Multipath Routing | ${tg_node} +| | ... | ${tg_to_dut_if2} | ${tg_to_dut_if1} | ${test_src_ip} | ${test_dst_ip} +| | ... | ${tg_to_dut_if2_mac} | ${dut_to_tg_if2_mac} | ${dut_to_tg_if1_mac} +| | ... | ${neighbor_1_mac} | ${neighbor_2_mac} |