On Mon, Jun 17, 2024 at 07:39:43AM -0700, Stephen Hemminger wrote:
> On Mon, 17 Jun 2024 15:28:17 +0100
> Bruce Richardson <bruce.richard...@intel.com> wrote:
> 
> > On Thu, Jun 06, 2024 at 02:26:54PM +0200, David Marchand wrote:
> > > When starting two DPDK programs using the same DPDK prefix (like for
> > > example OVS and testpmd, both running as primary processes in
> > > --in-memory mode), the first DPDK process of the two spews some error
> > > log when the second starts:
> > > 
> > > TELEMETRY: Socket write base info to client failed
> > > 
> > > This is because telemetry init involves trying to connect on existing
> > > sockets to check if it can take over an existing socket file.
> > > 
> > > On the other hand, this error log provides no helpful information.
> > > Lower this log to debug level.
> > > 
> > > Fixes: e14bb5f10509 ("telemetry: fix connected clients count")
> > > Cc: sta...@dpdk.org
> > > 
> > > Signed-off-by: David Marchand <david.march...@redhat.com>  
> > 
> > Acked-by: Bruce Richardson <bruce.richard...@intel.com>
> > 
> > Would it be also worthwhile having the probing process wait a small amount
> > of time or check for an input string before closing the socket? That should
> > avoid the error message being necessary at all for the case described.
> 
> If telemetry used abstract socket path instead this would not be a problem.
> Using regular paths leads to races and problems with restart.
> And all the stat and runtime check logic could go away.

Are abstract paths not linux-specific? Also, would using abstract paths not
mean that we need to implement some form of authentication on the
connections? Right now, using real paths in the DPDK runtime directory, a
regular user cannot connect to the telemetry of a process running as
another user or as root.

/Bruce

Reply via email to