iavf_set_ringparam(9)
π iavf_set_ringparam(9) β the Kernel API Manual glow-up β¨
okay bestie, welcome to the Kernel API Manual entry for iavf_set_ringparam β it's giving "small function, big responsibilities" and we're gonna get into it π
β¨ NAME β¨
iavf_set_ringparam β literally just: Set ring parameters π
no cap, that's the whole job.
πΈ SYNOPSIS πΈ
int iavf_set_ringparam (struct net_device *netdev , struct
ethtool_ringparam *ring , struct kernel_ethtool_ringparam *kernel_ring ,
struct netlink_ext_ack *extack );
look at her. four arguments, returns an int, absolutely main character energy π
π¦ ARGUMENTS π¦
netdevβ the network interface device structure, aka the whole vibe of the NIC you're messing with π«Άringβ the ethtool ringparam structure, where the actual ring settings live β¨kernel_ringβ the ethtool external ringparam structure, the kernel-side counterpart π§extackβ the netlink extended ACK report struct, there to carry back the tea if something goes wrong βπ
π DESCRIPTION π
So here's the deal, bestie: this one sets ring parameters. TX and RX rings are controlled separately, which is honestly so iconic of them β but plot twist π«’ the number of rings is not specified, so literally all the rings get the same settings. every single one. same fit, same energy. periodt πβ¨
π SEE ALSO π
the whole friend group, fr fr β and yes, we're tagging everyone:
The kernel file: ./drivers/net/ethernet/intel/iavf/iavf_ethtool.c
The struct: struct iavf_stats(9)
Stats crew:
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_add_stat_strings(9)
Link + sset + stats getters:
iavf_get_link_ksettings(9)iavf_get_sset_count(9)iavf_get_ethtool_stats(9)iavf_get_stat_strings(9)iavf_get_strings(9)
Msglevel besties:
Drvinfo + ringparam twins:
Coalesce squad:
__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)
Flow / filter girlies:
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)
rxnfc + ring count + channels:
iavf_set_rxnfc(9)iavf_get_rx_ring_count(9)iavf_get_rxnfc(9)iavf_get_channels(9)iavf_set_channels(9)
RSS / rxfh hive:
And the ops-setter herself: iavf_set_ethtool_ops(9)
π reminder that the number of rings isn't a parameter here, so don't come for her asking for per-ring control β everybody's getting the same settings, iykyk.
and that's the page, bestie!! π this lil rewrite came straight out of ./drivers/net/ethernet/intel/iavf β Kernel API Manual, October 2026 edition β go drink some water and go read your ring params πβ¨π«Ά
π¦ 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