On 12/8/2022 11:24 AM, Nathan Skrzypczak wrote:
> Hi Stephen, Hi Ferruh,
>
> I don't have a strong opinion on usage of regular sockets vs abstract
> sockets. My point is that most existing memif implementations
> either don't yet properly support abstract sockets or require extra
> flags to be passed by users (iirc VPP, gomemif, libmemif, etc...).
> As a matter of fact, abstract socket support in dpdk was broken until
> quite recently. So I expect most users to be somewhat
> constrained by their implementation to use regular sockets.
>
> Also, as a user when you come with a filesystem path, understanding you
> need to pass the following is not really straightforward
> --vdev=net_memif,socket=/tmp/memif.sock,socket-abstract=no
>
> A better solution might be to use the '@' prefix which seems the usual
> representation and remove the socket-abstract=no altogether
> --vdev=net_memif,socket=@memif
> --vdev=net_memif,socket=/tmp/memif.sock
>
There is a default socket value ('/run/memif.sock'), that is why
additional 'socket-abstract' parameter is required:
abstract socket:
--vdev=net_memif0
regular socket ('/run/memif.sock'):
--vdev=net_memif0,socket-abstract=no
Using '@memif' syntax an option to *replace* 'socket-abstract=no'
syntax, but this will break existing user interface.
And if intentions is NOT replace usage, but add '@memif' syntax, it
doesn't add much value since abstract socket is already default option,
although it doesn't hurt.
Instead, by keeping existing user interface, we can say if user
explicitly set a socket value, regular socket is implied, like:
abstract:
--vdev=net_memif0
--vdev=net_memif0,socket-abstract=yes
--vdev=net_memif0,socket=/tmp/memif.sock,socket-abstract=yes
[socket-abstract overrides]
regular:
--vdev=net_memif0,socket=/tmp/memif.sock
--vdev=net_memif0,socket-abstract=no
--vdev=net_memif0,socket=/tmp/memif.sock,socket-abstract=no
Does this improve user experience for regular sockets?
> What do you think ?
>
> (Also iirc Jakub is not receiving emails on this address)
>
> Cheers
> -Nathan
>
> Le mer. 7 déc. 2022 à 22:01, Stephen Hemminger
> <stephen@networkplumber.org <mailto:stephen@networkplumber.org>> a écrit :
>
> On Wed, 7 Dec 2022 17:15:06 +0000
> Ferruh Yigit <ferruh.yigit@amd.com <mailto:ferruh.yigit@amd.com>> wrote:
>
> > On 12/7/2022 3:56 PM, Nathan Skrzypczak wrote:
> > > Hi Ferruh,
> > >
> >
> > Hi Nathan,
> >
> > > Thank you for your reply,
> > >
> > > On the potential confusion for users of the DPDK memif PMD : when
> > > defaulting to abstract sockets was added in [0] (v20.10 release)
> > > it did change the existing behavior, so reverting it would
> restore the
> > > old behavior.> Also abstract sockets are quite a unusual feature
> in linux (a 0byte
> > > prefixed string...), so I'm expecting most users of memif to
> just use
> > > regular sockets because they're way easier to handle.
> > >
> >
> > Not sure if regular socket is easier to handle, or users prefer
> regular
> > sockets, we need more input on these.
>
> Regular sockets are actually harder handle, it is more that users
> are less familiar with them! Regular sockets have to go through
> file permission checks which makes dealing with containers and SELinux
> hard. Regular sockets persist when application crashes which makes
> recovery harder.
>