X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fipv6.robot;h=35905af02a5a5f021cd24e0a6e8e013a41f96dbc;hb=refs%2Fchanges%2F68%2F6968%2F13;hp=4783b070abb2ef9f80983a95e8b1cb605a760986;hpb=44f173ecd1311296e347b066592163e9abbe3483;p=csit.git diff --git a/resources/libraries/robot/ipv6.robot b/resources/libraries/robot/ipv6.robot index 4783b070ab..35905af02a 100644 --- a/resources/libraries/robot/ipv6.robot +++ b/resources/libraries/robot/ipv6.robot @@ -14,19 +14,19 @@ """IPv6 keywords""" *** Settings *** -| Library | resources/libraries/python/IPv6Util.py -| Library | resources/libraries/python/IPv6Setup.py -| Library | resources/libraries/python/TrafficScriptExecutor.py -| Library | resources/libraries/python/NodePath.py -| Library | resources/libraries/python/Routing.py -| Library | resources/libraries/python/InterfaceUtil.py +| 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 | Resource | resources/libraries/robot/default.robot | Resource | resources/libraries/robot/counters.robot | Documentation | IPv6 keywords *** Keywords *** -| Ipv6 icmp echo +| 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} @@ -37,32 +37,37 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} +| | ${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} -| | Vpp dump stats | ${dst_node} -| | ${ipv6_counter}= | Vpp get interface ipv6 counter | ${dst_node} | ${dst_port} -| | Should Be Equal | ${ipv6_counter} | ${2} | #ICMPv6 neighbor advertisment + ICMPv6 echo request +| | Get interface statistics | ${dst_node} +| | ${ipv6_counter}= | Get interface ipv6 counter | ${dst_node} | ${dst_port} +| | Should Be Equal | ${ipv6_counter} | ${2} | #ICMPv6 neighbor advertisement + ICMPv6 echo request -| Ipv6 icmp echo sweep +| Execute IPv6 ICMP echo sweep | | [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} +| | [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_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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} -| # TODO: end_size is currently minimum MTU size for IPv6 minus IPv6 and ICMPv6 -| # echo header size, MTU info is not in VAT sw_interface_dump output -| | ${args}= | Set Variable | ${args} --start_size 0 --end_size 1232 --step 1 -| | Run Traffic Script On Node | ipv6_sweep_ping.py | ${tg_node} | ${args} | ${20} +| | ${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}= | Set Variable +| | ... | ${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} -| Ipv6 tg to dut1 egress +| 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} @@ -74,12 +79,13 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} +| | ${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 dut2 via dut1 +| 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} @@ -91,11 +97,12 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} +| | ${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 dut2 egress via dut1 +| 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} @@ -107,7 +114,8 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} +| | ${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} @@ -127,13 +135,15 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${dst_port} | ${src_mac} +| | ${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 | ${src_port_name} | ${dst_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} -| Ipv6 neighbor solicitation +| 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} @@ -144,15 +154,18 @@ | | ${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} -| | ${args}= | Traffic Script Gen Arg | ${src_port} | ${src_port} | ${src_mac} +| | ${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} -| Setup ipv6 to all dut in topology +| Configure IPv6 on all DUTs in topology | | [Documentation] | Setup IPv6 address on all DUTs | | [Arguments] | ${nodes} | ${nodes_addr} -| | Setup all DUTs before test -| | Nodes Setup Ipv6 Addresses | ${nodes} | ${nodes_addr} +| | Configure all DUTs before test +| | ${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} | Clear ipv6 on all dut in topology @@ -160,12 +173,12 @@ | | [Arguments] | ${nodes} | ${nodes_addr} | | Nodes Clear Ipv6 Addresses | ${nodes} | ${nodes_addr} -| Vpp nodes ra supress link layer -| | [Documentation] | Supress ICMPv6 router advertisement message for link scope address +| Suppress ICMPv6 router advertisement message +| | [Documentation] | Suppress ICMPv6 router advertisement message for link scope address | | [Arguments] | ${nodes} -| | Vpp All Ra Supress Link Layer | ${nodes} +| | Vpp All Ra Suppress Link Layer | ${nodes} -| Vpp nodes setup ipv6 routing +| 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']}