ice_setup_mc_magic_wake(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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