ice_setup_mc_magic_wake(9)
π ice_setup_mc_magic_wake β from the Kernel API Manual, section 9 π
okay bestie, gather round, because this one is a tiny little function with a whole lot of lore. it lives in the Kernel API Manual (section 9, yes, the fun section) and honestly? it's giving "small but mighty" energy. β¨
πΈ NAME πΈ
ice_setup_mc_magic_wake β setup device to wake on multicast magic packet π
like, it literally sets your device up so it can wake up when a multicast magic packet shows up. sleepy little NIC, but make it responsive. π¦
β¨ SYNOPSIS β¨
void ice_setup_mc_magic_wake (struct ice_pf *pf );
no return value, no drama, just void. we respect that. π«Ά
π ARGUMENTS π
pfβ pointer to the PF struct. that's it. that's the whole argument list. iconic minimalism, honestly. π
π DESCRIPTION π
so what does it actually do? it issues the firmware command to enable multicast magic wake β yes, that's the real name, we're all being normal about it β and it makes sure of two things while it's at it:
- any locally administered address (LAA) is the one used for wake π₯ (no letting some other address sneak in there, we're loyal to the LAA)
- a PF reset doesn't undo the LAA π because nothing is worse than setting something up and then having a reset just... erase the vibes. not on this function's watch.
so it's basically the friend who makes the plan and makes sure the plan survives the group chat resetting. main character energy, no cap. π
π¦ SEE ALSO π¦
first up, the file it lives in β go read the source, bestie:
./drivers/net/ethernet/intel/ice/ice_main.c
and now... the friend list. it's long. it's glorious. it's a whole ecosystem of ice_* functions. every single one is here, exactly as written, because we do not skip the boring parts in this house π
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_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(9),
ice_open_internal(9), ice_stop(9), ice_features_check(9)
and that's the whole page, bestie. no cap, you now know everything ice_setup_mc_magic_wake(9) has to offer. π§π
kudos at the bottom go to the source path ./drivers/net/ethernet/intel/ice and the date October 2026 β that's where this page came from and when it was dated, so show them some love. πβ
π¦ 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