On Mon, 24 Jun 2019 03:50:12 +0000, Xue Chaojing wrote: > diff --git a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c > b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c > index be28a9a7f033..8d98f37c88a8 100644 > --- a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c > +++ b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c > @@ -438,6 +438,344 @@ static u32 hinic_get_rxfh_indir_size(struct net_device > *netdev) > return HINIC_RSS_INDIR_SIZE; > } > > +#define ARRAY_LEN(arr) ((int)((int)sizeof(arr) / (int)sizeof(arr[0]))) > + > +#define HINIC_NETDEV_STAT(_stat_item) { \ > + .name = #_stat_item, \ > + .size = FIELD_SIZEOF(struct rtnl_link_stats64, _stat_item), \ > + .offset = offsetof(struct rtnl_link_stats64, _stat_item) \ > +} > + > +static struct hinic_stats hinic_netdev_stats[] = { > + HINIC_NETDEV_STAT(rx_packets), > + HINIC_NETDEV_STAT(tx_packets), > + HINIC_NETDEV_STAT(rx_bytes), > + HINIC_NETDEV_STAT(tx_bytes), > + HINIC_NETDEV_STAT(rx_errors), > + HINIC_NETDEV_STAT(tx_errors), > + HINIC_NETDEV_STAT(rx_dropped), > + HINIC_NETDEV_STAT(tx_dropped), > + HINIC_NETDEV_STAT(multicast), > + HINIC_NETDEV_STAT(collisions), > + HINIC_NETDEV_STAT(rx_length_errors), > + HINIC_NETDEV_STAT(rx_over_errors), > + HINIC_NETDEV_STAT(rx_crc_errors), > + HINIC_NETDEV_STAT(rx_frame_errors), > + HINIC_NETDEV_STAT(rx_fifo_errors), > + HINIC_NETDEV_STAT(rx_missed_errors), > + HINIC_NETDEV_STAT(tx_aborted_errors), > + HINIC_NETDEV_STAT(tx_carrier_errors), > + HINIC_NETDEV_STAT(tx_fifo_errors), > + HINIC_NETDEV_STAT(tx_heartbeat_errors), > +};
I think we wanted to stop duplicating standard netdev stats in ethtool -S. Chaojing please post a patch to remove this part, the other stats are good.