[PATCH v2] net/memif: default to physical socket

Ferruh Yigit ferruh.yigit at amd.com
Wed Dec 7 16:14:03 CET 2022


On 10/17/2022 1:12 PM, Nathan Skrzypczak wrote:
> This patch changes the default value of the memif abstract
> socket flag to false. The implementation of memif with
> abstract sockets made abstract-socket=yes the
> default in [0] which might confuse users.
> 

Hi Nathan,

OK to update logs to clarify nature of the socket,

but why do you think making abstract socket default socket type confuses
the users?

> This patches makes 'socket-abstract=no' the new default,
> and adds warnings mentioning the nature of the socket
> concerned in an attempt to avoid future foot-gunning.
> 
> [0] commit 2f865ed07bb6 ("net/memif: use abstract socket address")
> 
> Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak at gmail.com>
> ---
>  doc/guides/nics/memif.rst         | 2 +-
>  drivers/net/memif/memif_socket.c  | 7 +++++--
>  drivers/net/memif/rte_eth_memif.c | 3 ---
>  3 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/doc/guides/nics/memif.rst b/doc/guides/nics/memif.rst
> index aca843640b..43d1cd1b38 100644
> --- a/doc/guides/nics/memif.rst
> +++ b/doc/guides/nics/memif.rst
> @@ -43,7 +43,7 @@ client.
>     "bsize=1024", "Size of single packet buffer", "2048", "uint16_t"
>     "rsize=11", "Log2 of ring size. If rsize is 10, actual ring size is 1024", "10", "1-14"
>     "socket=/tmp/memif.sock", "Socket filename", "/tmp/memif.sock", "string len 108"
> -   "socket-abstract=no", "Set usage of abstract socket address", "yes", "yes|no"
> +   "socket-abstract=no", "Is the socket an abstract socket", "no", "yes|no"
>     "mac=01:23:45:ab:cd:ef", "Mac address", "01:ab:23:cd:45:ef", ""
>     "secret=abc123", "Secret is an optional security option, which if specified, must be matched by peer", "", "string len 24"
>     "zero-copy=yes", "Enable/disable zero-copy client mode. Only relevant to client, requires '--single-file-segments' eal argument", "no", "yes|no"
> diff --git a/drivers/net/memif/memif_socket.c b/drivers/net/memif/memif_socket.c
> index 4700ce2e77..5344e60147 100644
> --- a/drivers/net/memif/memif_socket.c
> +++ b/drivers/net/memif/memif_socket.c
> @@ -939,7 +939,8 @@ memif_socket_create(char *key, uint8_t listener, bool is_abstract)
>  		if (ret < 0)
>  			goto error;
>  
> -		MIF_LOG(DEBUG, "Memif listener socket %s created.", sock->filename);
> +		MIF_LOG(DEBUG, "Memif listener %s socket %s created.",
> +			is_abstract ? "abstract" : "", sock->filename);
>  
>  		/* Allocate interrupt instance */
>  		sock->intr_handle =
> @@ -1139,7 +1140,9 @@ memif_connect_client(struct rte_eth_dev *dev)
>  
>  	ret = connect(sockfd, (struct sockaddr *)&sun, sunlen);
>  	if (ret < 0) {
> -		MIF_LOG(ERR, "Failed to connect socket: %s.", pmd->socket_filename);
> +		MIF_LOG(ERR, "Failed to connect %s socket: %s.",
> +		    pmd->flags & ETH_MEMIF_FLAG_SOCKET_ABSTRACT ? "abstract" : "",
> +		    pmd->socket_filename);
>  		goto error;
>  	}
>  
> diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
> index 5b5cae34ea..81e502ccaf 100644
> --- a/drivers/net/memif/rte_eth_memif.c
> +++ b/drivers/net/memif/rte_eth_memif.c
> @@ -1823,9 +1823,6 @@ rte_pmd_memif_probe(struct rte_vdev_device *vdev)
>  		MIF_LOG(WARNING, "Failed to register mp action callback: %s",
>  			strerror(rte_errno));
>  
> -	/* use abstract address by default */
> -	flags |= ETH_MEMIF_FLAG_SOCKET_ABSTRACT;
> -
>  	kvlist = rte_kvargs_parse(rte_vdev_device_args(vdev), valid_arguments);
>  
>  	/* parse parameters */



More information about the dev mailing list