From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 63381A04DD; Tue, 20 Oct 2020 18:42:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AE44FACD0; Tue, 20 Oct 2020 18:42:44 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by dpdk.org (Postfix) with ESMTP id 46C1AACCF for ; Tue, 20 Oct 2020 18:42:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603212159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ur38LXiZmYSpMmdcu07+Dww/BfcZhtRBw83wBVddAFc=; b=DhSuKyEd6hUHrV2uuVmOAVEmIOyaxZwUaeYq7RnYhIrEFclHT7Aq11Mwcfoek0PnPrF50j UUPZrMjRfw2eTwfkwJZtz/KMMayqfbGJOK2Nq8UyuP7IAJfHyvVmD4IZIDPdJLrhuIdSHm yyDg4IrlT+SfRAPJhDPlEfPxWBNqF7g= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-420-y4Pd3hxWNIGJcf1aPWe67w-1; Tue, 20 Oct 2020 12:42:37 -0400 X-MC-Unique: y4Pd3hxWNIGJcf1aPWe67w-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 86147803F42; Tue, 20 Oct 2020 16:42:36 +0000 (UTC) Received: from [10.36.110.40] (unknown [10.36.110.40]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BA0E01002C1B; Tue, 20 Oct 2020 16:42:34 +0000 (UTC) To: Adrian Moreno , dev@dpdk.org Cc: yinan.wang@intel.com, patrick.fu@intel.com, stable@dpdk.org, Chenbo Xia , Zhihong Wang References: <20201020152052.389446-1-amorenoz@redhat.com> <20201020152052.389446-4-amorenoz@redhat.com> From: Maxime Coquelin Message-ID: <282c116e-0f8a-754e-f3fd-8eb256d68246@redhat.com> Date: Tue, 20 Oct 2020 18:42:33 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 MIME-Version: 1.0 In-Reply-To: <20201020152052.389446-4-amorenoz@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 3/3] virtio-user: set status on virtio-user reconnect X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/20/20 5:20 PM, Adrian Moreno wrote: > Newer vhost-user backends will rely on SET_STATUS to start the device > so this required to support them. > > Fixes: 57912824615f ("net/virtio-user: support vhost status setting") > Cc: maxime.coquelin@redhat.com > Cc: stable@dpdk.org > > Signed-off-by: Adrian Moreno > --- > drivers/net/virtio/virtio_user_ethdev.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c > index e870fb2ff..d8bea4537 100644 > --- a/drivers/net/virtio/virtio_user_ethdev.c > +++ b/drivers/net/virtio/virtio_user_ethdev.c > @@ -78,6 +78,13 @@ virtio_user_server_reconnect(struct virtio_user_dev *dev) > return -1; > > dev->vhostfd = connectfd; > + > + vtpci_reset(hw); > + > + vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_ACK); > + > + vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_DRIVER); > + > if (dev->ops->send_request(dev, VHOST_USER_GET_FEATURES, > &dev->device_features) < 0) { > PMD_INIT_LOG(ERR, "get_features failed: %s", > @@ -111,6 +118,8 @@ virtio_user_server_reconnect(struct virtio_user_dev *dev) > > dev->features &= dev->device_features; > > + vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_FEATURES_OK); > + > /* For packed ring, resetting queues is required in reconnection. */ > if (vtpci_packed_queue(hw) && > (vtpci_get_status(hw) & VIRTIO_CONFIG_STATUS_DRIVER_OK)) { > @@ -119,8 +128,9 @@ virtio_user_server_reconnect(struct virtio_user_dev *dev) > virtio_user_reset_queues_packed(eth_dev); > } > > - ret = virtio_user_start_device(dev); > - if (ret < 0) > + /* Start the device */ > + vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_DRIVER_OK); > + if (!dev->started) > return -1; > > if (dev->queue_pairs > 1) { > Reviewed-by: Maxime Coquelin Thanks, Maxime