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;
uint32_t mac_stats_mask[EFX_MAC_STATS_MASK_NPAGES];
+ unsigned int mac_stats_by_id[EFX_MAC_NSTATS];
+
uint64_t ipackets;
};
struct rte_mempool *mp;
};
+struct sfc_sw_xstats {
+ uint64_t *reset_vals;
+
+ rte_spinlock_t queues_bitmap_lock;
+ void *queues_bitmap_mem;
+ struct rte_bitmap *queues_bitmap;
+};
+
/* Adapter private data */
struct sfc_adapter {
/*
struct sfc_sriov sriov;
struct sfc_intr intr;
struct sfc_port port;
+ struct sfc_sw_xstats sw_xstats;
struct sfc_filter filter;
struct sfc_mae mae;
void sfc_port_stop(struct sfc_adapter *sa);
void sfc_port_link_mode_to_info(efx_link_mode_t link_mode,
struct rte_eth_link *link_info);
-int sfc_port_update_mac_stats(struct sfc_adapter *sa);
+int sfc_port_update_mac_stats(struct sfc_adapter *sa, boolean_t manual_update);
+int sfc_port_get_mac_stats(struct sfc_adapter *sa, struct rte_eth_xstat *xstats,
+ unsigned int xstats_count, unsigned int *nb_written);
+int sfc_port_get_mac_stats_by_id(struct sfc_adapter *sa, const uint64_t *ids,
+ uint64_t *values, unsigned int n);
int sfc_port_reset_mac_stats(struct sfc_adapter *sa);
int sfc_set_rx_mode(struct sfc_adapter *sa);
int sfc_set_rx_mode_unchecked(struct sfc_adapter *sa);