vhost: handle unsupported message types in functions
authorNikolay Nikolaev <nicknickolaev@gmail.com>
Mon, 24 Sep 2018 20:17:18 +0000 (23:17 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 27 Sep 2018 23:41:03 +0000 (01:41 +0200)
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>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
lib/librte_vhost/vhost_user.c

index 4ae7b93..77905dd 100644 (file)
@@ -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: