From cc85afad85339d2cc8f035ce63ff21220d8e6b96 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Fri, 6 Jul 2018 06:39:51 +0000 Subject: CSIT-1142 2-node topology - keywords - Clean up of 2-node setup KWs Change-Id: I59fc901fb57544eceb6a041b56b515cda8babf85 Signed-off-by: Peter Mikus --- .../performance/performance_configuration.robot | 123 +++++++++++---------- .../robot/performance/performance_setup.robot | 14 +-- 2 files changed, 72 insertions(+), 65 deletions(-) (limited to 'resources/libraries/robot/performance') diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot index 21826a2160..ba6396f8fe 100644 --- a/resources/libraries/robot/performance/performance_configuration.robot +++ b/resources/libraries/robot/performance/performance_configuration.robot @@ -96,6 +96,26 @@ | | Vpp Route Add | ${dut1} | ${laddr_ip4} | 8 | ${tg_if1_ip4} | ${dut1_if1} | | Vpp Route Add | ${dut2} | ${raddr_ip4} | 8 | ${tg_if2_ip4} | ${dut2_if2} +| Initialize IPv4 forwarding in 2-node circular topology +| | [Documentation] +| | ... | Set UP state on VPP interfaces in path on nodes in 2-node circular +| | ... | topology. Get the interface MAC addresses and setup ARP on all VPP +| | ... | interfaces. Setup IPv4 addresses with /24 prefix on DUT-TG links and +| | ... | /30 prefix on DUT1 link. Set routing on DUT node with prefix /24 and +| | ... | next hop of neighbour DUT interface IPv4 address. +| | ... +| | Set Interface State | ${dut1} | ${dut1_if1} | up +| | Set Interface State | ${dut1} | ${dut1_if2} | up +| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} +| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac} +| | Add arp on dut | ${dut1} | ${dut1_if2} | 20.20.20.2 | ${tg1_if2_mac} +| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} +| | ... | 10.10.10.1 | 24 +| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} +| | ... | 20.20.20.1 | 24 +| | All Vpp Interfaces Ready Wait | ${nodes} + | Initialize IPv4 forwarding in 3-node circular topology | | [Documentation] | | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular @@ -128,26 +148,6 @@ | | Vpp Route Add | ${dut2} | 10.10.10.0 | 24 | 1.1.1.1 | ${dut2_if1} | | All Vpp Interfaces Ready Wait | ${nodes} -| Initialize IPv4 forwarding in 2-node circular topology -| | [Documentation] -| | ... | Set UP state on VPP interfaces in path on nodes in 2-node circular -| | ... | topology. Get the interface MAC addresses and setup ARP on all VPP -| | ... | interfaces. Setup IPv4 addresses with /24 prefix on DUT-TG links and -| | ... | /30 prefix on DUT1 link. Set routing on DUT node with prefix /24 and -| | ... | next hop of neighbour DUT interface IPv4 address. -| | ... -| | Set Interface State | ${dut1} | ${dut1_if1} | up -| | Set Interface State | ${dut1} | ${dut1_if2} | up -| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} -| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} -| | Add arp on dut | ${dut1} | ${dut1_if1} | 10.10.10.3 | ${tg1_if1_mac} -| | Add arp on dut | ${dut1} | ${dut1_if2} | 20.20.20.3 | ${tg1_if2_mac} -| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if1} -| | ... | 10.10.10.2 | 24 -| | Configure IP addresses on interfaces | ${dut1} | ${dut1_if2} -| | ... | 20.20.20.2 | 24 -| | All Vpp Interfaces Ready Wait | ${nodes} - | Initialize IPv4 forwarding with scaling in 3-node circular topology | | [Documentation] | | ... | Custom setup of IPv4 topology with scalability of ip routes on all @@ -781,6 +781,14 @@ | | ... | ELSE | Fail | Unsupported behaviour: ${behavior} | | All Vpp Interfaces Ready Wait | ${nodes} +| Initialize L2 xconnect in 2-node circular topology +| | [Documentation] +| | ... | Setup L2 xconnect topology by cross connecting two interfaces on +| | ... | each DUT. Interfaces are brought up. +| | ... +| | Configure L2XC | ${dut1} | ${dut1_if1} | ${dut1_if2} +| | All Vpp Interfaces Ready Wait | ${nodes} + | Initialize L2 xconnect in 3-node circular topology | | [Documentation] | | ... | Setup L2 xconnect topology by cross connecting two interfaces on @@ -1013,6 +1021,25 @@ | | Configure L2XC | ${dut2} | ${subif_index_2} | ${vhost_if1} | | Configure L2XC | ${dut2} | ${dut2_if2} | ${vhost_if2} +| Initialize L2 bridge domain in 2-node circular topology +| | [Documentation] +| | ... | Setup L2 DB topology by adding two interfaces on DUT into BD +| | ... | that is created automatically with index 1. Learning is enabled. +| | ... | Interfaces are brought up. +| | ... +| | ... | *Arguments:* +| | ... | - bd_id - Bridge domain ID. Type: integer +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Initialize L2 bridge domain in 2-node circular topology \| 1 \| +| | ... +| | [Arguments] | ${bd_id}=${1} +| | ... +| | Add interface to bridge domain | ${dut1} | ${dut1_if1} | ${bd_id} +| | Add interface to bridge domain | ${dut1} | ${dut1_if2} | ${bd_id} +| | All Vpp Interfaces Ready Wait | ${nodes} + | Initialize L2 bridge domain in 3-node circular topology | | [Documentation] | | ... | Setup L2 DB topology by adding two interfaces on each DUT into BD @@ -1766,50 +1793,30 @@ | | Add interface to bridge domain | ${dut2} | ${vhost_if2} | ${bd_id2} | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2} -| Add PCI devices to DUTs in 3-node single link topology +| Add PCI devices to all DUTs | | [Documentation] | | ... | Add PCI devices to VPP configuration file. | | ... -| | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1} -| | ${dut1_if2_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if2} -| | ${dut2_if1_pci}= | Get Interface PCI Addr | ${dut2} | ${dut2_if1} -| | ${dut2_if2_pci}= | Get Interface PCI Addr | ${dut2} | ${dut2_if2} -| | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci} -| | Run keyword | DUT2.Add DPDK Dev | ${dut2_if1_pci} | ${dut2_if2_pci} -| | Set Test Variable | ${dut1_if1_pci} -| | Set Test Variable | ${dut1_if2_pci} -| | Set Test Variable | ${dut2_if1_pci} -| | Set Test Variable | ${dut2_if2_pci} - -| Add single PCI device to DUTs in 3-node single link topology -| | [Documentation] -| | ... | Add single (first) PCI device on DUT1 to VPP configuration file. -| | ... | Add single (last) PCI device on DUT2 to VPP configuration file. -| | ... -| | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1} -| | ${dut2_if2_pci}= | Get Interface PCI Addr | ${dut2} | ${dut2_if2} -| | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} -| | Run keyword | DUT2.Add DPDK Dev | ${dut2_if2_pci} -| | Set Test Variable | ${dut1_if1_pci} -| | Set Test Variable | ${dut2_if2_pci} - -| Add PCI devices to DUTs in 2-node single link topology -| | [Documentation] -| | ... | Add PCI devices to VPP configuration file. -| | ... -| | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1} -| | ${dut1_if2_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if2} -| | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci} -| | Set Test Variable | ${dut1_if1_pci} -| | Set Test Variable | ${dut1_if2_pci} +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | ${if1_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1} +| | | ${if2_pci}= | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2} +| | | Run keyword | ${dut}.Add DPDK Dev | ${if1_pci} | ${if2_pci} +| | | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci} +| | | Set Test Variable | ${${dut}_if2_pci} | ${if2_pci} -| Add single PCI device to DUTs in 2-node single link topology +| Add single PCI device to all DUTs | | [Documentation] -| | ... | Add single (first) PCI device on DUT1 to VPP configuration file. +| | ... | Add single (first) PCI device on DUT1 and single (last) PCI device on +| | ... | DUT2 to VPP configuration file. | | ... -| | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1} -| | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} -| | Set Test Variable | ${dut1_if1_pci} +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | ${if1_pci}= | Run Keyword If | '${dut}' == 'DUT1' | Get Interface PCI Addr +| | | ... | ${nodes['${dut}']} | ${${dut}_if1} | ELSE | Get Interface PCI Addr +| | | ... | ${nodes['${dut}']} | ${${dut}_if2} +| | | Run keyword | ${dut}.Add DPDK Dev | ${if1_pci} +| | | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci} | Add VLAN Strip Offload switch off between DUTs in 3-node single link topology | | [Documentation] diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot index adcdb2173d..3f7eba0393 100644 --- a/resources/libraries/robot/performance/performance_setup.robot +++ b/resources/libraries/robot/performance/performance_setup.robot @@ -484,13 +484,13 @@ # Suite teardowns -| Tear down 3-node performance topology +| Tear down 2-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | | Teardown traffic generator | ${tg} -| Tear down 3-node performance topology with container +| Tear down 2-node performance topology with container | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown and container | | ... | destroy. @@ -499,13 +499,13 @@ | | :FOR | ${group} | IN | @{container_groups} | | | Destroy all '${group}' containers -| Tear down 2-node performance topology +| Tear down 3-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | | Teardown traffic generator | ${tg} -| Tear down 2-node performance topology with container +| Tear down 3-node performance topology with container | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown and container | | ... | destroy. @@ -720,22 +720,22 @@ | | Run keyword unless | ${dut2_node}==${None} | | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs} -| Tear down DPDK 3-node performance topology +| Tear down DPDK 2-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | Cleanup DPDK test environment. | | ... | | Teardown traffic generator | ${tg} | | Cleanup DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2} -| | Cleanup DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2} -| Tear down DPDK 2-node performance topology +| Tear down DPDK 3-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | Cleanup DPDK test environment. | | ... | | Teardown traffic generator | ${tg} | | Cleanup DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2} +| | Cleanup DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2} | Tear down performance discovery test with NAT | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ -- cgit 1.2.3-korg