X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fipv6.robot;h=c6bf2922cb9cdbdcf41250f9538a467e264c0c42;hp=6cd6640b0a6cd33be67bedfea873465a1e365ee5;hb=66919d66b8ab63369266eaab8db1628501e884aa;hpb=8f285166faf13156a4f7c70adac9a7e20549268f diff --git a/resources/libraries/robot/ipv6.robot b/resources/libraries/robot/ipv6.robot index 6cd6640b0a..c6bf2922cb 100644 --- a/resources/libraries/robot/ipv6.robot +++ b/resources/libraries/robot/ipv6.robot @@ -14,11 +14,12 @@ """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.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 @@ -36,30 +37,35 @@ | | ${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 +| | Should Be Equal | ${ipv6_counter} | ${2} | #ICMPv6 neighbor advertisement + ICMPv6 echo request | 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 | | [Documentation] | Send traffic from TG to first DUT egress interface @@ -73,7 +79,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} @@ -90,7 +97,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} @@ -106,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} @@ -126,7 +135,9 @@ | | ${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 @@ -143,7 +154,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 | ${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} @@ -151,18 +163,20 @@ | | [Documentation] | Setup IPv6 address on all DUTs | | [Arguments] | ${nodes} | ${nodes_addr} | | Setup all DUTs before test -| | Nodes Setup Ipv6 Addresses | ${nodes} | ${nodes_addr} -| | Sleep | 10 +| | ${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 | | [Documentation] | Remove IPv6 address on all DUTs | | [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 +| Vpp nodes ra suppress link layer +| | [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 | | [Documentation] | Setup routing on all VPP nodes required for IPv6 tests