i40e_config_vsi_rx_queue(9)
π
i40e_config_vsi_rx_queue β Kernel API Manual π
okay bestie, welcome to the Kernel API Manual, the (9) section, where we hang out with the i40e driver π¦ this one's a lil function from the Intel NIC corner of the kernel and honestly she's a whole vibe. lowkey short page, highkey useful. let's get into it β¨
β¨ NAME β¨
i40e_config_vsi_rx_queue
that's it. that's the name π the original page throws a dash after it and then... nothing. no one-liner, no description, the man page author simply left it blank. not me noticing the empty description π so we're just going with the function name itself, periodt.
πΈ SYNOPSIS πΈ
int i40e_config_vsi_rx_queue (struct i40e_vf *vf , u16 vsi_id , u16 vsi_queue_id , struct virtchnl_rxq_info *info );
she returns an int, she takes four things, and yes the spacing is giving "authored by C programmers at 3am" π we keep it exactly as it is, no cap π«Ά
π§ ARGUMENTS π§
vfβ pointer to the VF info π like, the virtual function we're talking about? this is her.vsi_idβ id of VSI as provided by the FW β fair warning: as provided by the FW, so whatever the firmware handed you, that's what you pass. don't be out here inventing your own.vsi_queue_idβ the vsi relative queue index π relative to the VSI, bestie. not global. not absolute. relative.infoβ config. info π₯ that's genuinely the whole description. config. info. iconic brevity.
π DESCRIPTION π
configure rx queue π
that's it. that's the whole description. four words. the man page said what it said and left. ngl there's something so main-character about a description that refuses to elaborate π
so: this function configures the receive queue. that's the fact. everything else? (gestures vaguely at the driver source) iykyk β¨
π SEE ALSO π
kay this section is long and she ate, so buckle up bestie, every single reference is coming with us π¦
the kernel file where all this lives:
./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
and the entire friend group π:
i40e_vc_vf_broadcast(9)i40e_vc_link_speed2mbps(9)i40e_set_vf_link_state(9)i40e_vc_notify_vf_link_state(9)i40e_vc_notify_link_state(9)i40e_vc_notify_reset(9)i40e_vc_notify_vf_reset(9)i40e_vc_reset_vf(9)i40e_vc_isvalid_vsi_id(9)i40e_vc_isvalid_queue_id(9)i40e_vc_isvalid_vector_id(9)i40e_vc_get_pf_queue_id(9)i40e_get_real_pf_qid(9)i40e_config_irq_link_list(9)i40e_release_rdma_qvlist(9)i40e_config_rdma_qvlist(9)i40e_config_vsi_tx_queue(9)i40e_alloc_vsi_res(9)i40e_map_pf_queues_to_vsi(9)i40e_map_pf_to_vf_queues(9)i40e_enable_vf_mappings(9)i40e_disable_vf_mappings(9)i40e_free_vf_res(9)i40e_alloc_vf_res(9)i40e_quiesce_vf_pci(9)__i40e_getnum_vf_vsi_vlan_filters(9)i40e_getnum_vf_vsi_vlan_filters(9)i40e_get_vlan_list_sync(9)i40e_set_vsi_promisc(9)i40e_config_vf_promiscuous_mode(9)i40e_sync_vfr_reset(9)i40e_trigger_vf_reset(9)i40e_cleanup_reset_vf(9)i40e_reset_vf(9)i40e_reset_all_vfs(9)i40e_free_vfs(9)i40e_alloc_vfs(9)i40e_pci_sriov_enable(9)i40e_pci_sriov_configure(9)i40e_vc_send_msg_to_vf(9)i40e_vc_send_resp_to_vf(9)i40e_sync_vf_state(9)i40e_vc_get_version_msg(9)i40e_del_qch(9)i40e_vc_get_max_frame_size(9)i40e_vc_get_vf_resources_msg(9)i40e_vc_config_promiscuous_mode_msg(9)i40e_vc_config_queues_msg(9)i40e_validate_queue_map(9)i40e_vc_config_irq_map_msg(9)i40e_ctrl_vf_tx_rings(9)i40e_ctrl_vf_rx_rings(9)i40e_vc_validate_vqs_bitmaps(9)i40e_vc_enable_queues_msg(9)i40e_vc_disable_queues_msg(9)i40e_check_enough_queue(9)i40e_vc_request_queues_msg(9)i40e_vc_get_stats_msg(9)i40e_check_vf_permission(9)i40e_vc_ether_addr_type(9)i40e_is_vc_addr_legacy(9)i40e_is_vc_addr_primary(9)i40e_update_vf_mac_addr(9)i40e_vc_add_mac_addr_msg(9)i40e_vc_del_mac_addr_msg(9)i40e_vc_add_vlan_msg(9)i40e_vc_remove_vlan_msg(9)i40e_vc_rdma_msg(9)i40e_vc_rdma_qvmap_msg(9)i40e_vc_config_rss_key(9)i40e_vc_config_rss_lut(9)i40e_vc_get_rss_hashcfg(9)i40e_vc_set_rss_hashcfg(9)i40e_vc_enable_vlan_stripping(9)i40e_vc_disable_vlan_stripping(9)i40e_validate_cloud_filter(9)i40e_find_vsi_from_seid(9)i40e_del_all_cloud_filters(9)i40e_vc_del_cloud_filter(9)i40e_vc_add_cloud_filter(9)i40e_vc_add_qch_msg(9)i40e_vc_del_qch_msg(9)i40e_vc_process_vf_msg(9)i40e_vc_process_vflr_event(9)i40e_validate_vf(9)i40e_check_vf_init_timeout(9)i40e_ndo_set_vf_mac(9)i40e_ndo_set_vf_port_vlan(9)i40e_ndo_set_vf_bw(9)i40e_ndo_get_vf_config(9)i40e_ndo_set_vf_link_state(9)i40e_ndo_set_vf_spoofchk(9)i40e_setup_vf_trust(9)i40e_ndo_set_vf_trust(9)i40e_get_vf_stats(9)
like i said: the whole friend group πΈ go read them, they're all in the same file and they're all doing the most π
real talk though β the arguments have to be the ones the firmware gave you (vsi_idis as provided by the FW, remember π) andvsi_queue_idis VSI-relative. don't mix those up or it's giving "why is my rx broken" π
okay that's the page!! mwah π this little beauty lives in ./drivers/net/ethernet/intel/i40e, and the page is dated October 2026 β so like, future girl summer πβ¨ go configure that rx queue bestie, you've got this ππ«Ά
π¦ 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