ice_vsi_wait_one_rx_ring(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ ice_vsi_wait_one_rx_ring(9) ✨

okay so bestie, welcome to the <pink>kernel API manual</pink>, section 9, and today's main character is ice_vsi_wait_one_rx_ring πŸŽ€ β€” a little function that literally just sits there and waits for one Rx ring to catch up with the vibe check. no cap.


🌸 NAME 🌸

ice_vsi_wait_one_rx_ring β€” wait for a VSI's Rx ring to be stopped/started πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

int ice_vsi_wait_one_rx_ring (struct ice_vsi *vsi , bool ena , u16
rxq_idx );

like, that's the whole signature, she's not complicated 🫢


πŸ’– ARGUMENTS πŸ’–

  • vsi β€” the VSI being configured. this is the whole vibe we're operating on, the one and only ✨
  • ena β€” true/false, and it tells us what we're verifying: whether the Rx ring has been enabled or disabled respectively. true means "did it turn on", false means "did it turn off", iykyk πŸ’€
  • rxq_idx β€” the 0-based Rx queue index for the VSI you passed in. yes, 0-based, so the first one is 0, not 1, don't do that to me πŸ™ˆ

πŸ”₯ DESCRIPTION πŸ”₯

so this routine will wait for the given Rx queue of the VSI to reach the enabled or disabled state β€” whichever one you asked for with ena. that's it. that's the job. she waits πŸ‘‘

if it fails to reach the requested state after multiple retries, it returns -ETIMEDOUT 😭. otherwise, on success, it returns 0 🌈.

fr fr: -ETIMEDOUT = it ran out of retries and gave up. 0 = slay, state reached, we're good πŸ’œ

πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./drivers/net/ethernet/intel/ice/ice_base.c β€” that's where she lives 🏠

and the whole friend group, in order:

__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_ctrl_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)


mwah πŸ’‹ that's the page. source is ./drivers/net/ethernet/intel/ice, dated October 2026, and this was ice_vsi_wait_one_rx_ring(9) signing off β€” go wait on some rings, bestie, you got this πŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from