Introduce macros responsible for adding a vhost-user / vhost-user client
port to a userspace datapath bridge and check associated logs.
Signed-off-by: David Marchand
---
Changes since v8:
- added this patch to avoid issues like what is fixed by the previous
patch in this series,
---
tests/system-dpdk.at | 123 +--
1 file changed, 36 insertions(+), 87 deletions(-)
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index b7ae4af406..4da2afd683 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -18,6 +18,29 @@ m4_define([CHECK_MEMPOOL_PARAM], [
| grep "User configured shared mempool set for: MTU $1,
NUMA $2."])
])
+dnl ADD_VHOST_USER_CLIENT_PORT([bridge], [port], [socket])
+dnl Add a dpdk vhost-user client port to a bridge and check this port is ready
+dnl to be used by looking at the logs.
+m4_define([ADD_VHOST_USER_CLIENT_PORT], [
+AT_CHECK([ovs-vsctl add-port $1 $2 -- \
+ set Interface $2 type=dpdkvhostuserclient
options:vhost-server-path=$3],
+ [], [stdout], [stderr])
+OVS_WAIT_UNTIL([grep "VHOST_CONFIG: ($3) vhost-user client: socket
created" ovs-vswitchd.log])
+OVS_WAIT_UNTIL([grep "vHost User device '$2' created in 'client' mode,
using client socket" ovs-vswitchd.log])
+OVS_WAIT_UNTIL([grep "VHOST_CONFIG: ($3) reconnecting..."
ovs-vswitchd.log])
+])
+
+dnl ADD_VHOST_USER_PORT([bridge], [port], [socket])
+dnl Add a dpdk vhost-user port to a bridge and check this port is ready
+dnl to be used by looking at the logs.
+m4_define([ADD_VHOST_USER_PORT], [
+AT_CHECK([ovs-vsctl add-port $1 $2 -- set Interface $2
type=dpdkvhostuser], [],
+ [stdout], [stderr])
+OVS_WAIT_UNTIL([grep "VHOST_CONFIG: ($3) vhost-user server: socket
created" ovs-vswitchd.log])
+OVS_WAIT_UNTIL([grep "Socket $3 created for vhost-user port $2"
ovs-vswitchd.log])
+OVS_WAIT_UNTIL([grep "VHOST_CONFIG: ($3) binding succeeded"
ovs-vswitchd.log])
+])
+
dnl --
dnl Check if EAL init is successful
AT_SETUP([OVS-DPDK - EAL init])
@@ -64,15 +87,10 @@ OVS_DPDK_START([--no-pci])
dnl Add userspace bridge and attach it to OVS
AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface
dpdkvhostuserclient0 type=dpdkvhostuserclient
options:vhost-server-path=$OVS_RUNDIR/dpdkvhostclient0], [], [stdout], [stderr])
+ADD_VHOST_USER_CLIENT_PORT([br10], [dpdkvhostuserclient0],
[$OVS_RUNDIR/dpdkvhostclient0])
AT_CHECK([ovs-vsctl show], [], [stdout])
sleep 2
-dnl Parse log file
-AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostclient0) vhost-user
client: socket created" ovs-vswitchd.log], [], [stdout])
-AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client'
mode, using client socket" ovs-vswitchd.log], [], [stdout])
-AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostclient0) reconnecting..."
ovs-vswitchd.log], [], [stdout])
-
dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout],
[stderr])
OVS_DPDK_STOP_VSWITCHD(["dnl
@@ -92,19 +110,9 @@ OVS_DPDK_START([--no-pci])
dnl Add userspace bridge and attach it to OVS
AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuser0 -- set Interface
dpdkvhostuser0 \
- type=dpdkvhostuser], [],
- [stdout], [stderr])
+ADD_VHOST_USER_PORT([br10], [dpdkvhostuser0], [$OVS_RUNDIR/dpdkvhostuser0])
AT_CHECK([ovs-vsctl show], [], [stdout])
-dnl Parse log file
-AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostuser0) vhost-user server:
socket created" \
- ovs-vswitchd.log], [], [stdout])
-AT_CHECK([grep "Socket $OVS_RUNDIR/dpdkvhostuser0 created for vhost-user port
dpdkvhostuser0" \
- ovs-vswitchd.log], [], [stdout])
-AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostuser0) binding succeeded"
ovs-vswitchd.log], [],
- [stdout])
-
dnl Set up namespaces
ADD_NAMESPACES(ns1, ns2)
@@ -158,18 +166,9 @@ OVS_DPDK_START([--no-pci])
dnl Add userspace bridge and attach it to OVS
AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface \
- dpdkvhostuserclient0 \
- type=dpdkvhostuserclient \
- options:vhost-server-path=$OVS_RUNDIR/dpdkvhostclient0], [],
- [stdout], [stderr])
+ADD_VHOST_USER_CLIENT_PORT([br10], [dpdkvhostuserclient0],
[$OVS_RUNDIR/dpdkvhostclient0])
AT_CHECK([ovs-vsctl show], [], [stdout])
-dnl Parse log file
-AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostclient0) vhost-user
client: socket created" ovs-vswitchd.log], [], [stdout])
-AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client'
mode, using client socket" ovs-vswitchd.log], [], [stdout])
-AT_CHECK([gr