igb_poll(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… igb_poll(9) β€” the Kernel API Manual page, but make it make sense

okay so bestie, welcome to igb_poll(9) πŸ’– this whole page lives in the Kernel API Manual and it's literally one function, so we can absolutely get through this together. grab a lil snack πŸ“


✨ NAME ✨

igb_poll β€” the NAPI Rx polling callback 🌸 like, that's her whole job description and she's serving it.


πŸ¦‹ SYNOPSIS πŸ¦‹

int igb_poll (struct napi_struct *napi , int budget );

no cap, that's the entire signature. two args, one int back. iconic.


πŸŽ€ ARGUMENTS πŸŽ€

  • napi β€” the napi polling structure 🫢 this is the struct she's working with, the main character of the call.
  • budget β€” the count of how many packets we should handle πŸ‘‘ yes bestie, it's a count, so she knows her limit and respects it.
fr fr that's it β€” those are the only two things she takes. no hidden extras, no surprise params, periodt.

🌈 SEE ALSO 🌈

the whole extended friend group shows up here, and honestly the way the igb squad rolls deep?? πŸ’€ deep breath, we're listing everyone:

the kernel file itself lives at ./drivers/net/ethernet/intel/igb/igb_main.c πŸ“ and then, in the order they're given:

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), igb_setup_tx_resources(9), igb_setup_all_tx_resources(9), igb_setup_tctl(9), igb_configure_tx_ring(9), igb_configure_tx(9), 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_tx_resources(9), igb_free_all_tx_resources(9), igb_clean_tx_ring(9), igb_clean_all_tx_rings(9), igb_free_rx_resources(9), igb_free_all_rx_resources(9), igb_clean_rx_ring(9), igb_clean_all_rx_rings(9), igb_set_mac(9), igb_write_mc_addr_list(9), igb_set_rx_mode(9), igb_has_link(9), igb_check_lvmmc(9), igb_watchdog(9), igb_update_ring_itr(9), igb_update_itr(9), igb_tx_timeout(9), igb_get_stats64(9), igb_change_mtu(9), igb_update_stats(9), igb_set_uta(9), igb_intr_msi(9), igb_intr(9), igb_clean_tx_irq(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), igb_mii_ioctl(9), igb_ioctl(9), igb_io_error_detected(9), igb_io_slot_reset(9), igb_io_resume(9), igb_rar_set_index(9), igb_read_i2c_byte(9), igb_write_i2c_byte(9).

like?? that's the whole roster 😭 every single one of them got an invite to the party and we did not leave a single name off the list. iykyk πŸ’œ


and that's the page!! mwah πŸ’‹

cute lil sign-off bestie: this was igb_poll(9) from October 2026, hanging out in ./drivers/net/ethernet/intel/igb, straight out of the Kernel API Manual ✨ go read the source, she's not gonna explain herself twice πŸ§šβ€β™€οΈπŸŽ€

πŸ“¦ where this page comes from