STRUCT QLINK_RANDOM_MAC_ADDR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct qlink_random_mac_addr β€” bestie, this is the data that rides along inside the QTN_TLV_ID_RANDOM_MAC_ADDR TLV πŸ’…

(also hi, you're reading the Kernel API Manual, welcome to the function-docs side of the group chat 🫢)


🌸 SYNOPSIS 🌸

struct qlink_random_mac_addr {
    u8 mac_addr[ETH_ALEN];
    u8 mac_addr_mask[ETH_ALEN];
 };

okay so it's literally just two u8 arrays, both ETH_ALEN long, no cap. tiny struct, main character energy πŸ‘‘


πŸŽ€ Members πŸŽ€

  • mac_addr β€” the MAC address you're using with randomisation ✨
  • mac_addr_mask β€” the MAC address mask that goes with the randomisation. and here's the rules, bestie, listen up: bits that are 0 in the mask should be randomised, and bits that are 1 should be taken from the mac_addr 🧚 like, the mask literally tells you which bits are "do whatever" and which are "copy from home" πŸ’–

πŸ¦‹ Description πŸ¦‹

So what does it actually do? It specifies the MAC address mask/value pair, and that's what gets used for generating a random MAC address during scan πŸ”₯ that's it, that's the vibe check, periodt.

ngl this one's short, but the mask-vs-value bit-flipping rule above is the whole personality β€” get that backwards and your randomisation is giving chaos πŸ’€

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/net/wireless/quantenna/qtnfmac/qlink.h β€” and then the whole extended fam, like, every single one of them 🫢

  • enum qlink_msg_type(9)
  • struct qlink_msg_header(9)
  • enum qlink_hw_capab(9)
  • enum qlink_driver_capab(9)
  • struct qlink_intf_info(9)
  • struct qlink_channel(9)
  • struct qlink_chandef(9)
  • struct qlink_sta_info_state(9)
  • enum qlink_sr_ctrl_flags(9)
  • struct qlink_sr_params(9)
  • enum qlink_cmd_type(9)
  • struct qlink_cmd(9)
  • struct qlink_cmd_init_fw(9)
  • struct qlink_cmd_manage_intf(9)
  • struct qlink_cmd_mgmt_frame_register(9)
  • struct qlink_cmd_frame_tx(9)
  • struct qlink_cmd_get_sta_info(9)
  • struct qlink_cmd_add_key(9)
  • struct qlink_cmd_set_def_key(9)
  • struct qlink_cmd_set_def_mgmt_key(9)
  • struct qlink_cmd_change_sta(9)
  • struct qlink_cmd_del_sta(9)
  • struct qlink_cmd_connect(9)
  • struct qlink_cmd_external_auth(9)
  • struct qlink_cmd_disconnect(9)
  • struct qlink_cmd_updown(9)
  • enum qlink_band(9)
  • struct qlink_cmd_band_info_get(9)
  • struct qlink_cmd_get_chan_stats(9)
  • enum qlink_reg_initiator(9)
  • enum qlink_user_reg_hint_type(9)
  • struct qlink_cmd_reg_notify(9)
  • enum qlink_chan_sw_flags(9)
  • struct qlink_cmd_chan_switch(9)
  • enum qlink_hidden_ssid(9)
  • struct qlink_cmd_start_ap(9)
  • struct qlink_cmd_start_cac(9)
  • struct qlink_acl_data(9)
  • enum qlink_pm_mode(9)
  • struct qlink_cmd_pm_set(9)
  • enum qlink_txpwr_op(9)
  • struct qlink_cmd_txpwr(9)
  • enum qlink_wowlan_trigger(9)
  • struct qlink_cmd_wowlan_set(9)
  • struct qlink_cmd_ndev_event(9)
  • struct qlink_cmd_ndev_changeupper(9)
  • enum qlink_scan_flags(9)
  • struct qlink_cmd_scan(9)
  • struct qlink_cmd_update_owe(9)
  • struct qlink_resp(9)
  • struct qlink_resp_init_fw(9)
  • enum qlink_dfs_regions(9)
  • struct qlink_resp_get_mac_info(9)
  • struct qlink_resp_get_hw_info(9)
  • struct qlink_resp_manage_intf(9)
  • struct qlink_resp_get_sta_info(9)
  • struct qlink_resp_band_info_get(9)
  • struct qlink_resp_get_chan_stats(9)
  • struct qlink_resp_channel_get(9)
  • struct qlink_resp_txpwr(9)
  • struct qlink_event(9)
  • struct qlink_event_sta_assoc(9)
  • struct qlink_event_sta_deauth(9)
  • struct qlink_event_bss_join(9)
  • struct qlink_event_bss_leave(9)
  • struct qlink_event_freq_change(9)
  • struct qlink_event_rxmgmt(9)
  • struct qlink_event_scan_result(9)
  • enum qlink_scan_complete_flags(9)
  • struct qlink_event_scan_complete(9)
  • struct qlink_event_radar(9)
  • struct qlink_event_external_auth(9)
  • struct qlink_event_mic_failure(9)
  • struct qlink_event_update_owe(9)
  • enum qlink_tlv_id(9)
  • enum qlink_reg_rule_flags(9)
  • struct qlink_tlv_reg_rule(9)
  • struct qlink_tlv_channel(9)
  • struct qlink_tlv_chandef(9)
  • struct qlink_tlv_ie_set(9)
  • struct qlink_tlv_ext_ie(9)
  • struct qlink_tlv_iftype_data(9)
  • enum qlink_chan_stat(9)
  • struct qlink_chan_stats(9)
  • enum qlink_sta_info(9)
  • struct qlink_sta_info_rate(9)
  • struct qlink_sta_stats(9)
  • struct qlink_wowlan_capab_data(9)
  • struct qlink_wowlan_support(9)

slay, you made it to the end of the list πŸ’€πŸ‘‘


and that's the whole page, bestie πŸ“ sign-off time: this lil doc came from ./drivers/net/wireless/quanten... (that's how it's written, don't come for me 😭), dated October 2026. iykyk πŸ’–βœ¨

πŸ“¦ where this page comes from