+/* RxQ dedicated for counters (counter only RxQ) data */
+struct sfc_counter_rxq {
+ unsigned int state;
+#define SFC_COUNTER_RXQ_ATTACHED 0x1
+#define SFC_COUNTER_RXQ_INITIALIZED 0x2
+ sfc_sw_index_t sw_index;
+ struct rte_mempool *mp;
+};
+
+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;
+ /* Location of per-queue reset values for packets/bytes in reset_vals */
+ uint64_t *reset_rx_pkts;
+ uint64_t *reset_rx_bytes;
+ uint64_t *reset_tx_pkts;
+ uint64_t *reset_tx_bytes;
+
+ rte_spinlock_t queues_bitmap_lock;
+ void *queues_bitmap_mem;
+ struct rte_bitmap *queues_bitmap;
+};
+