[dpdk-dev] [PATCH] vchost: Notify application of ownership change

Xie, Huawei huawei.xie at intel.com
Wed Aug 12 05:34:48 CEST 2015


On 8/8/2015 1:21 AM, Jan Kiszka wrote:
> On VHOST_*_RESET_OWNER, we reinitialize the device but without telling
> the application. That will cause crashes when it continues to invoke
> vhost services on the device. Fix it by calling the destruction hook if
> the device is still in use.
>
> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> ---
>
> This is the surprisingly simple answer to my questions in
> http://thread.gmane.org/gmane.comp.networking.dpdk.devel/22661.
>
>  lib/librte_vhost/virtio-net.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
> index b520ec5..3c5b5b2 100644
> --- a/lib/librte_vhost/virtio-net.c
> +++ b/lib/librte_vhost/virtio-net.c
> @@ -402,6 +402,9 @@ reset_owner(struct vhost_device_ctx ctx)
>
>  	ll_dev = get_config_ll_entry(ctx);
>
> +	if ((ll_dev->dev.flags & VIRTIO_DEV_RUNNING))
> +		notify_ops->destroy_device(&ll_dev->dev);

To me this patch makes sense here.
Whether RESET_OWNER is really needed is another question. Whenever the
vhost itself needs to process the vhost device, we need to notify the
switch application to remove it from data plane.
> +
>  	cleanup_device(&ll_dev->dev);
>  	init_device(&ll_dev->dev);
>



More information about the dev mailing list