i40e_netif_...tx_rx_queues(9)
π i40e_netif_set_realnum_tx_rx_queues π
okay so bestie, welcome to the Kernel API Manual β yes we're reading i40e_netif_...tx_rx_queues(9) together, section 9, and it's giving very much "one tiny function, one giant SEE ALSO list" energy. Sit down, hydrate, let's go π«Ά
β¨ NAME β¨
i40e_netif_set_realnum_tx_rx_queues β update the number of tx/rx queues π
π SYNOPSIS π
int i40e_netif_set_realnum_tx_rx_queues (struct i40e_vsi *vsi );
literally one argument, one int back, no cap π§
πΈ ARGUMENTS πΈ
vsiβ the vsi structure. that's it. that's the whole argument. it's the VSI bestie in question, and yes the manual page just says "vsi structure" so I'm not gonna invent lore about it π₯
π¦ DESCRIPTION π¦
so what does she do? this function updates netdev's number of tx/rx queues. that's the whole vibe β you've got a netdev, it's got a queue count, and this is the glow-up that makes the count match reality β¨
and then β because she's an overachiever β she returns the status of setting tx/rx queues. so like, you get a status back. pay attention to it, king π
π SEE ALSO π
first up, the home base β the actual kernel file this whole situation lives in:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and now the iconic part: the entire i40e friend group. every single one. no skips. iykyk π
the core + memory besties:
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)
the stats girlies (so many numbers π):
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)
the filter fam + mac/vlan + mtu crew:
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)
vlan nation π:
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)
rings, resources & ring config (the whole setup era):
i40e_vsi_setup_tx_resources(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)
IRQ & vector besties β‘:
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)
queue control, start/stop, napi & quiesce (this page's actual neighbours π):
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)
DCB / traffic class / channel era π:
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)
link, up/down & default tc config:
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)
macvlan & forwarding π¦:
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)
cloud filters & cls_flower royalty π:
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)
open/close & reset dramaaa π:
i40e_open(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)
fdir maintenance:
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)
subtasks, events & eeprom checks:
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)
capabilities, rebuild & mdd events π₯:
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)
VSI alloc / memory / interrupt scheme setup:
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)
RSS crew (queue-count royalty, lowkey this page's besties):
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)
bw, sw init, features & xdp setup:
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)
queue pairs & busy-conf π§:
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)
netdev config & VSI lifecycle:
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)
VEB & switch setup:
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)
platform / recovery-mode / PF odds and ends:
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)
probe/remove, PCI errors & module life cycle (the whole main-character arc):
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)
ok that's genuinely all of them, every last (9) β don't come for me if your terminal scrolled for a week, that's just what the i40e family reunion looks like π
and that's the page, bestie!! shoutout to the source at ./drivers/net/ethernet/intel/i40e and the October 2026 date stamp β that's the version tea and the copyright-era energy, mwah π periodt β¨ππ«Ά
π¦ 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