ice_open(9)
β¨ ice_open(9) β¨
okay so bestie, welcome to ice_open(9) from the Kernel API Manual β this is the page about the function that gets called when your network interface wakes up and decides to be a main character πΈ
π NAME π
ice_open β literally the function that gets called when a network interface becomes active. that's it, that's the vibe π¦
π SYNOPSIS π
int ice_open (struct net_device *netdev );
π ARGUMENTS π
netdevβ the network interface device structure π«Ά this is the netdev in question, the whole reason we're here
π DESCRIPTION π
okay so the open entry point β that's this one β gets called when a network interface is made active by the system, and "active" here means IFF_UP in case you were wondering π
and like, at this exact moment, a whole bunch of things happen. not me listing them all but here we go:
- all the resources needed for transmit and receive operations get allocated πΈ
- the interrupt handler gets registered with the OS π¨
- the netdev watchdog gets enabled π
- and the stack gets notified that the interface is ready π«‘
it's giving "everything all at once" energy, fr fr.
Returns 0 on success, and a negative value on failure π (so like, negative = bad news, remember that)
π¦ SEE ALSO π¦
first up, the kernel file where all this lives iykyk:
Kernel file ./drivers/net/ethernet/intel/ice/ice_main.c
and now the extended universe, the whole friend group πΈ no cap, every single one:
ice_hw_to_dev(9)ice_get_tx_pending(9)ice_check_for_hang_subtask(9)ice_init_mac_fltr(9)ice_add_mac_to_sync_list(9)ice_add_mac_to_unsync_list(9)ice_vsi_fltr_changed(9)ice_set_promisc(9)ice_clear_promisc(9)ice_vsi_sync_fltr(9)ice_sync_fltr_subtask(9)ice_pf_dis_all_vsi(9)ice_prepare_for_reset(9)ice_do_reset(9)ice_reset_subtask(9)ice_print_topo_conflict(9)ice_print_link_msg(9)ice_vsi_link_event(9)ice_set_dflt_mib(9)ice_check_phy_fw_load(9)ice_check_module_power(9)ice_check_link_cfg_err(9)ice_link_event(9)ice_watchdog_subtask(9)ice_init_link_events(9)ice_handle_link_event(9)ice_aq_prep_for_event(9)ice_aq_wait_for_event(9)ice_aq_check_events(9)ice_aq_cancel_waiting_tasks(9)__ice_clean_ctrlq(9)ice_ctrlq_pending(9)ice_clean_adminq_subtask(9)ice_clean_mailboxq_subtask(9)ice_clean_sbq_subtask(9)ice_service_task_schedule(9)ice_service_task_complete(9)ice_service_task_stop(9)ice_service_task_restart(9)ice_service_timer(9)ice_mdd_maybe_reset_vf(9)ice_handle_mdd_event(9)ice_init_nvm_phy_type(9)ice_init_link_dflt_override(9)ice_init_phy_cfg_dflt_override(9)ice_init_phy_user_cfg(9)ice_phy_cfg(9)ice_check_media_subtask(9)ice_service_task(9)ice_set_ctrlq_len(9)ice_schedule_reset(9)ice_vsi_ena_irq(9)ice_vsi_req_irq_msix(9)ice_xdp_alloc_setup_rings(9)ice_vsi_assign_bpf_prog(9)ice_map_xdp_rings(9)ice_unmap_xdp_rings(9)ice_prepare_xdp_rings(9)ice_destroy_xdp_rings(9)ice_vsi_rx_napi_schedule(9)ice_vsi_determine_xdp_res(9)ice_max_xdp_frame_size(9)ice_xdp_setup_prog(9)ice_xdp_safe_mode(9)ice_xdp(9)ice_ena_misc_vector(9)ice_ll_ts_intr(9)ice_misc_intr(9)ice_misc_intr_thread_fn(9)ice_dis_ctrlq_interrupts(9)ice_free_irq_msix_ll_ts(9)ice_free_irq_msix_misc(9)ice_ena_ctrlq_interrupts(9)ice_req_irq_msix_misc(9)ice_set_ops(9)ice_set_netdev_features(9)ice_fill_rss_lut(9)ice_pf_vsi_setup(9)ice_ctrl_vsi_setup(9)ice_lb_vsi_setup(9)ice_vlan_rx_add_vid(9)ice_vlan_rx_kill_vid(9)ice_rep_indr_tc_block_unbind(9)ice_tc_indir_block_unregister(9)ice_tc_indir_block_register(9)ice_get_avail_q_count(9)ice_get_avail_txq_count(9)ice_get_avail_rxq_count(9)ice_deinit_pf(9)ice_set_pf_caps(9)ice_init_pf(9)ice_is_wol_supported(9)ice_vsi_recfg_qs(9)ice_set_safe_mode_vlan_cfg(9)ice_log_pkg_init(9)ice_load_pkg(9)ice_verify_cacheline_size(9)ice_send_version(9)ice_init_fdir(9)ice_get_opt_fw_name(9)ice_request_fw(9)ice_init_tx_topology(9)ice_init_supported_rxdids(9)ice_init_ddp_config(9)ice_print_wake_reason(9)ice_register_netdev(9)ice_cfg_netdev(9)ice_load(9)ice_unload(9)ice_probe(9)ice_set_wake(9)ice_setup_mc_magic_wake(9)ice_remove(9)ice_shutdown(9)ice_prepare_for_shutdown(9)ice_reinit_interrupt_scheme(9)ice_suspend(9)ice_resume(9)ice_pci_err_detected(9)ice_pci_err_slot_reset(9)ice_pci_err_resume(9)ice_pci_err_reset_prepare(9)ice_pci_err_reset_done(9)ice_module_init(9)ice_module_exit(9)ice_set_mac_address(9)ice_set_rx_mode(9)ice_set_tx_maxrate(9)ice_fdb_add(9)ice_fdb_del(9)ice_fix_features(9)ice_set_rx_rings_vlan_proto(9)ice_set_vlan_offload_features(9)ice_set_vlan_filtering_features(9)ice_set_vlan_features(9)ice_set_loopback(9)ice_set_features(9)ice_vsi_vlan_setup(9)ice_vsi_cfg_lan(9)ice_init_moderation(9)ice_napi_enable_all(9)ice_up_complete(9)ice_up(9)ice_fetch_u64_tx_stats(9)ice_fetch_u64_rx_stats(9)ice_update_vsi_tx_ring_stats(9)ice_update_vsi_rx_ring_stats(9)ice_update_vsi_ring_stats(9)ice_update_vsi_stats(9)ice_update_pf_stats(9)ice_get_stats64(9)ice_napi_disable_all(9)ice_vsi_dis_irq(9)ice_down(9)ice_down_up(9)ice_vsi_setup_tx_rings(9)ice_vsi_setup_rx_rings(9)ice_vsi_open_ctrl(9)ice_vsi_open(9)ice_vsi_release_all(9)ice_vsi_rebuild_by_type(9)ice_update_pf_netdev_link(9)ice_rebuild(9)ice_change_mtu(9)ice_set_rss_lut(9)ice_set_rss_key(9)ice_get_rss_lut(9)ice_get_rss_key(9)ice_get_rss(9)ice_set_rss_hfunc(9)ice_bridge_getlink(9)ice_vsi_update_bridge_mode(9)ice_bridge_setlink(9)ice_tx_timeout(9)ice_setup_tc_cls_flower(9)ice_setup_tc_block_cb_ingress(9)ice_setup_tc_block_cb_egress(9)ice_validate_mqprio_qopt(9)ice_add_vsi_to_fdir(9)ice_add_channel(9)ice_chnl_cfg_res(9)ice_cfg_chnl_all_res(9)ice_setup_hw_channel(9)ice_setup_channel(9)ice_set_bw_limit(9)ice_create_q_channel(9)ice_rem_all_chnl_fltrs(9)ice_remove_q_channels(9)ice_rebuild_channels(9)ice_create_q_channels(9)ice_setup_tc_mqprio_qdisc(9)ice_cfg_txtime(9)ice_offload_txtime(9)ice_open_internal(9)ice_stop(9)ice_features_check(9)
like, that's the whole squad π go read them, i'm obsessed.
and that's the page bestie!! π source is ./drivers/net/ethernet/intel/ice, dated October 2026, and the manual tag is ice_open(9) β ok bye, mwah π
β¨
π¦ 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