From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 205B92BD3; Wed, 3 Oct 2018 09:46:33 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2B52430821EE; Wed, 3 Oct 2018 07:46:32 +0000 (UTC) Received: from [10.36.112.44] (ovpn-112-44.ams2.redhat.com [10.36.112.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 51D10308BE75; Wed, 3 Oct 2018 07:46:26 +0000 (UTC) To: Ilya Maximets , dev@dpdk.org, tiwei.bie@intel.com, zhihong.wang@intel.com, jfreimann@redhat.com, nicknickolaev@gmail.com, bruce.richardson@intel.com, alejandro.lucero@netronome.com Cc: dgilbert@redhat.com, stable@dpdk.org References: <20181002093651.24795-1-maxime.coquelin@redhat.com> <20181002093651.24795-11-maxime.coquelin@redhat.com> <20181002140924eucas1p26a29e124daef119ec3a4b7aafbc4e547~Zz_zzwcE_2001420014eucas1p2L@eucas1p2.samsung.com> From: Maxime Coquelin Message-ID: <327d1fa6-df37-41c4-8a58-a1787719d5fe@redhat.com> Date: Wed, 3 Oct 2018 09:46:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181002140924eucas1p26a29e124daef119ec3a4b7aafbc4e547~Zz_zzwcE_2001420014eucas1p2L@eucas1p2.samsung.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Wed, 03 Oct 2018 07:46:32 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v2 10/17] vhost: add support for postcopy's listen message 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: , X-List-Received-Date: Wed, 03 Oct 2018 07:46:33 -0000 On 10/02/2018 04:11 PM, Ilya Maximets wrote: > On 02.10.2018 12:36, Maxime Coquelin wrote: >> Signed-off-by: Dr. David Alan Gilbert >> Signed-off-by: Maxime Coquelin >> --- >> lib/librte_vhost/vhost.h | 1 + >> lib/librte_vhost/vhost_user.c | 19 +++++++++++++++++++ >> lib/librte_vhost/vhost_user.h | 4 +++- >> 3 files changed, 23 insertions(+), 1 deletion(-) >> >> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h >> index 21722d8a8..9453cb28d 100644 >> --- a/lib/librte_vhost/vhost.h >> +++ b/lib/librte_vhost/vhost.h >> @@ -364,6 +364,7 @@ struct virtio_net { >> rte_spinlock_t slave_req_lock; >> >> int postcopy_ufd; >> + int postcopy_listening; >> >> /* >> * Device id to identify a specific backend device. >> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c >> index 71721edc7..bd468ca12 100644 >> --- a/lib/librte_vhost/vhost_user.c >> +++ b/lib/librte_vhost/vhost_user.c >> @@ -76,6 +76,7 @@ static const char *vhost_message_str[VHOST_USER_MAX] = { >> [VHOST_USER_CRYPTO_CREATE_SESS] = "VHOST_USER_CRYPTO_CREATE_SESS", >> [VHOST_USER_CRYPTO_CLOSE_SESS] = "VHOST_USER_CRYPTO_CLOSE_SESS", >> [VHOST_USER_POSTCOPY_ADVISE] = "VHOST_USER_POSTCOPY_ADVISE", >> + [VHOST_USER_POSTCOPY_LISTEN] = "VHOST_USER_POSTCOPY_LISTEN", >> }; >> >> /* The possible results of a message handling function */ >> @@ -1548,6 +1549,23 @@ vhost_user_set_postcopy_advise(struct virtio_net **pdev, >> #endif >> } >> >> +static int >> +vhost_user_set_postcopy_listen(struct virtio_net **pdev, >> + struct VhostUserMsg *msg __rte_unused, >> + int main_fd __rte_unused) >> +{ >> + struct virtio_net *dev = *pdev; >> + >> + if (dev->mem && dev->mem->nregions) { >> + RTE_LOG(ERR, VHOST_CONFIG, >> + "Regions already registered at postcopy-listen\n"); >> + return VH_RESULT_ERR; >> + } >> + dev->postcopy_listening = 1; >> + >> + return VH_RESULT_OK; >> +} >> + >> typedef int (*vhost_message_handler_t)(struct virtio_net **pdev, >> struct VhostUserMsg *msg, >> int main_fd); >> @@ -1576,6 +1594,7 @@ static vhost_message_handler_t vhost_message_handlers[VHOST_USER_MAX] = { >> [VHOST_USER_SET_SLAVE_REQ_FD] = vhost_user_set_req_fd, >> [VHOST_USER_IOTLB_MSG] = vhost_user_iotlb_msg, >> [VHOST_USER_POSTCOPY_ADVISE] = vhost_user_set_postcopy_advise, >> + [VHOST_USER_POSTCOPY_LISTEN] = vhost_user_set_postcopy_listen, >> }; >> >> >> diff --git a/lib/librte_vhost/vhost_user.h b/lib/librte_vhost/vhost_user.h >> index 2030b40a5..73b1fe2b9 100644 >> --- a/lib/librte_vhost/vhost_user.h >> +++ b/lib/librte_vhost/vhost_user.h >> @@ -51,7 +51,9 @@ typedef enum VhostUserRequest { >> VHOST_USER_CRYPTO_CREATE_SESS = 26, >> VHOST_USER_CRYPTO_CLOSE_SESS = 27, >> VHOST_USER_POSTCOPY_ADVISE = 28, >> - VHOST_USER_MAX = 29 >> + VHOST_USER_POSTCOPY_LISTEN = 29, >> + VHOST_USER_POSTCOPY_END = 30, > > I think, this should be part of patch 14 for consistency. Indeed, it has been fixed-up in wrong commit I guess. Thanks for spotting it. Maxime >> + VHOST_USER_MAX = 31 >> } VhostUserRequest; >> >> typedef enum VhostUserSlaveRequest { >>