cfg80211: support virtual interfaces with different beacon intervals
This commit provides a mechanism for the host drivers to advertise the support for different beacon intervals among the respective interface combinations in a group, through NL80211_IFACE_COMB_BI_MIN_GCD (u32). This value will be compared against GCD of all beaconing interfaces of matching combinations. If the driver doesn't advertise this value, the old behaviour where all beacon intervals must be identical is retained. If it is specified, then any beacon interval for an interface in the interface combination as well as the GCD of all active beacon intervals in the combination must be greater or equal to this value. Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com> [change commit message, some variable names, small other things] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
e227300c83
commit
0c317a02ca
@@ -4280,6 +4280,9 @@ enum nl80211_iface_limit_attrs {
|
||||
* of supported channel widths for radar detection.
|
||||
* @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
|
||||
* of supported regulatory regions for radar detection.
|
||||
* @NL80211_IFACE_COMB_BI_MIN_GCD: u32 attribute specifying the minimum GCD of
|
||||
* different beacon intervals supported by all the interface combinations
|
||||
* in this group (if not present, all beacon intervals be identical).
|
||||
* @NUM_NL80211_IFACE_COMB: number of attributes
|
||||
* @MAX_NL80211_IFACE_COMB: highest attribute number
|
||||
*
|
||||
@@ -4287,8 +4290,8 @@ enum nl80211_iface_limit_attrs {
|
||||
* limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
|
||||
* => allows an AP and a STA that must match BIs
|
||||
*
|
||||
* numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8
|
||||
* => allows 8 of AP/GO
|
||||
* numbers = [ #{AP, P2P-GO} <= 8 ], BI min gcd, channels = 1, max = 8,
|
||||
* => allows 8 of AP/GO that can have BI gcd >= min gcd
|
||||
*
|
||||
* numbers = [ #{STA} <= 2 ], channels = 2, max = 2
|
||||
* => allows two STAs on different channels
|
||||
@@ -4314,6 +4317,7 @@ enum nl80211_if_combination_attrs {
|
||||
NL80211_IFACE_COMB_NUM_CHANNELS,
|
||||
NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
|
||||
NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
|
||||
NL80211_IFACE_COMB_BI_MIN_GCD,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_IFACE_COMB,
|
||||
|
Reference in New Issue
Block a user