aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/tcp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vpp/perf/tcp')
-rw-r--r--tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot (renamed from tests/vpp/perf/tcp/10ge2p1x520-ethip4tcphttp-httpserver.robot)83
-rw-r--r--tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot93
2 files changed, 116 insertions, 60 deletions
diff --git a/tests/vpp/perf/tcp/10ge2p1x520-ethip4tcphttp-httpserver.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot
index c995a586af..7dd6a5d132 100644
--- a/tests/vpp/perf/tcp/10ge2p1x520-ethip4tcphttp-httpserver.robot
+++ b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-cps.robot
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 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:
@@ -18,7 +18,8 @@
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/tcp/tcp_setup.robot
| ...
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | HTTP | TCP
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV
+| ... | HTTP | TCP | TCP_CPS | NIC_Intel-X710
| ...
| Suite Setup | Setup suite single link | wrk
| Suite Teardown | Tear down suite
@@ -27,27 +28,28 @@
| ...
| Test Template | Local template
| ...
-| Documentation | *HTTP requests per seconds, connections per seconds and
-| ... | throughput measurement.*
+| Documentation | *HTTP connections per seconds.*
| ...
| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology
| ... | with single link between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack
| ... | *[Cfg] DUT configuration:*
| ... | *[Ver] TG verification:*
| ... | *[Ref] Applicable standard specifications:*
*** Variables ***
-| @{plugins_to_enable}= | dpdk_plugin.so
+| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so
+| ... | hs_apps_plugin.so
+| ${nic_name}= | Intel-X710
+| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-cps
+| ${http_static_plugin}= | ${false}
*** Keywords ***
| Local template
-| | [Arguments] | ${traffic_profile} | ${phy_cores} | ${test_type}
-| | ... | ${rxq}=${None}
+| | [Arguments] | ${phy_cores} | ${rxq}=${None}
| | ...
| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | Add PCI devices to all DUTs
-| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Import Library | resources.libraries.python.VppConfigGenerator
| | | ... | WITH NAME | ${dut}
@@ -64,67 +66,28 @@
| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000
| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g
| | Apply startup configuration on all VPP DUTs
-| | Run Keyword If | '${test_type}' == 'bw'
-| | ... | Run keywords
-| | ... | Set up HTTP server with paramters on the VPP node
-| | ... | 500000 | 4 | 4000m | AND
-| | ... | Measure throughput | ${traffic_profile}
-| | ... | ELSE IF | '${test_type}' == 'rps'
-| | ... | Run keywords
-| | ... | Set up HTTP server with paramters on the VPP node
-| | ... | 500000 | 4 | 4000m | AND
-| | ... | Measure requests per second | ${traffic_profile}
-| | ... | ELSE IF | '${test_type}' == 'cps'
-| | ... | Run keywords
-| | ... | Set up HTTP server with paramters on the VPP node
-| | ... | 31000 | 64 | 4000m | AND
-| | ... | Measure connections per second | ${traffic_profile}
+| | When Set up HTTP server with parameters on the VPP node
+| | ... | ${http_static_plugin} | 31000 | 64 | 4000m
+| | Then Measure connections per second | ${traffic_profile}
*** Test Cases ***
-| tc01-1t1c-ethip4tcphttp-httpserver-cps
+| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-cps
| | [Documentation]
| | ... | Measure number of connections per second using wrk.
| | ...
-| | [Tags] | 1C | TCP_CPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-cps | phy_cores=${1}
-| | ... | test_type=cps
+| | [Tags] | 1C
+| | phy_cores=${1}
-| tc02-2t2c-ethip4tcphttp-httpserver-cps
+| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-cps
| | [Documentation]
| | ... | Measure number of connections per second using wrk.
| | ...
-| | [Tags] | 2C | TCP_CPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-cps | phy_cores=${2}
-| | ... | test_type=cps
+| | [Tags] | 2C
+| | phy_cores=${2}
-| tc03-4t4c-ethip4tcphttp-httpserver-cps
+| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-cps
| | [Documentation]
| | ... | Measure number of connections per second using wrk.
| | ...
-| | [Tags] | 4C | TCP_CPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-cps | phy_cores=${4}
-| | ... | test_type=cps
-
-| tc04-1t1c-ethip4tcphttp-httpserver-rps
-| | [Documentation]
-| | ... | Measure and report number of requests per second using wrk.
-| | ...
-| | [Tags] | 1C | TCP_RPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-rps | phy_cores=${1}
-| | ... | test_type=rps
-
-| tc05-2t2c-ethip4tcphttp-httpserver-rps
-| | [Documentation]
-| | ... | Measure and report number of requests per second using wrk.
-| | ...
-| | [Tags] | 2C | TCP_RPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-rps | phy_cores=${2}
-| | ... | test_type=rps
-
-| tc06-4t4c-ethip4tcphttp-httpserver-rps
-| | [Documentation]
-| | ... | Measure and report number of requests per second using wrk.
-| | ...
-| | [Tags] | 4C | TCP_RPS
-| | traffic_profile=wrk-sf-2n-ethip4tcphttp-8u8c50con-rps | phy_cores=${4}
-| | ... | test_type=rps
+| | [Tags] | 4C
+| | phy_cores=${4}
diff --git a/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot
new file mode 100644
index 0000000000..b5f405d738
--- /dev/null
+++ b/tests/vpp/perf/tcp/2n1l-10ge2p1x710-eth-ip4tcphttp-rps.robot
@@ -0,0 +1,93 @@
+# Copyright (c) 2019 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:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*** Settings ***
+
+| Library | resources.tools.wrk.wrk
+| Resource | resources/libraries/robot/wrk/wrk_utils.robot
+| Resource | resources/libraries/robot/shared/default.robot
+| Resource | resources/libraries/robot/tcp/tcp_setup.robot
+| ...
+| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV
+| ... | HTTP | TCP | TCP_RPS | NIC_Intel-X710
+| ...
+| Suite Setup | Setup suite single link | wrk
+| Suite Teardown | Tear down suite
+| Test Setup | Setup test
+| Test Teardown | Tear down test
+| ...
+| Test Template | Local template
+| ...
+| Documentation | *HTTP requests per seconds.*
+| ...
+| ... | *[Top] Network Topologies:* TG-DUT-TG 2-node topology
+| ... | with single link between nodes.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP-HTTP for TCP Host Stack
+| ... | *[Cfg] DUT configuration:*
+| ... | *[Ver] TG verification:*
+| ... | *[Ref] Applicable standard specifications:*
+
+*** Variables ***
+| @{plugins_to_enable}= | dpdk_plugin.so | http_static_plugin.so
+| ... | hs_apps_plugin.so
+| ${nic_name}= | Intel-X710
+| ${traffic_profile}= | wrk-sf-2n-ethip4tcphttp-8u8c50con-rps
+| ${http_static_plugin}= | ${true}
+
+*** Keywords ***
+| Local template
+| | [Arguments] | ${phy_cores} | ${rxq}=${None}
+| | ...
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
+| | Add PCI devices to all DUTs
+| | :FOR | ${dut} | IN | @{duts}
+| | | Import Library | resources.libraries.python.VppConfigGenerator
+| | | ... | WITH NAME | ${dut}
+| | | Run keyword | ${dut}.Add api segment global size | 2G
+| | | Run keyword | ${dut}.Add api segment api size | 1G
+| | | Run keyword | ${dut}.Add TCP preallocated connections | 1000000
+| | | Run keyword | ${dut}.Add TCP preallocated half open connections | 1000000
+| | | Run keyword | ${dut}.Add session event queue length | 1000000
+| | | Run keyword | ${dut}.Add session preallocated sessions | 1000000
+| | | Run keyword | ${dut}.Add session v4 session table buckets | 500000
+| | | Run keyword | ${dut}.Add session v4 session table memory | 1g
+| | | Run keyword | ${dut}.Add session v4 halfopen table buckets | 2500000
+| | | Run keyword | ${dut}.Add session v4 halfopen table memory | 3g
+| | | Run keyword | ${dut}.Add session local endpoints table buckets | 2500000
+| | | Run keyword | ${dut}.Add session local endpoints table memory | 3g
+| | Apply startup configuration on all VPP DUTs
+| | When Set up HTTP server with parameters on the VPP node
+| | ... | ${http_static_plugin} | 500000 | 4 | 4000m
+| | Then Measure requests per second | ${traffic_profile}
+
+*** Test Cases ***
+| tc01-IMIX-1c-eth-ip4tcphttp-wrk8u8c50con-rps
+| | [Documentation]
+| | ... | Measure number of requests per second using wrk.
+| | ...
+| | [Tags] | 1C
+| | phy_cores=${1}
+
+| tc02-IMIX-2c-eth-ip4tcphttp-wrk8u8c50con-rps
+| | [Documentation]
+| | ... | Measure number of requests per second using wrk.
+| | ...
+| | [Tags] | 2C
+| | phy_cores=${2}
+
+| tc03-IMIX-4c-eth-ip4tcphttp-wrk8u8c50con-rps
+| | [Documentation]
+| | ... | Measure number of requests per second using wrk.
+| | ...
+| | [Tags] | 4C
+| | phy_cores=${4}