net/sfc: support SW stats groups
[dpdk.git] / drivers / net / sfc / sfc.h
index 331e06b..3067901 100644 (file)
@@ -30,6 +30,7 @@
 #include "sfc_sriov.h"
 #include "sfc_mae.h"
 #include "sfc_dp.h"
+#include "sfc_sw_stats.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -217,7 +218,23 @@ struct sfc_counter_rxq {
        struct rte_mempool              *mp;
 };
 
-struct sfc_sw_xstats {
+struct sfc_sw_stat_data {
+       const struct sfc_sw_stat_descr *descr;
+       /* Cache fragment */
+       uint64_t                        *cache;
+};
+
+struct sfc_sw_stats {
+       /* Number extended statistics provided by SW stats */
+       unsigned int                    xstats_count;
+       /* Supported SW statistics */
+       struct sfc_sw_stat_data         *supp;
+       unsigned int                    supp_count;
+
+       /* Cache for all supported SW statistics */
+       uint64_t                        *cache;
+       unsigned int                    cache_count;
+
        uint64_t                        *reset_vals;
 
        rte_spinlock_t                  queues_bitmap_lock;
@@ -257,7 +274,7 @@ struct sfc_adapter {
        struct sfc_sriov                sriov;
        struct sfc_intr                 intr;
        struct sfc_port                 port;
-       struct sfc_sw_xstats            sw_xstats;
+       struct sfc_sw_stats             sw_stats;
        struct sfc_filter               filter;
        struct sfc_mae                  mae;