Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
This commit is contained in:
@@ -131,6 +131,8 @@
|
||||
|
||||
#define IEEE80211_MAX_MESH_ID_LEN 32
|
||||
|
||||
#define IEEE80211_NUM_TIDS 16
|
||||
|
||||
#define IEEE80211_QOS_CTL_LEN 2
|
||||
/* 1d tag mask */
|
||||
#define IEEE80211_QOS_CTL_TAG1D_MASK 0x0007
|
||||
|
||||
@@ -3593,6 +3593,25 @@ bool cfg80211_can_beacon_sec_chan(struct wiphy *wiphy,
|
||||
void cfg80211_ch_switch_notify(struct net_device *dev, int freq,
|
||||
enum nl80211_channel_type type);
|
||||
|
||||
/*
|
||||
* cfg80211_tdls_oper_request - request userspace to perform TDLS operation
|
||||
* @dev: the device on which the operation is requested
|
||||
* @peer: the MAC address of the peer device
|
||||
* @oper: the requested TDLS operation (NL80211_TDLS_SETUP or
|
||||
* NL80211_TDLS_TEARDOWN)
|
||||
* @reason_code: the reason code for teardown request
|
||||
* @gfp: allocation flags
|
||||
*
|
||||
* This function is used to request userspace to perform TDLS operation that
|
||||
* requires knowledge of keys, i.e., link setup or teardown when the AP
|
||||
* connection uses encryption. This is optional mechanism for the driver to use
|
||||
* if it can automatically determine when a TDLS link could be useful (e.g.,
|
||||
* based on traffic and signal strength for a peer).
|
||||
*/
|
||||
void cfg80211_tdls_oper_request(struct net_device *dev, const u8 *peer,
|
||||
enum nl80211_tdls_operation oper,
|
||||
u16 reason_code, gfp_t gfp);
|
||||
|
||||
/*
|
||||
* cfg80211_calculate_bitrate - calculate actual bitrate (in 100Kbps units)
|
||||
* @rate: given rate_info to calculate bitrate from
|
||||
|
||||
+37
-2
@@ -711,10 +711,13 @@ ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info)
|
||||
* the frame.
|
||||
* @RX_FLAG_FAILED_PLCP_CRC: Set this flag if the PCLP check failed on
|
||||
* the frame.
|
||||
* @RX_FLAG_MACTIME_MPDU: The timestamp passed in the RX status (@mactime
|
||||
* @RX_FLAG_MACTIME_START: The timestamp passed in the RX status (@mactime
|
||||
* field) is valid and contains the time the first symbol of the MPDU
|
||||
* was received. This is useful in monitor mode and for proper IBSS
|
||||
* merging.
|
||||
* @RX_FLAG_MACTIME_END: The timestamp passed in the RX status (@mactime
|
||||
* field) is valid and contains the time the last symbol of the MPDU
|
||||
* (including FCS) was received.
|
||||
* @RX_FLAG_SHORTPRE: Short preamble was used for this frame
|
||||
* @RX_FLAG_HT: HT MCS was used and rate_idx is MCS index
|
||||
* @RX_FLAG_40MHZ: HT40 (40 MHz) was used
|
||||
@@ -745,7 +748,7 @@ enum mac80211_rx_flags {
|
||||
RX_FLAG_IV_STRIPPED = BIT(4),
|
||||
RX_FLAG_FAILED_FCS_CRC = BIT(5),
|
||||
RX_FLAG_FAILED_PLCP_CRC = BIT(6),
|
||||
RX_FLAG_MACTIME_MPDU = BIT(7),
|
||||
RX_FLAG_MACTIME_START = BIT(7),
|
||||
RX_FLAG_SHORTPRE = BIT(8),
|
||||
RX_FLAG_HT = BIT(9),
|
||||
RX_FLAG_40MHZ = BIT(10),
|
||||
@@ -759,6 +762,7 @@ enum mac80211_rx_flags {
|
||||
RX_FLAG_AMPDU_IS_LAST = BIT(18),
|
||||
RX_FLAG_AMPDU_DELIM_CRC_ERROR = BIT(19),
|
||||
RX_FLAG_AMPDU_DELIM_CRC_KNOWN = BIT(20),
|
||||
RX_FLAG_MACTIME_END = BIT(21),
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -785,12 +789,21 @@ enum mac80211_rx_flags {
|
||||
* @ampdu_reference: A-MPDU reference number, must be a different value for
|
||||
* each A-MPDU but the same for each subframe within one A-MPDU
|
||||
* @ampdu_delimiter_crc: A-MPDU delimiter CRC
|
||||
* @vendor_radiotap_bitmap: radiotap vendor namespace presence bitmap
|
||||
* @vendor_radiotap_len: radiotap vendor namespace length
|
||||
* @vendor_radiotap_align: radiotap vendor namespace alignment. Note
|
||||
* that the actual data must be at the start of the SKB data
|
||||
* already.
|
||||
* @vendor_radiotap_oui: radiotap vendor namespace OUI
|
||||
* @vendor_radiotap_subns: radiotap vendor sub namespace
|
||||
*/
|
||||
struct ieee80211_rx_status {
|
||||
u64 mactime;
|
||||
u32 device_timestamp;
|
||||
u32 ampdu_reference;
|
||||
u32 flag;
|
||||
u32 vendor_radiotap_bitmap;
|
||||
u16 vendor_radiotap_len;
|
||||
u16 freq;
|
||||
u8 rate_idx;
|
||||
u8 rx_flags;
|
||||
@@ -798,6 +811,9 @@ struct ieee80211_rx_status {
|
||||
u8 antenna;
|
||||
s8 signal;
|
||||
u8 ampdu_delimiter_crc;
|
||||
u8 vendor_radiotap_align;
|
||||
u8 vendor_radiotap_oui[3];
|
||||
u8 vendor_radiotap_subns;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -2192,6 +2208,14 @@ enum ieee80211_rate_control_changed {
|
||||
* @sta_remove: Notifies low level driver about removal of an associated
|
||||
* station, AP, IBSS/WDS/mesh peer etc. This callback can sleep.
|
||||
*
|
||||
* @sta_add_debugfs: Drivers can use this callback to add debugfs files
|
||||
* when a station is added to mac80211's station list. This callback
|
||||
* and @sta_remove_debugfs should be within a CONFIG_MAC80211_DEBUGFS
|
||||
* conditional. This callback can sleep.
|
||||
*
|
||||
* @sta_remove_debugfs: Remove the debugfs files which were added using
|
||||
* @sta_add_debugfs. This callback can sleep.
|
||||
*
|
||||
* @sta_notify: Notifies low level driver about power state transition of an
|
||||
* associated station, AP, IBSS/WDS/mesh peer etc. For a VIF operating
|
||||
* in AP mode, this callback will not be called when the flag
|
||||
@@ -2473,6 +2497,16 @@ struct ieee80211_ops {
|
||||
struct ieee80211_sta *sta);
|
||||
int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta);
|
||||
#ifdef CONFIG_MAC80211_DEBUGFS
|
||||
void (*sta_add_debugfs)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta,
|
||||
struct dentry *dir);
|
||||
void (*sta_remove_debugfs)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta,
|
||||
struct dentry *dir);
|
||||
#endif
|
||||
void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
enum sta_notify_cmd, struct ieee80211_sta *sta);
|
||||
int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
@@ -2514,6 +2548,7 @@ struct ieee80211_ops {
|
||||
int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);
|
||||
|
||||
int (*remain_on_channel)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
struct ieee80211_channel *chan,
|
||||
enum nl80211_channel_type channel_type,
|
||||
int duration);
|
||||
|
||||
@@ -526,6 +526,12 @@
|
||||
* of PMKSA caching dandidates.
|
||||
*
|
||||
* @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup).
|
||||
* In addition, this can be used as an event to request userspace to take
|
||||
* actions on TDLS links (set up a new link or tear down an existing one).
|
||||
* In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested
|
||||
* operation, %NL80211_ATTR_MAC contains the peer MAC address, and
|
||||
* %NL80211_ATTR_REASON_CODE the reason code to be used (only with
|
||||
* %NL80211_TDLS_TEARDOWN).
|
||||
* @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame.
|
||||
*
|
||||
* @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP
|
||||
@@ -3057,6 +3063,9 @@ enum nl80211_ap_sme_features {
|
||||
* @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported
|
||||
* @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif
|
||||
* @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting
|
||||
* @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform
|
||||
* OBSS scans and generate 20/40 BSS coex reports. This flag is used only
|
||||
* for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied.
|
||||
*/
|
||||
enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
|
||||
@@ -3069,6 +3078,7 @@ enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_SCAN_FLUSH = 1 << 7,
|
||||
NL80211_FEATURE_AP_SCAN = 1 << 8,
|
||||
NL80211_FEATURE_VIF_TXPOWER = 1 << 9,
|
||||
NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user