Most of the MAC statistics are included in struct rtnl_link_stats64, but some fields are aggregated. Besides it's good to expose these clearly hardware stats separately.
Showing the changes to include/uapi (2 of 6 files). Show all
Unified · Split
| @@ -671,6 +671,7 @@ enum ethtool_link_ext_substate_cable_issue { · 670 unmodified lines | |||
| 671 | * @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types | 671 | * @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types |
| 672 | * @ETH_SS_STATS_STD: standardized stats | 672 | * @ETH_SS_STATS_STD: standardized stats |
| 673 | * @ETH_SS_STATS_ETH_PHY: names of IEEE 802.3 PHY statistics | 673 | * @ETH_SS_STATS_ETH_PHY: names of IEEE 802.3 PHY statistics |
| 674 | * @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics | ||
| 674 | * | 675 | * |
| 675 | * @ETH_SS_COUNT: number of defined string sets | 676 | * @ETH_SS_COUNT: number of defined string sets |
| 676 | */ | 677 | */ |
| @@ -693,6 +694,7 @@ enum ethtool_stringset { · 16 unmodified lines | |||
| 693 | ETH_SS_UDP_TUNNEL_TYPES, | 694 | ETH_SS_UDP_TUNNEL_TYPES, |
| 694 | ETH_SS_STATS_STD, | 695 | ETH_SS_STATS_STD, |
| 695 | ETH_SS_STATS_ETH_PHY, | 696 | ETH_SS_STATS_ETH_PHY, |
| 697 | ETH_SS_STATS_ETH_MAC, | ||
| 696 | 698 | ||
| 697 | /* add new constants above here */ | 699 | /* add new constants above here */ |
| 698 | ETH_SS_COUNT | 700 | ETH_SS_COUNT |
| @@ -698,6 +698,7 @@ enum { · 697 unmodified lines | |||
| 698 | 698 | ||
| 699 | enum { | 699 | enum { |
| 700 | ETHTOOL_STATS_ETH_PHY, | 700 | ETHTOOL_STATS_ETH_PHY, |
| 701 | ETHTOOL_STATS_ETH_MAC, | ||
| 701 | 702 | ||
| 702 | /* add new constants above here */ | 703 | /* add new constants above here */ |
| 703 | __ETHTOOL_STATS_CNT | 704 | __ETHTOOL_STATS_CNT |
| @@ -726,6 +727,58 @@ enum { · 22 unmodified lines | |||
| 726 | ETHTOOL_A_STATS_ETH_PHY_MAX = (__ETHTOOL_A_STATS_ETH_PHY_CNT - 1) | 727 | ETHTOOL_A_STATS_ETH_PHY_MAX = (__ETHTOOL_A_STATS_ETH_PHY_CNT - 1) |
| 727 | }; | 728 | }; |
| 728 | 729 | ||
| 730 | enum { | ||
| 731 | /* 30.3.1.1.2 aFramesTransmittedOK */ | ||
| 732 | ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT, | ||
| 733 | /* 30.3.1.1.3 aSingleCollisionFrames */ | ||
| 734 | ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL, | ||
| 735 | /* 30.3.1.1.4 aMultipleCollisionFrames */ | ||
| 736 | ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL, | ||
| 737 | /* 30.3.1.1.5 aFramesReceivedOK */ | ||
| 738 | ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT, | ||
| 739 | /* 30.3.1.1.6 aFrameCheckSequenceErrors */ | ||
| 740 | ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR, | ||
| 741 | /* 30.3.1.1.7 aAlignmentErrors */ | ||
| 742 | ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR, | ||
| 743 | /* 30.3.1.1.8 aOctetsTransmittedOK */ | ||
| 744 | ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES, | ||
| 745 | /* 30.3.1.1.9 aFramesWithDeferredXmissions */ | ||
| 746 | ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER, | ||
| 747 | /* 30.3.1.1.10 aLateCollisions */ | ||
| 748 | ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL, | ||
| 749 | /* 30.3.1.1.11 aFramesAbortedDueToXSColls */ | ||
| 750 | ETHTOOL_A_STATS_ETH_MAC_11_XS_COL, | ||
| 751 | /* 30.3.1.1.12 aFramesLostDueToIntMACXmitError */ | ||
| 752 | ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR, | ||
| 753 | /* 30.3.1.1.13 aCarrierSenseErrors */ | ||
| 754 | ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR, | ||
| 755 | /* 30.3.1.1.14 aOctetsReceivedOK */ | ||
| 756 | ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES, | ||
| 757 | /* 30.3.1.1.15 aFramesLostDueToIntMACRcvError */ | ||
| 758 | ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR, | ||
| 759 | |||
| 760 | /* 30.3.1.1.18 aMulticastFramesXmittedOK */ | ||
| 761 | ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST, | ||
| 762 | /* 30.3.1.1.19 aBroadcastFramesXmittedOK */ | ||
| 763 | ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST, | ||
| 764 | /* 30.3.1.1.20 aFramesWithExcessiveDeferral */ | ||
| 765 | ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER, | ||
| 766 | /* 30.3.1.1.21 aMulticastFramesReceivedOK */ | ||
| 767 | ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST, | ||
| 768 | /* 30.3.1.1.22 aBroadcastFramesReceivedOK */ | ||
| 769 | ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST, | ||
| 770 | /* 30.3.1.1.23 aInRangeLengthErrors */ | ||
| 771 | ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR, | ||
| 772 | /* 30.3.1.1.24 aOutOfRangeLengthField */ | ||
| 773 | ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN, | ||
| 774 | /* 30.3.1.1.25 aFrameTooLongErrors */ | ||
| 775 | ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR, | ||
| 776 | |||
| 777 | /* add new constants above here */ | ||
| 778 | __ETHTOOL_A_STATS_ETH_MAC_CNT, | ||
| 779 | ETHTOOL_A_STATS_ETH_MAC_MAX = (__ETHTOOL_A_STATS_ETH_MAC_CNT - 1) | ||
| 780 | }; | ||
| 781 | |||
| 729 | /* generic netlink info */ | 782 | /* generic netlink info */ |
| 730 | #define ETHTOOL_GENL_NAME "ethtool" | 783 | #define ETHTOOL_GENL_NAME "ethtool" |
| 731 | #define ETHTOOL_GENL_VERSION 1 | 784 | #define ETHTOOL_GENL_VERSION 1 |