On Thu, Jun 6, 2024 at 9:33 AM <[email protected]> wrote:
>
> From: Christian Ehrhardt <[email protected]>
>
> DPDK fixed counting of telemetry clients in 24.03 [1] which was also
> backported to 23.11.1 [2]. Due to that the dpdk related openvswitch
> tests now fail in the following cases:
> 4: OVS-DPDK - ping vhost-user ports FAILED (system-dpdk.at:148)
> 5: OVS-DPDK - ping vhost-user-client ports FAILED (system-dpdk.at:224)
> 16: OVS-DPDK - MTU increase vport port FAILED (system-dpdk.at:609)
> 17: OVS-DPDK - MTU decrease vport port FAILED (system-dpdk.at:651)
> 20: OVS-DPDK - MTU upper bound vport port FAILED (system-dpdk.at:767)
> 21: OVS-DPDK - MTU lower bound vport port FAILED (system-dpdk.at:809)
>
> This is due to a new error being logged under these conditions:
> dpdk|ERR|TELEMETRY: Socket write base info to client failed
I had some trouble understanding what was happening here because this
error log should be triggered on connection to the telemetry socket.
So I expected this error log affect any dpdk unit tests, but only the
tests with vhost-user were affected...
Attaching gdb, I could confirm something was indeed connecting to the
telemetry socket and I realised it was due to telemetry running in the
testpmd dpdk instance that tries to be smart and connect/quit on
existing sockets.
So we can waive this error log but I think a better fix would be to
avoid this conflict between testpmd and ovs (regardless of telemetry).
Something like:
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%% -- *}"
Opinions?
--
David Marchand
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev