common/sfc_efx/base: add function control window concept
[dpdk.git] / drivers / net / virtio / virtio_user / virtio_user_dev.h
index ad86837..9377d5b 100644 (file)
@@ -40,7 +40,11 @@ struct virtio_user_dev {
        uint64_t        device_features; /* supported features by device */
        uint64_t        frontend_features; /* enabled frontend features */
        uint64_t        unsupported_features; /* unsupported features mask */
+       uint64_t        protocol_features; /* negotiated protocol features
+                                           * (Vhost-user only)
+                                           */
        uint8_t         status;
+       uint16_t        net_status;
        uint16_t        port_id;
        uint8_t         mac_addr[RTE_ETHER_ADDR_LEN];
        char            path[PATH_MAX];
@@ -49,6 +53,7 @@ struct virtio_user_dev {
                struct vring_packed     packed_vrings[VIRTIO_MAX_VIRTQUEUES];
        };
        struct virtio_user_queue packed_queues[VIRTIO_MAX_VIRTQUEUES];
+       bool            qp_enabled[VIRTIO_MAX_VIRTQUEUE_PAIRS];
 
        struct virtio_user_backend_ops *ops;
        pthread_mutex_t mutex;
@@ -67,4 +72,6 @@ void virtio_user_handle_cq(struct virtio_user_dev *dev, uint16_t queue_idx);
 void virtio_user_handle_cq_packed(struct virtio_user_dev *dev,
                                  uint16_t queue_idx);
 uint8_t virtio_user_handle_mq(struct virtio_user_dev *dev, uint16_t q_pairs);
+int virtio_user_send_status_update(struct virtio_user_dev *dev, uint8_t status);
+int virtio_user_update_status(struct virtio_user_dev *dev);
 #endif