X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance.robot;h=62b175668da03b69ecdb89aa75432a4d7bdc5e6a;hb=72be8262ea5dc0136a21032402b7f4ffa5ff4576;hp=f9fbfc7b5b176e4e9a6942ef28665a8960184b49;hpb=8825ed229f1d1fbd12d0cec0a128f42f22ae11fe;p=csit.git diff --git a/resources/libraries/robot/performance.robot b/resources/libraries/robot/performance.robot index f9fbfc7b5b..62b175668d 100644 --- a/resources/libraries/robot/performance.robot +++ b/resources/libraries/robot/performance.robot @@ -75,6 +75,8 @@ | | ... | for 40GE with 9004B L2 Frame. | | ... | - 40Ge_linerate_pps_9008B - Maximum number of packet per second | | ... | for 40GE with 9008B L2 Frame. +| | ... | - 40Ge_linerate_pps_IMIX_v4_1 - Maximum number of packet per second +| | ... | for 40GE with IMIX_v4_1 profile. | | ... | | Set Suite Variable | ${10Ge_linerate_pps_64B} | 14880952 | | Set Suite Variable | ${10Ge_linerate_pps_68B} | 14204545 @@ -95,6 +97,26 @@ | | Set Suite Variable | ${40Ge_linerate_pps_9000B} | 554323 | | Set Suite Variable | ${40Ge_linerate_pps_9004B} | 554078 | | Set Suite Variable | ${40Ge_linerate_pps_9008B} | 553832 +| | Set Suite Variable | ${40Ge_linerate_pps_IMIX_v4_1} | 13374944 + +| Calculate pps +| | [Documentation] +| | ... | Calculate pps for given rate and L2 frame size, +| | ... | additional 20B are added to L2 frame size as padding. +| | ... +| | ... | *Arguments* +| | ... | - bps - Rate in bps. Type: integer +| | ... | - framesize - L2 frame size in Bytes. Type: integer +| | ... +| | ... | *Return* +| | ... | - Calculated pps. Type: integer +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Calculate pps \| 10000000000 | 64 +| | [Arguments] | ${bps} | ${framesize} +| | ${ret}= | Evaluate | (${bps}/((${framesize}+20)*8)).__trunc__() +| | Return From Keyword | ${ret} | Get Frame Size | | [Documentation] @@ -319,6 +341,48 @@ | | dut2_v4.set_route | 10.10.10.0 | 24 | 1.1.1.1 | ${dut2_if1} | | All Vpp Interfaces Ready Wait | ${nodes} +| Scale IPv4 forwarding initialized in a 3-node circular topology +| | [Documentation] +| | ... | Custom setup of IPv4 topology with scalability of ip routes on all +| | ... | DUT nodes in 3-node circular topology +| | ... +| | ... | *Arguments:* +| | ... | - ${count} - IP route count. Type: integer +| | ... +| | ... | *Return:* +| | ... | - No value returned +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Scale IPv4 forwarding initialized in a 3-node circular topology \ +| | ... | \| 100000 \| +| | [Arguments] | ${count} +| | Set Interface State | ${dut1} | ${dut1_if1} | up +| | Set Interface State | ${dut1} | ${dut1_if2} | up +| | Set Interface State | ${dut2} | ${dut2_if1} | up +| | Set Interface State | ${dut2} | ${dut2_if2} | up +| | ${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} +| | Add arp on dut | ${dut1} | ${dut1_if1} | 1.1.1.1 | ${tg1_if1_mac} +| | Add arp on dut | ${dut1} | ${dut1_if2} | 2.2.2.2 | ${dut2_if1_mac} +| | Add arp on dut | ${dut2} | ${dut2_if1} | 2.2.2.1 | ${dut1_if2_mac} +| | Add arp on dut | ${dut2} | ${dut2_if2} | 3.3.3.1 | ${tg1_if2_mac} +| | IP addresses are set on interfaces | ${dut1} | ${dut1_if1} | 1.1.1.2 | 30 +| | IP addresses are set on interfaces | ${dut1} | ${dut1_if2} | 2.2.2.1 | 30 +| | IP addresses are set on interfaces | ${dut2} | ${dut2_if1} | 2.2.2.2 | 30 +| | IP addresses are set on interfaces | ${dut2} | ${dut2_if2} | 3.3.3.2 | 30 +| | Vpp Route Add | ${dut1} | 10.0.0.0 | 32 | 1.1.1.1 | ${dut1_if1} +| | ... | count=${count} +| | Vpp Route Add | ${dut1} | 20.0.0.0 | 32 | 2.2.2.2 | ${dut1_if2} +| | ... | count=${count} +| | Vpp Route Add | ${dut2} | 10.0.0.0 | 32 | 2.2.2.1 | ${dut2_if1} +| | ... | count=${count} +| | Vpp Route Add | ${dut2} | 20.0.0.0 | 32 | 3.3.3.1 | ${dut2_if2} +| | ... | count=${count} +| | All Vpp Interfaces Ready Wait | ${nodes} + | IPv6 forwarding initialized in a 3-node circular topology | | [Documentation] | | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular @@ -344,6 +408,66 @@ | | Vpp Route Add | ${dut1} | 2001:2::0 | ${prefix} | 2001:3::2 | ${dut1_if2} | | Vpp Route Add | ${dut2} | 2001:1::0 | ${prefix} | 2001:3::1 | ${dut2_if1} +| Scale IPv6 forwarding initialized in a 3-node circular topology +| | [Documentation] +| | ... | Custom setup of IPv6 topology with scalability of ip routes on all +| | ... | DUT nodes in 3-node circular topology +| | ... +| | ... | *Arguments:* +| | ... | - ${count} - IP route count. Type: integer +| | ... +| | ... | *Return:* +| | ... | - No value returned +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Scale IPv6 forwarding initialized in a 3-node circular topology \ +| | ... | \| 100000 \| +| | [Arguments] | ${count} +| | ${subn_prefix}= | Set Variable | 64 +| | ${host_prefix}= | Set Variable | 128 +| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if1} | 2001:3::1 | ${subn_prefix} +| | VPP Set If IPv6 Addr | ${dut1} | ${dut1_if2} | 2001:4::1 | ${subn_prefix} +| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if1} | 2001:4::2 | ${subn_prefix} +| | VPP Set If IPv6 Addr | ${dut2} | ${dut2_if2} | 2001:5::1 | ${subn_prefix} +| | ${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 nodes ra suppress link layer | ${nodes} +| | Add Ip Neighbor | ${dut1} | ${dut1_if1} | 2001:3::2 | ${tg1_if1_mac} +| | Add Ip Neighbor | ${dut1} | ${dut1_if2} | 2001:4::2 | ${dut2_if1_mac} +| | Add Ip Neighbor | ${dut2} | ${dut2_if1} | 2001:4::1 | ${dut1_if2_mac} +| | Add Ip Neighbor | ${dut2} | ${dut2_if2} | 2001:5::2 | ${tg1_if2_mac} +| | Vpp Route Add | ${dut1} | 2001:2::0 | ${host_prefix} | 2001:4::2 +| | ... | interface=${dut1_if2} | count=${count} +| | Vpp Route Add | ${dut1} | 2001:1::0 | ${host_prefix} | 2001:3::2 +| | ... | interface=${dut1_if1} | count=${count} +| | Vpp Route Add | ${dut2} | 2001:1::0 | ${host_prefix} | 2001:4::1 +| | ... | interface=${dut2_if2} | count=${count} +| | Vpp Route Add | ${dut2} | 2001:2::0 | ${host_prefix} | 2001:5::2 +| | ... | interface=${dut2_if1} | count=${count} + +| IPv6 iAcl whitelist initialized in a 3-node circular topology +| | [Documentation] +| | ... | Creates classify L3 table on DUTs. IPv6 iAcl security whitelist +| | ... | ingress /64 filter entries applied on links TG - DUT1 and DUT2 - TG. +| | ... +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut1} | ip6 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip6 | dst | 2001:2::2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut1} | ${dut1_if1} | ip6 | ${table_idx} +| | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3 +| | ... | ${dut2} | ip6 | dst +| | And Vpp Configures Classify Session L3 +| | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n} +| | ... | ip6 | dst | 2001:1::2 +| | And Vpp Enable Input Acl Interface +| | ... | ${dut2} | ${dut2_if2} | ip6 | ${table_idx} + | L2 xconnect initialized in a 3-node circular topology | | [Documentation] | | ... | Setup L2 xconnect topology by cross connecting two interfaces on @@ -363,52 +487,6 @@ | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} | | All Vpp Interfaces Ready Wait | ${nodes} -| 2-node Performance Suite Setup -| | [Documentation] -| | ... | Suite preparation phase that setup default startup configuration of -| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global -| | ... | variables used in test cases. Initializes traffic generator. -| | ... -| | ... | *Arguments:* -| | ... | - topology_type - Topology type. Type: string -| | ... -| | ... | *Example:* -| | ... -| | ... | \| 2-node Performance Suite Setup \| L2 \| -| | [Arguments] | ${topology_type} -| | Setup default startup configuration of VPP on all DUTs -| | Show vpp version on all DUTs -| | Setup performance rate Variables -| | Setup performance global Variables -| | 2-node circular Topology Variables Setup -| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} -| | ... | ${dut1} | ${dut1_if1} -| | ... | ${dut1} | ${dut1_if2} -| | ... | ${topology_type} - -| 3-node Performance Suite Setup -| | [Documentation] -| | ... | Suite preparation phase that setup default startup configuration of -| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global -| | ... | variables used in test cases. Initializes traffic generator. -| | ... -| | ... | *Arguments:* -| | ... | - topology_type - Topology type. Type: string -| | ... -| | ... | *Example:* -| | ... -| | ... | \| 3-node Performance Suite Setup \| L2 \| -| | [Arguments] | ${topology_type} -| | Setup default startup configuration of VPP on all DUTs -| | Show vpp version on all DUTs -| | Setup performance rate Variables -| | Setup performance global Variables -| | 3-node circular Topology Variables Setup -| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} -| | ... | ${dut1} | ${dut1_if1} -| | ... | ${dut2} | ${dut2_if2} -| | ... | ${topology_type} - 2-node Performance Suite Setup with DUT's NIC model | | [Documentation] | | ... | Suite preparation phase that setup default startup configuration of