STRUCT IWL_MLD_VIF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_mld_vif(9) β€” the kernel API manual, bestie edition πŸ’–

okay so this is a page from the Kernel API Manual (that's the manual name, iykyk) and it's all about struct iwl_mld_vif, which lowkey runs the whole virtual interface situation. sit down, grab a strawberry πŸ“, we're gonna go through it together.


✨ NAME ✨

struct iwl_mld_vif β€” virtual interface (MAC context) configuration parameters. literally the vibe-check container for a vif's MAC context settings πŸ’…


🌸 SYNOPSIS 🌸

here's the whole thing, no crumbs left behind, copy-paste energy:

struct iwl_mld_vif {
    struct {
      u8 fw_id;
      struct iwl_mld_session_protect session_protect;
      struct ieee80211_sta *ap_sta;
      bool authorized;
      u8 num_associated_stas;
      bool ap_ibss_active;
      enum iwl_mld_cca_40mhz_wa_status cca_40mhz_workaround;
  #ifdef CONFIG_IWLWIFI_DEBUGFS;
      bool beacon_inject_active;
  #endif;
      u8 low_latency_causes;
      time64_t last_link_activation_time;
    };
    struct iwl_mld *mld;
    struct iwl_mld_link deflink;
    struct iwl_mld_link *link[IEEE80211_MLD_MAX_NUM_LINKS];
    struct {
      struct iwl_mld_nan_link links[IWL_FW_MAX_LINKS];
      bool mac_added;
      struct iwl_mld_int_sta bcast_sta;
      struct iwl_mld_int_sta mgmt_sta;
      struct iwl_mld_int_sta mcast_data_sta;
      struct ieee80211_key_conf *tx_igtk;
    } nan;
    struct iwl_mld_emlsr emlsr;
  #ifdef CONFIG_PM_SLEEP;
    struct iwl_mld_wowlan_data wowlan_data;
  #endif;
  #ifdef CONFIG_IWLWIFI_DEBUGFS;
    bool use_ps_poll;
    bool disable_bf;
    struct dentry *dbgfs_slink;
  #endif;
    enum iwl_roc_activity roc_activity;
    struct iwl_mld_int_sta aux_sta;
    struct wiphy_delayed_work mlo_scan_start_wk;
 };

πŸ¦‹ Members πŸ¦‹

okay now the member-by-member tour, main character energy for each one:

  • {unnamed_struct} β€” anonymous. that's it, that's the whole description. mysterious. iconique. πŸ™ˆ
  • fw_id β€” fw id of the mac context.
  • session_protect β€” session protection parameters.
  • ap_sta β€” pointer to AP sta, for easier access to it. Relevant only for STA vifs.
  • authorized β€” indicates the AP station was set to authorized.
  • num_associated_stas β€” number of associated STAs. Relevant only for AP mode.
  • ap_ibss_active β€” whether the AP/IBSS was started.
  • cca_40mhz_workaround β€” When we are connected in 2.4 GHz and 40 MHz, and the environment is too loaded, we work around this by reconnecting to the same AP with 20 MHz. This manages the status of the workaround. (a whole little glow-up arc for your connection ✨)
  • beacon_inject_active β€” indicates an active debugfs beacon ie injection.
  • low_latency_causes β€” bit flags, indicating the causes for low-latency, see iwl_mld_low_latency_cause.
  • last_link_activation_time β€” last time a link was activated, for deferring MLO scans (to make them more reliable). it's giving "give it a sec, bestie" ⏳
  • mld β€” pointer to the mld structure.
  • deflink β€” default link data, for use in non-MLO,
  • link β€” reference to link data for each valid link, for use in MLO.
  • nan β€” NAN parameters.
  • nan.links β€” NAN links for FW (indexed by FW link ID).
  • nan.mac_added β€” track whether or not the MAC was added to FW.
  • nan.bcast_sta β€” internal station used for NAN synchronization and discovery activities. No queue is associated with it. (no queue, no problem 🫢)
  • nan.mgmt_sta β€” internal station used for NAN management frames, e.g., SDFs and NAFs.
  • nan.mcast_data_sta β€” internal station used for multicast NAN Data frames.
  • nan.tx_igtk β€” TX IGTK key for NAN, tracked separately since NAN does not use the vif links.
  • emlsr β€” information related to EMLSR.
  • wowlan_data β€” data used by the wowlan suspend flow.
  • use_ps_poll β€” use ps_poll frames.
  • disable_bf β€” disable beacon filter.
  • dbgfs_slink β€” debugfs symlink for this interface.
  • roc_activity β€” the id of the roc_activity running. Relevant for STA and p2p device only. Set to ROC_NUM_ACTIVITIES when not in use.
  • aux_sta β€” station used for remain on channel. Used in P2P device.
  • mlo_scan_start_wk β€” worker to start a deferred MLO scan.

πŸ‘‘ SEE ALSO πŸ‘‘

go be nosy in these, bestie, they're all linked:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/mld/iface.h enum iwl_mld_emlsr_blocked(9), enum iwl_mld_emlsr_exit(9), struct iwl_mld_emlsr(9)

aaaand that's the page!! πŸŽ€ ngl you ate that whole struct. this one came from ./drivers/net/wireless/intel/i... (yes that's the truncated source path, the manpage really does cut it off like that 😭) and it's dated October 2026, so mark your calendar and stan struct iwl_mld_vif(9) forever. periodt. πŸ’…πŸ”₯🌈

πŸ“¦ where this page comes from