On Thu, Jun 6, 2024 at 2:25 PM David Marchand <david.march...@redhat.com> wrote: > > On Thu, Jun 6, 2024 at 9:33 AM <christian.ehrha...@canonical.com> wrote: > > > > From: Christian Ehrhardt <christian.ehrha...@canonical.com> > > > > 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%% -- *}"
I'm happy with that approach as well, feel free to submit for real and scrap mine. > Opinions? > > -- > David Marchand > -- Christian Ehrhardt Director of Engineering, Ubuntu Server Canonical Ltd _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev