diff mbox series

[ovs-dev,1/2] system-dpdk: Fix socket conflict when starting testpmd.

Message ID 20240606131112.2903428-1-david.marchand@redhat.com
State Accepted
Delegated to: Kevin Traynor
Headers show
Series [ovs-dev,1/2] system-dpdk: Fix socket conflict when starting testpmd. | expand

Checks

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

Commit Message

David Marchand June 6, 2024, 1:11 p.m. UTC
The DPDK telemetry library tries to connect to existing socket files so
that it knows whether it can take over them.

As was reported by Christian, following a fix in DPDK that got backported
in v23.11.1, vhost-user unit tests that have both OVS and testpmd running
at the same time reveal a conflict over the telemetry socket.
This conflict shows up as an error message in OVS logs which makes those
tests fail in the CI:

2024-06-06T13:03:38.351Z|00001|dpdk|ERR|TELEMETRY: Socket write base info
	to client failed

The EAL file-prefix option affects both the directory where DPDK stores
running files (like the telemetry socket) and how files backing hugepages
are named (when in non --in-memory mode).
Configure (again) this prefix so that testpmd runs in a dedicated directory.

Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2024-June/414545.html
Fixes: c488f28a0eaf ("system-dpdk: Don't require hugetlbfs.")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 tests/system-dpdk-macros.at | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kevin Traynor June 7, 2024, 9:23 a.m. UTC | #1
On 06/06/2024 14:11, David Marchand wrote:
> The DPDK telemetry library tries to connect to existing socket files so
> that it knows whether it can take over them.
> 
> As was reported by Christian, following a fix in DPDK that got backported
> in v23.11.1, vhost-user unit tests that have both OVS and testpmd running
> at the same time reveal a conflict over the telemetry socket.
> This conflict shows up as an error message in OVS logs which makes those
> tests fail in the CI:
> 
> 2024-06-06T13:03:38.351Z|00001|dpdk|ERR|TELEMETRY: Socket write base info
> 	to client failed
> 
> The EAL file-prefix option affects both the directory where DPDK stores
> running files (like the telemetry socket) and how files backing hugepages
> are named (when in non --in-memory mode).
> Configure (again) this prefix so that testpmd runs in a dedicated directory.
> 
> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2024-June/414545.html
> Fixes: c488f28a0eaf ("system-dpdk: Don't require hugetlbfs.")
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  tests/system-dpdk-macros.at | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Acked-by: Kevin Traynor <ktraynor@redhat.com>
Eelco Chaudron June 7, 2024, 10:07 a.m. UTC | #2
On 6 Jun 2024, at 15:11, David Marchand wrote:

> The DPDK telemetry library tries to connect to existing socket files so
> that it knows whether it can take over them.
>
> As was reported by Christian, following a fix in DPDK that got backported
> in v23.11.1, vhost-user unit tests that have both OVS and testpmd running
> at the same time reveal a conflict over the telemetry socket.
> This conflict shows up as an error message in OVS logs which makes those
> tests fail in the CI:
>
> 2024-06-06T13:03:38.351Z|00001|dpdk|ERR|TELEMETRY: Socket write base info
> 	to client failed
>
> The EAL file-prefix option affects both the directory where DPDK stores
> running files (like the telemetry socket) and how files backing hugepages
> are named (when in non --in-memory mode).
> Configure (again) this prefix so that testpmd runs in a dedicated directory.
>
> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2024-June/414545.html
> Fixes: c488f28a0eaf ("system-dpdk: Don't require hugetlbfs.")
> Signed-off-by: David Marchand <david.marchand@redhat.com>
Thanks David for looking into this. Ran some tests in my environment and all is fine.

Acked-by: Eelco Chaudron <echaudro@redhat.com>
diff mbox series

Patch

diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
index 7cf9bac170..f8ba766739 100644
--- a/tests/system-dpdk-macros.at
+++ b/tests/system-dpdk-macros.at
@@ -102,7 +102,7 @@  m4_define([OVS_DPDK_CHECK_TESTPMD],
 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="$DPDK_EAL_OPTIONS --in-memory --socket-mem="$(cat NUMA_NODE)" --single-file-segments --no-pci"
+   eal_options="$DPDK_EAL_OPTIONS --in-memory --socket-mem="$(cat NUMA_NODE)" --single-file-segments --no-pci --file-prefix testpmd"
    options="$1"
    test "$options" != "${options%% -- *}" || options="$options -- "
    eal_options="$eal_options ${options%% -- *}"