]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/virtio/virtqueue.h
net/virtio: fix queue flushing with vector Rx enabled
[dpdk.git] / drivers / net / virtio / virtqueue.h
index 2d95992180f3fde57f752178d6eabe4caffe2dca..e46de158362f8f56a0ae5ef9f1c8464d0d9523af 100644 (file)
@@ -292,6 +292,17 @@ virtqueue_full(const struct virtqueue *vq)
        return vq->vq_free_cnt == 0;
 }
 
+static inline int
+virtio_get_queue_type(struct virtio_hw *hw, uint16_t vtpci_queue_idx)
+{
+       if (vtpci_queue_idx == hw->max_queue_pairs * 2)
+               return VTNET_CQ;
+       else if (vtpci_queue_idx % 2 == 0)
+               return VTNET_RQ;
+       else
+               return VTNET_TQ;
+}
+
 #define VIRTQUEUE_NUSED(vq) ((uint16_t)((vq)->vq_ring.used->idx - (vq)->vq_used_cons_idx))
 
 void vq_ring_free_chain(struct virtqueue *vq, uint16_t desc_idx);