aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot/shared
diff options
context:
space:
mode:
authorpmikus <peter.mikus@protonmail.ch>2024-04-17 12:27:25 +0000
committerPeter Mikus <peter.mikus@protonmail.ch>2024-06-12 06:45:45 +0000
commit2c3a3c6268c06ba1775eb41b56fb9945e45f4aec (patch)
tree0c8bf4df34e9f71fa9c9c6375ab8909aed868817 /resources/libraries/robot/shared
parent75e22929e7b996efddcfab6e3e6ecd3f976308c4 (diff)
feat(multi): Multiple VPP instances
Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I28f2752f725c9816a557667033bf7d656fb0d414
Diffstat (limited to 'resources/libraries/robot/shared')
-rw-r--r--resources/libraries/robot/shared/container.robot31
1 files changed, 31 insertions, 0 deletions
diff --git a/resources/libraries/robot/shared/container.robot b/resources/libraries/robot/shared/container.robot
index 9f08e6b1d4..dbcf690b72 100644
--- a/resources/libraries/robot/shared/container.robot
+++ b/resources/libraries/robot/shared/container.robot
@@ -371,3 +371,34 @@
| | END
| | Append To List | ${container_groups} | ${container_group}
| | Save VPP PIDs
+
+| Start vswitch containers
+| | [Documentation]
+| | ... | Configure and start multiple vswitch in container on all DUTs.
+| |
+| | ... | *Arguments:*
+| | ... | - phy_cores - Number of physical cores to use. Type: integer
+| | ... | - rx_queues: Number of RX queues. Type: integer
+| |
+| | [Arguments] | ${phy_cores} | ${rx_queues}=${None}
+| |
+| | Set Test Variable | @{container_groups} | @{EMPTY}
+| | Set Test Variable | ${container_group} | VSWITCH
+| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
+| | ... | engine=${container_engine} | WITH NAME | VSWITCH
+| | Stop VPP service on all DUTs | ${nodes}
+| | FOR | ${dut} | IN | @{duts}
+| | | FOR | ${i} | IN RANGE | 1 | ${${nic_pfs}//${2}+1}
+| | | | Construct container on DUT | ${dut}
+| | | | ... | nf_chains=${1} | nf_nodes=${${nic_pfs}//${2}}
+| | | | ... | nf_chain=${1} | nf_node=${i}
+| | | | ... | auto_scale=${False} | pinning=${False}
+| | | END
+| | END
+| | Run Keyword | VSWITCH.Acquire all containers
+| | Run Keyword | VSWITCH.Create all containers
+| | Run Keyword | VSWITCH.Configure vpp in all containers
+| | ... | vswitch_ip4scale | nodes=${nodes} | rts_per_flow=${rts_per_flow}
+| | Run Keyword | VSWITCH.Start VPP In All Containers
+| | Append To List | ${container_groups} | VSWITCH
+| | Save VPP PIDs