[dpdk-dev] ethdev: add return code to rte_eth_stats_reset()
Checks
Commit Message
Some devices do not support reset of eth stats. An application
may need to know not to clear shadow stats if the device cannot.
rte_eth_stats_reset is updated to provide a return code to
share whether the device supports reset or not.
Signed-off-by: David Harton <dharton@cisco.com>
---
lib/librte_ether/rte_ethdev.c | 8 +++++---
lib/librte_ether/rte_ethdev.h | 4 +++-
2 files changed, 8 insertions(+), 4 deletions(-)
@@ -1341,17 +1341,19 @@ rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats)
return 0;
}
-void
+int
rte_eth_stats_reset(uint8_t port_id)
{
struct rte_eth_dev *dev;
- RTE_ETH_VALID_PORTID_OR_RET(port_id);
+ RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id);
dev = &rte_eth_devices[port_id];
- RTE_FUNC_PTR_OR_RET(*dev->dev_ops->stats_reset);
+ RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->stats_reset);
(*dev->dev_ops->stats_reset)(dev);
dev->data->rx_mbuf_alloc_failed = 0;
+
+ return 0;
}
static int
@@ -2246,8 +2246,10 @@ int rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats);
*
* @param port_id
* The port identifier of the Ethernet device.
+ * @return
+ * Zero if successful. Non-zero otherwise.
*/
-void rte_eth_stats_reset(uint8_t port_id);
+int rte_eth_stats_reset(uint8_t port_id);
/**
* Retrieve names of extended statistics of an Ethernet device.