cfg80211: return channel noise via survey API
This patch implements the NL80211_CMD_GET_SURVEY command and an get_survey() ops that a driver can implement. The goal of this command is to allow a drivers to report channel survey data (e.g. channel noise, channel occupation). For now, only the mechanism to report back channel noise has been implemented. In future, there will either be a survey-trigger command --- or the existing scan-trigger command will be enhanced. This will allow user-space to request survey for arbitrary channels. Note: any driver that cannot report channel noise should not report any value at all, e.g. made-up -92 dBm. Signed-off-by: Holger Schurig <holgerschurig@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a043897a31
commit
61fa713c75
3 changed files with 173 additions and 0 deletions
|
@ -160,6 +160,11 @@
|
|||
* @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
|
||||
* partial scan results may be available
|
||||
*
|
||||
* @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation
|
||||
* or noise level
|
||||
* @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
|
||||
* NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
|
||||
*
|
||||
* @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
|
||||
* has been changed and provides details of the request information
|
||||
* that caused the change such as who initiated the regulatory request
|
||||
|
@ -341,6 +346,9 @@ enum nl80211_commands {
|
|||
|
||||
NL80211_CMD_SET_WIPHY_NETNS,
|
||||
|
||||
NL80211_CMD_GET_SURVEY,
|
||||
NL80211_CMD_NEW_SURVEY_RESULTS,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
|
@ -586,6 +594,10 @@ enum nl80211_commands {
|
|||
*
|
||||
* @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface
|
||||
*
|
||||
* @NL80211_ATTR_SURVEY_INFO: survey information about a channel, part of
|
||||
* the survey response for %NL80211_CMD_GET_SURVEY, nested attribute
|
||||
* containing info as possible, see &enum survey_info.
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
|
@ -718,6 +730,8 @@ enum nl80211_attrs {
|
|||
|
||||
NL80211_ATTR_4ADDR,
|
||||
|
||||
NL80211_ATTR_SURVEY_INFO,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
@ -1120,6 +1134,26 @@ enum nl80211_reg_rule_flags {
|
|||
NL80211_RRF_NO_IBSS = 1<<8,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_survey_info - survey information
|
||||
*
|
||||
* These attribute types are used with %NL80211_ATTR_SURVEY_INFO
|
||||
* when getting information about a survey.
|
||||
*
|
||||
* @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
|
||||
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
|
||||
*/
|
||||
enum nl80211_survey_info {
|
||||
__NL80211_SURVEY_INFO_INVALID,
|
||||
NL80211_SURVEY_INFO_FREQUENCY,
|
||||
NL80211_SURVEY_INFO_NOISE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_SURVEY_INFO_AFTER_LAST,
|
||||
NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_mntr_flags - monitor configuration flags
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue