From de8e1fdcecdca1254dbd6a63fd6e0e65fe3e3b05 Mon Sep 17 00:00:00 2001 From: Yuanhan Liu Date: Wed, 1 Mar 2017 18:41:59 +0800 Subject: [PATCH] vhost: fix max queues 0x8000 is the max virito-net queue pairs the virtio 1.0 spec claims to support. While for vhost-user, it's a different story: the max vring index could be passed by the vhost-user spec is 0xff, masked by the VHOST_USER_VRING_IDX_MASK. That said, the max queue pairs could vhost-user could supported is 0x80. If user are asking more, I think the vhost-user need be extended. Fixes: b09b198bfb5c ("vhost-user: announce queue number in message") Cc: stable@dpdk.org Signed-off-by: Yuanhan Liu --- lib/librte_vhost/vhost.h | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 4391e62f54..d97df1d83a 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib/librte_vhost/vhost.h @@ -110,24 +110,15 @@ struct vhost_virtqueue { uint16_t shadow_used_idx; } __rte_cache_aligned; -/* Old kernels have no such macro defined */ +/* Old kernels have no such macros defined */ #ifndef VIRTIO_NET_F_GUEST_ANNOUNCE #define VIRTIO_NET_F_GUEST_ANNOUNCE 21 #endif - -/* - * Make an extra wrapper for VIRTIO_NET_F_MQ and - * VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX as they are - * introduced since kernel v3.8. This makes our - * code buildable for older kernel. - */ -#ifdef VIRTIO_NET_F_MQ - #define VHOST_MAX_QUEUE_PAIRS VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX -#else +#ifndef VIRTIO_NET_F_MQ #define VIRTIO_NET_F_MQ 22 - #define VHOST_MAX_QUEUE_PAIRS 0x8000 #endif +#define VHOST_MAX_QUEUE_PAIRS 0x80 /* * Define virtio 1.0 for older kernels -- 2.20.1