ice_vsi_realloc_stat_arrays(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_vsi_realloc_stat_arrays β€” the kernel API manual ✨

okay so bestie, welcome to the ice_vsi_realloc_stat_arrays(9) page β€” yes that's the whole title, and yes it's a handful to type, we're aware πŸ’€. It lives in the Kernel API Manual and it's one of those little housekeeping gremlins that keeps the ice driver's accounting cute and tidy. Let's get into it πŸŽ€


🌸 NAME 🌸

ice_vsi_realloc_stat_arrays β€” literally just frees unused stat structures or alloc new ones. that's the whole job. it's giving "clean out your closet so the new stuff can move in" energy πŸ”₯


✨ SYNOPSIS ✨

int ice_vsi_realloc_stat_arrays (struct ice_vsi *vsi );

so it hands you back an int, and it takes exactly one (1) argument, which we're about to meet πŸ‘€ (yes, the spacing is exactly like that, don't come for me, that's just how it's written fr fr)


πŸ¦‹ ARGUMENTS πŸ¦‹

  • vsi β€” the VSI pointer πŸ’– that's it, that's the whole list. one singular pointer, main character energy, no entourage.

πŸ‘‘ SEE ALSO πŸ‘‘

first up, the source file itself, like the origin story of this whole function:

  • Kernel file ./drivers/net/ethernet/intel/ice/ice_lib.c πŸ“

and then there's the entire extended friend group. genuinely the whole ice family reunion, so buckle up babes 🌈

the little VSI administration girlies: ice_vsi_type_str(9), ice_vsi_ctrl_all_rx_rings(9), ice_vsi_alloc_arrays(9), ice_vsi_set_num_desc(9), ice_vsi_set_num_qs(9), ice_get_free_slot(9), ice_vsi_delete_from_hw(9), ice_vsi_free_arrays(9), ice_vsi_free_stats(9), ice_vsi_alloc_ring_stats(9), ice_vsi_free(9).

the MSI-X + stats + alloc-all-the-things crew: ice_msix_clean_ctrl_vsi(9), ice_msix_clean_rings(9), ice_vsi_alloc_stat_arrays(9), ice_vsi_alloc_def(9), ice_vsi_alloc(9), ice_alloc_fd_res(9), ice_vsi_get_qs(9), ice_vsi_put_qs(9), ice_is_safe_mode(9), ice_is_rdma_ena(9).

the RSS flow-field squad, lowkey obsessed with them: ice_vsi_clean_rss_flow_fld(9), ice_rss_clean(9), ice_vsi_set_rss_params(9), ice_set_dflt_vsi_ctx(9), ice_vsi_setup_q_map(9), ice_set_fd_vsi_ctx(9), ice_set_rss_vsi_ctx(9), ice_vsi_is_vlan_pruning_ena(9), ice_vsi_init(9), ice_vsi_clear_rings(9), ice_vsi_alloc_rings(9), ice_vsi_manage_rss_lut(9), ice_vsi_cfg_crc_strip(9), ice_vsi_cfg_rss_lut_key(9), ice_vsi_set_vf_rss_flow_fld(9), ice_vsi_set_rss_flow_fld(9).

the counter/register-writing icons: ice_pf_state_is_nominal(9), ice_update_eth_stats(9), ice_write_qrxflxp_cntxt(9), ice_intrl_usec_to_reg(9), ice_write_intrl(9), __ice_write_itr(9), ice_write_itr(9), ice_set_q_vector_intrl(9), ice_vsi_cfg_msix(9).

the rings: start 'em, stop 'em, cfg 'em: ice_vsi_start_all_rx_rings(9), ice_vsi_stop_all_rx_rings(9), ice_vsi_stop_tx_rings(9), ice_vsi_stop_lan_tx_rings(9), ice_vsi_stop_xdp_tx_rings(9), ice_vsi_is_rx_queue_active(9), ice_vsi_cfg_sw_lldp(9), ice_cfg_sw_rx_lldp(9), ice_set_agg_vsi(9).

the config/decfg girlies, they never miss: ice_vsi_cfg_def(9), ice_vsi_cfg(9), ice_vsi_decfg(9), ice_vsi_setup(9), ice_vsi_release_msix(9), ice_vsi_free_irq(9), ice_vsi_free_tx_rings(9), ice_vsi_free_rx_rings(9), ice_vsi_close(9), ice_ena_vsi(9), ice_dis_vsi(9), ice_vsi_set_napi_queues(9), ice_vsi_clear_napi_queues(9), ice_napi_add(9), ice_vsi_release(9).

the rebuild + reset era: ice_vsi_rebuild_get_coalesce(9), ice_vsi_rebuild_set_coalesce(9), ice_vsi_rebuild(9), ice_is_reset_in_progress(9), ice_wait_for_reset(9), ice_vsi_update_q_map(9), ice_vsi_cfg_netdev_tc(9), ice_vsi_setup_q_map_mqprio(9), ice_vsi_cfg_tc(9).

ring-stats fetching, they ate: ice_update_tx_ring_stats(9), ice_update_rx_ring_stats(9), ice_fetch_tx_ring_stats(9), ice_fetch_rx_ring_stats(9).

default-VSI drama (who's in use, who's the default, set it, clear it): ice_is_dflt_vsi_in_use(9), ice_is_vsi_dflt_vsi(9), ice_set_dflt_vsi(9), ice_clear_dflt_vsi(9).

link + bandwidth baddies: ice_get_link_speed_mbps(9), ice_get_link_speed_kbps(9), ice_set_min_bw_limit(9), ice_set_max_bw_limit(9), ice_set_link(9).

the VLAN-zero committee 🌸: ice_vsi_add_vlan_zero(9), ice_vsi_del_vlan_zero(9), ice_vsi_num_zero_vlans(9), ice_vsi_has_non_zero_vlans(9), ice_vsi_num_non_zero_vlans(9).

feature support (set it, clear it, init it, is it even supported): ice_is_feature_supported(9), ice_set_feature_support(9), ice_clear_feature_support(9), ice_init_feature_support(9).

and finally the security/antispoof/local-lb/l2tsel icons 🫢: ice_vsi_update_security(9), ice_vsi_ctx_set_antispoof(9), ice_vsi_ctx_clear_antispoof(9), ice_vsi_update_local_lb(9), ice_vsi_update_l2tsel(9).

that's every single one, not a crumb left behind πŸ’…


ngl bestie, the whole "frees unused stat structures or alloc new ones" thing is literally the entire description on this page β€” so if you were waiting for a plot twist, this is a short film 😭

and that's the page!! this icon lives over in ./drivers/net/ethernet/intel/ice, and this whole manual moment is dated October 2026, signed off as ice_vsi_realloc_stat_arrays(9) β€” slay, go free those stat structures, no cap πŸ§šπŸ’œ

πŸ“¦ where this page comes from