From d3211c98c45672f700e270d98b1dbca62b634c72 Mon Sep 17 00:00:00 2001 From: Jens Freimann Date: Fri, 6 Jul 2018 09:07:09 +0200 Subject: [PATCH] vhost: add helpers for packed virtqueues Add some helper functions to check descriptor flags and check if a vring is of type packed. Signed-off-by: Jens Freimann Signed-off-by: Maxime Coquelin Acked-by: Tiwei Bie --- lib/librte_vhost/vhost.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index 83c028a1b5..d362823a94 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib/librte_vhost/vhost.h @@ -344,6 +344,19 @@ struct virtio_net { struct vhost_user_extern_ops extern_ops; } __rte_cache_aligned; +static __rte_always_inline bool +vq_is_packed(struct virtio_net *dev) +{ + return dev->features & (1ull << VIRTIO_F_RING_PACKED); +} + +static inline bool +desc_is_avail(struct vring_packed_desc *desc, bool wrap_counter) +{ + return wrap_counter == !!(desc->flags & VRING_DESC_F_AVAIL) && + wrap_counter != !!(desc->flags & VRING_DESC_F_USED); +} + #define VHOST_LOG_PAGE 4096 /* -- 2.20.1