__igb_close(9)
π
__igb_close (9) β from the Kernel API Manual, bestie β¨
okay so picture this: it's giving kernel-internal, section 9, and the whole thing lives in the Kernel API Manual. this page? it's about turning a network interface OFF. gracefully. iconically. with zero drama. let's get into it π
β¨ NAME β¨
__igb_close β literally just disables a network interface. that's the whole vibe. no cap. π¦
πΈ SYNOPSIS πΈ
int __igb_close (struct net_device *netdev , bool suspending );
look at her. three tokens, one return type, zero nonsense. slay π
π ARGUMENTS π
netdevβ the network interface device structure. like, the actual thing we're shutting down. main character energy fr.suspendingβ aboolthat tells you we're in a suspend call. so like, is this a "power nap" close or a "goodnight forever" close? this flag knows π«Ά
π DESCRIPTION π
it returns 0. that's it. that's the return value. this function is not allowed to fail β the kernel said no failing today, bestie, and honestly? respect β¨
the close entry point gets called when an interface is de-activated by the OS. key detail: the hardware is still under the driver's control but it needs to be disabled. so we're not yeeting the hardware out of our lives, we're just... putting it in time-out π
what actually happens: a global MAC reset is issued to stop the hardware, and then all transmit and receive resources are freed. like a full closet clean-out but for TX and RX. obsessed with the efficiency π§
π¦ SEE ALSO π¦
the kernel file, first of all:
./drivers/net/ethernet/intel/igb/igb_main.c
and then every single sibling in the family, because this driver has a LOT of relatives and we're not skipping a single one (iykyk):
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_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_poll(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)
that's the whole group chat, nobody left on read π
ngl, the only thing you need to remember is: it always returns 0, and it is not allowed to fail. that's not a suggestion, that's the rule π
and that's the page, bestie π«Ά this one came from ./drivers/net/ethernet/intel/igb, dated October 2026, and yeah β __igb_close(9) is still the moment, still the icon, still returning 0 with her whole chest π₯π
π¦ 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