/* detailed Rx errors */ FM10K_NETDEV_STAT(rx_length_errors), FM10K_NETDEV_STAT(rx_crc_errors), FM10K_NETDEV_STAT(rx_fifo_errors), }; #define FM10K_NETDEV_STATS_LEN ARRAY_SIZE(fm10k_gstrings_net_stats) #define FM10K_STAT(_name, _stat) { \ .stat_string = _name, \ .sizeof_stat = FIELD_SIZEOF(struct fm10k_intfc, _stat), \ .stat_offset = offsetof(struct fm10k_intfc, _stat) \ } static const struct fm10k_stats fm10k_gstrings_global_stats[] = { FM10K_STAT("tx_restart_queue", restart_queue), FM10K_STAT("tx_busy", tx_busy), FM10K_STAT("tx_csum_errors", tx_csum_errors), FM10K_STAT("rx_alloc_failed", alloc_failed), FM10K_STAT("rx_csum_errors", rx_csum_errors), FM10K_STAT("tx_packets_nic", tx_packets_nic), FM10K_STAT("tx_bytes_nic", tx_bytes_nic), FM10K_STAT("rx_packets_nic", rx_packets_nic), FM10K_STAT("rx_bytes_nic", rx_bytes_nic), FM10K_STAT("rx_drops_nic", rx_drops_nic), FM10K_STAT("rx_overrun_pf", rx_overrun_pf), FM10K_STAT("rx_overrun_vf", rx_overrun_vf), FM10K_STAT("swapi_status", hw.swapi.status), FM10K_STAT("mac_rules_used", hw.swapi.mac.used),