i40e_queue_pair_enable_irq(9)
πΈ NAME πΈ
okay bestie, so picture this: you're scrollin' through the Kernel API Manual and you land on i40e_queue_pair_enable_irq(9) and you're like "what does this even do" β and the answer is literally in the name: it Enables interrupts for a queue pair. that's the whole flex. no cap, that's the description, we love a self-explanatory icon π
β¨
so yeah. queue pair. interrupts. enabled. periodt π
β¨ SYNOPSIS β¨
the way it's spelled out, exactly:
void i40e_queue_pair_enable_irq (struct i40e_vsi *vsi , int queue_pair
);
returns void β nothing comes back, it's giving "i do the thing and i leave" π (and yes, that stray line break before the ) is canon, we respect the formatting π)
π«Ά ARGUMENTS π«Ά
two of them. both iconic. both documented with unmatched verbosity:
vsiβ the docs say:vsi. and honestly? that's it. that's the whole description π it's astruct i40e_vsi *per the synopsis, and the page itself just calls itvsiβ short, sweet, keeping it mysterious πqueue_pairβ declared as anintup in the synopsis, and its description?queue_pair. the manpage really said "you already know, bestie" π¦
ngl these one-word descriptions are highkey main character energy. the function is doing all the talking here π
π¦ SEE ALSO π¦
okay so this is where it gets unhinged β the SEE ALSO section on this page is a whole group chat with 335 members and they all pulled up in (9) section. every single one, in order, no one left behind π«Ά
first up, the home base β the kernel file this whole thing lives in: ./drivers/net/ethernet/intel/i40e/i40e_main.c
and now... the squad. brace yourself π:
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_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)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_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)
and that's the entire roster β all 335, nobody benched, iykyk ππ₯
π real talk though: this page only tells you it enables interrupts for a queue pair. it doesn't promise anything about when to call it, locking, return values, or error cases β there are literally none documented here, so don't come for me, that's just what the page says π
that's the whole page bestie, you ate it up π
this little number shipped from ./drivers/net/ethernet/intel/i40e, version October 2026, and it's forever known as i40e_queue_pair_enable_irq(9) πβ go forth and enable those interrupts, queen ππ
π¦ 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