i40e_add_ethtool_stats(9)
π i40e_add_ethtool_stats β the kernel API manual, bestie edition π
Okay so this is a page from the Kernel API Manual, and honestly? It's a little macro with main character energy. Let's get into it β¨
πΈ NAME πΈ
i40e_add_ethtool_stats β literally just copy stats into the ethtool-supplied buffer, that's the whole vibe π«Ά
π¦ SYNOPSIS π¦
i40e_add_ethtool_stats (data , pointer , stats );
β ARGUMENTS β
dataβ the ethtool stats buffer, i.e. the lil destination situation πpointerβ where the stats are actually storedstatsβ a static const array of stat definitions, iconic
β¨ DESCRIPTION β¨
So this is a macro to make using __i40e_add_ethtool_stats way easier π It takes a static constant stats array and passes along the ARRAY_SIZE.
Why do we love her? Because she avoids typos β she makes sure we're passing the size that actually goes with the given stats array. No mismatched sizes, no chaos, no cap. π
β οΈ Heads up bestie: the parameter stats is evaluated twice, so avoid parameters with side effects. Not me warning you twice because she gets read twice ππ
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ethtool.c, plus struct i40e_stats(9) and honestly a whole friend group of functions:
i40e_add_one_ethtool_stat(9)__i40e_add_ethtool_stats(9)i40e_add_queue_stats(9)__i40e_add_stat_strings(9)i40e_add_stat_strings(9)i40e_partition_setting_complaint(9)i40e_phy_type_to_ethtool(9)i40e_get_settings_link_up_fec(9)i40e_get_settings_link_up(9)i40e_get_settings_link_down(9)i40e_get_link_ksettings(9)i40e_speed_to_link_speed(9)i40e_set_link_ksettings(9)i40e_get_pauseparam(9)i40e_set_pauseparam(9)i40e_get_stats_count(9)i40e_get_veb_tc_stats(9)i40e_get_pfc_stats(9)i40e_get_ethtool_stats(9)i40e_get_stat_strings(9)i40e_set_wol(9)__i40e_get_coalesce(9)i40e_get_coalesce(9)i40e_get_per_queue_coalesce(9)i40e_set_itr_per_queue(9)__i40e_set_coalesce(9)i40e_set_coalesce(9)i40e_set_per_queue_coalesce(9)i40e_check_mask(9)i40e_parse_rx_flow_user_data(9)i40e_fill_rx_flow_user_data(9)i40e_get_ethtool_fdir_all(9)i40e_get_ethtool_fdir_entry(9)i40e_get_rx_ring_count(9)i40e_get_rxnfc(9)i40e_get_rss_hash_bits(9)i40e_update_ethtool_fdir_entry(9)i40e_prune_flex_pit_list(9)i40e_del_fdir_entry(9)i40e_unused_pit_index(9)i40e_find_flex_offset(9)i40e_add_flex_offset(9)__i40e_reprogram_flex_pit(9)i40e_reprogram_flex_pit(9)i40e_flow_str(9)i40e_pit_index_to_mask(9)i40e_print_input_set(9)i40e_check_fdir_input_set(9)i40e_match_fdir_filter(9)i40e_disallow_matching_filters(9)i40e_add_fdir_ethtool(9)i40e_set_rxnfc(9)i40e_max_channels(9)i40e_get_channels(9)i40e_set_channels(9)i40e_get_rxfh_key_size(9)i40e_get_rxfh_indir_size(9)i40e_get_rxfh(9)i40e_set_rxfh(9)i40e_get_priv_flags(9)i40e_set_priv_flags(9)i40e_get_module_info(9)i40e_get_module_eeprom(9)
π§ Sign-off π§
This one came from ./drivers/net/ethernet/intel/i40e, dated October 2026 β and the manual name, in case you forgot, is i40e_add_ethtool_stats(9). Bye bestie, go pass those ARRAY_SIZEs correctly ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms