i40e_channel_config_tx_ring(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_channel_config_tx_ring(9) β€” the kernel API manual, but make it make sense

okay so bestie, you found the page for i40e_channel_config_tx_ring β€” yes it's a (9) kernel API page, yes it's from the Kernel API Manual, and yes we're gonna get through it together. grab a lil snack πŸ“


✨ NAME ✨

i40e_channel_config_tx_ring β€” configures the TX ring that's hanging out with a brand-new channel πŸŽ€


🌸 SYNOPSIS 🌸

int i40e_channel_config_tx_ring (struct i40e_pf *pf , struct i40e_vsi
*vsi , struct i40e_channel *ch );

that's the whole vibe. one function, three pointers, an int coming back at you. no cap. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • pf β€” a pointer to the PF device, like, the actual physical function repping the hardware 🫢
  • vsi β€” the VSI that's being set up rn, main character energy fr
  • ch β€” a pointer to the channel structure, the lil guy we're doing all this for ⭐

🧚 DESCRIPTION 🧚

so basically this function configures the TX rings that belong to a channel (that's a VSI, iykyk), and it does that because the queues are being from the parent VSI. like, the queues come from the parent VSI instead of just appearing out of nowhere, and this is the function that sorts the TX ring side of that whole arrangement. iconic behaviour honestly πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

first up, the source file β€” the kernel file this bad boy lives in:

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

and then… the friend list. it's long. it's giving group chat with 400 members. every single one of these is a (9) page, and yes, we're listing all of them because we do not skip πŸ’€

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_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)
like… say less? no actually don't, there's genuinely that many. every one of them is a real page, go read 'em if you're curious πŸ‘‘

and that's the whole page bestie!! mwah πŸ’– this one comes from the kernel source tree at ./drivers/net/ethernet/intel/i40e, dated October 2026, and the page itself goes by i40e_channel_config_tx_ring(9) β€” slay, go configure some TX rings βœ¨πŸŽ€

πŸ“¦ where this page comes from