X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=tests%2Fsuites%2Fperformance%2Fshort_ipv4.robot;h=5e9581705f6d6483945213b24f5fa094ae4c2681;hp=067646b4f88faf99b0fd5c315d3b06280fd3b4a6;hb=9f09722c66162b0e01d1aa972f650bf1cd9b3a52;hpb=d637af34421fffe61417bb16e45a7105aae118b9 diff --git a/tests/suites/performance/short_ipv4.robot b/tests/suites/performance/short_ipv4.robot index 067646b4f8..5e9581705f 100644 --- a/tests/suites/performance/short_ipv4.robot +++ b/tests/suites/performance/short_ipv4.robot @@ -11,78 +11,133 @@ # See the License for the specific language governing permissions and # limitations under the License. *** Settings *** -| Resource | resources/libraries/robot/default.robot -| Resource | resources/libraries/robot/interfaces.robot -| Resource | resources/libraries/robot/ipv4.robot | Resource | resources/libraries/robot/performance.robot -| Resource | resources/libraries/robot/counters.robot | Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.TrafficGenerator | Library | resources.libraries.python.NodePath | Library | resources.libraries.python.InterfaceUtil | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} | WITH NAME | dut1_v4 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} | WITH NAME | dut2_v4 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT -| Suite Setup | 3-node Performance Suite Setup +| Suite Setup | 3-node Performance Suite Setup | L3 | Suite Teardown | 3-node Performance Suite Teardown | Test Setup | Setup all DUTs before test -| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs +| Test Teardown | Run Keyword | Show statistics on all DUTs +| Documentation | Minimal throughput acceptance test cases *** Test Cases *** -| 1core VPP passes 64B frames through IPv4 forwarding at 3.5mpps in 3-node topology -| | Given IPv4 forwarding initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-IPv4 +| 1core VPP passes 64B frames through IPv4 forwarding at 2x 3.5Mpps in 3-node topology +| | [Documentation] +| | ... | VPP with 1 core should pass 64B frames through IPv4 forwarding +| | ... | at 2x3.5Mpps in 3-node topology +| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 3.5mpps +| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| 1core VPP passes 1518B frames through IPv4 forwarding at 10gbps in 3-node topology -| | Given IPv4 forwarding initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-IPv4 +| 1core VPP passes 1518B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 1 core should pass 1518B frames through IPv4 forwarding +| | ... | at 2x10Gbps in 3-node topology +| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| 1core VPP passes 9000B frames through IPv4 forwarding at 10gbps in 3-node topology -| | Given IPv4 forwarding initialized in a 3-node circular topology -| | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-IPv4 +| 1core VPP passes 9000B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 1 core should pass 9000B frames through IPv4 forwarding +| | ... | at 2x10Gbps in 3-node topology +| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -*** Keywords *** +| 2core VPP with rss 1 passes 64B frames through IPv4 forwarding at 2x 7.5Mpps in 3-node topology +| | [Documentation] +| | ... | VPP with 2 cores should pass 64B frames through IPv4 forwarding +| | ... | at 2x7.5Mpps in 3-node topology +| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.5mpps +| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| 3-node Performance Suite Setup -| | 3-node circular Topology Variables Setup -| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} -| | ... | ${dut1} | ${dut1_if1} | ${dut1_if2} -| | ... | ${dut2} | ${dut2_if1} | ${dut2_if2} -| | ... | L3 +| 2core VPP with rss 1 passes 1518B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 2 cores should pass 1518B frames through IPv4 forwarding +| | ... | at 2x10Gbps in 3-node topology +| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| 3-node Performance Suite Teardown -| | Teardown traffic generator | ${tg} +| 2core VPP with rss 1 passes 9000B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 2 cores should pass 9000B frames through IPv4 forwarding +| | ... | at 2x10Gbps in 3-node topology +| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| IPv4 forwarding initialized in a 3-node circular topology -| | 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_if1_mac}= | Get Interface MAC | ${dut1} | ${dut1_if1} -| | ${dut1_if2_mac}= | Get Interface MAC | ${dut1} | ${dut1_if2} -| | ${dut2_if1_mac}= | Get Interface MAC | ${dut2} | ${dut1_if1} -| | ${dut2_if2_mac}= | Get Interface MAC | ${dut2} | ${dut1_if2} -| | dut1_v4.set_arp | ${dut1_if1} | 10.10.10.2 | ${tg1_if1_mac} -| | dut1_v4.set_arp | ${dut1_if2} | 1.1.1.2 | ${dut2_if1_mac} -| | dut2_v4.set_arp | ${dut2_if1} | 1.1.1.1 | ${dut1_if2_mac} -| | dut2_v4.set_arp | ${dut2_if2} | 20.20.20.2 | ${tg1_if2_mac} -| | dut1_v4.set_ip | ${dut1_if1} | 10.10.10.1 | 24 -| | dut1_v4.set_ip | ${dut1_if2} | 1.1.1.1 | 30 -| | dut2_v4.set_ip | ${dut2_if1} | 1.1.1.2 | 30 -| | dut2_v4.set_ip | ${dut2_if2} | 20.20.20.1 | 24 -| | dut1_v4.set_route | 20.20.20.0 | 24 | 1.1.1.2 | ${dut1_if2} -| | dut2_v4.set_route | 10.10.10.0 | 24 | 1.1.1.1 | ${dut2_if1} -| | All Vpp Interfaces Ready Wait | ${nodes} +| 4core VPP with rss 2 passes 64B frames through IPv4 forwarding at 2x 7.8Mpps in 3-node topology +| | [Documentation] +| | ... | VPP with 4 cores and rss 2 should pass 64B frames through IPv4 +| | ... | forwarding at 2x7.8Mpps in 3-node topology +| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.8mpps +| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| Traffic should pass with no loss -| | [Arguments] | ${duration} | ${rate} | ${framesize} | ${topology_type} -| | Send traffic on | ${tg} | ${duration} -| | ... | ${rate} | ${framesize} | ${topology_type} -| | No traffic loss occured +| 4core VPP with rss 2 passes 1518B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 4 cores and rss 2 should pass 1518B frames through IPv4 +| | ... | forwarding at 2x10Gbps in 3-node topology +| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD +| | ${framesize}= | Set Variable | 1518 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4 -| Show statistics on all DUTs -| | Sleep | 10 | Waiting for statistics to be collected -| | Vpp show stats | ${dut1} -| | Vpp show stats | ${dut2} +| 4core VPP with rss 2 passes 9000B frames through IPv4 forwarding at 2x 10Gbps in 3-node topology +| | [Documentation] +| | ... | VPP with 4 cores and rss 2 should pass 9000B frames through IPv4 +| | ... | forwarding at 2x10Gbps in 3-node topology +| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 10gbps +| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs +| | AND IPv4 forwarding initialized in a 3-node circular topology +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-IPv4