On Mon, Oct 23, 2023 at 10:19 AM David Marchand <[email protected]> wrote: > > Rather than copy/paste everywhere, introduce helpers to control > testpmd runs. > Rely on --stats-period (which outputs port stats every n seconds) so that > testpmd keeps running without expecting any user input. > > Signed-off-by: David Marchand <[email protected]> > Acked-by: Aaron Conole <[email protected]> > Acked-by: Eelco Chaudron <[email protected]> > --- > Changes since v1: > - fixed OVS_DPDK_START_TESTPMD passed arguments evaluation:: $@ -> $1,
Thanks for working on this, is there a plan to backport this? It appears that there is currently an issue with dpdk-testpmd that makes it exit immediately when run in non-interactive mode [0], while this is an upstream DPDK bug, it does affect the system-dpdk testsuite for released versions of OVS. I suspect this DPDK commit broke it [1]. 0: https://bugs.launchpad.net/bugs/2040097 1: https://github.com/DPDK/dpdk/commit/0fd1386c30c3ad9365d7fdd2829bf7cb2e1b9dff If there is no plan to backport this patch also fixes the problem: diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index 0f58e8574..26e4b5ed9 100644 --- a/tests/system-dpdk.at +++ b/tests/system-dpdk.at @@ -130,7 +130,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostuser0" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a >$OVS_RUNDIR/testpmd-dpdkvhostuser0.log 2>&1 & + --single-file-segments -- -a --interactive >$OVS_RUNDIR/testpmd-dpdkvhostuser0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) OVS_WAIT_UNTIL([ip link show dev tap0 | grep -qw LOWER_UP]) @@ -205,7 +205,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,queues=2,server=1" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a --nb-cores 2 --rxq 2 --txq 2 \ + --single-file-segments -- -a --nb-cores 2 --rxq 2 --txq 2 --interactive \ >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) @@ -683,7 +683,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & + --single-file-segments -- -a --interactive >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) @@ -740,7 +740,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & + --single-file-segments -- -a --interactive >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) @@ -874,7 +874,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & + --single-file-segments -- -a --interactive >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) @@ -931,7 +931,7 @@ on_exit "pkill -f -x -9 'tail -f /dev/null'" tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ --vdev="net_tap0,iface=tap0" --file-prefix page0 \ - --single-file-segments -- -a >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & + --single-file-segments -- -a --interactive >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) -- 2.40.1 -- Frode Nordahl > --- > tests/system-dpdk-macros.at | 37 +++++++++++++ > tests/system-dpdk.at | 103 +++++++++--------------------------- > 2 files changed, 61 insertions(+), 79 deletions(-) > > diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at > index 3920f08a5e..e1e91f2972 100644 > --- a/tests/system-dpdk-macros.at > +++ b/tests/system-dpdk-macros.at > @@ -79,3 +79,40 @@ m4_define([OVS_DPDK_START_VSWITCHD], > AT_CAPTURE_FILE([ovs-vswitchd.log]) > on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`" > ]) > + > + > +# OVS_DPDK_CHECK_TESTPMD() > +# > +# Check dpdk-testpmd availability. > +# > +m4_define([OVS_DPDK_CHECK_TESTPMD], > + [AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +]) > + > + > +# OVS_DPDK_START_TESTPMD() > +# > +# Start dpdk-testpmd in background. > +# > +m4_define([OVS_DPDK_START_TESTPMD], > + [AT_CHECK([lscpu], [], [stdout]) > + AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > + eal_options="--socket-mem="$(cat NUMA_NODE)" --file-prefix page0 > --single-file-segments --no-pci" > + options="$1" > + [ "$options" != "${options%% -- *}" ] || options="$options -- " > + eal_options="$eal_options ${options%% -- *}" > + testpmd_options="-a --stats-period 2 ${options#* -- }" > + dpdk-testpmd $eal_options -- $testpmd_options >testpmd.log 2>&1 & \ > + echo $! > testpmd.pid > + on_exit "kill -9 `cat testpmd.pid`" > +]) > + > + > +# OVS_DPDK_STOP_TESTPMD() > +# > +# Stop background dpdk-testpmd. > +# > +m4_define([OVS_DPDK_STOP_TESTPMD], > + [AT_CHECK([kill `cat testpmd.pid`]) > + OVS_WAIT([kill -0 `cat testpmd.pid`], [kill -9 `cat testpmd.pid`]) > +]) > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at > index 0f58e85742..270587e2c0 100644 > --- a/tests/system-dpdk.at > +++ b/tests/system-dpdk.at > @@ -97,13 +97,9 @@ dnl Ping vhost-user port > AT_SETUP([OVS-DPDK - ping vhost-user ports]) > AT_KEYWORDS([dpdk]) > OVS_DPDK_PRE_CHECK() > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > 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 \ > @@ -125,12 +121,8 @@ ADD_NAMESPACES(ns1, ns2) > dnl Add veth device > ADD_VETH(tap1, ns2, br10, "172.31.110.12/24") > > -dnl Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostuser0" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a > >$OVS_RUNDIR/testpmd-dpdkvhostuser0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostuser0" > \ > + --vdev="net_tap0,iface=tap0"]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > OVS_WAIT_UNTIL([ip link show dev tap0 | grep -qw LOWER_UP]) > @@ -151,8 +143,7 @@ AT_CHECK([ip netns exec ns2 ip link show], [], [stdout], > [stderr]) > AT_CHECK([ip netns exec ns1 ping -c 4 -I tap0 172.31.110.12], [], [stdout], > [stderr]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Wait for vhost-user handling the socket disconnect. > OVS_WAIT_UNTIL([grep "vHost Device '$OVS_RUNDIR/dpdkvhostuser0' has been > removed" ovs-vswitchd.log]) > @@ -173,13 +164,9 @@ dnl Ping vhost-user-client port > AT_SETUP([OVS-DPDK - ping vhost-user-client ports]) > AT_KEYWORDS([dpdk]) > OVS_DPDK_PRE_CHECK() > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > 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 \ > @@ -200,13 +187,8 @@ ADD_NAMESPACES(ns1, ns2) > dnl Add veth device > ADD_VETH(tap1, ns2, br10, "172.31.110.12/24") > > -dnl Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - > --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,queues=2,server=1" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a --nb-cores 2 --rxq 2 --txq 2 \ > - >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,queues=2,server=1" > \ > + --vdev="net_tap0,iface=tap0" -- --nb-cores 2 --rxq 2 > --txq 2]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > OVS_WAIT_UNTIL([ip link show dev tap0 | grep -qw LOWER_UP]) > @@ -251,8 +233,7 @@ AT_CHECK([test `ovs-vsctl get interface > dpdkvhostuserclient0 statistics:tx_bytes > $((`ovs-vsctl get interface dpdkvhostuserclient0 > statistics:tx_q0_good_bytes` + dnl > `ovs-vsctl get interface dpdkvhostuserclient0 > statistics:tx_q1_good_bytes`))]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Clean up > AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], > [stderr]) > @@ -659,14 +640,10 @@ dnl MTU increase vport port > AT_SETUP([OVS-DPDK - MTU increase vport port]) > AT_KEYWORDS([dpdk]) > > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_PRE_CHECK() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > dnl Add userspace bridge and attach it to OVS with default MTU value > 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]) > @@ -678,12 +655,8 @@ AT_CHECK([grep "VHOST_CONFIG: > ($OVS_RUNDIR/dpdkvhostclient0) vhost-user client: > 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 Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - > --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a > >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" > \ > + --vdev="net_tap0,iface=tap0"]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > > @@ -697,8 +670,7 @@ AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 > mtu_request=9000]) > AT_CHECK([ovs-appctl dpctl/show], [], [stdout]) > AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Clean up > AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], > [stderr]) > @@ -715,14 +687,10 @@ dnl MTU decrease vport port > AT_SETUP([OVS-DPDK - MTU decrease vport port]) > AT_KEYWORDS([dpdk]) > > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_PRE_CHECK() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > dnl Add userspace bridge and attach it to OVS and modify MTU value > 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]) > @@ -735,12 +703,8 @@ AT_CHECK([grep "VHOST_CONFIG: > ($OVS_RUNDIR/dpdkvhostclient0) vhost-user client: > 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 Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - > --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a > >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" > \ > + --vdev="net_tap0,iface=tap0"]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > > @@ -754,8 +718,7 @@ AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 > mtu_request=2000]) > AT_CHECK([ovs-appctl dpctl/show], [], [stdout]) > AT_CHECK([grep -E 'mtu=2000' stdout], [], [stdout]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Clean up > AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], > [stderr]) > @@ -854,14 +817,10 @@ dnl MTU upper bound vport port > AT_SETUP([OVS-DPDK - MTU upper bound vport port]) > AT_KEYWORDS([dpdk]) > > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_PRE_CHECK() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > dnl Add userspace bridge and attach it to OVS and set MTU value to max upper > bound > 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]) > @@ -869,12 +828,8 @@ AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 > mtu_request=9702]) > AT_CHECK([ovs-vsctl show], [], [stdout]) > sleep 2 > > -dnl Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - > --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a > >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" > \ > + --vdev="net_tap0,iface=tap0"]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > > @@ -886,8 +841,7 @@ dnl Set MTU value above upper bound and check for error > AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9711]) > AT_CHECK([grep "dpdkvhostuserclient0: unsupported MTU 9711" > ovs-vswitchd.log], [], [stdout]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Clean up > AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], > [stderr]) > @@ -906,14 +860,10 @@ dnl MTU lower bound vport port > AT_SETUP([OVS-DPDK - MTU lower bound vport port]) > AT_KEYWORDS([dpdk]) > > -AT_SKIP_IF([! which dpdk-testpmd >/dev/null 2>/dev/null]) > +OVS_DPDK_CHECK_TESTPMD() > OVS_DPDK_PRE_CHECK() > OVS_DPDK_START([--no-pci]) > > -dnl Find number of sockets > -AT_CHECK([lscpu], [], [stdout]) > -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) > {printf "512,"}; print "512"}' > NUMA_NODE]) > - > dnl Add userspace bridge and attach it to OVS and set MTU value to min lower > bound > 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]) > @@ -926,12 +876,8 @@ AT_CHECK([grep "VHOST_CONFIG: > ($OVS_RUNDIR/dpdkvhostclient0) vhost-user client: > 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 Execute testpmd in background > -on_exit "pkill -f -x -9 'tail -f /dev/null'" > -tail -f /dev/null | dpdk-testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\ > - > --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \ > - --vdev="net_tap0,iface=tap0" --file-prefix page0 \ > - --single-file-segments -- -a > >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 & > +OVS_DPDK_START_TESTPMD([--vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" > \ > + --vdev="net_tap0,iface=tap0"]) > > OVS_WAIT_UNTIL([grep "virtio is now ready for processing" ovs-vswitchd.log]) > > @@ -943,8 +889,7 @@ dnl Set MTU value below lower bound and check for error > AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=67]) > AT_CHECK([grep "dpdkvhostuserclient0: unsupported MTU 67" ovs-vswitchd.log], > [], [stdout]) > > -dnl Clean up the testpmd now > -pkill -f -x -9 'tail -f /dev/null' > +OVS_DPDK_STOP_TESTPMD() > > dnl Clean up > AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], > [stderr]) > -- > 2.41.0 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
