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