nl/cfg80211: force scan using an AP vif if requested
If the user wants to scan using a vif configured as AP, cfg80211 must give him a chance to do it, even if this will disrupt the stations performance due to off-channel scanning. To do so, this patch adds a 'force' flag to the SCAN_TRIGGER command which tells cfg80211 to perform the scanning operation even if the vif is an AP and the beaconing has already started. Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
		
					parent
					
						
							
								4ee3e063f1
							
						
					
				
			
			
				commit
				
					
						5c95b940bd
					
				
			
		
					 3 changed files with 21 additions and 2 deletions
				
			
		|  | @ -3050,6 +3050,7 @@ enum nl80211_ap_sme_features { | |||
|  *	mode | ||||
|  * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan | ||||
|  * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported | ||||
|  * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif | ||||
|  */ | ||||
| enum nl80211_feature_flags { | ||||
| 	NL80211_FEATURE_SK_TX_STATUS			= 1 << 0, | ||||
|  | @ -3060,6 +3061,7 @@ enum nl80211_feature_flags { | |||
| 	NL80211_FEATURE_SAE				= 1 << 5, | ||||
| 	NL80211_FEATURE_LOW_PRIORITY_SCAN		= 1 << 6, | ||||
| 	NL80211_FEATURE_SCAN_FLUSH			= 1 << 7, | ||||
| 	NL80211_FEATURE_AP_SCAN				= 1 << 8, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  | @ -3103,10 +3105,16 @@ enum nl80211_connect_failed_reason { | |||
|  * | ||||
|  * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority | ||||
|  * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning | ||||
|  * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured | ||||
|  *	as AP and the beaconing has already been configured. This attribute is | ||||
|  *	dangerous because will destroy stations performance as a lot of frames | ||||
|  *	will be lost while scanning off-channel, therefore it must be used only | ||||
|  *	when really needed | ||||
|  */ | ||||
| enum nl80211_scan_flags { | ||||
| 	NL80211_SCAN_FLAG_LOW_PRIORITY			= 1<<0, | ||||
| 	NL80211_SCAN_FLAG_FLUSH				= 1<<1, | ||||
| 	NL80211_SCAN_FLAG_AP				= 1<<2, | ||||
| }; | ||||
| 
 | ||||
| #endif /* __LINUX_NL80211_H */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Antonio Quartulli
				Antonio Quartulli