X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fcnxk%2Froc_nix.h;h=45aca8380d4b4d3c43b27b134d5d1d8041bbd5ca;hb=218d022e1f3f4b5b54ebe7c02c51fb1b495e4398;hp=3cc1797dd57a2223ff437e5046c841fd73598a4e;hpb=c443e0d326e1047d192c4fbe881a05108220d848;p=dpdk.git diff --git a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h index 3cc1797dd5..45aca8380d 100644 --- a/drivers/common/cnxk/roc_nix.h +++ b/drivers/common/cnxk/roc_nix.h @@ -47,6 +47,49 @@ enum roc_nix_sq_max_sqe_sz { #define ROC_NIX_VWQE_MAX_SIZE_LOG2 11 #define ROC_NIX_VWQE_MIN_SIZE_LOG2 2 +struct roc_nix_stats { + /* Rx */ + uint64_t rx_octs; + uint64_t rx_ucast; + uint64_t rx_bcast; + uint64_t rx_mcast; + uint64_t rx_drop; + uint64_t rx_drop_octs; + uint64_t rx_fcs; + uint64_t rx_err; + uint64_t rx_drop_bcast; + uint64_t rx_drop_mcast; + uint64_t rx_drop_l3_bcast; + uint64_t rx_drop_l3_mcast; + /* Tx */ + uint64_t tx_ucast; + uint64_t tx_bcast; + uint64_t tx_mcast; + uint64_t tx_drop; + uint64_t tx_octs; +}; + +struct roc_nix_stats_queue { + PLT_STD_C11 + union { + struct { + /* Rx */ + uint64_t rx_pkts; + uint64_t rx_octs; + uint64_t rx_drop_pkts; + uint64_t rx_drop_octs; + uint64_t rx_error_pkts; + }; + struct { + /* Tx */ + uint64_t tx_pkts; + uint64_t tx_octs; + uint64_t tx_drop_pkts; + uint64_t tx_drop_octs; + }; + }; +}; + struct roc_nix_rq { /* Input parameters */ uint16_t qid; @@ -237,6 +280,16 @@ int __roc_api roc_nix_rss_flowkey_set(struct roc_nix *roc_nix, uint8_t *alg_idx, int __roc_api roc_nix_rss_default_setup(struct roc_nix *roc_nix, uint32_t flowkey); +/* Stats */ +int __roc_api roc_nix_stats_get(struct roc_nix *roc_nix, + struct roc_nix_stats *stats); +int __roc_api roc_nix_stats_reset(struct roc_nix *roc_nix); +int __roc_api roc_nix_stats_queue_get(struct roc_nix *roc_nix, uint16_t qid, + bool is_rx, + struct roc_nix_stats_queue *qstats); +int __roc_api roc_nix_stats_queue_reset(struct roc_nix *roc_nix, uint16_t qid, + bool is_rx); + /* Queue */ int __roc_api roc_nix_rq_init(struct roc_nix *roc_nix, struct roc_nix_rq *rq, bool ena);