X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fvirtio%2Fvirtio_user%2Fvhost.h;h=2e71995a79a36286a25bd4eefdd142dda7baed1e;hb=44102e6298e788e4736befaa69cfd3d6f126830a;hp=55f47036bb9695c34625188a0b33e17d33eedf2d;hpb=1708804ea977668f82a944b29399d376f8e50e9f;p=dpdk.git diff --git a/drivers/net/virtio/virtio_user/vhost.h b/drivers/net/virtio/virtio_user/vhost.h index 55f47036bb..2e71995a79 100644 --- a/drivers/net/virtio/virtio_user/vhost.h +++ b/drivers/net/virtio/virtio_user/vhost.h @@ -44,6 +44,23 @@ struct vhost_vring_addr { uint64_t log_guest_addr; }; +#ifndef VHOST_USER_F_PROTOCOL_FEATURES +#define VHOST_USER_F_PROTOCOL_FEATURES 30 +#endif + +/** Protocol features. */ +#ifndef VHOST_USER_PROTOCOL_F_MQ +#define VHOST_USER_PROTOCOL_F_MQ 0 +#endif + +#ifndef VHOST_USER_PROTOCOL_F_REPLY_ACK +#define VHOST_USER_PROTOCOL_F_REPLY_ACK 3 +#endif + +#ifndef VHOST_USER_PROTOCOL_F_STATUS +#define VHOST_USER_PROTOCOL_F_STATUS 16 +#endif + enum vhost_user_request { VHOST_USER_NONE = 0, VHOST_USER_GET_FEATURES = 1, @@ -64,10 +81,12 @@ enum vhost_user_request { VHOST_USER_SET_PROTOCOL_FEATURES = 16, VHOST_USER_GET_QUEUE_NUM = 17, VHOST_USER_SET_VRING_ENABLE = 18, + VHOST_USER_SET_STATUS = 39, + VHOST_USER_GET_STATUS = 40, VHOST_USER_MAX }; -const char * const vhost_msg_strings[VHOST_USER_MAX]; +extern const char * const vhost_msg_strings[VHOST_USER_MAX]; struct vhost_memory_region { uint64_t guest_phys_addr; @@ -86,6 +105,10 @@ struct virtio_user_backend_ops { int (*enable_qp)(struct virtio_user_dev *dev, uint16_t pair_idx, int enable); + int (*dma_map)(struct virtio_user_dev *dev, void *addr, + uint64_t iova, size_t len); + int (*dma_unmap)(struct virtio_user_dev *dev, void *addr, + uint64_t iova, size_t len); }; extern struct virtio_user_backend_ops virtio_ops_user;