igb_setup_tx_resources(9)
π NAME π
igb_setup_tx_resources β allocate Tx resources (Descriptors)
okay so real talk, bestie, this little icon lives in the Kernel API Manual, section 9, and it's the function that gets your transmit resources (descriptors) set up. it's giving "backend bestie doing the unglamorous work so the packets can slay later." π
β¨ SYNOPSIS β¨
int igb_setup_tx_resources (struct igb_ring *tx_ring );
π ARGUMENTS π
tx_ringβ tx descriptor ring (for a specific queue) to setup
yep, that's the one and only thing you hand it: the tx descriptor ring for a specific queue. not all the queues. the one. main character energy for a single ring, honestly. π«Ά
π¦ DESCRIPTION π¦
Return 0 on success, negative on failure.
that's literally it, no cap. zero means it ate and everything's fine, and a negative value means nope, it didn't work out. that's the entire vibe check. πβ¨
π SEE ALSO π
first up, the actual kernel file where the magic happens:
./drivers/net/ethernet/intel/igb/igb_main.c
and now, the entire igb cinematic universe, in order, because we do not skip a single one of these π:
igb_get_i2c_data(9), igb_set_i2c_data(9), igb_set_i2c_clk(9), igb_get_i2c_clk(9), igb_get_hw_dev(9), igb_init_module(9), igb_exit_module(9), igb_cache_ring_register(9), igb_write_ivar(9), igb_configure_msix(9), igb_request_msix(9), igb_free_q_vector(9), igb_reset_q_vector(9), igb_free_q_vectors(9), igb_clear_interrupt_scheme(9), igb_set_interrupt_capability(9), igb_alloc_q_vector(9), igb_alloc_q_vectors(9), igb_init_interrupt_scheme(9), igb_request_irq(9), igb_irq_disable(9), igb_irq_enable(9), igb_release_hw_control(9), igb_get_hw_control(9), igb_config_tx_modes(9), igb_setup_tx_mode(9), igb_configure(9), igb_power_up_link(9), igb_power_down_link(9), igb_check_swap_media(9), igb_up(9), igb_set_i2c_bb(9), igb_set_fw_version(9), igb_init_mas(9), igb_init_i2c(9), igb_probe(9), igb_remove_i2c(9), igb_remove(9), igb_probe_vfs(9), igb_sw_init(9), __igb_open(9), __igb_close(9)
and the tx crew, obviously π§:
igb_setup_all_tx_resources(9), igb_setup_tctl(9), igb_configure_tx_ring(9), igb_configure_tx(9), igb_free_tx_resources(9), igb_free_all_tx_resources(9), igb_clean_tx_ring(9), igb_clean_all_tx_rings(9), igb_clean_tx_irq(9), igb_tx_timeout(9)
the rx girlies πΈ:
igb_setup_rx_resources(9), igb_setup_all_rx_resources(9), igb_setup_mrqc(9), igb_setup_rctl(9), igb_setup_srrctl(9), igb_configure_rx_ring(9), igb_configure_rx(9), igb_free_rx_resources(9), igb_free_all_rx_resources(9), igb_clean_rx_ring(9), igb_clean_all_rx_rings(9), igb_reuse_rx_page(9), igb_add_rx_frag(9), igb_is_non_eop(9), igb_cleanup_headers(9), igb_process_skb_fields(9), igb_alloc_rx_buffers(9)
addresses, filters, and link stuff π¦:
igb_set_mac(9), igb_write_mc_addr_list(9), igb_set_rx_mode(9), igb_has_link(9), igb_check_lvmmc(9), igb_rar_set_index(9), igb_set_uta(9)
interrupts, polling, and the watchdog π:
igb_watchdog(9), igb_update_ring_itr(9), igb_update_itr(9), igb_get_stats64(9), igb_change_mtu(9), igb_update_stats(9), igb_intr_msi(9), igb_intr(9), igb_poll(9), igb_mii_ioctl(9), igb_ioctl(9), igb_io_error_detected(9), igb_io_slot_reset(9), igb_io_resume(9)
and the i2c baddies wrapping it up π:
igb_read_i2c_byte(9), igb_write_i2c_byte(9)
π not me writing out every single one of those references. yes bestie, all of them. iykyk.
okay that's the whole page, go forth and allocate responsibly π«Ά slay
this cutie was brought to you by ./drivers/net/ethernet/intel/igb, October 2026 β mwah, see u next manpage ππβ¨
π¦ 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