X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fip%2Fip6.robot;h=6ef781f07e0c5dc06c6082877f46d44c715382de;hb=refs%2Fchanges%2F60%2F18360%2F67;hp=f3e31b957b74ae737b50b30eb35ed0e2cbc380b0;hpb=213f4046bc90c98e01bdfd0b593b6a532ec70ea8;p=csit.git diff --git a/resources/libraries/robot/ip/ip6.robot b/resources/libraries/robot/ip/ip6.robot index f3e31b957b..6ef781f07e 100644 --- a/resources/libraries/robot/ip/ip6.robot +++ b/resources/libraries/robot/ip/ip6.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: @@ -26,6 +26,20 @@ | Documentation | IPv6 keywords *** Keywords *** +| Get interface Ipv6 addresses +| | [Documentation] | Get IPv6 address for the given interface of the node. +| | ... +| | ... | *Arguments:* +| | ... | - node - DUT node data. Type: dictionary +| | ... | - interface - Name of the interface on the VPP node. Type: string +| | ... +| | [Arguments] | ${node} | ${interface} +| | ... +| | [Return] | ${ip_data} +| | ... +| | ${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} @@ -172,7 +186,9 @@ | Configure IPv6 on all DUTs in topology | | [Documentation] | Setup IPv6 address on all DUTs | | [Arguments] | ${nodes} | ${nodes_addr} -| | Configure all DUTs before test +| | 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 @@ -201,15 +217,15 @@ | | :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} | ${dut1_if_addr} -| | | ... | ${dut2_if} +| | | 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} | ${dut2_if_addr} -| | | ... | ${dut1_if} +| | | Vpp Route Add | ${dut1} | ${net} | ${prefix} | gateway=${dut2_if_addr} +| | | ... | interface=${dut1_if} -| Initialize IPv6 forwarding in circular topology +| Configure IPv6 forwarding in circular topology | | [Documentation] | | ... | Set UP state on VPP interfaces in path on nodes in 2-node / 3-node | | ... | circular topology. Get the interface MAC addresses and setup ARP on @@ -237,16 +253,16 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2001:2::1 \| -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2001:2::1 \ | | ... | \| remote_host1_ip6=3ffe:5f::1 \| remote_host2_ip6=3ffe:5f::2 \ | | ... | \| remote_host_ip6_prefix=128 \| -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2003:3::1 \| 2003:3::2 \ | | ... | \| 2001:2::1 \| -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2003:3::1 \| 2003:3::2 \ | | ... | \| 2001:2::1 \| remote_host1_ip4=3ffe:5f::1 \ | | ... | \| remote_host2_ip4=3ffe:5f::2 \| remote_host_ip4_prefix=128 \| @@ -257,24 +273,24 @@ | | ... | ${remote_host_ip6_prefix}=${NONE} | | ... | | ... -| | Set interfaces in path up +| | Configure interfaces in path up | | ... | | ${dut2_status} | ${value}= | Run Keyword And Ignore Error | | ... | Variable Should Exist | ${dut2_node} | | ... | | Run Keyword If | '${dut2_status}' == 'PASS' -| | ... | Initialize IPv6 forwarding in 3-node circular topology +| | ... | Configure IPv6 forwarding in 3-node circular topology | | ... | ${tg_if1_ip6} | ${tg_if2_ip6} | ${dut1_if1_ip6} | ${dut1_if2_ip6} | | ... | ${dut2_if1_ip6} | ${dut2_if2_ip6} | ${remote_host1_ip6} | | ... | ${remote_host2_ip6} | ${remote_host_ip6_prefix} | | ... | ELSE -| | ... | Initialize IPv6 forwarding in 2-node circular topology +| | ... | Configure IPv6 forwarding in 2-node circular topology | | ... | ${tg_if1_ip6} | ${tg_if2_ip6} | ${dut1_if1_ip6} | ${dut1_if2_ip6} | | ... | remote_host1_ip6=${remote_host1_ip6} | | ... | remote_host2_ip6=${remote_host2_ip6} | | ... | remote_host_ip6_prefix=${remote_host_ip6_prefix} -| Initialize IPv6 forwarding in 2-node circular topology +| Configure IPv6 forwarding in 2-node circular topology | | [Documentation] | | ... | Set UP state on VPP interfaces on DUT node in 2-node circular | | ... | topology. Get the interface MAC addresses and setup ARP on @@ -296,9 +312,9 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2001:2::1 \| -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2001:2::1 \ | | ... | \| remote_host1_ip6=3ffe:5f::1 \| remote_host2_ip6=3ffe:5f::2 \ | | ... | \| remote_host_ip6_prefix=128 \| @@ -321,12 +337,14 @@ | | ... | | Run Keyword Unless | '${remote_host1_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut_node} | ${remote_host1_ip6} -| | ... | ${remote_host_ip6_prefix} | ${tg_if1_ip6} | ${dut_to_tg_if1} +| | ... | ${remote_host_ip6_prefix} | gateway=${tg_if1_ip6} +| | ... | interface=${dut_to_tg_if1} | | Run Keyword Unless | '${remote_host2_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut_node} | ${remote_host2_ip6} -| | ... | ${remote_host_ip6_prefix} | ${tg_if2_ip6} | ${dut_to_tg_if2} +| | ... | ${remote_host_ip6_prefix} | gateway=${tg_if2_ip6} +| | ... | interface=${dut_to_tg_if2} -| Initialize IPv6 forwarding in 3-node circular topology +| Configure IPv6 forwarding in 3-node circular topology | | [Documentation] | | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular | | ... | topology. Get the interface MAC addresses and setup ARP on all VPP @@ -352,10 +370,10 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2003:3::1 \| 2003:3::2 \ | | ... | \| 2001:2::1 \| -| | ... | \| Initialize IPv6 forwarding in circular topology \ +| | ... | \| Configure IPv6 forwarding in circular topology \ | | ... | \| 2001:1::2 \| 2001:2::2 \| 2001:1::1 \| 2003:3::1 \| 2003:3::2 \ | | ... | \| 2001:2::1 \| remote_host1_ip4=3ffe:5f::1 \ | | ... | \| remote_host2_ip4=3ffe:5f::2 \| remote_host_ip4_prefix=128 \| @@ -387,19 +405,23 @@ | | ... | ${dut_tg_ip6_prefix} | | ... | | Vpp Route Add | ${dut1_node} | ${tg_if2_ip6} | ${dut_tg_ip6_prefix} -| | ... | ${dut2_if1_ip6} | ${dut1_to_dut2} +| | ... | gateway=${dut2_if1_ip6} | interface=${dut1_to_dut2} | | Vpp Route Add | ${dut2_node} | ${tg_if1_ip6} | ${dut_tg_ip6_prefix} -| | ... | ${dut1_if2_ip6} | ${dut2_to_dut1} +| | ... | gateway=${dut1_if2_ip6} | interface=${dut2_to_dut1} | | ... | | Run Keyword Unless | '${remote_host1_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut1_node} | ${remote_host1_ip6} -| | ... | ${remote_host_ip6_prefix} | ${tg_if1_ip6} | ${dut1_to_tg} +| | ... | ${remote_host_ip6_prefix} | gateway=${tg_if1_ip6} +| | ... | interface=${dut1_to_tg} | | Run Keyword Unless | '${remote_host2_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut1_node} | ${remote_host2_ip6} -| | ... | ${remote_host_ip6_prefix} | ${dut2_if1_ip6} | ${dut1_to_dut2} +| | ... | ${remote_host_ip6_prefix} | gateway=${dut2_if1_ip6} +| | ... | interface=${dut1_to_dut2} | | Run Keyword Unless | '${remote_host1_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut2_node} | ${remote_host1_ip6} -| | ... | ${remote_host_ip6_prefix} | ${dut1_if2_ip6} | ${dut2_to_dut1} +| | ... | ${remote_host_ip6_prefix} | gateway=${dut1_if2_ip6} +| | ... | interface=${dut2_to_dut1} | | Run Keyword Unless | '${remote_host2_ip6}' == '${NONE}' | | ... | Vpp Route Add | ${dut2_node} | ${remote_host2_ip6} -| | ... | ${remote_host_ip6_prefix} | ${tg_if2_ip6} | ${dut2_to_tg} +| | ... | ${remote_host_ip6_prefix} | gateway=${tg_if2_ip6} +| | ... | interface=${dut2_to_tg}