ice_get_agg_info(9)
π ice_get_agg_info β the kernel API manual, but make it make sense π
okay bestie, so this is a page from the Kernel API Manual (that's the (9) bit, iykyk β kernel section, not some random command you type at 2am) and today's main character is ice_get_agg_info. it's short, it's sweet, it's giving "little function that could" π§
β¨ NAME β¨
ice_get_agg_info β get the aggregator ID π
like, it literally goes and fetches the aggregator info for you. no cap.
πΈ SYNOPSIS πΈ
struct ice_sched_agg_info * ice_get_agg_info (struct ice_hw *hw , u32 agg_id );
that's the whole thing. two args, one pointer back. slay. π
π¦ ARGUMENTS π¦
hwβ pointer to the hardware structure. your actual NIC hardware, the whole vibe. π₯οΈagg_idβ aggregator ID. the number that says which aggregator we're talking about. π’
π₯ DESCRIPTION π₯
okay so here's the tea β β this function validates the aggregator ID. that's the job. that's the whole job.
if the aggregator ID is present in the list, the function returns the info. π«Ά
otherwise? it returns null. π nothing. nada. the void. don't dereference it, bestie, i'm begging. π
literally just: check the ID, hand back the info if it's there, hand back NULL if it isn't. no surprises, no drama, highkey iconic for how simple it is. π
π SEE ALSO π
so. um. this function has a lot of friends. like, an entire group chat of them. π here's the whole crew, no one left out, periodt:
and first up, the source file it lives in β go say hi: Kernel file ./drivers/net/ethernet/intel/ice/ice_sched.c
ice_sched_add_root_node(9)ice_sched_find_node_by_teid(9)ice_sched_find_next_vsi_node(9)ice_aqc_send_sched_elem_cmd(9)ice_aq_query_sched_elems(9)ice_sched_add_node(9)ice_aq_delete_sched_elems(9)ice_sched_remove_elems(9)ice_sched_get_first_node(9)ice_sched_get_tc_node(9)ice_free_sched_node(9)ice_aq_get_dflt_topo(9)ice_aq_add_sched_elems(9)ice_aq_cfg_sched_elems(9)ice_aq_move_sched_elems(9)ice_aq_suspend_sched_elems(9)ice_aq_resume_sched_elems(9)ice_aq_query_sched_res(9)ice_sched_suspend_resume_elems(9)ice_alloc_lan_q_ctx(9)ice_alloc_rdma_q_ctx(9)ice_aq_rl_profile(9)ice_aq_add_rl_profile(9)ice_aq_remove_rl_profile(9)ice_sched_del_rl_profile(9)ice_sched_clear_rl_prof(9)ice_sched_clear_agg(9)ice_sched_clear_tx_topo(9)ice_sched_clear_port(9)ice_sched_cleanup_all(9)ice_sched_add_elems(9)ice_sched_add_nodes_to_hw_layer(9)ice_sched_add_nodes_to_layer(9)ice_sched_get_qgrp_layer(9)ice_sched_get_vsi_layer(9)ice_sched_get_agg_layer(9)ice_rm_dflt_leaf_node(9)ice_sched_rm_dflt_nodes(9)ice_sched_init_port(9)ice_sched_query_res_alloc(9)ice_sched_get_psm_clk_freq(9)ice_sched_find_node_in_subtree(9)ice_sched_get_free_qgrp(9)ice_sched_get_free_qparent(9)ice_sched_get_vsi_node(9)ice_sched_get_agg_node(9)ice_sched_calc_vsi_child_nodes(9)ice_sched_add_vsi_child_nodes(9)ice_sched_calc_vsi_support_nodes(9)ice_sched_add_vsi_support_nodes(9)ice_sched_add_vsi_to_topo(9)ice_sched_recalc_vsi_support_nodes(9)ice_sched_update_vsi_child_nodes(9)ice_sched_cfg_vsi(9)ice_sched_rm_agg_vsi_info(9)ice_sched_is_leaf_node_present(9)ice_sched_rm_vsi_subtree(9)ice_sched_rm_vsi_cfg(9)ice_rm_vsi_lan_cfg(9)ice_rm_vsi_rdma_cfg(9)ice_sched_get_free_vsi_parent(9)ice_sched_update_parent(9)ice_sched_move_nodes(9)ice_sched_move_vsi_to_agg(9)ice_move_all_vsi_to_dflt_agg(9)ice_sched_is_agg_inuse(9)ice_sched_rm_agg_cfg(9)ice_rm_agg_cfg_tc(9)ice_save_agg_tc_bitmap(9)ice_sched_add_agg_cfg(9)ice_sched_cfg_agg(9)ice_cfg_agg(9)ice_get_agg_vsi_info(9)ice_get_vsi_agg_info(9)ice_save_agg_vsi_tc_bitmap(9)ice_sched_assoc_vsi_to_agg(9)ice_sched_rm_unused_rl_prof(9)ice_sched_update_elem(9)ice_sched_cfg_node_bw_alloc(9)ice_move_vsi_to_agg(9)ice_set_clear_cir_bw(9)ice_set_clear_eir_bw(9)ice_set_clear_shared_bw(9)ice_sched_save_vsi_bw(9)ice_sched_calc_wakeup(9)ice_sched_bw_to_rl_profile(9)ice_sched_add_rl_profile(9)ice_sched_cfg_node_bw_lmt(9)ice_sched_get_node_rl_prof_id(9)ice_sched_get_rl_prof_layer(9)ice_sched_get_srl_node(9)ice_sched_rm_rl_profile(9)ice_sched_set_node_bw_dflt(9)ice_sched_set_eir_srl_excl(9)ice_sched_set_node_bw(9)ice_sched_set_node_priority(9)ice_sched_set_node_weight(9)ice_sched_set_node_bw_lmt(9)ice_sched_set_node_bw_dflt_lmt(9)ice_sched_validate_srl_node(9)ice_sched_save_q_bw(9)ice_sched_set_q_bw_lmt(9)ice_cfg_q_bw_lmt(9)ice_cfg_q_bw_dflt_lmt(9)ice_sched_get_node_by_id_type(9)ice_sched_set_node_bw_lmt_per_tc(9)ice_cfg_vsi_bw_lmt_per_tc(9)ice_cfg_vsi_bw_dflt_lmt_per_tc(9)ice_cfg_rl_burst_size(9)ice_sched_replay_node_prio(9)ice_sched_replay_node_bw(9)ice_sched_get_ena_tc_bitmap(9)ice_sched_replay_agg(9)ice_sched_replay_agg_vsi_preinit(9)ice_sched_replay_vsi_agg(9)ice_replay_vsi_agg(9)ice_sched_replay_q_bw(9)
that's 117 of them. i counted. okay i didn't count, but it's a lot and i did not skip a single one because that would be rude. πβ¨
and that's the page!! π«Ά live laugh love aggregator IDs, mwah π
this little beauty hails from ./drivers/net/ethernet/intel/ice, dated October 2026 β so go forth, scroll the scheduler source, and stan responsibly πππΈ
π¦ 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