diff options
Diffstat (limited to 'tests/func/ipv6')
-rw-r--r-- | tests/func/ipv6/ipv6_multipath_routing.robot | 73 | ||||
-rw-r--r-- | tests/func/ipv6/ipv6_ra.robot | 107 | ||||
-rw-r--r-- | tests/func/ipv6/ipv6_untagged.robot | 120 |
3 files changed, 0 insertions, 300 deletions
diff --git a/tests/func/ipv6/ipv6_multipath_routing.robot b/tests/func/ipv6/ipv6_multipath_routing.robot deleted file mode 100644 index fddf3a98a8..0000000000 --- a/tests/func/ipv6/ipv6_multipath_routing.robot +++ /dev/null @@ -1,73 +0,0 @@ -# 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 -| Test Setup | Func Test Setup -| Test Teardown | Func Test Teardown -| 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} diff --git a/tests/func/ipv6/ipv6_ra.robot b/tests/func/ipv6/ipv6_ra.robot deleted file mode 100644 index e45ce730c9..0000000000 --- a/tests/func/ipv6/ipv6_ra.robot +++ /dev/null @@ -1,107 +0,0 @@ -# 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_SINGLE_LINK_TOPO -| Test Setup | Func Test Setup -| Test Teardown | Func Test Teardown -| Documentation | *IPv6 Router Advertisement test cases* -| ... -| ... | RFC4861 Neighbor Discovery. Encapsulations: Eth-IPv6-RA on links -| ... | TG-DUT1. IPv6 Router Advertisement tests use 3-node topology TG - DUT1 - -| ... | DUT2 - TG with one link between the nodes. DUT1 and DUT2 are configured -| ... | with IPv6 routing and static routes. TG verifies received RA packets. - - -*** Variables *** -| ${dut1_to_tg_ip}= | 3ffe:62::1 -| ${tg_to_dut1_ip}= | 3ffe:62::2 -| ${prefix_length}= | 64 -| ${interval}= | 2 - -*** Test Cases *** -| TC01: DUT transmits RA on IPv6 enabled interface -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Cfg] On DUT1 configure IPv6 interface on the link to TG. -| | ... | [Ver] Make TG wait for IPv6 Router Advertisement packet to be sent\ -| | ... | by DUT1 and verify the received RA packet is correct. -| | [Tags] | EXPECTED_FAILING -| | Given Path For 3-node Testing Is Set -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Interfaces In 3-node Path Are Up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | When Vpp RA Send After Interval | ${dut1_node} | ${dut1_to_tg} -| | Then Receive And Check Router Advertisement Packet -| | ... | ${tg_node} | ${tg_to_dut1} | ${dut1_to_tg_mac} - -| TC02: DUT retransmits RA on IPv6 enabled interface after a set interval -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Cfg] On DUT1 configure IPv6 interface on the link to TG. -| | ... | [Ver] Make TG wait for two IPv6 Router Advertisement packets\ -| | ... | to be sent by DUT1 and verify the received RA packets are correct. -| | [Tags] | EXPECTED_FAILING -| | Given Path For 3-node Testing Is Set -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Interfaces In 3-node Path Are Up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | When Vpp RA Send After Interval | ${dut1_node} | ${dut1_to_tg} -| | ... | interval=${interval} -| | :FOR | ${n} | IN RANGE | ${2} -| | | Then Receive And Check Router Advertisement Packet -| | | ... | ${tg_node} | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${interval} - -| TC03: DUT responds to Router Solicitation request -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Cfg] On DUT1 configure IPv6 interface on the link to TG and suppress\ -| | ... | sending of Router Advertisement packets periodically. -| | ... | [Ver] Make TG send IPv6 Router Solicitation request to DUT1, listen\ -| | ... | for response from DUT1 and verify the received RA packet is correct. -| | [Tags] | EXPECTED_FAILING -| | Given Path For 3-node Testing Is Set -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Interfaces In 3-node Path Are Up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | When VPP RA Suppress Link Layer | ${dut1_node} | ${dut1_to_tg} -| | Then Send Router Solicitation And Check Response -| | ... | ${tg_node} | ${dut1_node} | ${tg_to_dut1} | ${dut1_to_tg} -| | ... | ${tg_to_dut1_ip} - -| TC04: DUT responds to Router Solicitation request sent from link local address -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Cfg] On DUT1 configure IPv6 interface on the link to TG and suppress\ -| | ... | sending of Router Advertisement packets periodically. -| | ... | [Ver] Make TG send IPv6 Router Solicitation request to DUT1, listen\ -| | ... | for response from DUT1 and verify the received RA packet is correct. -| | [Tags] | EXPECTED_FAILING -| | Given Path For 3-node Testing Is Set -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Interfaces In 3-node Path Are Up -| | And Vpp Set If Ipv6 Addr | ${dut1_node} -| | ... | ${dut1_to_tg} | ${dut1_to_tg_ip} | ${prefix_length} -| | When VPP RA Suppress Link Layer | ${dut1_node} | ${dut1_to_tg} -| | Then Send Router Solicitation And Check Response -| | ... | ${tg_node} | ${dut1_node} | ${tg_to_dut1} | ${dut1_to_tg} diff --git a/tests/func/ipv6/ipv6_untagged.robot b/tests/func/ipv6/ipv6_untagged.robot deleted file mode 100644 index 6048daad67..0000000000 --- a/tests/func/ipv6/ipv6_untagged.robot +++ /dev/null @@ -1,120 +0,0 @@ -# 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 *** -| Library | resources.libraries.python.Trace -| Resource | resources/libraries/robot/interfaces.robot -| Resource | resources/libraries/robot/ipv6.robot -| Resource | resources/libraries/robot/counters.robot -| Resource | resources/libraries/robot/default.robot -| Variables | resources/libraries/python/IPv6NodesAddr.py | ${nodes} -| Force Tags | HW_ENV -| Suite Setup | Run Keywords -| ... | Setup ipv6 to all dut in topology | ${nodes} | ${nodes_ipv6_addr} | AND -| ... | Vpp nodes ra suppress link layer | ${nodes} | AND -| ... | Vpp nodes setup ipv6 routing | ${nodes} | ${nodes_ipv6_addr} | AND -| ... | Setup all TGs before traffic script -| Test Setup | Run Keywords | Save VPP PIDs | AND -| ... | Clear interface counters on all vpp nodes in topology | ${nodes} -| Test Teardown | Run Keywords -| ... | Show packet trace on all DUTs | ${nodes} | AND -| ... | Show vpp trace dump on all DUTs | AND -| ... | Check VPP PID in Teardown -| Documentation | *IPv6 routing test cases* -| ... -| ... | RFC2460 IPv6, RFC4443 ICMPv6, RFC4861 Neighbor Discovery. -| ... | Encapsulations: Eth-IPv6-ICMPv6 on links TG-DUT1, TG-DUT2, DUT1-DUT2; -| ... | Eth-IPv6-NS/NA on links TG-DUT. IPv6 routing tests use circular 3-node -| ... | topology TG - DUT1 - DUT2 - TG with one link between the nodes. DUT1 and -| ... | DUT2 are configured with IPv6 routing and static routes. Test ICMPv6 -| ... | Echo Request packets are sent in both directions by TG on links to DUT1 -| ... | and DUT2 and received on TG links on the other side of circular -| ... | topology. On receive TG verifies packets IPv6 src-addr, dst-addr and MAC -| ... | addresses. - -*** Test Cases *** -| TC01: DUT replies to ICMPv6 Echo Req to its ingress interface -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req to DUT ingress interface. Make TG\ -| | ... | verify ICMPv6 Echo Reply is correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 icmp echo | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes_ipv6_addr} - -| TC02: DUT replies to ICMPv6 Echo Req pkt with size 64B-to-1500B-incr-1B -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Reqs to DUT ingress interface,\ -| | ... | incrementating frame size from 64B to 1500B with increment step -| | ... | of 1Byte. Make TG verify ICMP Echo Replies are correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 icmp echo sweep | ${nodes['TG']} | ${nodes['DUT1']} | 0 | 1452 | 1 | ${nodes_ipv6_addr} - -| TC03: DUT replies to ICMPv6 Echo Req pkt with size 1500B-to-9000B-incr-10B -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Reqs to DUT ingress interface,\ -| | ... | incrementating frame size from 1500B to 9000B with increment -| | ... | step of 10Bytes. Make TG verify ICMPv6 Echo Replies are correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO -| | [Setup] | Setup MTU on TG based on MTU on DUT | ${nodes['TG']} | ${nodes['DUT1']} -| | [Teardown] | Run keywords -| | ... | Set default Ethernet MTU on all interfaces on node | ${nodes['TG']} -| | ... | AND | Check VPP PID in Teardown -| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} -| | Compute Path -| | ${dut_port} | ${dut_node}= | Last Interface -| | ${mtu}= | Get Interface MTU | ${dut_node} | ${dut_port} -| | # ICMPv6 payload size is frame size minus size of Ehternet header, FCS, -| | # IPv6 header and ICMPv6 header -| | ${end_size}= | Evaluate | ${mtu} - 14 - 4 - 40 - 8 -| | Run Keyword If | ${mtu} > 1518 -| | ... | Ipv6 icmp echo sweep | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | 1452 | ${end_size} | 10 | ${nodes_ipv6_addr} - -| TC04: DUT routes to its egress interface -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req towards DUT1 egress interface\ -| | ... | connected to DUT2. Make TG verify ICMPv6 Echo Reply is correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 tg to dut1 egress | ${nodes['TG']} | ${nodes['DUT1']} | -| | ... | ${nodes['DUT2']} | ${nodes_ipv6_addr} - -| TC05: DUT1 routes to DUT2 ingress interface -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req towards DUT2 ingress interface\ -| | ... | connected to DUT1. Make TG verify ICMPv6 Echo Reply is correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 tg to dut2 via dut1 | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} | ${nodes_ipv6_addr} - -| TC06: DUT1 routes to DUT2 egress interface -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req towards DUT2 egress interface\ -| | ... | connected to TG. Make TG verify ICMPv6 Echo Reply is correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 tg to dut2 egress via dut1 | ${nodes['TG']} | ${nodes['DUT1']} -| | ... | ${nodes['DUT2']} | ${nodes_ipv6_addr} - -| TC07: DUT1 and DUT2 route between TG interfaces -| | [Documentation] -| | ... | Make TG send ICMPv6 Echo Req between its interfaces across DUT1\ -| | ... | and DUT2. Make TG verify ICMPv6 Echo Replies are correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 tg to tg routed | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} -| | ... | ${nodes_ipv6_addr} - -| TC08: DUT replies to IPv6 Neighbor Solicitation -| | [Documentation] -| | ... | On DUT configure interface IPv6 address in the main routing\ -| | ... | domain. Make TG send Neighbor Solicitation message on the link -| | ... | to DUT and verify DUT Neighbor Advertisement reply is correct. -| | [Tags] | 3_NODE_SINGLE_LINK_TOPO | VM_ENV -| | Ipv6 neighbor solicitation | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes_ipv6_addr} |