for_each_active_interface(9)
π for_each_active_interface(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this is the page for for_each_active_interface(9), and it's honestly one of the shortest little icon pages in the whole mac80211 saga. no cap. let's get into it π«Ά
πΈ NAME πΈ
for_each_active_interface β iterate active interfaces under wiphy mutex π
so basically it's a loop macro that walks the active interfaces, and it does the whole thing while holding the wiphy mutex. that's the vibe check right there. π₯
β¨ SYNOPSIS β¨
for_each_active_interface (vif , hw );
look at her. tiny. iconic. no notes. π
π ARGUMENTS π
vifβ the iterator variable π this is the one that goes round and round, being each interface in turn. she's the main character of the loop, fr fr.hwβ the HW to iterate for π like, which hardware are we doing this for? that one. the HW.
π¦ SEE ALSO π¦
okay so this list is literally the entire mac80211 universe in one place β do not skip it, i'm serious, every single one of these is part of the page πβ¨
- Kernel file
./include/net/mac80211.hIntroduction(9) - Calling mac80211 from interrupts(9)
- Warning(9)
- Frame format(9)
- mac80211 workqueue(9)
- mac80211 software tx queueing(9)
- HW timestamping(9)
- enum ieee80211_max_queues(9)
- enum ieee80211_ac_numbers(9)
- struct ieee80211_tx_queue_params(9)
- enum ieee80211_chanctx_change(9)
- struct ieee80211_chan_req(9)
- struct ieee80211_chanctx_conf(9)
- enum ieee80211_chanctx_switch_mode(9)
- struct ieee80211_vif_chanctx_switch(9)
- enum ieee80211_bss_change(9)
- enum ieee80211_event_type(9)
- enum ieee80211_rssi_event_data(9)
- struct ieee80211_rssi_event(9)
- enum ieee80211_mlme_event_data(9)
- enum ieee80211_mlme_event_status(9)
- struct ieee80211_mlme_event(9)
- struct ieee80211_ba_event(9)
- struct ieee80211_event(9)
- struct ieee80211_mu_group_data(9)
- struct ieee80211_ftm_responder_params(9)
- struct ieee80211_fils_discovery(9)
- struct ieee80211_parsed_tpe(9)
- struct ieee80211_bss_npca_params(9)
- struct ieee80211_bss_conf(9)
- struct ieee80211_nan_channel(9)
- struct ieee80211_nan_peer_map(9)
- struct ieee80211_nan_peer_sched(9)
- enum mac80211_tx_info_flags(9)
- enum mac80211_tx_control_flags(9)
- enum mac80211_tx_status_flags(9)
- enum mac80211_rate_control_flags(9)
- struct ieee80211_tx_rate(9)
- struct ieee80211_tx_info(9)
- struct ieee80211_tx_status(9)
- struct ieee80211_scan_ies(9)
- ieee80211_tx_info_clear_status(9)
- enum mac80211_rx_flags(9)
- enum mac80211_rx_encoding_flags(9)
- struct ieee80211_rx_status(9)
- enum ieee80211_conf_flags(9)
- enum ieee80211_conf_changed(9)
- enum ieee80211_smps_mode(9)
- struct ieee80211_conf(9)
- struct ieee80211_channel_switch(9)
- enum ieee80211_vif_flags(9)
- enum ieee80211_offload_flags(9)
- struct ieee80211_eml_params(9)
- struct ieee80211_nan_sched_cfg(9)
- struct ieee80211_vif_cfg(9)
- struct ieee80211_neg_ttlm(9)
- enum ieee80211_neg_ttlm_res(9)
- struct ieee80211_vif(9)
- ieee80211_vif_usable_links(9)
- ieee80211_vif_is_mld(9)
- ieee80211_vif_link_active(9)
- wdev_to_ieee80211_vif(9)
- ieee80211_vif_to_wdev(9)
- enum ieee80211_key_flags(9)
- struct ieee80211_key_conf(9)
- struct ieee80211_key_seq(9)
- enum set_key_cmd(9)
- enum ieee80211_sta_state(9)
- enum ieee80211_sta_rx_bandwidth(9)
- struct ieee80211_sta_rates(9)
- struct ieee80211_sta_txpwr(9)
- struct ieee80211_sta_aggregates(9)
- struct ieee80211_link_sta(9)
- struct ieee80211_sta(9)
- enum sta_notify_cmd(9)
- struct ieee80211_tx_control(9)
- struct ieee80211_txq(9)
- enum ieee80211_hw_flags(9)
- struct ieee80211_hw(9)
- struct ieee80211_scan_request(9)
- struct ieee80211_tdls_ch_sw_params(9)
- wiphy_to_ieee80211_hw(9)
- SET_IEEE80211_DEV(9)
- SET_IEEE80211_PERM_ADDR(9)
- ieee80211_free_txskb(9)
- ieee80211_purge_tx_queue(9)
- Hardware crypto acceleration(9)
- Powersave support(9)
- Beacon filter support(9)
- Spatial multiplexing power save(9)
- Frame filtering(9)
- AP support for powersaving clients(9)
- HW queue control(9)
- enum ieee80211_filter_flags(9)
- enum ieee80211_ampdu_mlme_action(9)
- struct ieee80211_ampdu_params(9)
- enum ieee80211_frame_release_type(9)
- enum ieee80211_rate_control_changed(9)
- enum ieee80211_roc_type(9)
- enum ieee80211_reconfig_type(9)
- struct ieee80211_prep_tx_info(9)
- struct ieee80211_ops(9)
- ieee80211_alloc_hw_nm(9)
- ieee80211_alloc_hw(9)
- ieee80211_register_hw(9)
- struct ieee80211_tpt_blink(9)
- enum ieee80211_tpt_led_trigger_flags(9)
- ieee80211_get_tx_led_name(9)
- ieee80211_get_rx_led_name(9)
- ieee80211_get_assoc_led_name(9)
- ieee80211_get_radio_led_name(9)
- ieee80211_create_tpt_led_trigger(9)
- ieee80211_unregister_hw(9)
- ieee80211_free_hw(9)
- ieee80211_restart_hw(9)
- ieee80211_rx_list(9)
- ieee80211_rx_napi(9)
- ieee80211_rx(9)
- ieee80211_rx_irqsafe(9)
- ieee80211_rx_ni(9)
- ieee80211_sta_ps_transition(9)
- ieee80211_sta_ps_transition_ni(9)
- ieee80211_sta_pspoll(9)
- ieee80211_sta_uapsd_trigger(9)
- ieee80211_sta_set_buffered(9)
- ieee80211_get_tx_rates(9)
- ieee80211_tx_rate_update(9)
- ieee80211_tx_status_skb(9)
- ieee80211_tx_status_ext(9)
- ieee80211_tx_status_noskb(9)
- ieee80211_tx_status_ni(9)
- ieee80211_tx_status_irqsafe(9)
- ieee80211_report_low_ack(9)
- struct ieee80211_mutable_offsets(9)
- ieee80211_beacon_get_template(9)
- ieee80211_beacon_get_template_ema_index(9)
- struct ieee80211_ema_beacons(9)
- ieee80211_beacon_get_template_ema_list(9)
- ieee80211_beacon_free_ema_list(9)
- ieee80211_beacon_get_tim(9)
- ieee80211_beacon_get(9)
- ieee80211_beacon_update_cntdwn(9)
- ieee80211_beacon_set_cntdwn(9)
- ieee80211_csa_finish(9)
- ieee80211_beacon_cntdwn_is_complete(9)
- ieee80211_color_change_finish(9)
- ieee80211_proberesp_get(9)
- ieee80211_pspoll_get(9)
- ieee80211_nullfunc_get(9)
- ieee80211_probereq_get(9)
- ieee80211_rts_get(9)
- ieee80211_rts_duration(9)
- ieee80211_ctstoself_get(9)
- ieee80211_ctstoself_duration(9)
- ieee80211_generic_frame_duration(9)
- ieee80211_get_buffered_bc(9)
- ieee80211_get_tkip_p1k_iv(9)
- ieee80211_get_tkip_p1k(9)
- ieee80211_get_tkip_rx_p1k(9)
- ieee80211_get_tkip_p2k(9)
- ieee80211_tkip_add_iv(9)
- ieee80211_get_key_rx_seq(9)
- ieee80211_set_key_rx_seq(9)
- ieee80211_gtk_rekey_add(9)
- ieee80211_gtk_rekey_notify(9)
- ieee80211_key_mic_failure(9)
- ieee80211_key_replay(9)
- ieee80211_wake_queue(9)
- ieee80211_stop_queue(9)
- ieee80211_queue_stopped(9)
- ieee80211_stop_queues(9)
- ieee80211_wake_queues(9)
- ieee80211_scan_completed(9)
- ieee80211_sched_scan_results(9)
- ieee80211_sched_scan_stopped(9)
- enum ieee80211_interface_iteration_flags(9)
- ieee80211_iterate_interfaces(9)
- ieee80211_iterate_active_interfaces(9)
- ieee80211_iterate_active_interfaces_atomic(9)
- for_each_interface(9)
- ieee80211_iterate_active_interfaces_mtx(9)
- ieee80211_iterate_stations_atomic(9)
- for_each_station(9)
- ieee80211_iterate_stations_mtx(9)
- ieee80211_queue_work(9)
- ieee80211_queue_delayed_work(9)
- ieee80211_refresh_tx_agg_session_timer(9)
- ieee80211_start_tx_ba_session(9)
- ieee80211_start_tx_ba_cb_irqsafe(9)
- ieee80211_stop_tx_ba_session(9)
- ieee80211_stop_tx_ba_cb_irqsafe(9)
- ieee80211_find_sta(9)
- ieee80211_find_sta_by_ifaddr(9)
- ieee80211_find_sta_by_link_addrs(9)
- ieee80211_sta_block_awake(9)
- ieee80211_sta_eosp(9)
- ieee80211_send_eosp_nullfunc(9)
- ieee80211_sta_recalc_aggregates(9)
- ieee80211_sta_register_airtime(9)
- ieee80211_txq_airtime_check(9)
- ieee80211_txq_aql_pending(9)
- ieee80211_iter_keys(9)
- ieee80211_iter_keys_rcu(9)
- ieee80211_iter_chan_contexts_atomic(9)
- ieee80211_iter_chan_contexts_mtx(9)
- ieee80211_ap_probereq_get(9)
- ieee80211_beacon_loss(9)
- ieee80211_connection_loss(9)
- ieee80211_disconnect(9)
- ieee80211_resume_disconnect(9)
- ieee80211_hw_restart_disconnect(9)
- ieee80211_cqm_rssi_notify(9)
- ieee80211_cqm_beacon_loss_notify(9)
- ieee80211_radar_detected(9)
- ieee80211_chswitch_done(9)
- ieee80211_channel_switch_disconnect(9)
- ieee80211_request_smps(9)
- ieee80211_ready_on_channel(9)
- ieee80211_remain_on_channel_expired(9)
- ieee80211_stop_rx_ba_session(9)
- ieee80211_mark_rx_ba_filtered_frames(9)
- ieee80211_send_bar(9)
- ieee80211_manage_rx_ba_offl(9)
- ieee80211_start_rx_ba_session_offl(9)
- ieee80211_stop_rx_ba_session_offl(9)
- ieee80211_rx_ba_timer_expired(9)
- struct ieee80211_tx_rate_control(9)
- enum rate_control_capabilities(9)
- rate_control_set_rates(9)
- ieee80211_get_he_iftype_cap_vif(9)
- ieee80211_get_he_6ghz_capa_vif(9)
- ieee80211_get_eht_iftype_cap_vif(9)
- ieee80211_get_uhr_iftype_cap_vif(9)
- ieee80211_update_mu_groups(9)
- ieee80211_ave_rssi(9)
- ieee80211_calculate_rx_timestamp(9)
- ieee80211_report_wowlan_wakeup(9)
- ieee80211_tx_prepare_skb(9)
- ieee80211_parse_tx_radiotap(9)
- struct ieee80211_noa_data(9)
- ieee80211_parse_p2p_noa(9)
- ieee80211_update_p2p_noa(9)
- ieee80211_tdls_oper_request(9)
- ieee80211_reserve_tid(9)
- ieee80211_unreserve_tid(9)
- ieee80211_tx_dequeue(9)
- ieee80211_tx_dequeue_ni(9)
- ieee80211_handle_wake_tx_queue(9)
- ieee80211_next_txq(9)
- ieee80211_txq_schedule_start(9)
- ieee80211_schedule_txq(9)
- ieee80211_return_txq(9)
- ieee80211_txq_may_transmit(9)
- ieee80211_txq_get_depth(9)
- ieee80211_nan_func_terminated(9)
- ieee80211_nan_func_match(9)
- ieee80211_nan_sched_update_done(9)
- ieee80211_nan_cluster_joined(9)
- ieee80211_nan_try_evacuate(9)
- ieee80211_calc_rx_airtime(9)
- ieee80211_calc_tx_airtime(9)
- ieee80211_get_fils_discovery_tmpl(9)
- ieee80211_get_unsol_bcast_probe_resp_tmpl(9)
- ieee80211_obss_color_collision_notify(9)
- ieee80211_is_tx_data(9)
- ieee80211_set_active_links(9)
- ieee80211_set_active_links_async(9)
- ieee80211_send_teardown_neg_ttlm(9)
- ieee80211_chan_width_to_rx_bw(9)
- ieee80211_prepare_rx_omi_bw(9)
- ieee80211_finalize_rx_omi_bw(9)
- ieee80211_vif_nan_started(9)
- ieee80211_encrypt_tx_skb(9)
bestie moment: this macro iterates under the wiphy mutex, so keep that in mind when you're looping, okay? that's literally the whole name of the page. π
and that's the page!! 273 see-also entries and like four lines of actual content, which is so on brand honestly. ππ
β signed off from ./include/net π, dated October 2026 β¨, and yes this was the for_each_active_interface(9) page, 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