ice_sched_ca...upport_nodes(9)
π ice_sched_calc_vsi_support_nodes(9) π
okay bestie, buckle up β this one's from the Kernel API Manual, and it's genuinely so much less scary than the name makes it look. The name is a whole mouthful (ice_sched_ca...upport_nodes(9), yes it really does get truncated like that in the header, we love a dramatic ellipsis) but the actual job is adorable: it just counts stuff. Counting is free, counting is self-care. π
πΈ NAME πΈ
ice_sched_calc_vsi_support_nodes β calculate number of VSI support nodes
π¦ SYNOPSIS π¦
void ice_sched_calc_vsi_support_nodes (struct ice_port_info *pi , struct
ice_sched_node *tc_node , u16 *num_nodes );
no return value, it's a void, she just does her lil calculation and dips π¨
π ARGUMENTS π
Three args, all pointers, all besties:
piβ pointer to the port info structure π«Ά (the port's whole personality file, basically)tc_nodeβ pointer to TC node β¨num_nodesβ pointer to num nodes array π
heads up: num_nodes is a pointer to an array, not a single lonely number, so it's giving "go fill this in for me" energy
π₯ DESCRIPTION π₯
okay so here's the vibe: this function calculates the number of supported nodes needed to add this VSI into the Tx tree. and it's not just counting the VSI itself β no ma'am β it counts including the VSI, parent and intermediate nodes in below layers. the whole entourage. the whole friend group showing up to the function. π β¨
so when you're about to slot a VSI into the Tx tree, this is the girl doing the headcount first so everybody's got a seat. iconic, honestly.
π SEE ALSO π
first up, the source file itself, the mothership: Kernel file ./drivers/net/ethernet/intel/ice/ice_sched.c π§
and then... the friend group. and when I say the friend group is LARGE, I mean it. literally the entire ice_sched extended universe pulled up. no cap, here they all are:
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_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_get_agg_info(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)
like I said. the whole group chat. π but every single one of them is linked and accounted for, so go click around, iykyk π¦
and that's the tea, bestie! π this page comes to you from <pink>./drivers/net/ethernet/intel/ice</pink> and it's dated October 2026 β so go forth, count your support nodes, and remember: the VSI, the parent, and the intermediate nodes in below layers all get counted. periodt. πβ¨π«Ά
π¦ 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