From: Jens Freimann Date: Fri, 6 Jul 2018 07:07:09 +0000 (+0200) Subject: vhost: add helpers for packed virtqueues X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d3211c98c45672f700e270d98b1dbca62b634c72;p=dpdk.git 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 --- 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 /*