net/virtio-user: abstract backend operations
[dpdk.git] / drivers / net / virtio / virtio_user / virtio_user_dev.h
index 28fc788..9f2f82e 100644 (file)
 #include <limits.h>
 #include "../virtio_pci.h"
 #include "../virtio_ring.h"
+#include "vhost.h"
 
 struct virtio_user_dev {
+       /* for vhost_user backend */
        int             vhostfd;
+
+       /* for both vhost_user and vhost_kernel */
        int             callfds[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
        int             kickfds[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
        int             mac_specified;
@@ -54,6 +58,7 @@ struct virtio_user_dev {
        uint8_t         mac_addr[ETHER_ADDR_LEN];
        char            path[PATH_MAX];
        struct vring    vrings[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
+       struct virtio_user_backend_ops *ops;
 };
 
 int virtio_user_start_device(struct virtio_user_dev *dev);