X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Feventdev%2Frte_event_eth_rx_adapter.h;h=9546d792e9ded5d26b48e871d5b6610587946004;hb=e46cf9ffe0436463741015789169cdf362ed7f65;hp=ab625f72731a4b43a695bbe7e50caeaa7e978c58;hpb=68e9668a0991239609753c2a11732c9223284102;p=dpdk.git diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h index ab625f7273..9546d792e9 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.h +++ b/lib/eventdev/rte_event_eth_rx_adapter.h @@ -35,6 +35,8 @@ * - 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() * * 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 +206,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. */ @@ -617,6 +636,53 @@ 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); #ifdef __cplusplus }