Skip to content

Commit

Permalink
system-dpdk: Fix socket conflict when starting testpmd.
Browse files Browse the repository at this point in the history
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: c488f28 ("system-dpdk: Don't require hugetlbfs.")
Signed-off-by: David Marchand <[email protected]>
  • Loading branch information
david-marchand committed Jun 6, 2024
1 parent ac4df0c commit 5ae2c0b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/system-dpdk-macros.at
Original file line number Diff line number Diff line change
Expand Up @@ -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%% -- *}"
Expand Down

0 comments on commit 5ae2c0b

Please sign in to comment.