ice_vsi_ctrl_one_rx_ring(9)
π ice_vsi_ctrl_one_rx_ring β NAME β¨
okay so bestie, ice_vsi_ctrl_one_rx_ring β like, the actual name β does exactly what it says on the tin: it starts or stops a VSI's Rx ring, and the whole ~lewk~ is that there is no busy wait. no spinning, no burning CPU staring at a register like it's a text from your crush. iconic behavior, honestly.
it lives in the Kernel API Manual, section 9, and we're gonna get into it π
π¦ SYNOPSIS
int ice_vsi_ctrl_one_rx_ring (struct ice_vsi *vsi , bool ena , u16
rxq_idx , bool wait );
returns an int, takes four things, that's the whole vibe π
πΈ ARGUMENTS
vsiβ the VSI that's getting configured. this is the main character of the whole call, everything's happening to this VSI π«Άenaβ aboolthat says whether you're starting or stopping the Rx ring. pick a lane, gorl πrxq_idxβ the Rx queue index for the VSI you passed in, and it's 0-based so the first one is0, not1. no cap β¨waitβ whether to wait for the configuration to actually finish in hardware, or to just ~not~ do that. literally the fork in the road for this whole function π₯
β DESCRIPTION
Return 0 on success and negative on error. that's it, that's the description π short and sweet, like a good iced coffee order.
ngl, the name is the real tea here: this one does its thing with no busy wait β don't go assuming it polls in a loop, that's not the vibe this function is giving.
π§ SEE ALSO
okay this list is long but they're all family, we don't skip family π
Kernel file ./drivers/net/ethernet/intel/ice/ice_base.cβ the file, in the kernel source, that you wanna peek at π__ice_vsi_get_qs_contig(9)__ice_vsi_get_qs_sc(9)ice_pf_rxq_wait(9)ice_vsi_alloc_q_vector(9)ice_free_q_vector(9)ice_cfg_itr_gran(9)ice_calc_txq_handle(9)ice_cfg_xps_tx_ring(9)ice_set_txq_ctx_vmvf(9)ice_setup_tx_ctx(9)ice_setup_txtime_ctx(9)ice_calc_ts_ring_count(9)ice_setup_rx_ctx(9)ice_vsi_cfg_rxq(9)ice_vsi_cfg_frame_size(9)ice_vsi_cfg_rxqs(9)__ice_vsi_get_qs(9)ice_vsi_wait_one_rx_ring(9)ice_vsi_alloc_q_vectors(9)ice_vsi_map_rings_to_vectors(9)ice_vsi_free_q_vectors(9)ice_cfg_tstamp(9)ice_vsi_cfg_txq(9)ice_vsi_cfg_txqs(9)ice_vsi_cfg_lan_txqs(9)ice_vsi_cfg_xdp_txqs(9)ice_cfg_itr(9)ice_cfg_txq_interrupt(9)ice_cfg_rxq_interrupt(9)ice_trigger_sw_intr(9)ice_vsi_stop_tx_ring(9)ice_fill_txq_meta(9)ice_qp_reset_stats(9)ice_qp_clean_rings(9)ice_qp_dis(9)ice_qp_ena(9)
like, that's the whole page bestie, we ate and left no crumbs π
and for the ~receipts~: this one comes from ./drivers/net/ethernet/intel/ice, dated October 2026, and it's the ice_vsi_ctrl_one_rx_ring(9) page. mwah, love u, go start a ring πβ¨
π¦ 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