diff options
Diffstat (limited to 'resources/libraries')
-rw-r--r-- | resources/libraries/python/Constants.py | 3 | ||||
-rw-r--r-- | resources/libraries/python/autogen/Regenerator.py | 5 | ||||
-rw-r--r-- | resources/libraries/python/tcp.py | 80 | ||||
-rw-r--r-- | resources/libraries/robot/hoststack/tcp_setup.robot | 57 | ||||
-rw-r--r-- | resources/libraries/robot/shared/suite_setup.robot | 32 | ||||
-rw-r--r-- | resources/libraries/robot/shared/suite_teardown.robot | 17 | ||||
-rw-r--r-- | resources/libraries/robot/wrk/wrk_utils.robot | 83 |
7 files changed, 0 insertions, 277 deletions
diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index 6bf503da51..08de52368e 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -148,9 +148,6 @@ class Constants: # VPP Communications Library templates location RESOURCES_TPL_VCL = u"resources/templates/vcl" - # HTTP Server www root directory - RESOURCES_TP_WRK_WWW = u"resources/traffic_profiles/wrk/www" - # VPP Communications Library LD_PRELOAD library VCL_LDPRELOAD_LIBRARY = u"/usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so" diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py index 0d291e231e..e6474e566d 100644 --- a/resources/libraries/python/autogen/Regenerator.py +++ b/resources/libraries/python/autogen/Regenerator.py @@ -480,9 +480,6 @@ class Regenerator: {u"frame_size": u"IMIX_v4_1", u"phy_cores": 2}, {u"frame_size": u"IMIX_v4_1", u"phy_cores": 4} ] - hs_wrk_kwargs_list = [ - {u"frame_size": 0, u"phy_cores": i} for i in (1, 2, 4) - ] hs_bps_kwargs_list = [ {u"frame_size": 1460, u"phy_cores": 1}, ] @@ -513,8 +510,6 @@ class Regenerator: write_default_files(in_filename, in_prolog, default_kwargs_list) elif in_filename.endswith(u"-reconf.robot"): write_reconf_files(in_filename, in_prolog, default_kwargs_list) - elif in_filename[-10:] in (u"-cps.robot", u"-rps.robot"): - write_tcp_files(in_filename, in_prolog, hs_wrk_kwargs_list) elif in_filename.endswith(u"-bps.robot"): hoststack_kwargs_list = \ hs_quic_kwargs_list if u"quic" in in_filename \ diff --git a/resources/libraries/python/tcp.py b/resources/libraries/python/tcp.py deleted file mode 100644 index 62cff2f4ff..0000000000 --- a/resources/libraries/python/tcp.py +++ /dev/null @@ -1,80 +0,0 @@ -# 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. - -"""TCP util library.""" - -from resources.libraries.python.Constants import Constants -from resources.libraries.python.PapiExecutor import PapiSocketExecutor - - -class TCPUtils: - """Implementation of the TCP utilities.""" - - www_root_dir = f"{Constants.REMOTE_FW_DIR}/{Constants.RESOURCES_TP_WRK_WWW}" - - def __init__(self): - pass - - @classmethod - def start_vpp_http_server_params( - cls, node, http_static_plugin, prealloc_fifos, fifo_size, - private_segment_size): - """Start the test HTTP server internal application or - the HTTP static server plugin internal applicatoin on the given node. - - http static server www-root <www-root-dir> prealloc-fifos <N> - fifo-size <size in kB> - private-segment-size <seg_size expressed as number + unit, e.g. 100m> - -- or -- - test http server static prealloc-fifos <N> fifo-size <size in kB> - private-segment-size <seg_size expressed as number + unit, e.g. 100m> - - - Where N is the max number of connections you expect to handle at one - time and <size> should be small if you test for CPS and exchange few - bytes, say 4, if each connection just exchanges few packets. Or it - should be much larger, up to 1024/4096 (i.e. 1-4MB) if you have only - one connection and exchange a lot of packets, i.e., when you test for - RPS. If you need to allocate lots of FIFOs, so you test for CPS, make - private-segment-size something like 4g. - - Example: - - For CPS - http static server www-root <www-root-dir> prealloc-fifos 10000 - fifo-size 64 private-segment-size 4000m - - For RPS - test http server static prealloc-fifos 500000 fifo-size 4 - private-segment-size 4000m - - :param node: Node to start HTTP server on. - :param http_static_plugin: Run HTTP static server plugin - :param prealloc_fifos: Max number of connections you expect to handle at - one time. - :param fifo_size: FIFO size in kB. - :param private_segment_size: Private segment size. Number + unit. - :type node: dict - :type http_static_plugin: boolean - :type prealloc_fifos: str - :type fifo_size: str - :type private_segment_size: str - """ - cmd = f"http static server www-root {cls.www_root_dir} " \ - f"prealloc-fifos {prealloc_fifos} fifo-size {fifo_size} " \ - f"private-segment-size {private_segment_size}" \ - if http_static_plugin \ - else f"test http server static prealloc-fifos {prealloc_fifos} " \ - f"fifo-size {fifo_size} private-segment-size {private_segment_size}" - - PapiSocketExecutor.run_cli_cmd(node, cmd) diff --git a/resources/libraries/robot/hoststack/tcp_setup.robot b/resources/libraries/robot/hoststack/tcp_setup.robot deleted file mode 100644 index 718070979f..0000000000 --- a/resources/libraries/robot/hoststack/tcp_setup.robot +++ /dev/null @@ -1,57 +0,0 @@ -# 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.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.tcp.TCPUtils -| -| Resource | resources/libraries/robot/ip/ip4.robot -| -| Documentation | L2 keywords to set up VPP to test tcp. - -*** Keywords *** -| Set up HTTP server with parameters on the VPP node -| | [Documentation] -| | ... | Configure IP address on the port, set it up and start HTTP server on -| | ... | the VPP. -| | -| | ... | *Arguments:* -| | ... | - http_static_plugin - Use the HTTP static plugin http server. -| | ... | Type: boolean -| | ... | - prealloc_fifos - Max number of connections you expect to handle -| | ... | at one time. Type: string -| | ... | - fifo_size - FIFO size in kB. Type: string -| | ... | - private_segment_size - Private segment size. Number + unit. -| | ... | Type: string -| | -| | ... | *Example:* -| | -| | ... | \| Set up HTTP server with paramters on the VPP node \| ${true}\ -| | ... | \| 400 \| 4096 \| 2g \| -| | -| | [Arguments] | ${http_static_plugin} | ${prealloc_fifos} | ${fifo_size} -| | ... | ${private_segment_size} -| | -| | Set Interface State | ${dut1} | ${dut1_if1} | up -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.10.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.20.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.30.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.40.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.50.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.60.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.70.2 | 24 -| | VPP Interface Set IP Address | ${dut1} | ${dut1_if1} | 192.168.80.2 | 24 -| | Vpp Node Interfaces Ready Wait | ${dut1} -| | Start VPP HTTP server params | ${dut1} | ${http_static_plugin} -| | ... | ${prealloc_fifos} | ${fifo_size} | ${private_segment_size} diff --git a/resources/libraries/robot/shared/suite_setup.robot b/resources/libraries/robot/shared/suite_setup.robot index 05e8fe8e91..a9e57e7024 100644 --- a/resources/libraries/robot/shared/suite_setup.robot +++ b/resources/libraries/robot/shared/suite_setup.robot @@ -19,9 +19,7 @@ | Library | resources.libraries.python.NodePath | Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.TrafficGenerator -| Library | resources.tools.wrk.wrk | Variables | resources/libraries/python/Constants.py -| Resource | resources/libraries/robot/wrk/wrk_utils.robot | | Documentation | Suite setup keywords. *** Keywords *** @@ -200,33 +198,3 @@ | | Configure crypto device on all DUTs | ${crypto_type} | numvfs=${numvfs} | | ... | force_init=${True} | | Configure kernel module on all DUTs | vfio_pci | force_load=${True} - -| Additional Suite Setup Action For wrk -| | [Documentation] -| | ... | Additional Setup for suites which uses WRK TG. -| | -| | Verify Program Installed | ${tg} | wrk -| | Iface update numa node | ${tg} -# Make sure TRex is stopped -| | ${running}= | Is TRex running | ${tg} -| | Run keyword if | ${running}==${True} | Teardown traffic generator | ${tg} -| | ${curr_driver}= | Get PCI dev driver | ${tg} -| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} -| | Run keyword if | '${curr_driver}'!='${None}' -| | ... | PCI Driver Unbind | ${tg} | -| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} -# Bind tg_if1 to driver specified in the topology -| | ${driver}= | Get Variable Value | ${tg['interfaces']['${tg_if1}']['driver']} -| | PCI Driver Bind | ${tg} -| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} | ${driver} -# Set IP on tg_if1 -| | ${intf_name}= | Get Linux interface name | ${tg} -| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} -| | FOR | ${ip_addr} | IN | @{wrk_ip_addrs} -| | | ${ip_addr_on_intf}= | Linux interface has IP | ${tg} | ${intf_name} -| | | ... | ${ip_addr} | ${wrk_ip_prefix} -| | | Run Keyword If | ${ip_addr_on_intf}==${False} | Set Linux interface IP -| | | ... | ${tg} | ${intf_name} | ${ip_addr} | ${wrk_ip_prefix} -| | END -| | Set Linux interface up | ${tg} | ${intf_name} -| | Check wrk | ${tg} diff --git a/resources/libraries/robot/shared/suite_teardown.robot b/resources/libraries/robot/shared/suite_teardown.robot index f76fddc9d6..f164b0eeb5 100644 --- a/resources/libraries/robot/shared/suite_teardown.robot +++ b/resources/libraries/robot/shared/suite_teardown.robot @@ -50,23 +50,6 @@ | | | ... | ${nodes['${dut}']} | ${${dut}_${int}1}[0] | ${${dut}_${int}2}[0] | | END -| Additional Suite Tear Down Action For wrk -| | [Documentation] -| | ... | Additional teardown for suites which uses wrk. -| | -| | ${intf_name}= | Get Linux interface name | ${tg} -| | ... | ${tg['interfaces']['${tg_if1}']['pci_address']} -| | FOR | ${ip_addr} | IN | @{wrk_ip_addrs} -| | | ${ip_addr_on_intf}= | Linux Interface Has IP | ${tg} | ${intf_name} -| | | ... | ${ip_addr} | ${wrk_ip_prefix} -| | | Run Keyword If | ${ip_addr_on_intf}==${True} | Delete Linux Interface IP -| | | ... | ${tg} | ${intf_name} | ${ip_addr} | ${wrk_ip_prefix} -| | END -| | Run Keyword And Ignore Error | PCI Driver Unbind -| | ... | ${tg} | ${tg['interfaces']['${tg_if1}']['pci_address']} -| | Run Keyword And Ignore Error | PCI Driver Unbind -| | ... | ${tg} | ${tg['interfaces']['${tg_if2}']['pci_address']} - | Additional Suite Tear Down Action For hoststack | | [Documentation] | | ... | Additional teardown for suites which uses hoststack test programs. diff --git a/resources/libraries/robot/wrk/wrk_utils.robot b/resources/libraries/robot/wrk/wrk_utils.robot deleted file mode 100644 index 0e7150ba1e..0000000000 --- a/resources/libraries/robot/wrk/wrk_utils.robot +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2020 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 -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.DUTSetup -| Library | resources.libraries.python.TrafficGenerator -| Library | resources.libraries.python.topology.Topology -| -| Documentation | L2 keywords to set up wrk and to measure performance -| ... | parameters using wrk. - -*** Variables *** -| ${wrk_ip_prefix}= | 24 -| @{wrk_ip_addrs}= | 192.168.10.1 | 192.168.20.1 | 192.168.30.1 -| ... | 192.168.40.1 | 192.168.50.1 | 192.168.60.1 | 192.168.70.1 -| ... | 192.168.80.1 - -*** Keywords *** -| Measure throughput -| | [Documentation] -| | ... | Measure throughput using wrk. -| | -| | ... | *Arguments:* -| | ... | - ${profile} - The name of the wrk traffic profile defining the -| | ... | traffic. Type: string -| | -| | ... | *Example:* -| | -| | ... | \| Measure throughput \| wrk-bw-1url-1core-50con \| -| | -| | [Arguments] | ${profile} -| | -| | ${tg_numa}= | Get interfaces numa node | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ${output}= | Run wrk | ${tg} | ${profile} | ${tg_numa} | bw -| | Set test message | ${output} - -| Measure requests per second -| | [Documentation] -| | ... | Measure number of requests per second using wrk. -| | -| | ... | *Arguments:* -| | ... | - ${profile} - The name of the wrk traffic profile defining the -| | ... | traffic. Type: string -| | -| | ... | *Example:* -| | -| | ... | \| Measure requests per second \| wrk-bw-1url-1core-50con \| -| | -| | [Arguments] | ${profile} -| | -| | ${tg_numa}= | Get interfaces numa node | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ${output}= | Run wrk | ${tg} | ${profile} | ${tg_numa} | rps -| | Set test message | ${output} - -| Measure connections per second -| | [Documentation] -| | ... | Measure number of connections per second using wrk. -| | -| | ... | *Arguments:* -| | ... | - ${profile} - The name of the wrk traffic profile defining the -| | ... | traffic. Type: string -| | -| | ... | *Example:* -| | -| | ... | \| Measure connections per second \| wrk-bw-1url-1core-50con \| -| | -| | [Arguments] | ${profile} -| | -| | ${tg_numa}= | Get interfaces numa node | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] -| | ${output}= | Run wrk | ${tg} | ${profile} | ${tg_numa} | cps -| | Set test message | ${output} |