X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Feventdev%2Frte_event_eth_rx_adapter.h;h=3608a7b2cf0223740b2cebf548aa7bb5d86bdc14;hb=b53c9d20fa06483ad7b82ecb9ce3a3a5e0ed1027;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..3608a7b2cf 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.h +++ b/lib/eventdev/rte_event_eth_rx_adapter.h @@ -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. */ @@ -617,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 }