[v6,3/5] vhost: handle unsupported message types in functions

Message ID 153782023810.27450.1072870890780678375.stgit@T460 (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series vhost: vhost_user.c code cleanup |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Nikolay Nikolaev Sept. 24, 2018, 8:17 p.m. UTC
Add new functions to handle the unsupported vhost message types:
 - vhost_user_set_vring_err
 - vhost_user_set_log_fd

Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
---
 lib/librte_vhost/vhost_user.c |   22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)
  

Comments

Burakov, Anatoly Sept. 25, 2018, 3:44 p.m. UTC | #1
On 24-Sep-18 9:17 PM, Nikolay Nikolaev wrote:
> Add new functions to handle the unsupported vhost message types:
>   - vhost_user_set_vring_err
>   - vhost_user_set_log_fd
> 
> Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
> ---

Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
  

Patch

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 4ae7b9346..77905dda0 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1022,6 +1022,14 @@  vhost_user_set_vring_call(struct virtio_net *dev, struct VhostUserMsg *msg)
 	vq->callfd = file.fd;
 }
 
+static void vhost_user_set_vring_err(struct virtio_net **pdev __rte_unused,
+			struct VhostUserMsg *msg)
+{
+	if (!(msg->payload.u64 & VHOST_USER_VRING_NOFD_MASK))
+		close(msg->fds[0]);
+	RTE_LOG(INFO, VHOST_CONFIG, "not implemented\n");
+}
+
 static int
 vhost_user_set_vring_kick(struct virtio_net **pdev, struct VhostUserMsg *msg)
 {
@@ -1259,6 +1267,13 @@  vhost_user_set_log_base(struct virtio_net *dev, struct VhostUserMsg *msg)
 	return 0;
 }
 
+static void vhost_user_set_log_fd(struct virtio_net **pdev __rte_unused,
+			struct VhostUserMsg *msg)
+{
+	close(msg->fds[0]);
+	RTE_LOG(INFO, VHOST_CONFIG, "not implemented.\n");
+}
+
 /*
  * An rarp packet is constructed and broadcasted to notify switches about
  * the new location of the migrated VM, so that packets from outside will
@@ -1704,8 +1719,7 @@  vhost_user_msg_handler(int vid, int fd)
 		send_vhost_reply(fd, &msg);
 		break;
 	case VHOST_USER_SET_LOG_FD:
-		close(msg.fds[0]);
-		RTE_LOG(INFO, VHOST_CONFIG, "not implemented.\n");
+		vhost_user_set_log_fd(&dev, &msg);
 		break;
 
 	case VHOST_USER_SET_VRING_NUM:
@@ -1733,9 +1747,7 @@  vhost_user_msg_handler(int vid, int fd)
 		break;
 
 	case VHOST_USER_SET_VRING_ERR:
-		if (!(msg.payload.u64 & VHOST_USER_VRING_NOFD_MASK))
-			close(msg.fds[0]);
-		RTE_LOG(INFO, VHOST_CONFIG, "not implemented\n");
+		vhost_user_set_vring_err(&dev, &msg);
 		break;
 
 	case VHOST_USER_GET_QUEUE_NUM: