[dpdk-dev] [PATCH 1/3] vhost: Fix return value of GET_VRING_BASE message
Tetsuya Mukawa
mukawa at igel.co.jp
Wed Aug 19 11:51:07 CEST 2015
When vhost-user frontend sends GET_VRING_BASE, last used index of vring
should be returned. In DPDK vhost library, 'last_used_idx' represents it.
But the value can be over max index value. To return correct value to
vhost frontend, it's needed to be masked.
Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp>
---
lib/librte_vhost/virtio-net.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index b520ec5..144f301 100644
--- a/lib/librte_vhost/virtio-net.c
+++ b/lib/librte_vhost/virtio-net.c
@@ -661,7 +661,8 @@ get_vring_base(struct vhost_device_ctx ctx, uint32_t index,
state->index = index;
/* State->index refers to the queue index. The txq is 1, rxq is 0. */
- state->num = dev->virtqueue[state->index]->last_used_idx;
+ state->num = dev->virtqueue[state->index]->last_used_idx
+ & (dev->virtqueue[state->index]->size - 1);
return 0;
}
--
2.1.4
More information about the dev
mailing list