* @he_obss_pd: OBSS Packet Detection settings
* @he_bss_color: BSS Color settings
* @he_oper: HE operation IE (or %NULL if HE isn't enabled)
+ * @beacon_tx_mode: can be set to tell the driver to sent the beacons in staggered
+ * or burst mode.
*/
struct cfg80211_ap_settings {
struct cfg80211_chan_def chandef;
struct ieee80211_he_obss_pd he_obss_pd;
struct cfg80211_he_bss_color he_bss_color;
struct ieee80211_multi_bssid multi_bssid;
+ enum nl80211_beacon_tx_mode beacon_tx_mode;
};
/**
*
* @NL80211_ATTR_MULTI_BSSID_COUNT: The number of BSSs inside the multi bssid IE.
*
+ * @NL80211_ATTR_BEACON_TX_MODE: Set the beacon tx mode to staggered or burst.
+ *
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
NL80211_ATTR_MULTI_BSSID_INDEX,
NL80211_ATTR_MULTI_BSSID_COUNT,
+ NL80211_ATTR_BEACON_TX_MODE,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
NL80211_MULTIPLE_BSSID_NON_TRANSMITTED,
};
+/**
+ * enum nl80211_beacon_tx_mode - Beacon tx mode settings
+ *
+ * @BEACON_TX_MODE_DEFAULT: The beacons shall be sent out in its default mode
+ * @BEACON_TX_MODE_STAGGERED: The beacons shall be sent out in staggered mode
+ * @BEACON_TX_MODE_BURST: The beacons shall be sent out in burst mode
+ * beacon
+ */
+enum nl80211_beacon_tx_mode {
+ NL80211_BEACON_TX_MODE_STAGGERED = 0,
+ NL80211_BEACON_TX_MODE_BURST,
+};
+
/**
* enum nl80211_peer_measurement_ftm_resp - FTM response attributes
* @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid
[NL80211_ATTR_MULTI_BSSID_PARENT] = { .type = NLA_U32 },
[NL80211_ATTR_MULTI_BSSID_INDEX] = { .type = NLA_U32 },
[NL80211_ATTR_MULTI_BSSID_COUNT] = { .type = NLA_U32 },
+ [NL80211_ATTR_BEACON_TX_MODE] = NLA_POLICY_RANGE(NLA_U8,
+ NL80211_BEACON_TX_MODE_STAGGERED,
+ NL80211_BEACON_TX_MODE_BURST),
};
/* policy for the key attributes */
params.multi_bssid.count = nla_get_u32(
info->attrs[NL80211_ATTR_MULTI_BSSID_COUNT]);
+ if (info->attrs[NL80211_ATTR_BEACON_TX_MODE])
+ params.beacon_tx_mode =
+ nla_get_u8(info->attrs[NL80211_ATTR_BEACON_TX_MODE]);
+
nl80211_calculate_ap_params(¶ms);
if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT])