iavf_add_stat_strings(9)
π iavf_add_stat_strings(9) β from the Kernel API Manual, bestie π
okay so sit down, hydrate, and let me tell you about iavf_add_stat_strings β the little helper whose entire personality is "copy stat strings into an ethtool buffer" β¨
πΈ NAME πΈ
iavf_add_stat_strings β literally just copy stat strings into an ethtool buffer, that's the whole vibe π
π¦ SYNOPSIS π¦
iavf_add_stat_strings (p , stats , ... );
look at her. three-arg queen. the ... is doing so much heavy lifting and saying absolutely nothing π
π ARGUMENTS π
pβ the ethtool supplied buffer. that's the destination, the canvas, the place where the strings end up. main character of the output π«Άstatsβ the stat definitions array. this is the source material, the lore, the actual content being formatted in π₯...β variable arguments. yes queen, variadic, we love a flexible signature β
π DESCRIPTION π
so what she does is: format and copy the strings described by the const static stats value, and drop them straight into the buffer pointed at by p. that's it. that's the task. she ate and left no crumbs π
β οΈ okay important, pay attention, this is the part where you don't get cute: the parameter stats is evaluated twice, so parameters with side effects should be avoided. like, do NOT be sneaky with that. ngl this is a real trap π
and also βstatsmust be an array such thatARRAY_SIZEcan be called on it. non-negotiable, bestie. no pointers-to-pointers nonsense, an actual array, periodt π
π SEE ALSO π
the whole friend group, the entire group chat, every cousin at the function β iykyk π:
- the Kernel file
./drivers/net/ethernet/intel/iavf/iavf_ethtool.c struct iavf_stats(9)iavf_add_one_ethtool_stat(9)__iavf_add_ethtool_stats(9)iavf_add_ethtool_stats(9)iavf_add_queue_stats(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)
and that's the whole page, bestie, you're basically an iavf expert now π§π
sign-off time: this lil masterpiece lives at ./drivers/net/ethernet/intel/iavf, dated October 2026 β go off, icon, see you in the kernel tree ππ
π¦ 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