summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2022-04-12 18:31:58 +0200
committerDavid S. Miller <davem@davemloft.net>2022-04-15 10:43:47 +0100
commitf3c5264f452a5b0ac1de1f2f657efbabdea3c76a (patch)
tree9d5e53b6a1d3464e88088a445651768866e34ba5 /include/net
parentedf45f007a31e86738f6be3065591ddad94477d1 (diff)
downloadlinux-f3c5264f452a5b0ac1de1f2f657efbabdea3c76a.tar.bz2
net: page_pool: introduce ethtool stats
Introduce page_pool APIs to report stats through ethtool and reduce duplicated code in each driver. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/page_pool.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/net/page_pool.h b/include/net/page_pool.h
index ea5fb70e5101..813c93499f20 100644
--- a/include/net/page_pool.h
+++ b/include/net/page_pool.h
@@ -117,6 +117,10 @@ struct page_pool_stats {
struct page_pool_recycle_stats recycle_stats;
};
+int page_pool_ethtool_stats_get_count(void);
+u8 *page_pool_ethtool_stats_get_strings(u8 *data);
+u64 *page_pool_ethtool_stats_get(u64 *data, void *stats);
+
/*
* Drivers that wish to harvest page pool stats and report them to users
* (perhaps via ethtool, debugfs, or another mechanism) can allocate a
@@ -124,6 +128,23 @@ struct page_pool_stats {
*/
bool page_pool_get_stats(struct page_pool *pool,
struct page_pool_stats *stats);
+#else
+
+static inline int page_pool_ethtool_stats_get_count(void)
+{
+ return 0;
+}
+
+static inline u8 *page_pool_ethtool_stats_get_strings(u8 *data)
+{
+ return data;
+}
+
+static inline u64 *page_pool_ethtool_stats_get(u64 *data, void *stats)
+{
+ return data;
+}
+
#endif
struct page_pool {