i40e_get_ethtool_stats(9)
π i40e_get_ethtool_stats(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to the Kernel API Manual page for i40e_get_ethtool_stats(9). yes that's the whole title, she's long, she's iconic, we move π
β¨ NAME β¨
i40e_get_ethtool_stats β copy stat values into the buffer you supplied, no cap π«
π¦ SYNOPSIS π¦
void i40e_get_ethtool_stats (struct net_device *netdev , struct
ethtool_stats *stats , u64 *data );
like, that's the whole signature. three args, void return, she simply does the thing and leaves πΈ
π ARGUMENTS π
netdevβ the netdev we're collecting stats for. the main character, basically πstatsβ theethtool statscommand structure. she's the messenger π§dataβ the buffer that ethtool handed over. this is where the numbers go π
π DESCRIPTION π
so here's the vibe: this function copies the stats values for this netdev into the buffer. that's it. that's the whole job π«Ά
but listen β it expectsdatato be pre-allocated to the size returned byi40e_get_stats_count. so like, don't come in here with a tiny buffer and act surprised, okay? π
also, and this is the important part: all statistics must be copied in a static order, and the count must not change for a given netdev. fr fr, that's a hard requirement. see i40e_get_stats_count for more details β she's the one who explains the whole ordering situation π
and if a statistic is not currently valid β like, say, a disabled queue β this function just reports its value as zero. no drama, no error, just 0. lowkey elegant π
π₯ SEE ALSO π₯
the whole girlies' group chat, in the kernel file ./drivers/net/ethernet/intel/i40e/i40e_ethtool.c:
struct i40e_stats(9)i40e_add_one_ethtool_stat(9)__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_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, that's a lot of friends. she's popular π
mwah, that's the page! π this little love letter lives in ./drivers/net/ethernet/intel/i40e and it's dated October 2026 β slay, she's timeless βπ¦
π¦ 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