vhost-user: announce queue number in message
authorYuanhan Liu <yuanhan.liu@linux.intel.com>
Thu, 22 Oct 2015 12:35:50 +0000 (20:35 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 26 Oct 2015 20:22:32 +0000 (21:22 +0100)
Add VHOST_USER_GET_QUEUE_NUM message
to tell the frontend (qemu) how many queue pairs we support.

And it is initiated to VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Acked-by: Huawei Xie <huawei.xie@intel.com>
lib/librte_vhost/vhost_user/vhost-net-user.c
lib/librte_vhost/vhost_user/vhost-net-user.h

index bc2ad24..8675cd4 100644 (file)
@@ -98,6 +98,7 @@ static const char *vhost_message_str[VHOST_USER_MAX] = {
        [VHOST_USER_SET_VRING_ERR]  = "VHOST_USER_SET_VRING_ERR",
        [VHOST_USER_GET_PROTOCOL_FEATURES]  = "VHOST_USER_GET_PROTOCOL_FEATURES",
        [VHOST_USER_SET_PROTOCOL_FEATURES]  = "VHOST_USER_SET_PROTOCOL_FEATURES",
+       [VHOST_USER_GET_QUEUE_NUM]  = "VHOST_USER_GET_QUEUE_NUM",
 };
 
 /**
@@ -421,6 +422,12 @@ vserver_message_handler(int connfd, void *dat, int *remove)
                RTE_LOG(INFO, VHOST_CONFIG, "not implemented\n");
                break;
 
+       case VHOST_USER_GET_QUEUE_NUM:
+               msg.payload.u64 = VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX;
+               msg.size = sizeof(msg.payload.u64);
+               send_vhost_message(connfd, &msg);
+               break;
+
        default:
                break;
 
index 4490d23..389d21d 100644 (file)
@@ -65,6 +65,7 @@ typedef enum VhostUserRequest {
        VHOST_USER_SET_VRING_ERR = 14,
        VHOST_USER_GET_PROTOCOL_FEATURES = 15,
        VHOST_USER_SET_PROTOCOL_FEATURES = 16,
+       VHOST_USER_GET_QUEUE_NUM = 17,
        VHOST_USER_MAX
 } VhostUserRequest;