diff options
Diffstat (limited to 'src/vnet/devices/virtio/pci.h')
-rw-r--r-- | src/vnet/devices/virtio/pci.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/vnet/devices/virtio/pci.h b/src/vnet/devices/virtio/pci.h index 70aa9833c2d..5eb80f823be 100644 --- a/src/vnet/devices/virtio/pci.h +++ b/src/vnet/devices/virtio/pci.h @@ -87,7 +87,7 @@ typedef enum #define VIRTIO_PCI_QUEUE_ADDR_SHIFT 12 -#define VIRTIO_PCI_VRING_ALIGN 4096 +#define VNET_VIRTIO_PCI_VRING_ALIGN 4096 typedef enum { @@ -154,13 +154,11 @@ typedef struct * and an ack/status response in the last entry. Data for the * command goes in between. */ -/* *INDENT-OFF* */ typedef CLIB_PACKED (struct { u8 class; u8 cmd; }) virtio_net_ctrl_hdr_t; -/* *INDENT-ON* */ typedef u8 virtio_net_ctrl_ack_t; @@ -192,8 +190,8 @@ typedef struct _virtio_pci_func u16 (*get_queue_size) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id); void (*set_queue_size) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id, u16 queue_size); - u8 (*setup_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id, - void *p); + u8 (*setup_queue) (vlib_main_t *vm, virtio_if_t *vif, u16 queue_id, + vnet_virtio_vring_t *vring); void (*del_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id); u16 (*get_queue_notify_off) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id); @@ -227,6 +225,13 @@ typedef enum #undef _ } virtio_flag_t; +typedef enum +{ + VIRTIO_BIND_NONE = 0, + VIRTIO_BIND_DEFAULT = 1, + VIRTIO_BIND_FORCE = 2, +} __clib_packed virtio_bind_t; + typedef struct { u32 addr; @@ -238,6 +243,8 @@ typedef struct u64 features; u8 gso_enabled; u8 checksum_offload_enabled; + u32 tx_queue_size; + virtio_bind_t bind; u32 buffering_size; u32 virtio_flags; clib_error_t *error; |