Updated and add statistic strings as used by xstats_get(). Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com> --- drivers/net/ixgbe/ixgbe_ethdev.c | 295 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 273 insertions(+), 22 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index ec2918c..4fb7313 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -506,29 +506,280 @@ struct rte_ixgbe_xstats_name_off { }; static const struct rte_ixgbe_xstats_name_off rte_ixgbe_stats_strings[] = { - {"rx_illegal_byte_err", offsetof(struct ixgbe_hw_stats, errbc)}, - {"rx_len_err", offsetof(struct ixgbe_hw_stats, rlec)}, - {"rx_undersize_count", offsetof(struct ixgbe_hw_stats, ruc)}, - {"rx_oversize_count", offsetof(struct ixgbe_hw_stats, roc)}, - {"rx_fragment_count", offsetof(struct ixgbe_hw_stats, rfc)}, - {"rx_jabber_count", offsetof(struct ixgbe_hw_stats, rjc)}, - {"l3_l4_xsum_error", offsetof(struct ixgbe_hw_stats, xec)}, - {"mac_local_fault", offsetof(struct ixgbe_hw_stats, mlfc)}, - {"mac_remote_fault", offsetof(struct ixgbe_hw_stats, mrfc)}, - {"mac_short_pkt_discard", offsetof(struct ixgbe_hw_stats, mspdc)}, - {"fccrc_error", offsetof(struct ixgbe_hw_stats, fccrc)}, - {"fcoe_drop", offsetof(struct ixgbe_hw_stats, fcoerpdc)}, - {"fc_last_error", offsetof(struct ixgbe_hw_stats, fclast)}, - {"rx_broadcast_packets", offsetof(struct ixgbe_hw_stats, bprc)}, - {"rx_phy_multicast_packets", offsetof(struct ixgbe_hw_stats, mprc)}, - {"mgmt_pkts_dropped", offsetof(struct ixgbe_hw_stats, mngpdc)}, {"rx_crc_errors", offsetof(struct ixgbe_hw_stats, crcerrs)}, - {"fdir_match", offsetof(struct ixgbe_hw_stats, fdirmatch)}, - {"fdir_miss", offsetof(struct ixgbe_hw_stats, fdirmiss)}, - {"tx_flow_control_xon", offsetof(struct ixgbe_hw_stats, lxontxc)}, - {"rx_flow_control_xon", offsetof(struct ixgbe_hw_stats, lxonrxc)}, - {"tx_flow_control_xoff", offsetof(struct ixgbe_hw_stats, lxofftxc)}, - {"rx_flow_control_xoff", offsetof(struct ixgbe_hw_stats, lxoffrxc)}, + {"rx_illegal_byte_errors", offsetof(struct ixgbe_hw_stats, illerrc)}, + {"rx_error_bytes", offsetof(struct ixgbe_hw_stats, errbc)}, + {"mac_local_errors", offsetof(struct ixgbe_hw_stats, mlfc)}, + {"mac_remote_errors", offsetof(struct ixgbe_hw_stats, mrfc)}, + {"rx_length_errors", offsetof(struct ixgbe_hw_stats, rlec)}, + {"tx_xon_packets", offsetof(struct ixgbe_hw_stats, lxontxc)}, + {"rx_xon_packets", offsetof(struct ixgbe_hw_stats, lxonrxc)}, + {"tx_xoff_packets", offsetof(struct ixgbe_hw_stats, lxofftxc)}, + {"rx_xoff_packets", offsetof(struct ixgbe_hw_stats, lxoffrxc)}, + {"rx_size_64_packets", offsetof(struct ixgbe_hw_stats, prc64)}, + {"rx_size_65_to_127_packets", offsetof(struct ixgbe_hw_stats, prc127)}, + {"rx_size_128_to_255_packets", offsetof(struct ixgbe_hw_stats, prc255)}, + {"rx_size_256_to_511_packets", offsetof(struct ixgbe_hw_stats, prc511)}, + {"rx_size_512_to_1023_packets", offsetof(struct ixgbe_hw_stats, + prc1023)}, + {"rx_size_1024_to_max_packets", offsetof(struct ixgbe_hw_stats, + prc1522)}, + {"rx_broadcast_packets", offsetof(struct ixgbe_hw_stats, bprc)}, + {"rx_multicast_packets", offsetof(struct ixgbe_hw_stats, mprc)}, + {"rx_fragment_errors", offsetof(struct ixgbe_hw_stats, rfc)}, + {"rx_undersize_errors", offsetof(struct ixgbe_hw_stats, ruc)}, + {"rx_oversize_errors", offsetof(struct ixgbe_hw_stats, roc)}, + {"rx_jabber_errors", offsetof(struct ixgbe_hw_stats, rjc)}, + {"rx_managment_packets", offsetof(struct ixgbe_hw_stats, mngprc)}, + {"rx_managment_dropped", offsetof(struct ixgbe_hw_stats, mngpdc)}, + {"tx_managment_packets", offsetof(struct ixgbe_hw_stats, mngptc)}, + {"rx_total_bytes", offsetof(struct ixgbe_hw_stats, tor)}, + {"rx_total_packets", offsetof(struct ixgbe_hw_stats, tpr)}, + {"tx_total_bytes", offsetof(struct ixgbe_hw_stats, tpt)}, + {"tx_size_64_packets", offsetof(struct ixgbe_hw_stats, ptc64)}, + {"tx_size_65_to_127_packets", offsetof(struct ixgbe_hw_stats, ptc127)}, + {"tx_size_128_to_255_packets", offsetof(struct ixgbe_hw_stats, ptc255)}, + {"tx_size_256_to_511_packets", offsetof(struct ixgbe_hw_stats, ptc511)}, + {"tx_size_512_to_1023_packets", offsetof(struct ixgbe_hw_stats, + ptc1023)}, + {"tx_size_1024_to_max_packets", offsetof(struct ixgbe_hw_stats, + ptc1522)}, + {"tx_multicast_packets", offsetof(struct ixgbe_hw_stats, mptc)}, + {"tx_broadcast_packets", offsetof(struct ixgbe_hw_stats, bptc)}, + {"rx_mac_short_packet_discard", offsetof(struct ixgbe_hw_stats, mspdc)}, + {"rx_l3_l4_xsum_error", offsetof(struct ixgbe_hw_stats, xec)}, + + {"flow_director_added_filters", offsetof(struct ixgbe_hw_stats, + fdirustat_add)}, + {"flow_director_removed_filters", offsetof(struct ixgbe_hw_stats, + fdirustat_remove)}, + {"flow_director_filter_add_errors", offsetof(struct ixgbe_hw_stats, + fdirfstat_fadd)}, + {"flow_director_filter_remove_errors", offsetof(struct ixgbe_hw_stats, + fdirfstat_fremove)}, + {"flow_director_matched_filters", offsetof(struct ixgbe_hw_stats, + fdirmatch)}, + {"flow_director_missed_filters", offsetof(struct ixgbe_hw_stats, + fdirmiss)}, + + {"rx_fcoe_crc_errors", offsetof(struct ixgbe_hw_stats, fccrc)}, + {"rx_fcoe_dropped", offsetof(struct ixgbe_hw_stats, fcoerpdc)}, + {"rx_fcoe_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + fclast)}, + {"rx_fcoe_packets", offsetof(struct ixgbe_hw_stats, fcoeprc)}, + {"tx_fcoe_packets", offsetof(struct ixgbe_hw_stats, fcoeptc)}, + {"rx_fcoe_bytes", offsetof(struct ixgbe_hw_stats, fcoedwrc)}, + {"tx_fcoe_bytes", offsetof(struct ixgbe_hw_stats, fcoedwtc)}, + {"rx_fcoe_no_direct_data_placement", offsetof(struct ixgbe_hw_stats, + fcoe_noddp)}, + {"rx_fcoe_no_direct_data_placement_ext_buff", + offsetof(struct ixgbe_hw_stats, fcoe_noddp_ext_buff)}, + + {"tx_flow_control_xon_packets", offsetof(struct ixgbe_hw_stats, + lxontxc)}, + {"rx_flow_control_xon_packets", offsetof(struct ixgbe_hw_stats, + lxonrxc)}, + {"tx_flow_control_xoff_packets", offsetof(struct ixgbe_hw_stats, + lxofftxc)}, + {"rx_flow_control_xoff_packets", offsetof(struct ixgbe_hw_stats, + lxoffrxc)}, + {"rx_total_missed_packets", offsetof(struct ixgbe_hw_stats, mpctotal)}, + + {"rx_q0_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[0])}, + {"rx_q1_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[1])}, + {"rx_q2_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[2])}, + {"rx_q3_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[3])}, + {"rx_q4_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[4])}, + {"rx_q5_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[5])}, + {"rx_q6_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[6])}, + {"rx_q7_missed_packets", offsetof(struct ixgbe_hw_stats, mpc[7])}, + + {"rx_q0_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[0])}, + {"rx_q1_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[1])}, + {"rx_q2_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[2])}, + {"rx_q3_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[3])}, + {"rx_q4_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[4])}, + {"rx_q5_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[5])}, + {"rx_q6_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[6])}, + {"rx_q7_no_mbufs_avail_errors", offsetof(struct ixgbe_hw_stats, + rnbc[7])}, + + {"tx_q0_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[0])}, + {"tx_q1_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[1])}, + {"tx_q2_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[2])}, + {"tx_q3_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[3])}, + {"tx_q4_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[4])}, + {"tx_q5_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[5])}, + {"tx_q6_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[6])}, + {"tx_q7_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxontxc[7])}, + + {"rx_q0_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[0])}, + {"rx_q1_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[1])}, + {"rx_q2_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[2])}, + {"rx_q3_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[3])}, + {"rx_q4_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[4])}, + {"rx_q5_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[5])}, + {"rx_q6_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[6])}, + {"rx_q7_xon_priority_packets", offsetof(struct ixgbe_hw_stats, + pxonrxc[7])}, + + {"tx_q0_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[0])}, + {"tx_q1_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[1])}, + {"tx_q2_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[2])}, + {"tx_q3_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[3])}, + {"tx_q4_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[4])}, + {"tx_q5_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[5])}, + {"tx_q6_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[6])}, + {"tx_q7_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxofftxc[7])}, + + {"rx_q0_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[0])}, + {"rx_q1_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[1])}, + {"rx_q2_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[2])}, + {"rx_q3_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[3])}, + {"rx_q4_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[4])}, + {"rx_q5_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[5])}, + {"rx_q6_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[6])}, + {"rx_q7_xoff_priority_packets", offsetof(struct ixgbe_hw_stats, + pxoffrxc[7])}, + + {"xx_q0_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[0])}, + {"xx_q1_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[1])}, + {"xx_q2_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[2])}, + {"xx_q3_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[3])}, + {"xx_q4_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[4])}, + {"xx_q5_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[5])}, + {"xx_q6_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[6])}, + {"xx_q7_xon_to_off_priority_packets", offsetof(struct ixgbe_hw_stats, + pxon2offc[7])}, + + {"rx_q0_packets", offsetof(struct ixgbe_hw_stats, qprc[0])}, + {"rx_q1_packets", offsetof(struct ixgbe_hw_stats, qprc[1])}, + {"rx_q2_packets", offsetof(struct ixgbe_hw_stats, qprc[2])}, + {"rx_q3_packets", offsetof(struct ixgbe_hw_stats, qprc[3])}, + {"rx_q4_packets", offsetof(struct ixgbe_hw_stats, qprc[4])}, + {"rx_q5_packets", offsetof(struct ixgbe_hw_stats, qprc[5])}, + {"rx_q6_packets", offsetof(struct ixgbe_hw_stats, qprc[6])}, + {"rx_q7_packets", offsetof(struct ixgbe_hw_stats, qprc[7])}, + {"rx_q8_packets", offsetof(struct ixgbe_hw_stats, qprc[8])}, + {"rx_q9_packets", offsetof(struct ixgbe_hw_stats, qprc[9])}, + {"rx_q10_packets", offsetof(struct ixgbe_hw_stats, qprc[10])}, + {"rx_q11_packets", offsetof(struct ixgbe_hw_stats, qprc[11])}, + {"rx_q12_packets", offsetof(struct ixgbe_hw_stats, qprc[12])}, + {"rx_q13_packets", offsetof(struct ixgbe_hw_stats, qprc[13])}, + {"rx_q14_packets", offsetof(struct ixgbe_hw_stats, qprc[14])}, + {"rx_q15_packets", offsetof(struct ixgbe_hw_stats, qprc[15])}, + + {"tx_q0_packets", offsetof(struct ixgbe_hw_stats, qptc[0])}, + {"tx_q1_packets", offsetof(struct ixgbe_hw_stats, qptc[1])}, + {"tx_q2_packets", offsetof(struct ixgbe_hw_stats, qptc[2])}, + {"tx_q3_packets", offsetof(struct ixgbe_hw_stats, qptc[3])}, + {"tx_q4_packets", offsetof(struct ixgbe_hw_stats, qptc[4])}, + {"tx_q5_packets", offsetof(struct ixgbe_hw_stats, qptc[5])}, + {"tx_q6_packets", offsetof(struct ixgbe_hw_stats, qptc[6])}, + {"tx_q7_packets", offsetof(struct ixgbe_hw_stats, qptc[7])}, + {"tx_q8_packets", offsetof(struct ixgbe_hw_stats, qptc[8])}, + {"tx_q9_packets", offsetof(struct ixgbe_hw_stats, qptc[9])}, + {"tx_q10_packets", offsetof(struct ixgbe_hw_stats, qptc[10])}, + {"tx_q11_packets", offsetof(struct ixgbe_hw_stats, qptc[11])}, + {"tx_q12_packets", offsetof(struct ixgbe_hw_stats, qptc[12])}, + {"tx_q13_packets", offsetof(struct ixgbe_hw_stats, qptc[13])}, + {"tx_q14_packets", offsetof(struct ixgbe_hw_stats, qptc[14])}, + {"tx_q15_packets", offsetof(struct ixgbe_hw_stats, qptc[15])}, + + {"rx_q0_bytes", offsetof(struct ixgbe_hw_stats, qbrc[0])}, + {"rx_q1_bytes", offsetof(struct ixgbe_hw_stats, qbrc[1])}, + {"rx_q2_bytes", offsetof(struct ixgbe_hw_stats, qbrc[2])}, + {"rx_q3_bytes", offsetof(struct ixgbe_hw_stats, qbrc[3])}, + {"rx_q4_bytes", offsetof(struct ixgbe_hw_stats, qbrc[4])}, + {"rx_q5_bytes", offsetof(struct ixgbe_hw_stats, qbrc[5])}, + {"rx_q6_bytes", offsetof(struct ixgbe_hw_stats, qbrc[6])}, + {"rx_q7_bytes", offsetof(struct ixgbe_hw_stats, qbrc[7])}, + {"rx_q8_bytes", offsetof(struct ixgbe_hw_stats, qbrc[8])}, + {"rx_q9_bytes", offsetof(struct ixgbe_hw_stats, qbrc[9])}, + {"rx_q10_bytes", offsetof(struct ixgbe_hw_stats, qbrc[10])}, + {"rx_q11_bytes", offsetof(struct ixgbe_hw_stats, qbrc[11])}, + {"rx_q12_bytes", offsetof(struct ixgbe_hw_stats, qbrc[12])}, + {"rx_q13_bytes", offsetof(struct ixgbe_hw_stats, qbrc[13])}, + {"rx_q14_bytes", offsetof(struct ixgbe_hw_stats, qbrc[14])}, + {"rx_q15_bytes", offsetof(struct ixgbe_hw_stats, qbrc[15])}, + + {"tx_q0_bytes", offsetof(struct ixgbe_hw_stats, qbtc[0])}, + {"tx_q1_bytes", offsetof(struct ixgbe_hw_stats, qbtc[1])}, + {"tx_q2_bytes", offsetof(struct ixgbe_hw_stats, qbtc[2])}, + {"tx_q3_bytes", offsetof(struct ixgbe_hw_stats, qbtc[3])}, + {"tx_q4_bytes", offsetof(struct ixgbe_hw_stats, qbtc[4])}, + {"tx_q5_bytes", offsetof(struct ixgbe_hw_stats, qbtc[5])}, + {"tx_q6_bytes", offsetof(struct ixgbe_hw_stats, qbtc[6])}, + {"tx_q7_bytes", offsetof(struct ixgbe_hw_stats, qbtc[7])}, + {"tx_q8_bytes", offsetof(struct ixgbe_hw_stats, qbtc[8])}, + {"tx_q9_bytes", offsetof(struct ixgbe_hw_stats, qbtc[9])}, + {"tx_q10_bytes", offsetof(struct ixgbe_hw_stats, qbtc[10])}, + {"tx_q11_bytes", offsetof(struct ixgbe_hw_stats, qbtc[11])}, + {"tx_q12_bytes", offsetof(struct ixgbe_hw_stats, qbtc[12])}, + {"tx_q13_bytes", offsetof(struct ixgbe_hw_stats, qbtc[13])}, + {"tx_q14_bytes", offsetof(struct ixgbe_hw_stats, qbtc[14])}, + {"tx_q15_bytes", offsetof(struct ixgbe_hw_stats, qbtc[15])}, + + {"rx_q0_dropped", offsetof(struct ixgbe_hw_stats, qprdc[0])}, + {"rx_q1_dropped", offsetof(struct ixgbe_hw_stats, qprdc[1])}, + {"rx_q2_dropped", offsetof(struct ixgbe_hw_stats, qprdc[2])}, + {"rx_q3_dropped", offsetof(struct ixgbe_hw_stats, qprdc[3])}, + {"rx_q4_dropped", offsetof(struct ixgbe_hw_stats, qprdc[4])}, + {"rx_q5_dropped", offsetof(struct ixgbe_hw_stats, qprdc[5])}, + {"rx_q6_dropped", offsetof(struct ixgbe_hw_stats, qprdc[6])}, + {"rx_q7_dropped", offsetof(struct ixgbe_hw_stats, qprdc[7])}, + {"rx_q8_dropped", offsetof(struct ixgbe_hw_stats, qprdc[8])}, + {"rx_q9_dropped", offsetof(struct ixgbe_hw_stats, qprdc[9])}, + {"rx_q10_dropped", offsetof(struct ixgbe_hw_stats, qprdc[10])}, + {"rx_q11_dropped", offsetof(struct ixgbe_hw_stats, qprdc[11])}, + {"rx_q12_dropped", offsetof(struct ixgbe_hw_stats, qprdc[12])}, + {"rx_q13_dropped", offsetof(struct ixgbe_hw_stats, qprdc[13])}, + {"rx_q14_dropped", offsetof(struct ixgbe_hw_stats, qprdc[14])}, + {"rx_q15_dropped", offsetof(struct ixgbe_hw_stats, qprdc[15])}, }; #define IXGBE_NB_XSTATS (sizeof(rte_ixgbe_stats_strings) / \ -- 1.9.1