DO_NOT_MERGE CSIT-1194 - Framework easy pylint improvements
[csit.git] / tests / vpp / perf / tcp / 2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot
1 # Copyright (c) 2019 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15
16 | Library  | resources.tools.wrk.wrk
17 | Resource | resources/libraries/robot/wrk/wrk_utils.robot
18 | Resource | resources/libraries/robot/shared/default.robot
19 | Resource | resources/libraries/robot/tcp/tcp_setup.robot
20 | ...
21 | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV
22 | ... | HTTP | TCP | TCP_CPS | NIC_Intel-X710
23 | ...
24 | Suite Setup | Setup suite single link | wrk
25 | Suite Teardown | Tear down suite
26 | Test Setup | Setup test
27 | Test Teardown | Tear down test
28 | ...
29 | Test Template | Local template
30 | ...
31 | Documentation | *HTTP connections per seconds.*
32 | ...
33 | ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology
34 | ... | with single link between nodes.
35 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack
36 | ... | *[Cfg] DUT configuration:*
37 | ... | *[Ver] TG verification:*
38 | ... | *[Ref] Applicable standard specifications:*
39
40 *** Variables ***
41 | @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so
42 | ... | hs_apps_plugin.so
43 | ${nic_name}= | Intel-X710
44 | ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-cps
45 | ${http_static_plugin}= | ${false}
46
47 *** Keywords ***
48 | Local template
49 | | [Arguments] | ${phy_cores} | ${rxq}=${None}
50 | | ...
51 | | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
52 | | Add PCI devices to all DUTs
53 | | :FOR | ${dut} | IN | @{duts}
54 | | | Import Library | resources.libraries.python.VppConfigGenerator
55 | | | ... | WITH NAME | ${dut}
56 | | | Run keyword | ${dut}.Add api segment global size | 2G
57 | | | Run keyword | ${dut}.Add api segment api size | 1G
58 | | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000
59 | | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000
60 | | | Run keyword | ${dut}.Add session event queue length | 1000000
61 | | | Run keyword | ${dut}.Add session preallocated sessions | 1000000
62 | | | Run keyword | ${dut}.Add session v4 session table buckets | 500000
63 | | | Run keyword | ${dut}.Add session v4 session table memory | 1g
64 | | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000
65 | | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g
66 | | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000
67 | | | Run keyword | ${dut}.Add session local endpoints table memory | 3g
68 | | Apply startup configuration on all VPP DUTs
69 | | When Set up HTTP server with parameters on the VPP node
70 | | ... | ${http_static_plugin} | 31000 | 64 | 4000m
71 | | Then Measure connections per second | ${traffic_profile}
72
73 *** Test Cases ***
74 | tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-cps
75 | | [Documentation]
76 | | ... | Measure number of connections per second using wrk.
77 | | ...
78 | | [Tags] | 1C
79 | | phy_cores=${1}
80
81 | tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-cps
82 | | [Documentation]
83 | | ... | Measure number of connections per second using wrk.
84 | | ...
85 | | [Tags] | 2C
86 | | phy_cores=${2}
87
88 | tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-cps
89 | | [Documentation]
90 | | ... | Measure number of connections per second using wrk.
91 | | ...
92 | | [Tags] | 4C
93 | | phy_cores=${4}