net/mlx5: handle Rx CQE compression
[dpdk.git] / lib / librte_vhost / vhost-net.h
index 3edeb92..38593a2 100644 (file)
@@ -69,12 +69,9 @@ struct vhost_virtqueue {
        struct vring_avail      *avail;
        struct vring_used       *used;
        uint32_t                size;
-       uint16_t                vhost_hlen;
 
        /* Last index used on the available ring */
        volatile uint16_t       last_used_idx;
-       /* Used for multiple devices reserving buffers */
-       volatile uint16_t       last_used_idx_res;
 #define VIRTIO_INVALID_EVENTFD         (-1)
 #define VIRTIO_UNINITIALIZED_EVENTFD   (-2)
 
@@ -88,8 +85,6 @@ struct vhost_virtqueue {
 
        /* Physical address of used ring, for logging */
        uint64_t                log_guest_addr;
-       uint64_t                reserved[15];
-       struct buf_vector       buf_vec[BUF_VECTOR_MAX];
 } __rte_cache_aligned;
 
 /* Old kernels have no such macro defined */
@@ -130,18 +125,18 @@ struct virtio_net {
        uint64_t                protocol_features;
        int                     vid;
        uint32_t                flags;
+       uint16_t                vhost_hlen;
+       /* to tell if we need broadcast rarp packet */
+       rte_atomic16_t          broadcast_rarp;
+       uint32_t                virt_qp_nb;
+       struct vhost_virtqueue  *virtqueue[VHOST_MAX_QUEUE_PAIRS * 2];
 #define IF_NAME_SZ (PATH_MAX > IFNAMSIZ ? PATH_MAX : IFNAMSIZ)
        char                    ifname[IF_NAME_SZ];
-       uint32_t                virt_qp_nb;
-       void                    *priv;
        uint64_t                log_size;
        uint64_t                log_base;
+       uint64_t                log_addr;
        struct ether_addr       mac;
 
-       /* to tell if we need broadcast rarp packet */
-       rte_atomic16_t          broadcast_rarp;
-       uint64_t                reserved[61];
-       struct vhost_virtqueue  *virtqueue[VHOST_MAX_QUEUE_PAIRS * 2];
 } __rte_cache_aligned;
 
 /**
@@ -223,6 +218,9 @@ gpa_to_vva(struct virtio_net *dev, uint64_t guest_pa)
        return vhost_va;
 }
 
+struct virtio_net_device_ops const *notify_ops;
+struct virtio_net *get_device(int vid);
+
 int vhost_new_device(void);
 void vhost_destroy_device(int);