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 > <step...@networkplumber.org <mailto:step...@networkplumber.org>> a écrit : > > On Wed, 7 Dec 2022 17:15:06 +0000 > Ferruh Yigit <ferruh.yi...@amd.com <mailto:ferruh.yi...@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. >