__igc_close(9)
π __igc_close(9) β like, the Kernel API Manual page, bestie β¨
okay so this is __igc_close(9) from the Kernel API Manual, and honestly? she's a whole mood. short, sweet, does exactly one job, and refuses to fail. icon behavior fr fr. let's get into it π
β¨ NAME β¨
__igc_close β disables a network interface. that's it. that's the tweet. π
π¦ SYNOPSIS π¦
int __igc_close (struct net_device *netdev , bool suspending );
yup that's the whole signature, no cap. returns an int, takes two args, and we'll get to both of them in a sec π«Ά
πΈ ARGUMENTS πΈ
netdevβ the network interface device structure, aka the whole entire main character of this operation. this is thestruct net_devicewe're shutting down πsuspendingβ aboolthat tells us whether the device is suspending. yes it's just a little boolean, but she matters, okay? π
π₯ DESCRIPTION π₯
okay so first thing's first: this function returns 0. literally always. it is not allowed to fail β like, that's the rule, periodt. so if you're out here expecting some dramatic error code, no ma'am, it's 0 and we move on π
so here's the vibe check on when this gets called: the close entry point fires when an interface gets de-activated by the OS. and here's the thing that lowkey matters β the hardware is still under the driver's control at that point, it just needs to be disabled. so we're not handing anything off, we're just powering down the party π§
how do we do that? a global MAC reset gets issued to stop the hardware, and then all transmit and receive resources get freed. tx, rx, all of it β released. clean slate, no crumbs left behind πβ¨
ngl this is the "lights off, doors locked, everyone out" moment for the NIC. and she cannot fail. that's the whole legend.
π SEE ALSO π
alright bestie, buckle up, because this reference list is long β she's giving "my mutuals" energy. every single one of these is here, exactly as written, no skips π
Kernel file ./drivers/net/ethernet/intel/igc/igc_main.c
then the extended fam:
igc_power_up_link(9)igc_release_hw_control(9)igc_get_hw_control(9)igc_clean_tx_ring(9)igc_free_tx_resources(9)igc_free_all_tx_resources(9)igc_clean_all_tx_rings(9)igc_disable_all_tx_rings_hw(9)igc_setup_tx_resources(9)igc_setup_all_tx_resources(9)igc_clean_rx_ring(9)igc_clean_all_rx_rings(9)igc_free_rx_resources(9)igc_free_all_rx_resources(9)igc_setup_rx_resources(9)igc_setup_all_rx_resources(9)igc_configure_rx_ring(9)igc_configure_rx(9)igc_configure_tx_ring(9)igc_configure_tx(9)igc_setup_mrqc(9)igc_setup_rctl(9)igc_setup_tctl(9)igc_set_mac_filter_hw(9)igc_clear_mac_filter_hw(9)igc_set_mac(9)igc_write_mc_addr_list(9)igc_process_skb_fields(9)igc_add_rx_frag(9)igc_reuse_rx_page(9)igc_is_non_eop(9)igc_cleanup_headers(9)igc_alloc_rx_buffers(9)igc_clean_tx_irq(9)igc_add_mac_filter(9)igc_del_mac_filter(9)igc_add_vlan_prio_filter(9)igc_del_vlan_prio_filter(9)igc_add_etype_filter(9)igc_del_etype_filter(9)igc_get_nfc_rule(9)igc_del_nfc_rule(9)igc_add_nfc_rule(9)igc_enable_empty_addr_recv(9)igc_set_rx_mode(9)igc_configure(9)igc_write_ivar(9)igc_configure_msix(9)igc_irq_enable(9)igc_irq_disable(9)igc_reset_q_vector(9)igc_free_q_vector(9)igc_free_q_vectors(9)igc_update_itr(9)igc_set_interrupt_capability(9)igc_update_ring_itr(9)igc_cache_ring_register(9)igc_poll(9)igc_alloc_q_vector(9)igc_alloc_q_vectors(9)igc_init_interrupt_scheme(9)igc_sw_init(9)igc_up(9)igc_update_stats(9)igc_down(9)igc_change_mtu(9)igc_tx_timeout(9)igc_get_stats64(9)igc_msix_other(9)igc_request_msix(9)igc_clear_interrupt_scheme(9)igc_has_link(9)igc_watchdog(9)igc_intr_msi(9)igc_intr(9)igc_request_irq(9)__igc_open(9)igc_probe(9)igc_remove(9)igc_io_error_detected(9)igc_io_slot_reset(9)igc_io_resume(9)igc_reinit_queues(9)igc_get_hw_dev(9)igc_init_module(9)igc_exit_module(9)
like, okay, go off igc family π
and that's the whole page!! no options section, no env vars, no exit statuses β she's a short one and we love her for it π
source + date drop, typed delicately: this lil beauty lives in ./drivers/net/ethernet/intel/igc, dated October 2026, and it's __igc_close(9) forever and always. byeee bestie, see u at the next syscall π«Άππ
π¦ 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