From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: [PATCH v4 03/19] vhost: clarify reply-ack in case a reply was already sent Date: Mon, 8 Oct 2018 17:25:41 +0200 Message-ID: <20181008152557.14275-4-maxime.coquelin@redhat.com> References: <20181008152557.14275-1-maxime.coquelin@redhat.com> Cc: dgilbert@redhat.com, stable@dpdk.org, Maxime Coquelin To: dev@dpdk.org, tiwei.bie@intel.com, zhihong.wang@intel.com, jfreimann@redhat.com, nicknickolaev@gmail.com, i.maximets@samsung.com, bruce.richardson@intel.com, alejandro.lucero@netronome.com Return-path: In-Reply-To: <20181008152557.14275-1-maxime.coquelin@redhat.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" For messages that require a reply, a second ack should not be sent when reply-ack protocol feature is negotiated, even if the corresponding flag is set in the message. The code is compliant with the spec but it isn't clear it is, so this patch adds a comment to make it explicit. Suggested-by: Ilya Maximets Signed-off-by: Maxime Coquelin Acked-by: Ilya Maximets --- lib/librte_vhost/vhost_user.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c index ce0ac0098..7f3e86778 100644 --- a/lib/librte_vhost/vhost_user.c +++ b/lib/librte_vhost/vhost_user.c @@ -1799,6 +1799,11 @@ vhost_user_msg_handler(int vid, int fd) if (unlock_required) vhost_user_unlock_all_queue_pairs(dev); + /* + * If the request required a reply that was already sent, + * this optional reply-ack won't be sent as the + * VHOST_USER_NEED_REPLY was cleared in send_vhost_reply(). + */ if (msg.flags & VHOST_USER_NEED_REPLY) { msg.payload.u64 = ret == VH_RESULT_ERR; msg.size = sizeof(msg.payload.u64); -- 2.17.1