X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_configuration.robot;h=52be3a26a857b330aab8c01126a144b571867a66;hp=f6b1230e7b89d19288b70a946f5521946621d7d8;hb=95998a67270ffd72f09ce6f3d43235c723edf36b;hpb=e81d599029f31fb433089eecf0d160ab01719383 diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot index f6b1230e7b..52be3a26a8 100644 --- a/resources/libraries/robot/performance/performance_configuration.robot +++ b/resources/libraries/robot/performance/performance_configuration.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. +# Copyright (c) 2018 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: @@ -33,6 +33,7 @@ | Resource | resources/libraries/robot/ip/ip6.robot | Resource | resources/libraries/robot/vm/qemu.robot | Resource | resources/libraries/robot/l2/tagging.robot +| Resource | resources/libraries/robot/overlay/srv6.robot | Documentation | Performance suite keywords - configuration. *** Keywords *** @@ -598,6 +599,82 @@ | | And Vpp Enable Input Acl Interface | | ... | ${dut2} | ${dut2_if2} | ip6 | ${table_idx} +| Initialize IPv6 forwarding over SRv6 with encapsulation with '${n}' x SID '${prepos}' decapsulation 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 neighbours on all +| | ... | VPP interfaces. Setup IPv6 addresses on all interfaces. Set segment +| | ... | routing for IPv6 for required number of SIDs and configure IPv6 routes +| | ... | on both DUT nodes. +| | ... +| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} +| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2} +| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut2_if1} +| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | ${dut1_if1_ip6} | ${prefix} +| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | ${dut1_if2_ip6} | ${prefix} +| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | ${dut2_if1_ip6} | ${prefix} +| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | ${dut2_if2_ip6} | ${prefix} +| | Suppress ICMPv6 router advertisement message | ${nodes} +| | :FOR | ${number} | IN RANGE | 2 | ${dst_addr_nr}+2 +| | | ${hexa_nr}= | Convert To Hex | ${number} +| | | Add Ip Neighbor | ${dut1} | ${dut1_if1} | ${tg_if1_ip6_subnet}${hexa_nr} +| | | ... | ${tg1_if1_mac} +| | | Add Ip Neighbor | ${dut2} | ${dut2_if2} | ${tg_if2_ip6_subnet}${hexa_nr} +| | | ... | ${tg1_if2_mac} +| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | ${dut2_if1_ip6} | ${dut2_if1_mac} +| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | ${dut1_if2_ip6} | ${dut1_if2_mac} +| | ${sid1}= | Set Variable If +| | ... | "${n}" == "1" | ${dut2_sid1} +| | ... | "${n}" == "2" | ${dut2_sid1_1} +| | ${sid2}= | Set Variable If +| | ... | "${n}" == "1" | ${dut1_sid2} +| | ... | "${n}" == "2" | ${dut1_sid2_1} +| | Vpp Route Add | ${dut1} | ${sid1} | ${sid_prefix} | ${dut2_if1_ip6} +| | ... | ${dut1_if2} +| | Vpp Route Add | ${dut2} | ${sid2} | ${sid_prefix} | ${dut1_if2_ip6} +| | ... | ${dut2_if1} +| | Set SR Encaps Source Address on DUT | ${dut1} | ${dut1_sid1} +| | @{sid_list_dir0}= | Run Keyword If | "${n}" == "1" +| | ... | Create List | ${dut2_sid1} +| | ... | ELSE IF | "${n}" == "2" +| | ... | Create List | ${dut2_sid1_1} | ${dut2_sid1_2} +| | Configure SR Policy on DUT | ${dut1} | ${dut1_bsid} | encap +| | ... | @{sid_list_dir0} +| | Configure SR Steer on DUT | ${dut1} | L3 | ${dut1_bsid} +| | ... | ip_addr=${tg_if2_ip6_subnet} | prefix=${sid_prefix} +| | Run Keyword If | "${n}" == "1" +| | ... | Configure SR LocalSID on DUT | ${dut2} | ${dut2_sid1} | end.dx6 +| | ... | interface=${dut2_if2} | next_hop=${tg_if2_ip6_subnet}2 +| | Run Keyword If | "${n}" == "2" +| | ... | Configure SR LocalSID on DUT | ${dut2} | ${dut2_sid1_1} | end +| | Run Keyword If | "${n}" == "2" and "${prepos}" != "without" +| | ... | Configure SR LocalSID on DUT | ${dut2} | ${dut2_sid1_2} | end.dx6 +| | ... | interface=${dut2_if2} | next_hop=${tg_if2_ip6_subnet}2 +| | Run Keyword If | "${n}" == "2" and "${prepos}" == "without" +| | ... | Vpp Route Add | ${dut2} | ${dut2_sid1_2} | ${sid_prefix} +| | ... | ${tg_if2_ip6_subnet}2 | ${dut2_if2} +| | Set SR Encaps Source Address on DUT | ${dut2} | ${dut2_sid2} +| | @{sid_list_dir1}= | Run Keyword If | "${n}" == "1" +| | ... | Create List | ${dut1_sid2} +| | ... | ELSE IF | "${n}" == "2" +| | ... | Create List | ${dut1_sid2_1} | ${dut1_sid2_2} +| | Configure SR Policy on DUT | ${dut2} | ${dut2_bsid} | encap +| | ... | @{sid_list_dir1} +| | Configure SR Steer on DUT | ${dut2} | L3 | ${dut2_bsid} +| | ... | ip_addr=${tg_if1_ip6_subnet} | prefix=${sid_prefix} +| | Run Keyword If | "${n}" == "1" +| | ... | Configure SR LocalSID on DUT | ${dut1} | ${dut1_sid2} | end.dx6 +| | ... | interface=${dut1_if1} | next_hop=${tg_if1_ip6_subnet}2 +| | Run Keyword If | "${n}" == "2" +| | ... | Configure SR LocalSID on DUT | ${dut1} | ${dut1_sid2_1} | end +| | Run Keyword If | "${n}" == "2" and "${prepos}" != "without" +| | ... | Configure SR LocalSID on DUT | ${dut1} | ${dut1_sid2_2} | end.dx6 +| | ... | interface=${dut1_if1} | next_hop=${tg_if1_ip6_subnet}2 +| | Run Keyword If | "${n}" == "2" and "${prepos}" == "without" +| | ... | Vpp Route Add | ${dut1} | ${dut1_sid2_2} | ${sid_prefix} +| | ... | ${tg_if1_ip6_subnet}2 | ${dut1_if1} + | Initialize L2 xconnect in 3-node circular topology | | [Documentation] | | ... | Setup L2 xconnect topology by cross connecting two interfaces on