net/virtio: add packed virtqueue defines
[dpdk.git] / drivers / net / virtio / virtio_pci.h
index 0ec2168..4c975a5 100644 (file)
@@ -6,6 +6,7 @@
 #define _VIRTIO_PCI_H_
 
 #include <stdint.h>
+#include <stdbool.h>
 
 #include <rte_pci.h>
 #include <rte_bus_pci.h>
@@ -112,6 +113,7 @@ struct virtnet_ctl;
 
 #define VIRTIO_F_VERSION_1             32
 #define VIRTIO_F_IOMMU_PLATFORM        33
+#define VIRTIO_F_RING_PACKED           34
 
 /*
  * Some VirtIO feature bits (currently bits 28 through 31) are
@@ -203,7 +205,6 @@ struct virtio_pci_ops {
                             void *dst, int len);
        void (*write_dev_cfg)(struct virtio_hw *hw, size_t offset,
                              const void *src, int len);
-       void (*reset)(struct virtio_hw *hw);
 
        uint8_t (*get_status)(struct virtio_hw *hw);
        void    (*set_status)(struct virtio_hw *hw, uint8_t status);
@@ -231,7 +232,7 @@ struct virtio_hw {
        uint64_t    req_guest_features;
        uint64_t    guest_features;
        uint32_t    max_queue_pairs;
-       uint16_t    started;
+       bool        started;
        uint16_t        max_mtu;
        uint16_t    vtnet_hdr_size;
        uint8_t     vlan_strip;
@@ -240,6 +241,8 @@ struct virtio_hw {
        uint8_t     use_simple_rx;
        uint8_t     use_inorder_rx;
        uint8_t     use_inorder_tx;
+       bool        has_tx_offload;
+       bool        has_rx_offload;
        uint16_t    port_id;
        uint8_t     mac_addr[ETHER_ADDR_LEN];
        uint32_t    notify_off_multiplier;
@@ -255,6 +258,7 @@ struct virtio_hw {
         */
        rte_spinlock_t state_lock;
        struct rte_mbuf **inject_pkts;
+       bool        opened;
 
        struct virtqueue **vqs;
 };