diff mbox series

[ovs-dev,v4,4/4] tests: Move MFEX tests to dpif-netdev.

Message ID 20220103141552.27060-4-david.marchand@redhat.com
State Changes Requested
Headers show
Series [ovs-dev,v4,1/4] system-dpdk: Refactor common logs matching. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

David Marchand Jan. 3, 2022, 2:15 p.m. UTC
The MFEX code and tests do not depend on DPDK anymore.
We can move the unit tests to dpif-netdev.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Acked-by: Kumar Amber <kumar.amber@intel.com>
---
Note: this patch depends on series
https://patchwork.ozlabs.org/project/openvswitch/list/?series=274452

Changes since v3:
- removed documentation update,

---
 tests/dpif-netdev.at | 167 +++++++++++++++++++++++++++++++++++++
 tests/system-dpdk.at | 194 -------------------------------------------
 2 files changed, 167 insertions(+), 194 deletions(-)

Comments

Ilya Maximets Jan. 4, 2022, 12:03 p.m. UTC | #1
On 1/3/22 15:15, David Marchand wrote:
> The MFEX code and tests do not depend on DPDK anymore.
> We can move the unit tests to dpif-netdev.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> Acked-by: Eelco Chaudron <echaudro@redhat.com>
> Acked-by: Kumar Amber <kumar.amber@intel.com>
> ---
> Note: this patch depends on series
> https://patchwork.ozlabs.org/project/openvswitch/list/?series=274452
> 
> Changes since v3:
> - removed documentation update,
> 
> ---
>  tests/dpif-netdev.at | 167 +++++++++++++++++++++++++++++++++++++
>  tests/system-dpdk.at | 194 -------------------------------------------
>  2 files changed, 167 insertions(+), 194 deletions(-)
> 
> diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at
> index 53eee185ad..fbb8fe9a71 100644
> --- a/tests/dpif-netdev.at
> +++ b/tests/dpif-netdev.at
> @@ -635,3 +635,170 @@ OVS_WAIT_UNTIL([grep "flow: in_port is not an exact match" ovs-vswitchd.log])
>  OVS_VSWITCHD_STOP(["/flow: in_port is not an exact match/d
>  /failed to put/d"])
>  AT_CLEANUP
> +
> +AT_SETUP([dpif-netdev - MFEX Autovalidator])
> +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> +OVS_VSWITCHD_START(
> +  [add-port br0 p1 \
> +   -- set interface p1 type=dummy-pmd])
> +
> +AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
> +])
> +
> +on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'"
> +($PYTHON3 $srcdir/genpkts.py -1 | while read pkt; do
> +     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
> + done) &
> +
> +AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
> +Miniflow extract implementation set to autovalidator.
> +])
> +
> +OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
> +pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'
> +
> +OVS_VSWITCHD_STOP
> +AT_CLEANUP
> +
> +AT_SETUP([dpif-netdev - MFEX Autovalidator Fuzzy])
> +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> +OVS_VSWITCHD_START(
> +  [add-port br0 p1 \
> +   -- set interface p1 type=dummy-pmd])
> +
> +AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
> +])
> +
> +on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'"
> +($PYTHON3 $srcdir/genpkts.py -1 fuzz | while read pkt; do
> +     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
> + done) &
> +
> +AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
> +Miniflow extract implementation set to autovalidator.
> +])
> +
> +OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
> +pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'
> +
> +OVS_VSWITCHD_STOP
> +AT_CLEANUP
> +
> +AT_SETUP([dpif-netdev - MFEX Configuration])
> +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> +OVS_VSWITCHD_START(
> +  [add-port br0 p1 \
> +   -- set Open_vSwitch . other_config:pmd-cpu-mask=0xC \
> +   -- set interface p1 type=dummy-pmd])

This test and others in here need a dummy-numa configured.
2 reasons for that:

1. We're asking for 4 CPU cores here (0xC), so the test will not work
   as expected on a smaller system (e.g. GHA).

2. Without dummy-numa real CPU affinity will be applied.  In that
   case during the parallel test execution threads from different tests
   will be scheduled on same cores.  Dummy-numa fakes the CPU affinity
   allowing the kernel to re-schedule pmd threads to different cores
   better utilising system resources.

Best regards, Ilya Maximets.
David Marchand Jan. 6, 2022, 10:19 a.m. UTC | #2
On Tue, Jan 4, 2022 at 1:03 PM Ilya Maximets <i.maximets@ovn.org> wrote:
> > +AT_SETUP([dpif-netdev - MFEX Configuration])
> > +AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
> > +OVS_VSWITCHD_START(
> > +  [add-port br0 p1 \
> > +   -- set Open_vSwitch . other_config:pmd-cpu-mask=0xC \
> > +   -- set interface p1 type=dummy-pmd])
>
> This test and others in here need a dummy-numa configured.
> 2 reasons for that:
>
> 1. We're asking for 4 CPU cores here (0xC), so the test will not work
>    as expected on a smaller system (e.g. GHA).
>
> 2. Without dummy-numa real CPU affinity will be applied.  In that
>    case during the parallel test execution threads from different tests
>    will be scheduled on same cores.  Dummy-numa fakes the CPU affinity
>    allowing the kernel to re-schedule pmd threads to different cores
>    better utilising system resources.

Ack.
diff mbox series

Patch

diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at
index 53eee185ad..fbb8fe9a71 100644
--- a/tests/dpif-netdev.at
+++ b/tests/dpif-netdev.at
@@ -635,3 +635,170 @@  OVS_WAIT_UNTIL([grep "flow: in_port is not an exact match" ovs-vswitchd.log])
 OVS_VSWITCHD_STOP(["/flow: in_port is not an exact match/d
 /failed to put/d"])
 AT_CLEANUP
+
+AT_SETUP([dpif-netdev - MFEX Autovalidator])
+AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
+OVS_VSWITCHD_START(
+  [add-port br0 p1 \
+   -- set interface p1 type=dummy-pmd])
+
+AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
+])
+
+on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'"
+($PYTHON3 $srcdir/genpkts.py -1 | while read pkt; do
+     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
+ done) &
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
+Miniflow extract implementation set to autovalidator.
+])
+
+OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
+pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'
+
+OVS_VSWITCHD_STOP
+AT_CLEANUP
+
+AT_SETUP([dpif-netdev - MFEX Autovalidator Fuzzy])
+AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
+OVS_VSWITCHD_START(
+  [add-port br0 p1 \
+   -- set interface p1 type=dummy-pmd])
+
+AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
+])
+
+on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'"
+($PYTHON3 $srcdir/genpkts.py -1 fuzz | while read pkt; do
+     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
+ done) &
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
+Miniflow extract implementation set to autovalidator.
+])
+
+OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
+pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'
+
+OVS_VSWITCHD_STOP
+AT_CLEANUP
+
+AT_SETUP([dpif-netdev - MFEX Configuration])
+AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
+OVS_VSWITCHD_START(
+  [add-port br0 p1 \
+   -- set Open_vSwitch . other_config:pmd-cpu-mask=0xC \
+   -- set interface p1 type=dummy-pmd])
+
+on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'"
+($PYTHON3 $srcdir/genpkts.py -1 | while read pkt; do
+     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
+ done) &
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar 1], [2],
+[], [dnl
+Error: unknown argument 1.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 6 study 300 xyz], [2],
+[], [dnl
+Error: invalid study_pkt_cnt value: xyz.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar abcd], [2],
+[], [dnl
+Error: unknown argument abcd.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 0 scalar abcd], [2],
+[], [dnl
+Error: unknown argument abcd.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd], [2],
+[], [dnl
+Error: -pmd option requires a thread id argument.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set tudy abcd], [2],
+[], [dnl
+Error: unknown argument abcd.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 7 study abcd], [2],
+[], [dnl
+Error: invalid study_pkt_cnt value: abcd.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 study], [0], [dnl
+Miniflow extract implementation set to study, on pmd thread 3, studying 128 packets.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 study 512], [0], [dnl
+Miniflow extract implementation set to study, on pmd thread 3, studying 512 packets.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set study 512], [0], [dnl
+Miniflow extract implementation set to study, studying 512 packets.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set study], [0], [dnl
+Miniflow extract implementation set to study, studying 128 packets.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 autovalidator], [0], [dnl
+Miniflow extract implementation set to autovalidator, on pmd thread 3.
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd zero study], [2],
+[], [dnl
+Error: miniflow extract parser not changed, PMD thread passed is not valid: 'zero'. Pass a valid pmd thread ID.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1], [2],
+[], [dnl
+Error: no miniflow extract name provided. Output of miniflow-parser-get shows implementation list.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1 superstudy], [2],
+[], [dnl
+Error: unknown miniflow extract implementation superstudy.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set superstudy], [2],
+[], [dnl
+Error: unknown miniflow extract implementation superstudy.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1 study -pmd], [2],
+[], [dnl
+Error: invalid study_pkt_cnt value: -pmd.
+ovs-appctl: ovs-vswitchd: server returned an error
+])
+
+pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'
+
+OVS_VSWITCHD_STOP(["
+\@Error: unknown argument 1.@d
+\@Error: invalid study_pkt_cnt value: xyz.@d
+\@Error: unknown argument abcd.@d
+\@Error: -pmd option requires a thread id argument.@d
+\@Error: invalid study_pkt_cnt value: abcd.@d
+\@Error: miniflow extract parser not changed, PMD thread passed is not valid: 'zero'. Pass a valid pmd thread ID.@d
+\@Error: no miniflow extract name provided. Output of miniflow-parser-get shows implementation list.@d
+\@Error: unknown miniflow extract implementation superstudy.@d
+\@Error: invalid study_pkt_cnt value: -pmd.@d
+"])
+AT_CLEANUP
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index ecce9e3c9b..b26eb8c750 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -221,197 +221,3 @@  OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
 ])")
 AT_CLEANUP
 dnl --------------------------------------------------------------------------
-
-dnl --------------------------------------------------------------------------
-dnl Add standard DPDK PHY port
-AT_SETUP([OVS-DPDK - MFEX Autovalidator])
-AT_KEYWORDS([dpdk])
-AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
-
-OVS_DPDK_START()
-
-dnl Add userspace bridge and attach it to OVS
-AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br0 p1 -- set interface p1 type=dummy-pmd])
-AT_CHECK([ovs-vsctl show], [], [stdout])
-
-AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
-])
-
-on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'"
-($PYTHON3 $srcdir/genpkts.py -1 | while read pkt; do
-     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
- done) &
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
-Miniflow extract implementation set to autovalidator.
-])
-
-OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
-pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'
-
-dnl Clean up
-AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
-OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
-AT_CLEANUP
-dnl --------------------------------------------------------------------------
-
-dnl --------------------------------------------------------------------------
-dnl Add standard DPDK PHY port
-AT_SETUP([OVS-DPDK - MFEX Autovalidator Fuzzy])
-AT_KEYWORDS([dpdk])
-AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
-OVS_DPDK_START()
-
-dnl Add userspace bridge and attach it to OVS
-AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br0 p1 -- set interface p1 type=dummy-pmd])
-AT_CHECK([ovs-vsctl show], [], [stdout])
-
-AT_SKIP_IF([! ovs-appctl dpif-netdev/miniflow-parser-get | sed 1,4d | grep "True"], [], [dnl
-])
-
-on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'"
-($PYTHON3 $srcdir/genpkts.py -1 fuzz | while read pkt; do
-     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
- done) &
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set autovalidator], [0], [dnl
-Miniflow extract implementation set to autovalidator.
-])
-
-OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics:rx_packets` -ge 1000])
-pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1 fuzz'
-
-dnl Clean up
-AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
-OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
-AT_CLEANUP
-dnl --------------------------------------------------------------------------
-
-dnl --------------------------------------------------------------------------
-AT_SETUP([OVS-DPDK - MFEX Configuration])
-AT_KEYWORDS([dpdk])
-AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
-
-OVS_DPDK_START()
-AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xC])
-dnl Add userspace bridge and attach it to OVS
-AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br0 p1 -- set interface p1 type=dummy-pmd])
-AT_CHECK([ovs-vsctl show], [], [stdout])
-
-on_exit "pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'"
-($PYTHON3 $srcdir/genpkts.py -1 | while read pkt; do
-     ovs-appctl netdev-dummy/receive p1 "$pkt" || break
- done) &
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar 1], [2],
-[], [dnl
-Error: unknown argument 1.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 6 study 300 xyz], [2],
-[], [dnl
-Error: invalid study_pkt_cnt value: xyz.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar abcd], [2],
-[], [dnl
-Error: unknown argument abcd.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 0 scalar abcd], [2],
-[], [dnl
-Error: unknown argument abcd.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd], [2],
-[], [dnl
-Error: -pmd option requires a thread id argument.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set tudy abcd], [2],
-[], [dnl
-Error: unknown argument abcd.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 7 study abcd], [2],
-[], [dnl
-Error: invalid study_pkt_cnt value: abcd.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 study], [0], [dnl
-Miniflow extract implementation set to study, on pmd thread 3, studying 128 packets.
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 study 512], [0], [dnl
-Miniflow extract implementation set to study, on pmd thread 3, studying 512 packets.
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set study 512], [0], [dnl
-Miniflow extract implementation set to study, studying 512 packets.
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set study], [0], [dnl
-Miniflow extract implementation set to study, studying 128 packets.
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 3 autovalidator], [0], [dnl
-Miniflow extract implementation set to autovalidator, on pmd thread 3.
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd zero study], [2],
-[], [dnl
-Error: miniflow extract parser not changed, PMD thread passed is not valid: 'zero'. Pass a valid pmd thread ID.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1], [2],
-[], [dnl
-Error: no miniflow extract name provided. Output of miniflow-parser-get shows implementation list.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1 superstudy], [2],
-[], [dnl
-Error: unknown miniflow extract implementation superstudy.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set superstudy], [2],
-[], [dnl
-Error: unknown miniflow extract implementation superstudy.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set -pmd 1 study -pmd], [2],
-[], [dnl
-Error: invalid study_pkt_cnt value: -pmd.
-ovs-appctl: ovs-vswitchd: server returned an error
-])
-
-pkill -f -x -9 '$PYTHON3 $srcdir/genpkts.py -1'
-
-dnl Clean up
-AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
-OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
-\@Error: unknown argument 1.@d
-\@Error: invalid study_pkt_cnt value: xyz.@d
-\@Error: unknown argument abcd.@d
-\@Error: -pmd option requires a thread id argument.@d
-\@Error: invalid study_pkt_cnt value: abcd.@d
-\@Error: miniflow extract parser not changed, PMD thread passed is not valid: 'zero'. Pass a valid pmd thread ID.@d
-\@Error: no miniflow extract name provided. Output of miniflow-parser-get shows implementation list.@d
-\@Error: unknown miniflow extract implementation superstudy.@d
-\@Error: invalid study_pkt_cnt value: -pmd.@d
-])")
-AT_CLEANUP dnl
-dnl --------------------------------------------------------------------------