[dpdk-dev] [PATCH v2] net/bnxt: add missing counters to xstats

Ajit Khaparde ajit.khaparde at broadcom.com
Fri Apr 17 16:47:44 CEST 2020


On Mon, Apr 13, 2020 at 9:36 AM Christos Ricudis <ricudis at niometrics.com>
wrote:

> Add several missing hardware counters to xstats
>
> Signed-off-by: Christos Ricudis <ricudis at niometrics.com>
>
Patch applied to dpdk-next-net-brcm. Thanks



> ---
>  drivers/net/bnxt/bnxt_stats.c | 127
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 127 insertions(+)
>
> diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c
> index 4668629..29628bd 100644
> --- a/drivers/net/bnxt/bnxt_stats.c
> +++ b/drivers/net/bnxt/bnxt_stats.c
> @@ -55,32 +55,80 @@
>                                 rx_pause_frames)},
>         {"rx_pfc_frames", offsetof(struct rx_port_stats,
>                                 rx_pfc_frames)},
> +       {"rx_unsupported_opcode_frames", offsetof(struct rx_port_stats,
> +                               rx_unsupported_opcode_frames)},
> +       {"rx_unsupported_da_pausepfc_frames", offsetof(struct
> rx_port_stats,
> +                               rx_unsupported_da_pausepfc_frames)},
> +       {"rx_wrong_sa_frames", offsetof(struct rx_port_stats,
> +                               rx_wrong_sa_frames)},
>         {"rx_align_err_frames", offsetof(struct rx_port_stats,
>                                 rx_align_err_frames)},
> +       {"rx_oor_len_frames", offsetof(struct rx_port_stats,
> +                               rx_oor_len_frames)},
> +       {"rx_code_err_frames", offsetof(struct rx_port_stats,
> +                               rx_code_err_frames)},
> +       {"rx_false_carrier_frames", offsetof(struct rx_port_stats,
> +                               rx_false_carrier_frames)},
>         {"rx_ovrsz_frames", offsetof(struct rx_port_stats,
>                                 rx_ovrsz_frames)},
>         {"rx_jbr_frames", offsetof(struct rx_port_stats,
>                                 rx_jbr_frames)},
>         {"rx_mtu_err_frames", offsetof(struct rx_port_stats,
>                                 rx_mtu_err_frames)},
> +       {"rx_match_crc_frames", offsetof(struct rx_port_stats,
> +                               rx_match_crc_frames)},
> +       {"rx_promiscuous_frames", offsetof(struct rx_port_stats,
> +                               rx_promiscuous_frames)},
>         {"rx_tagged_frames", offsetof(struct rx_port_stats,
>                                 rx_tagged_frames)},
>         {"rx_double_tagged_frames", offsetof(struct rx_port_stats,
>                                 rx_double_tagged_frames)},
> +       {"rx_trunc_frames", offsetof(struct rx_port_stats,
> +                               rx_trunc_frames)},
>         {"rx_good_frames", offsetof(struct rx_port_stats,
>                                 rx_good_frames)},
> +       {"rx_sch_crc_err_frames", offsetof(struct rx_port_stats,
> +                               rx_sch_crc_err_frames)},
>         {"rx_undrsz_frames", offsetof(struct rx_port_stats,
>                                 rx_undrsz_frames)},
> +       {"rx_frag_frames", offsetof(struct rx_port_stats,
> +                               rx_frag_frames)},
>         {"rx_eee_lpi_events", offsetof(struct rx_port_stats,
>                                 rx_eee_lpi_events)},
>         {"rx_eee_lpi_duration", offsetof(struct rx_port_stats,
>                                 rx_eee_lpi_duration)},
> +       {"rx_llfc_physical_msgs", offsetof(struct rx_port_stats,
> +                               rx_llfc_physical_msgs)},
> +       {"rx_llfc_logical_msgs", offsetof(struct rx_port_stats,
> +                               rx_llfc_logical_msgs)},
> +       {"rx_llfc_msgs_with_crc_err", offsetof(struct rx_port_stats,
> +                               rx_llfc_msgs_with_crc_err)},
> +       {"rx_hcfc_msgs", offsetof(struct rx_port_stats,
> +                               rx_hcfc_msgs)},
> +       {"rx_hcfc_msgs_with_crc_err", offsetof(struct rx_port_stats,
> +                               rx_hcfc_msgs_with_crc_err)},
>         {"rx_bytes", offsetof(struct rx_port_stats,
>                                 rx_bytes)},
>         {"rx_runt_bytes", offsetof(struct rx_port_stats,
>                                 rx_runt_bytes)},
>         {"rx_runt_frames", offsetof(struct rx_port_stats,
>                                 rx_runt_frames)},
> +       {"rx_pfc_xon2xoff_frames_pri0", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri0)},
> +       {"rx_pfc_xon2xoff_frames_pri1", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri1)},
> +       {"rx_pfc_xon2xoff_frames_pri2", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri2)},
> +       {"rx_pfc_xon2xoff_frames_pri3", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri3)},
> +       {"rx_pfc_xon2xoff_frames_pri4", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri4)},
> +       {"rx_pfc_xon2xoff_frames_pri5", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri5)},
> +       {"rx_pfc_xon2xoff_frames_pri6", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri6)},
> +       {"rx_pfc_xon2xoff_frames_pri7", offsetof(struct rx_port_stats,
> +                               rx_pfc_xon2xoff_frames_pri7)},
>         {"rx_pfc_ena_frames_pri0", offsetof(struct rx_port_stats,
>                                 rx_pfc_ena_frames_pri0)},
>         {"rx_pfc_ena_frames_pri1", offsetof(struct rx_port_stats,
> @@ -97,6 +145,10 @@
>                                 rx_pfc_ena_frames_pri6)},
>         {"rx_pfc_ena_frames_pri7", offsetof(struct rx_port_stats,
>                                 rx_pfc_ena_frames_pri7)},
> +       {"rx_stat_discard", offsetof(struct rx_port_stats,
> +                               rx_stat_discard)},
> +       {"rx_stat_err", offsetof(struct rx_port_stats,
> +                               rx_stat_err)},
>  };
>
>  static const struct bnxt_xstats_name_off bnxt_tx_stats_strings[] = {
> @@ -140,8 +192,32 @@
>                                 tx_jabber_frames)},
>         {"tx_fcs_err_frames", offsetof(struct tx_port_stats,
>                                 tx_fcs_err_frames)},
> +       {"tx_control_frames", offsetof(struct tx_port_stats,
> +                               tx_control_frames)},
> +       {"tx_oversz_frames", offsetof(struct tx_port_stats,
> +                               tx_oversz_frames)},
> +       {"tx_single_dfrl_frames", offsetof(struct tx_port_stats,
> +                               tx_single_dfrl_frames)},
> +       {"tx_multi_dfrl_frames", offsetof(struct tx_port_stats,
> +                               tx_multi_dfrl_frames)},
> +       {"tx_single_coll_frames", offsetof(struct tx_port_stats,
> +                               tx_single_coll_frames)},
> +       {"tx_multi_coll_frames", offsetof(struct tx_port_stats,
> +                               tx_multi_coll_frames)},
> +       {"tx_late_coll_frames", offsetof(struct tx_port_stats,
> +                               tx_late_coll_frames)},
> +       {"tx_excessive_coll_frames", offsetof(struct tx_port_stats,
> +                               tx_excessive_coll_frames)},
> +       {"tx_frag_frames", offsetof(struct tx_port_stats,
> +                               tx_frag_frames)},
>         {"tx_err", offsetof(struct tx_port_stats,
>                                 tx_err)},
> +       {"tx_tagged_frames", offsetof(struct tx_port_stats,
> +                               tx_tagged_frames)},
> +       {"tx_dbl_tagged_frames", offsetof(struct tx_port_stats,
> +                               tx_dbl_tagged_frames)},
> +       {"tx_runt_frames", offsetof(struct tx_port_stats,
> +                               tx_runt_frames)},
>         {"tx_fifo_underruns", offsetof(struct tx_port_stats,
>                                 tx_fifo_underruns)},
>         {"tx_eee_lpi_events", offsetof(struct tx_port_stats,
> @@ -168,6 +244,16 @@
>                                 tx_pfc_ena_frames_pri6)},
>         {"tx_pfc_ena_frames_pri7", offsetof(struct tx_port_stats,
>                                 tx_pfc_ena_frames_pri7)},
> +       {"tx_llfc_logical_msgs", offsetof(struct tx_port_stats,
> +                               tx_llfc_logical_msgs)},
> +       {"tx_hcfc_msgs", offsetof(struct tx_port_stats,
> +                               tx_hcfc_msgs)},
> +       {"tx_xthol_frames", offsetof(struct tx_port_stats,
> +                               tx_xthol_frames)},
> +       {"tx_stat_discard", offsetof(struct tx_port_stats,
> +                               tx_stat_discard)},
> +       {"tx_stat_error", offsetof(struct tx_port_stats,
> +                               tx_stat_error)},
>  };
>
>  static const struct bnxt_xstats_name_off bnxt_func_stats_strings[] = {
> @@ -213,6 +299,7 @@
>                                 rx_agg_aborts)},
>  };
>
> +
>  static const struct bnxt_xstats_name_off bnxt_rx_ext_stats_strings[] = {
>         {"link_down_events", offsetof(struct rx_port_stats_ext,
>                                 link_down_events)},
> @@ -288,6 +375,46 @@
>                                 pfc_pri7_rx_duration_us)},
>         {"pfc_pri7_rx_transitions", offsetof(struct rx_port_stats_ext,
>                                 pfc_pri7_rx_transitions)},
> +       {"rx_bits",             offsetof(struct rx_port_stats_ext,
> +                               rx_bits)},
> +       {"rx_buffer_passed_threshold", offsetof(struct rx_port_stats_ext,
> +                               rx_buffer_passed_threshold)},
> +       {"rx_pcs_symbol_err",   offsetof(struct rx_port_stats_ext,
> +                               rx_pcs_symbol_err)},
> +       {"rx_corrected_bits",   offsetof(struct rx_port_stats_ext,
> +                               rx_corrected_bits)},
> +       {"rx_discard_bytes_cos0", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos0)},
> +       {"rx_discard_bytes_cos1", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos1)},
> +       {"rx_discard_bytes_cos2", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos2)},
> +       {"rx_discard_bytes_cos3", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos3)},
> +       {"rx_discard_bytes_cos4", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos4)},
> +       {"rx_discard_bytes_cos5", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos5)},
> +       {"rx_discard_bytes_cos6", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos6)},
> +       {"rx_discard_bytes_cos7", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_bytes_cos7)},
> +       {"rx_discard_packets_cos0", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos0)},
> +       {"rx_discard_packets_cos1", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos1)},
> +       {"rx_discard_packets_cos2", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos2)},
> +       {"rx_discard_packets_cos3", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos3)},
> +       {"rx_discard_packets_cos4", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos4)},
> +       {"rx_discard_packets_cos5", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos5)},
> +       {"rx_discard_packets_cos6", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos6)},
> +       {"rx_discard_packets_cos7", offsetof(struct rx_port_stats_ext,
> +                               rx_discard_packets_cos7)},
>  };
>
>  static const struct bnxt_xstats_name_off bnxt_tx_ext_stats_strings[] = {
> --
> 1.8.3.1
>
>


More information about the dev mailing list