__iavf_add_ethtool_stats(9)
π __iavf_add_ethtool_stats β the Kernel API Manual glow-up β¨
okay bestie, so this one lives in the Kernel API Manual and it's giving "small helper, big responsibility" energy, because literally every stat you see in ethtool has to get copied into a buffer somehow, and this is the girl who does it π
πΈ NAME πΈ
__iavf_add_ethtool_stats β copy stats into the ethtool supplied buffer π«Ά
β SYNOPSIS β
void __iavf_add_ethtool_stats (u64 **data , void *pointer , const struct
iavf_stats stats[] , const unsigned int size );
no cap, that's the whole signature. she takes a double pointer, because she's a main character and she moves it π
π ARGUMENTS π
dataβ the ethtool stats buffer. this is where the numbers go to live their best life β¨pointerβ the location you're copying stats from. the source material, the origin story π±statsβ the array of stats to copy. it's the definition of what we're grabbing, iykyk πsizeβ the size of the stats definition. yes she needs to know how many, don't skip this π
π¦ DESCRIPTION π¦
so what she does is: copy the stats defined by the stats array, using pointer as a base, into the data buffer that ethtool handed over. that's the whole vibe. lowkey simple, highkey essential π
and here's the part that's actually iconic β she updates the data pointer to point at the next empty location, so you can call __iavf_add_ethtool_stats again and again in succession and each call just picks up right where the last one left off. like passing a baton, but make it stats πββοΈβ¨
also, if pointer is null? no drama. she sets the data values to zero and updates the pointer to skip these stats entirely. zero-fill and move on, periodt π
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/intel/iavf/iavf_ethtool.c plus struct iavf_stats(9), iavf_add_one_ethtool_stat(9), iavf_add_ethtool_stats(9), iavf_add_queue_stats(9), __iavf_add_stat_strings(9), iavf_add_stat_strings(9), iavf_get_link_ksettings(9), iavf_get_sset_count(9), iavf_get_ethtool_stats(9), iavf_get_stat_strings(9), iavf_get_strings(9), iavf_get_msglevel(9), iavf_set_msglevel(9), iavf_get_drvinfo(9), iavf_get_ringparam(9), iavf_set_ringparam(9), __iavf_get_coalesce(9), iavf_get_coalesce(9), iavf_get_per_queue_coalesce(9), iavf_set_itr_per_queue(9), __iavf_set_coalesce(9), iavf_set_coalesce(9), iavf_set_per_queue_coalesce(9), iavf_fltr_to_ethtool_flow(9), iavf_ethtool_flow_to_fltr(9), iavf_is_mask_valid(9), iavf_parse_rx_flow_user_data(9), iavf_fill_rx_flow_ext_data(9), iavf_get_ethtool_fdir_entry(9), iavf_get_fdir_fltr_ids(9), iavf_add_fdir_fltr_info(9), iavf_add_fdir_ethtool(9), iavf_del_fdir_ethtool(9), iavf_set_rxnfc(9), iavf_get_rx_ring_count(9), iavf_get_rxnfc(9), iavf_get_channels(9), iavf_set_channels(9), iavf_get_rxfh_key_size(9), iavf_get_rxfh_indir_size(9), iavf_get_rxfh(9), iavf_set_rxfh(9), iavf_set_ethtool_ops(9)
like, that's the whole friend group, go say hi to all of them π§ββοΈ
mwah π this page came from ./drivers/net/ethernet/intel/iavf, dated October 2026, and yes she's still __iavf_add_ethtool_stats(9) in the title bar. stan a consistent queen ππ
π¦ 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