[dpdk-stable] [PATCH] telemetry: fix "in-memory" process socket conflicts

Power, Ciara ciara.power at intel.com
Wed Sep 22 10:43:12 CEST 2021


Hi Bruce,


>-----Original Message-----
>From: Richardson, Bruce <bruce.richardson at intel.com>
>Sent: Wednesday 15 September 2021 15:11
>To: dev at dpdk.org
>Cc: Power, Ciara <ciara.power at intel.com>; Burakov, Anatoly
><anatoly.burakov at intel.com>; Richardson, Bruce
><bruce.richardson at intel.com>; stable at dpdk.org; David Marchand
><david.marchand at redhat.com>
>Subject: [PATCH] telemetry: fix "in-memory" process socket conflicts
>
>When DPDK is run with --in-memory mode, multiple processes can run
>simultaneously using the same runtime dir. This leads to each process
>removing another process' telemetry socket as it started up, giving
>unexpected behaviour.
>
>This patch changes that behaviour to first check if the existing socket is active.
>If not, it's an old socket to be cleaned up and can be removed. If it is active,
>telemetry initialization fails and an error message is printed out giving
>instructions on how to remove the error; either by using file-prefix to have a
>different runtime dir (and therefore socket path) or by disabling telemetry if it
>not needed.
>
>Fixes: 6dd571fd07c3 ("telemetry: introduce new functionality")
>Cc: stable at dpdk.org
>
>Reported-by: David Marchand <david.marchand at redhat.com>
>Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
>---
> lib/telemetry/telemetry.c | 25 ++++++++++++++++++++-----
> 1 file changed, 20 insertions(+), 5 deletions(-)
>
<snip>

Patch looks good overall, although I see CI is reporting some problems for FreeBSD:

../lib/telemetry/telemetry.c:435:21: error: incompatible pointer types passing 'struct sockaddr_un *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types]
                if (connect(sock, &sun, sizeof(sun)) == 0) {
                                  ^~~~
/usr/include/sys/socket.h:662:41: note: passing argument to parameter here
int     connect(int, const struct sockaddr *, socklen_t);
                                            ^
1 error generated.

Thanks,
Ciara


More information about the stable mailing list