vhost: improve vhost-user layer logs
[dpdk.git] / lib / eventdev / rte_event_eth_rx_adapter.h
index 70ca427..3608a7b 100644 (file)
@@ -35,6 +35,9 @@
  *  - rte_event_eth_rx_adapter_stats_get()
  *  - rte_event_eth_rx_adapter_stats_reset()
  *  - rte_event_eth_rx_adapter_queue_conf_get()
+ *  - rte_event_eth_rx_adapter_queue_stats_get()
+ *  - rte_event_eth_rx_adapter_queue_stats_reset()
+ *  - rte_event_eth_rx_adapter_event_port_get()
  *
  * The application creates an ethernet to event adapter using
  * rte_event_eth_rx_adapter_create_ext() or rte_event_eth_rx_adapter_create()
@@ -204,6 +207,23 @@ struct rte_event_eth_rx_adapter_queue_conf {
        /**< event buffer size for this queue */
 };
 
+/**
+ * A structure used to retrieve statistics for an
+ * eth rx adapter queue.
+ */
+struct rte_event_eth_rx_adapter_queue_stats {
+       uint64_t rx_event_buf_count;
+       /**< Rx event buffered count */
+       uint64_t rx_event_buf_size;
+       /**< Rx event buffer size */
+       uint64_t rx_poll_count;
+       /**< Receive queue poll count */
+       uint64_t rx_packets;
+       /**< Received packet count */
+       uint64_t rx_dropped;
+       /**< Received packet dropped count */
+};
+
 /**
  * A structure used to retrieve statistics for an eth rx adapter instance.
  */
@@ -232,6 +252,10 @@ struct rte_event_eth_rx_adapter_stats {
         */
        uint64_t rx_intr_packets;
        /**< Received packet count for interrupt mode Rx queues */
+       uint64_t rx_event_buf_count;
+       /**< Rx event buffered count */
+       uint64_t rx_event_buf_size;
+       /**< Rx event buffer size */
 };
 
 /**
@@ -584,7 +608,6 @@ int rte_event_eth_rx_adapter_cb_register(uint8_t id, uint16_t eth_dev_id,
  *  - 0: Success.
  *  - <0: Error code on failure.
  */
-__rte_experimental
 int rte_event_eth_rx_adapter_vector_limits_get(
        uint8_t dev_id, uint16_t eth_port_id,
        struct rte_event_eth_rx_adapter_vector_limits *limits);
@@ -614,6 +637,72 @@ int rte_event_eth_rx_adapter_queue_conf_get(uint8_t id,
                        uint16_t rx_queue_id,
                        struct rte_event_eth_rx_adapter_queue_conf *queue_conf);
 
+/**
+ * Retrieve Rx queue statistics.
+ *
+ * @param id
+ *  Adapter identifier.
+ *
+ * @param eth_dev_id
+ *  Port identifier of Ethernet device.
+ *
+ * @param rx_queue_id
+ *  Ethernet device receive queue index.
+ *
+ * @param[out] stats
+ *  Pointer to struct rte_event_eth_rx_adapter_queue_stats
+ *
+ * @return
+ *  - 0: Success, queue buffer stats retrieved.
+ *  - <0: Error code on failure.
+ */
+__rte_experimental
+int
+rte_event_eth_rx_adapter_queue_stats_get(uint8_t id,
+               uint16_t eth_dev_id,
+               uint16_t rx_queue_id,
+               struct rte_event_eth_rx_adapter_queue_stats *stats);
+
+/**
+ * Reset Rx queue statistics.
+ *
+ * @param id
+ *  Adapter identifier.
+ *
+ * @param eth_dev_id
+ *  Port identifier of Ethernet device.
+ *
+ * @param rx_queue_id
+ *  Ethernet device receive queue index.
+ *
+ * @return
+ *  - 0: Success, queue buffer stats retrieved.
+ *  - <0: Error code on failure.
+ */
+__rte_experimental
+int
+rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
+               uint16_t eth_dev_id,
+               uint16_t rx_queue_id);
+
+/**
+ * Retrieve the event port ID of an adapter. If the adapter doesn't use
+ * a rte_service function, this function returns -ESRCH.
+ *
+ * @param id
+ *  Adapter identifier.
+ *
+ * @param [out] event_port_id
+ *  A pointer to a uint8_t, to be filled in with the port id.
+ *
+ * @return
+ *  - 0: Success
+ *  - <0: Error code on failure, if the adapter doesn't use a rte_service
+ * function, this function returns -ESRCH.
+ */
+__rte_experimental
+int
+rte_event_eth_rx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 #ifdef __cplusplus
 }