unsigned int nb_mcast_addrs;
uint8_t *mcast_addrs;
- rte_spinlock_t mac_stats_lock;
uint64_t *mac_stats_buf;
unsigned int mac_stats_nb_supported;
efsys_mem_t mac_stats_dma_mem;
unsigned int txq_count;
struct sfc_txq_info *txq_info;
+ unsigned int ethdev_txq_count;
struct sfc_rss rss;
char *dp_rx_name;
char *dp_tx_name;
+
+ bool counters_rxq_allocated;
};
/* Adapter process private data */
return sap;
}
+/* 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;
+};
+
/* Adapter private data */
struct sfc_adapter {
/*
bool mgmt_evq_running;
struct sfc_evq *mgmt_evq;
+ struct sfc_counter_rxq counter_rxq;
+
struct sfc_rxq *rxq_ctrl;
struct sfc_txq *txq_ctrl;
/* Just for symmetry of the API */
}
+static inline unsigned int
+sfc_nb_counter_rxq(const struct sfc_adapter_shared *sas)
+{
+ return sas->counters_rxq_allocated ? 1 : 0;
+}
+
/** Get the number of milliseconds since boot from the default timer */
static inline uint64_t
sfc_get_system_msecs(void)