i40e_vsi_setup_tx_resources(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_vsi_setup_tx_resources(9) β€” the Kernel API Manual glow-up ✨

okay so bestie, this page is from the Kernel API Manual and it's literally about grabbing memory for a VSI's transmit queues. tiny page, big responsibilities, we love to see it 🫢


🌸 NAME 🌸

i40e_vsi_setup_tx_resources β€” Allocate VSI Tx queue resources πŸ’– like, it goes and gets the resources for the Tx queues of a VSI. that's the whole vibe.


πŸ¦‹ SYNOPSIS πŸ¦‹

int i40e_vsi_setup_tx_resources (struct i40e_vsi *vsi );

πŸŽ€ ARGUMENTS πŸŽ€

  • vsi β€” ptr to the VSI πŸ’« (yes, literally just "ptr to the VSI" β€” that's the whole description, iconic brevity)

✨ DESCRIPTION ✨

okay so here's the tea 🍡 β€” if this function returns with an error, then it's possible that one or more of the rings is populated (while the rest are not). not all of them, not none of them, just… some of them πŸ™ˆ

and the important part, bestie, listen up: it is the caller's duty to clean those orphaned rings. not the function's problem, not the kernel's problem β€” your problem. those rings are yours now. you made them, you clean them πŸ’€

Return 0 on success, negative on failure. that's it. that's the contract 🀝

⚠️ fr fr do NOT forget the orphaned rings. partial success is still a failure path and nobody's coming to pick up after you 🧹

πŸ‘‘ SEE ALSO πŸ‘‘

the source file, in all its glory:

  • Kernel file ./drivers/net/ethernet/intel/i40e/i40e_main.c

and now… the i40e cinematic universe 🌈 the entire extended family, no cap, every single one:

i40e_hw_to_dev(9), i40e_allocate_dma_mem(9), i40e_free_dma_mem(9), i40e_allocate_virt_mem(9), i40e_free_virt_mem(9), i40e_get_lump(9), i40e_put_lump(9), i40e_find_vsi_from_id(9), i40e_service_event_schedule(9), i40e_tx_timeout(9), i40e_get_vsi_stats_struct(9), i40e_get_netdev_stats_struct_tx(9), i40e_get_netdev_stats_struct(9), i40e_vsi_reset_stats(9), i40e_pf_reset_stats(9), i40e_compute_pci_to_hw_id(9), i40e_stat_update64(9), i40e_stat_update48(9), i40e_stat_update32(9), i40e_stat_update_and_clear32(9), i40e_stats_update_rx_discards(9), i40e_update_eth_stats(9), i40e_update_veb_stats(9), i40e_update_vsi_stats(9), i40e_update_pf_stats(9), i40e_update_stats(9), i40e_count_all_filters(9), i40e_count_active_filters(9), i40e_find_filter(9), i40e_find_mac(9), i40e_is_vsi_in_vlan(9), i40e_correct_mac_vlan_filters(9), i40e_get_vf_new_vlan(9), i40e_correct_vf_mac_vlan_filters(9), i40e_rm_default_mac_filter(9), i40e_add_filter(9), __i40e_del_filter(9), i40e_add_mac_filter(9), i40e_del_mac_filter(9), i40e_set_mac(9), i40e_config_rss_aq(9), i40e_vsi_config_rss(9), i40e_vsi_setup_queue_map_mqprio(9), i40e_vsi_setup_queue_map(9), i40e_addr_sync(9), i40e_addr_unsync(9), i40e_set_rx_mode(9), i40e_undo_del_filter_entries(9), i40e_undo_add_filter_entries(9), i40e_next_filter(9), i40e_update_filter_state(9), i40e_aqc_del_filters(9), i40e_aqc_add_filters(9), i40e_aqc_broadcast_filter(9), i40e_set_promiscuous(9), i40e_sync_vsi_filters(9), i40e_sync_filters_subtask(9), i40e_calculate_vsi_rx_buf_len(9), i40e_max_vsi_frame_size(9), i40e_change_mtu(9), i40e_vlan_stripping_enable(9), i40e_vlan_stripping_disable(9), i40e_add_vlan_all_mac(9), i40e_vsi_add_vlan(9), i40e_rm_vlan_all_mac(9), i40e_vsi_kill_vlan(9), i40e_vlan_rx_add_vid(9), i40e_vlan_rx_add_vid_up(9), i40e_vlan_rx_kill_vid(9), i40e_restore_vlan(9), i40e_vsi_add_pvid(9), i40e_vsi_remove_pvid(9), i40e_vsi_free_tx_resources(9), i40e_vsi_setup_rx_resources(9), i40e_vsi_free_rx_resources(9), i40e_config_xps_tx_ring(9), i40e_xsk_pool(9), i40e_configure_tx_ring(9), i40e_rx_offset(9), i40e_configure_rx_ring(9), i40e_vsi_configure_tx(9), i40e_vsi_configure_rx(9), i40e_vsi_config_dcb_rings(9), i40e_set_vsi_rx_mode(9), i40e_reset_fdir_filter_cnt(9), i40e_fdir_filter_restore(9), i40e_vsi_configure(9), i40e_vsi_configure_msix(9), i40e_enable_misc_int_causes(9), i40e_configure_msi_and_legacy(9), i40e_irq_dynamic_disable_icr0(9), i40e_irq_dynamic_enable_icr0(9), i40e_msix_clean_rings(9), i40e_irq_affinity_notify(9), i40e_irq_affinity_release(9), i40e_vsi_request_irq_msix(9), i40e_vsi_disable_irq(9), i40e_vsi_enable_irq(9), i40e_free_misc_vector(9), i40e_intr(9), i40e_clean_fdir_tx_irq(9), i40e_fdir_clean_ring(9), i40e_map_vector_to_qp(9), i40e_vsi_map_rings_to_vectors(9), i40e_vsi_request_irq(9), i40e_netpoll(9), i40e_pf_txq_wait(9), i40e_control_tx_q(9), i40e_control_wait_tx_q(9), i40e_vsi_enable_tx(9), i40e_pf_rxq_wait(9), i40e_control_rx_q(9), i40e_control_wait_rx_q(9), i40e_vsi_enable_rx(9), i40e_vsi_start_rings(9), i40e_vsi_stop_rings(9), i40e_vsi_stop_rings_no_wait(9), i40e_vsi_free_irq(9), i40e_free_q_vector(9), i40e_vsi_free_q_vectors(9), i40e_reset_interrupt_capability(9), i40e_clear_interrupt_scheme(9), i40e_napi_enable_all(9), i40e_napi_disable_all(9), i40e_vsi_close(9), i40e_quiesce_vsi(9), i40e_unquiesce_vsi(9), i40e_pf_quiesce_all_vsi(9), i40e_pf_unquiesce_all_vsi(9), i40e_vsi_wait_queues_disabled(9), i40e_pf_wait_queues_disabled(9), i40e_get_iscsi_tc_map(9), i40e_dcb_get_num_tc(9), i40e_dcb_get_enabled_tc(9), i40e_mqprio_get_enabled_tc(9), i40e_pf_get_num_tc(9), i40e_pf_get_tc_map(9), i40e_vsi_get_bw_info(9), i40e_vsi_configure_bw_alloc(9), i40e_vsi_config_netdev_tc(9), i40e_vsi_update_queue_map(9), i40e_update_adq_vsi_queues(9), i40e_vsi_config_tc(9), i40e_vsi_reconfig_tc(9), i40e_get_link_speed(9), i40e_bw_bytes_to_mbits(9), i40e_set_bw_limit(9), i40e_remove_queue_channels(9), i40e_get_max_queues_for_channel(9), i40e_validate_num_queues(9), i40e_vsi_reconfig_rss(9), i40e_channel_setup_queue_map(9), i40e_add_channel(9), i40e_channel_config_tx_ring(9), i40e_setup_hw_channel(9), i40e_setup_channel(9), i40e_validate_and_set_switch_mode(9), i40e_create_queue_channel(9), i40e_configure_queue_channels(9), i40e_veb_config_tc(9), i40e_dcb_reconfigure(9), i40e_resume_port_tx(9), i40e_suspend_port_tx(9), i40e_hw_set_dcb_config(9), i40e_hw_dcb_config(9), i40e_dcb_sw_default_config(9), i40e_init_pf_dcb(9), i40e_print_link_message(9), i40e_up_complete(9), i40e_vsi_reinit_locked(9), i40e_force_link_state(9), i40e_up(9), i40e_down(9), i40e_validate_mqprio_qopt(9), i40e_vsi_set_default_tc_config(9), i40e_del_macvlan_filter(9), i40e_add_macvlan_filter(9), i40e_reset_ch_rings(9), i40e_free_macvlan_channels(9), i40e_fwd_ring_up(9), i40e_setup_macvlans(9), i40e_fwd_add(9), i40e_del_all_macvlans(9), i40e_fwd_del(9), i40e_setup_tc(9), i40e_set_cld_element(9), i40e_add_del_cloud_filter(9), i40e_add_del_cloud_filter_big_buf(9), i40e_parse_cls_flower(9), i40e_handle_tclass(9), i40e_configure_clsflower(9), i40e_find_cloud_filter(9), i40e_delete_clsflower(9), i40e_setup_tc_cls_flower(9), i40e_open(9), i40e_netif_set_realnum_tx_rx_queues(9), i40e_vsi_open(9), i40e_fdir_filter_exit(9), i40e_cloud_filter_exit(9), i40e_close(9), i40e_do_reset(9), i40e_dcb_need_reconfig(9), i40e_handle_lldp_event(9), i40e_do_reset_safe(9), i40e_handle_lan_overflow_event(9), i40e_get_current_fd_count(9), i40e_get_global_fd_count(9), i40e_reenable_fdir_sb(9), i40e_reenable_fdir_atr(9), i40e_delete_invalid_filter(9), i40e_fdir_check_and_reenable(9), i40e_fdir_flush_and_replay(9), i40e_get_current_atr_cnt(9), i40e_fdir_reinit_subtask(9), i40e_vsi_link_event(9), i40e_veb_link_event(9), i40e_link_event(9), i40e_watchdog_subtask(9), i40e_reset_subtask(9), i40e_handle_link_event(9), i40e_clean_adminq_subtask(9), i40e_verify_eeprom(9), i40e_enable_pf_switch_lb(9), i40e_disable_pf_switch_lb(9), i40e_config_bridge_mode(9), i40e_reconstitute_veb(9), i40e_get_capabilities(9), i40e_fdir_sb_setup(9), i40e_fdir_teardown(9), i40e_rebuild_cloud_filters(9), i40e_rebuild_channels(9), i40e_clean_xps_state(9), i40e_prep_for_reset(9), i40e_send_version(9), i40e_get_oem_version(9), i40e_reset(9), i40e_rebuild(9), i40e_reset_and_rebuild(9), i40e_handle_reset_warning(9), i40e_print_vf_mdd_event(9), i40e_print_vfs_mdd_events(9), i40e_handle_mdd_event(9), i40e_service_task(9), i40e_service_timer(9), i40e_set_num_rings_in_vsi(9), i40e_vsi_alloc_arrays(9), i40e_vsi_mem_alloc(9), i40e_vsi_free_arrays(9), i40e_clear_rss_config_user(9), i40e_vsi_clear(9), i40e_vsi_clear_rings(9), i40e_alloc_rings(9), i40e_reserve_msix_vectors(9), i40e_init_msix(9), i40e_vsi_alloc_q_vector(9), i40e_vsi_alloc_q_vectors(9), i40e_init_interrupt_scheme(9), i40e_restore_interrupt_scheme(9), i40e_setup_misc_vector_for_recovery_mode(9), i40e_setup_misc_vector(9), i40e_get_rss_aq(9), i40e_config_rss_reg(9), i40e_get_rss_reg(9), i40e_config_rss(9), i40e_get_rss(9), i40e_fill_rss_lut(9), i40e_pf_config_rss(9), i40e_reconfig_rss_queues(9), i40e_get_partition_bw_setting(9), i40e_set_partition_bw_setting(9), i40e_is_total_port_shutdown_enabled(9), i40e_sw_init(9), i40e_set_ntuple(9), i40e_clear_rss_lut(9), i40e_set_loopback(9), i40e_set_features(9), i40e_ndo_fdb_add(9), i40e_ndo_bridge_setlink(9), i40e_ndo_bridge_getlink(9), i40e_features_check(9), i40e_xdp_setup(9), i40e_enter_busy_conf(9), i40e_exit_busy_conf(9), i40e_queue_pair_reset_stats(9), i40e_queue_pair_clean_rings(9), i40e_queue_pair_toggle_napi(9), i40e_queue_pair_toggle_rings(9), i40e_queue_pair_enable_irq(9), i40e_queue_pair_disable_irq(9), i40e_queue_pair_disable(9), i40e_queue_pair_enable(9), i40e_xdp(9), i40e_config_netdev(9), i40e_vsi_delete(9), i40e_is_vsi_uplink_mode_veb(9), i40e_add_vsi(9), i40e_vsi_release(9), i40e_vsi_setup_vectors(9), i40e_vsi_reinit_setup(9), i40e_vsi_setup(9), i40e_veb_get_bw_info(9), i40e_veb_mem_alloc(9), i40e_switch_branch_release(9), i40e_veb_clear(9), i40e_veb_release(9), i40e_add_veb(9), i40e_veb_setup(9), i40e_setup_pf_switch_element(9), i40e_fetch_switch_configuration(9), i40e_setup_pf_switch(9), i40e_determine_queue_usage(9), i40e_setup_pf_filter_control(9), i40e_get_platform_mac_addr(9), i40e_set_fec_in_flags(9), i40e_check_recovery_mode(9), i40e_pf_loop_reset(9), i40e_check_fw_empr(9), i40e_handle_resets(9), i40e_init_recovery_mode(9), i40e_set_subsystem_device_id(9), i40e_probe(9), i40e_remove(9), i40e_enable_mc_magic_wake(9), i40e_io_suspend(9), i40e_io_resume(9), i40e_pci_error_detected(9), i40e_pci_error_slot_reset(9), i40e_pci_error_reset_prepare(9), i40e_pci_error_reset_done(9), i40e_pci_error_resume(9), i40e_shutdown(9), i40e_suspend(9), i40e_resume(9), i40e_init_module(9), i40e_exit_module(9)

πŸ’€ yeah that's the whole thing. every last one. i counted. don't come for me.

and that's the page bestie!! ✨ this little legend lives over in ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's brought to you as i40e_vsi_setup_tx_resources(9) πŸ’– go forth, allocate your Tx resources, and please clean up your orphaned rings. mwah πŸ«ΆπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from