X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Fvirtio%2Fvirtio.h;h=acefc387549360dea9b91219844da0367797372a;hb=e347acbc3;hp=f1eaa07fe5d756aebec3f903977fd694ba297f07;hpb=a7a2281732b926df139b0fd946a084299d813654;p=vpp.git diff --git a/src/vnet/devices/virtio/virtio.h b/src/vnet/devices/virtio/virtio.h index f1eaa07fe5d..acefc387549 100644 --- a/src/vnet/devices/virtio/virtio.h +++ b/src/vnet/devices/virtio/virtio.h @@ -20,6 +20,7 @@ #include #include +#include #include #define foreach_virtio_if_flag \ @@ -76,6 +77,7 @@ typedef struct u16 last_used_idx; u16 last_kick_avail_idx; u32 call_file_index; + virtio_vring_buffering_t *buffering; gro_flow_table_t *flow_table; } virtio_vring_t; @@ -123,13 +125,22 @@ typedef struct CLIB_CACHE_LINE_ALIGN_MARK (cacheline1); int packet_coalesce; + int packet_buffering; u32 dev_instance; u32 numa_node; u64 remote_features; /* error */ clib_error_t *error; - u8 mac_addr[6]; + union + { + struct + { + u32 mac_addr32; + u16 mac_addr16; + }; + u8 mac_addr[6]; + }; union { struct /* tun/tap interface */ @@ -195,6 +206,7 @@ extern void virtio_set_net_hdr_size (virtio_if_t * vif); extern void virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr, u32 type); extern void virtio_set_packet_coalesce (virtio_if_t * vif); +clib_error_t *virtio_set_packet_buffering (virtio_if_t * vif, u16 size); extern void virtio_pci_legacy_notify_queue (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id); extern void virtio_pci_modern_notify_queue (vlib_main_t * vm,