__iavf_add_ethtool_stats(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– __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