aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2018-04-18 17:09:33 +0200
committerPeter Mikus <pmikus@cisco.com>2018-04-20 06:21:08 +0000
commitc8b2f57cd09355e0e89e6b9d28930281573bec23 (patch)
tree2563175656f64641646c71b44dd2bd5a1ce067d8 /resources
parentbb81ef05b86154d000128ef15bd3ecffe997ef9a (diff)
FIX: Configure number of memif queus properly
Change-Id: I2dcb0300829bc961c80cc30d972d0563aeba9364 Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/Memif.py10
-rw-r--r--resources/libraries/robot/performance/performance_configuration.robot12
-rw-r--r--resources/libraries/robot/shared/memif.robot14
-rw-r--r--resources/templates/vat/memif_create.vat2
-rw-r--r--resources/templates/vat/memif_create_cnt.vat4
5 files changed, 27 insertions, 15 deletions
diff --git a/resources/libraries/python/Memif.py b/resources/libraries/python/Memif.py
index 4a3186476f..d0ab6c74d1 100644
--- a/resources/libraries/python/Memif.py
+++ b/resources/libraries/python/Memif.py
@@ -25,18 +25,23 @@ class Memif(object):
pass
@staticmethod
- def create_memif_interface(node, filename, mid, sid, role='master'):
+ def create_memif_interface(node, filename, mid, sid, rxq=1, txq=1,
+ role='slave'):
"""Create Memif interface on the given node.
:param node: Given node to create Memif interface on.
:param filename: Memif interface socket filename.
:param mid: Memif interface ID.
:param sid: Socket ID.
+ :param rxq: Number of RX queues.
+ :param txq: Number of TX queues.
:param role: Memif interface role [master|slave]. Default is master.
:type node: dict
:type filename: str
:type mid: str
:type sid: str
+ :type rxq: int
+ :type txq: int
:type role: str
:returns: SW interface index.
:rtype: int
@@ -48,7 +53,8 @@ class Memif(object):
'memif_socket_filename_add_del.vat',
add_del='add', id=sid, filename='/tmp/'+filename)
vat.vat_terminal_exec_cmd_from_template(
- 'memif_create.vat', id=mid, socket=sid, role=role)
+ 'memif_create.vat', id=mid, socket=sid, rxq=rxq, txq=txq,
+ role=role)
if 'sw_if_index' in vat.vat_stdout:
try:
sw_if_idx = int(vat.vat_stdout.split()[4])
diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot
index 35999d5304..b4f2fb7bae 100644
--- a/resources/libraries/robot/performance/performance_configuration.robot
+++ b/resources/libraries/robot/performance/performance_configuration.robot
@@ -2124,7 +2124,7 @@
| | Configure deterministic mode for NAT44
| | ... | ${dut1} | 20.0.0.0 | 18 | 200.0.0.0 | 30
-| Initialize L2 xconnect for '${nr}' memif pairs in 3-node circular topology
+| Initialize L2 xconnect for '${nr}' memif pairs and '${rxq}' rxqueues in 3-node circular topology
| | [Documentation]
| | ... | Create pairs of Memif interfaces on all defined VPP nodes. Cross
| | ... | connect each Memif interface with one physical interface or virtual
@@ -2151,7 +2151,7 @@
| | | ${prev_index}= | Evaluate | ${number}-1
| | | Set up memif interfaces on DUT node | ${dut1}
| | | ... | ${sock1} | ${sock2} | ${number} | dut1-memif-${number}-if1
-| | | ... | dut1-memif-${number}-if2
+| | | ... | dut1-memif-${number}-if2 | ${rxq} | ${rxq}
| | | ${dut1_xconnect_if1}= | Set Variable If | ${number}==1 | ${dut1_if1}
| | | ... | ${dut1-memif-${prev_index}-if2}
| | | Configure L2XC | ${dut1} | ${dut1_xconnect_if1}
@@ -2160,7 +2160,7 @@
| | | ${sock2}= | Set Variable | memif-DUT2_VNF
| | | Set up memif interfaces on DUT node | ${dut2}
| | | ... | ${sock1} | ${sock2} | ${number} | dut2-memif-${number}-if1
-| | | ... | dut2-memif-${number}-if2
+| | | ... | dut2-memif-${number}-if2 | ${rxq} | ${rxq}
| | | ${dut2_xconnect_if1}= | Set Variable If | ${number}==1 | ${dut2_if1}
| | | ... | ${dut2-memif-${prev_index}-if2}
| | | Configure L2XC | ${dut2} | ${dut2_xconnect_if1}
@@ -2173,7 +2173,7 @@
| | :FOR | ${dut} | IN | @{duts}
| | | Show Memif | ${nodes['${dut}']}
-| Initialize L2 Bridge Domain for '${nr}' memif pairs in 3-node circular topology
+| Initialize L2 Bridge Domain for '${nr}' memif pairs and '${rxq}' rxqueues in 3-node circular topology
| | [Documentation]
| | ... | Create pairs of Memif interfaces on all defined VPP nodes. Put each
| | ... | Memif interface to separate L2 bridge domain with one physical or
@@ -2201,7 +2201,7 @@
| | | ${sock2}= | Set Variable | memif-DUT1_VNF
| | | Set up memif interfaces on DUT node | ${dut1}
| | | ... | ${sock1} | ${sock2} | ${number} | dut1-memif-${number}-if1
-| | | ... | dut1-memif-${number}-if2
+| | | ... | dut1-memif-${number}-if2 | ${rxq} | ${rxq}
| | | ${bd_id2}= | Evaluate | ${number}+1
| | | Add interface to bridge domain | ${dut1}
| | | ... | ${dut1-memif-${number}-if1} | ${number}
@@ -2211,7 +2211,7 @@
| | | ${sock2}= | Set Variable | memif-DUT2_VNF
| | | Set up memif interfaces on DUT node | ${dut2}
| | | ... | ${sock1} | ${sock2} | ${number} | dut2-memif-${number}-if1
-| | | ... | dut2-memif-${number}-if2
+| | | ... | dut2-memif-${number}-if2 | ${rxq} | ${rxq}
| | | Add interface to bridge domain | ${dut2}
| | | ... | ${dut2-memif-${number}-if1} | ${number}
| | | Add interface to bridge domain | ${dut2}
diff --git a/resources/libraries/robot/shared/memif.robot b/resources/libraries/robot/shared/memif.robot
index 1739743498..172376ffde 100644
--- a/resources/libraries/robot/shared/memif.robot
+++ b/resources/libraries/robot/shared/memif.robot
@@ -28,6 +28,9 @@
| | ... | Type: string
| | ... | - ${memif_if2} - Name of the second Memif interface (Optional).
| | ... | Type: string
+| | ... | - ${rxq} - RX queues. Type: integer
+| | ... | - ${txq} - TX queues. Type: integer
+| | ... | - ${role} - Memif role. Type: string
| | ...
| | ... | _NOTE:_ This KW sets following test case variable:
| | ... | - ${${memif_if1}} - 1st Memif interface.
@@ -39,16 +42,19 @@
| | ... | \| ${nodes['DUT1']} \| sock1 \| sock2 \| 1 \|
| | ... | \| Set up memif interfaces on DUT node \
| | ... | \| ${nodes['DUT2']} \| sock1 \| sock2 \| 1 \
-| | ... | \| dut2_memif_if1 \| dut2_memif_if2 \|
+| | ... | \| dut2_memif_if1 \| dut2_memif_if2 \| 1 \| 1 \| slave \|
| | ...
| | [Arguments] | ${dut_node} | ${filename1} | ${filename2} | ${mid}=${1}
-| | ... | ${memif_if1}=memif_if1 | ${memif_if2}=memif_if2
+| | ... | ${memif_if1}=memif_if1 | ${memif_if2}=memif_if2 | ${rxq}=${1}
+| | ... | ${txq}=${1} | ${role}=slave
| | ${sid_1}= | Evaluate | (${mid}*2)-1
| | ${sid_2}= | Evaluate | (${mid}*2)
| | ${memif_1}= | Create memif interface | ${dut_node}
-| | ... | ${filename1}${mid}-${sid_1} | ${mid} | ${sid_1}
+| | ... | ${filename1}${mid}-${sid_1} | ${mid} | ${sid_1} | rxq=${rxq}
+| | ... | txq=${txq} | role=${role}
| | ${memif_2}= | Create memif interface | ${dut_node}
-| | ... | ${filename2}${mid}-${sid_2} | ${mid} | ${sid_2}
+| | ... | ${filename2}${mid}-${sid_2} | ${mid} | ${sid_2} | rxq=${rxq}
+| | ... | txq=${txq} | role=${role}
| | Set Interface State | ${dut_node} | ${memif_1} | up
| | Set Interface State | ${dut_node} | ${memif_2} | up
| | Set Test Variable | ${${memif_if1}} | ${memif_1}
diff --git a/resources/templates/vat/memif_create.vat b/resources/templates/vat/memif_create.vat
index d9f2937029..1e9d0e8a6a 100644
--- a/resources/templates/vat/memif_create.vat
+++ b/resources/templates/vat/memif_create.vat
@@ -1 +1 @@
-memif_create id {id} socket-id {socket} {role}
+memif_create id {id} socket-id {socket} {role} rx-queues {rxq} tx-queues {txq}
diff --git a/resources/templates/vat/memif_create_cnt.vat b/resources/templates/vat/memif_create_cnt.vat
index f0d847b29b..306df83c57 100644
--- a/resources/templates/vat/memif_create_cnt.vat
+++ b/resources/templates/vat/memif_create_cnt.vat
@@ -1,9 +1,9 @@
create memif socket id {sid1} filename /mnt/host/{socket1}
-create interface memif id {mid1} socket-id {sid1} slave
+create interface memif id {mid1} socket-id {sid1} master
set int state memif{sid1}/{mid1} up
create memif socket id {sid2} filename /mnt/host/{socket2}
-create interface memif id {mid2} socket-id {sid2} slave
+create interface memif id {mid2} socket-id {sid2} master
set int state memif{sid2}/{mid2} up
set interface l2 xconnect memif{sid2}/{mid2} memif{sid1}/{mid1}