[dpdk-dev] [PATCH v2 02/17] vhost: fix return code of messages requiring replies

Ilya Maximets i.maximets at samsung.com
Wed Oct 3 15:26:46 CEST 2018


On 02.10.2018 12:36, Maxime Coquelin wrote:
> VHOST_USER_GET_PROTOCOL_FEATURES, VHOST_USER_GET_VRING_BASE
> and VHOST_USER_SET_LOG_BASE require replies, so their handlers
> should return VH_RESULT_REPLY, not VH_RESULT_OK.
> 
> Fixes: 2cfbbb86c62a ("vhost: unify message handling function signature")
> 
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
>  lib/librte_vhost/vhost_user.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> index 060b41893..ce0ac0098 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -1161,7 +1161,7 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
>  
>  	msg->size = sizeof(msg->payload.state);
>  
> -	return VH_RESULT_OK;
> +	return VH_RESULT_REPLY;
>  }
>  
>  /*
> @@ -1218,7 +1218,7 @@ vhost_user_get_protocol_features(struct virtio_net **pdev,
>  	msg->payload.u64 = protocol_features;
>  	msg->size = sizeof(msg->payload.u64);
>  
> -	return VH_RESULT_OK;
> +	return VH_RESULT_REPLY;
>  }
>  
>  static int
> @@ -1298,7 +1298,7 @@ vhost_user_set_log_base(struct virtio_net **pdev, struct VhostUserMsg *msg)
>  
>  	msg->size = sizeof(msg->payload.u64);

Maybe we need to set size to zero? This message should not have
"Slave payload" according to docs and QEMU does not check it.

>  
> -	return VH_RESULT_OK;
> +	return VH_RESULT_REPLY;
>  }
>  
>  static int vhost_user_set_log_fd(struct virtio_net **pdev __rte_unused,
> 


More information about the dev mailing list