i40e_add_one_ethtool_stat(9)
π i40e_add_one_ethtool_stat β kernel API manual, but make it make sense
okay so bestie, we're in the <purple>i40e</purple> driver, the Intel ethernet one, and this little function is genuinely the MVP of stat-copying. it takes one stat and puts it in a buffer. that's it. that's the whole gig. and honestly? iconic. π
β¨ SYNOPSIS β¨
void i40e_add_one_ethtool_stat (u64 *data , void *pointer , const struct
i40e_stats *stat );
like, look at her. three args, returns nothing, gets straight to business. no notes. π
πΈ ARGUMENTS πΈ
dataβ the spot where the stat value gets stored, bestie. this is where the good stuff lands. π«Άpointerβ the basis for where we copy from. yes, "basis for where to copy from" is literally the phrasing, and yes it's a little mysterious, but it is what it is.statβ the stat definition itself. the blueprint. the whole personality. π
π¦ DESCRIPTION π¦
so what she does is: she copies the stat data β the stuff defined by the <hotpink>pointer</hotpink> + <hotpink>stat</hotpink> structure pair β into the memory you handed over as data. lowkey simple, highkey important. β¨
she's the workhorse behind i40e_add_ethtool_stats and i40e_add_queue_stats, fr fr. those two couldn't do their thing without her.
β οΈ and here's the vibe check you must remember: if the pointer is null, data will be zero'd. not skipped, not ignored β zero'd. so don't come crying later. π
π SEE ALSO π
okay this list is long long. like, genuinely. but every single one of these is a real reference and we are not leaving a single one behind β slay. π₯
first up, the file itself and the struct:
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ethtool.cstruct i40e_stats(9)
and then the whole extended friend group:
__i40e_add_ethtool_stats(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)
like I said. the whole group chat. π«Ά
that's the page, bestie β go copy some stats and remember the null-pointer zero'ing. mwah. π
this lil drop comes to you from ./drivers/net/ethernet/intel/i40e, dated October 2026 β periodt. πβ
π¦ 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