tapv2: deleting tap interface may leak buffers (VPP-1124)
[vpp.git] / src / vnet / devices / virtio / virtio.h
index 7dcd90a..90eeb53 100644 (file)
@@ -91,6 +91,7 @@ typedef struct
 typedef struct
 {
   u32 flags;
+  u32 id;
   u32 dev_instance;
   u32 hw_if_index;
   u32 sw_if_index;
@@ -102,8 +103,17 @@ typedef struct
   u64 features, remote_features;
 
   virtio_if_type_t type;
-  u8 *name;
+  u16 tx_ring_sz;
+  u16 rx_ring_sz;
+  u8 *host_if_name;
   u8 *net_ns;
+  u8 *host_bridge;
+  u8 host_mac_addr[6];
+  ip4_address_t host_ip4_addr;
+  u8 host_ip4_prefix_len;
+  ip6_address_t host_ip6_addr;
+  u8 host_ip6_prefix_len;
+
   int ifindex;
 } virtio_if_t;
 
@@ -118,7 +128,9 @@ extern vlib_node_registration_t virtio_input_node;
 
 clib_error_t *virtio_vring_init (vlib_main_t * vm, virtio_if_t * vif, u16 idx,
                                 u16 sz);
-clib_error_t *virtio_vring_free (virtio_if_t * vif, u32 idx);
+clib_error_t *virtio_vring_free (vlib_main_t * vm, virtio_if_t * vif,
+                                u32 idx);
+extern void virtio_free_used_desc (vlib_main_t * vm, virtio_vring_t * vring);
 
 #endif /* _VNET_DEVICES_VIRTIO_VIRTIO_H_ */