iw: sync nl80211 header to fix the multicast rate setting

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24104 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2010-11-22 19:59:13 +00:00
parent 0ee162c483
commit 3c85244682
1 changed files with 49 additions and 11 deletions

View File

@ -55,19 +55,41 @@
* *
* @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
* We recommend using nested, driver-specific attributes within this. * We recommend using nested, driver-specific attributes within this.
@@ -787,6 +801,11 @@ enum nl80211_commands { @@ -787,6 +801,33 @@ enum nl80211_commands {
* This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING * This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING
* for non-automatic settings. * for non-automatic settings.
* *
+ * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly + * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly
+ * means support for per-station GTKs. + * means support for per-station GTKs.
+ * + *
+ * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting.
+ * This can be used to mask out antennas which are not attached or should
+ * not be used for transmitting. If an antenna is not selected in this
+ * bitmap the hardware is not allowed to transmit on this antenna.
+ *
+ * Each bit represents one antenna, starting with antenna 1 at the first
+ * bit. Depending on which antennas are selected in the bitmap, 802.11n
+ * drivers can derive which chainmasks to use (if all antennas belonging to
+ * a particular chain are disabled this chain should be disabled) and if
+ * a chain has diversity antennas wether diversity should be used or not.
+ * HT capabilities (STBC, TX Beamforming, Antenna selection) can be
+ * derived from the available chains after applying the antenna mask.
+ * Non-802.11n drivers can derive wether to use diversity or not.
+ * Drivers may reject configurations or RX/TX mask combinations they cannot
+ * support by returning -EINVAL.
+ *
+ * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving.
+ * This can be used to mask out antennas which are not attached or should
+ * not be used for receiving. If an antenna is not selected in this bitmap
+ * the hardware should not be configured to receive on this antenna.
+ * For a more detailed descripton see @NL80211_ATTR_WIPHY_ANTENNA_TX.
+ *
+ * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS + * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS
+ * + *
* @NL80211_ATTR_MAX: highest attribute number currently defined * @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use * @__NL80211_ATTR_AFTER_LAST: internal use
*/ */
@@ -951,6 +970,13 @@ enum nl80211_attrs { @@ -951,6 +992,16 @@ enum nl80211_attrs {
NL80211_ATTR_RX_FRAME_TYPES, NL80211_ATTR_RX_FRAME_TYPES,
NL80211_ATTR_FRAME_TYPE, NL80211_ATTR_FRAME_TYPE,
@ -76,12 +98,15 @@
+ +
+ NL80211_ATTR_SUPPORT_IBSS_RSN, + NL80211_ATTR_SUPPORT_IBSS_RSN,
+ +
+ NL80211_ATTR_WIPHY_ANTENNA_TX,
+ NL80211_ATTR_WIPHY_ANTENNA_RX,
+
+ NL80211_ATTR_MCAST_RATE, + NL80211_ATTR_MCAST_RATE,
+ +
/* add attributes here, update the policy in nl80211.c */ /* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST, __NL80211_ATTR_AFTER_LAST,
@@ -1006,6 +1032,8 @@ enum nl80211_attrs { @@ -1006,6 +1057,8 @@ enum nl80211_attrs {
* @NL80211_IFTYPE_WDS: wireless distribution interface * @NL80211_IFTYPE_WDS: wireless distribution interface
* @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
* @NL80211_IFTYPE_MESH_POINT: mesh point * @NL80211_IFTYPE_MESH_POINT: mesh point
@ -90,7 +115,7 @@
* @NL80211_IFTYPE_MAX: highest interface type number currently defined * @NL80211_IFTYPE_MAX: highest interface type number currently defined
* @NUM_NL80211_IFTYPES: number of defined interface types * @NUM_NL80211_IFTYPES: number of defined interface types
* *
@@ -1022,6 +1050,8 @@ enum nl80211_iftype { @@ -1022,6 +1075,8 @@ enum nl80211_iftype {
NL80211_IFTYPE_WDS, NL80211_IFTYPE_WDS,
NL80211_IFTYPE_MONITOR, NL80211_IFTYPE_MONITOR,
NL80211_IFTYPE_MESH_POINT, NL80211_IFTYPE_MESH_POINT,
@ -99,7 +124,7 @@
/* keep last */ /* keep last */
NUM_NL80211_IFTYPES, NUM_NL80211_IFTYPES,
@@ -1111,6 +1141,8 @@ enum nl80211_rate_info { @@ -1111,6 +1166,8 @@ enum nl80211_rate_info {
* @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
* @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this
* station) * station)
@ -108,7 +133,7 @@
*/ */
enum nl80211_sta_info { enum nl80211_sta_info {
__NL80211_STA_INFO_INVALID, __NL80211_STA_INFO_INVALID,
@@ -1124,6 +1156,8 @@ enum nl80211_sta_info { @@ -1124,6 +1181,8 @@ enum nl80211_sta_info {
NL80211_STA_INFO_TX_BITRATE, NL80211_STA_INFO_TX_BITRATE,
NL80211_STA_INFO_RX_PACKETS, NL80211_STA_INFO_RX_PACKETS,
NL80211_STA_INFO_TX_PACKETS, NL80211_STA_INFO_TX_PACKETS,
@ -117,7 +142,20 @@
/* keep last */ /* keep last */
__NL80211_STA_INFO_AFTER_LAST, __NL80211_STA_INFO_AFTER_LAST,
@@ -1382,6 +1416,17 @@ enum nl80211_reg_rule_flags { @@ -1277,7 +1336,11 @@ enum nl80211_bitrate_attr {
* wireless core it thinks its knows the regulatory domain we should be in.
* @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
* 802.11 country information element with regulatory information it
- * thinks we should consider.
+ * thinks we should consider. cfg80211 only processes the country
+ * code from the IE, and relies on the regulatory domain information
+ * structure pased by userspace (CRDA) from our wireless-regdb.
+ * If a channel is enabled but the country code indicates it should
+ * be disabled we disable the channel and re-enable it upon disassociation.
*/
enum nl80211_reg_initiator {
NL80211_REGDOM_SET_BY_CORE,
@@ -1382,6 +1445,17 @@ enum nl80211_reg_rule_flags {
* @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved
* @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
* @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
@ -135,7 +173,7 @@
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
* currently defined * currently defined
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
@@ -1390,6 +1435,12 @@ enum nl80211_survey_info { @@ -1390,6 +1464,12 @@ enum nl80211_survey_info {
__NL80211_SURVEY_INFO_INVALID, __NL80211_SURVEY_INFO_INVALID,
NL80211_SURVEY_INFO_FREQUENCY, NL80211_SURVEY_INFO_FREQUENCY,
NL80211_SURVEY_INFO_NOISE, NL80211_SURVEY_INFO_NOISE,
@ -148,7 +186,7 @@
/* keep last */ /* keep last */
__NL80211_SURVEY_INFO_AFTER_LAST, __NL80211_SURVEY_INFO_AFTER_LAST,
@@ -1636,11 +1687,14 @@ enum nl80211_auth_type { @@ -1636,11 +1716,14 @@ enum nl80211_auth_type {
* @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key
* @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key
* @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS) * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS)
@ -163,7 +201,7 @@
}; };
/** /**
@@ -1671,6 +1725,9 @@ enum nl80211_wpa_versions { @@ -1671,6 +1754,9 @@ enum nl80211_wpa_versions {
* CCMP keys, each six bytes in little endian * CCMP keys, each six bytes in little endian
* @NL80211_KEY_DEFAULT: flag indicating default key * @NL80211_KEY_DEFAULT: flag indicating default key
* @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key
@ -173,7 +211,7 @@
* @__NL80211_KEY_AFTER_LAST: internal * @__NL80211_KEY_AFTER_LAST: internal
* @NL80211_KEY_MAX: highest key attribute * @NL80211_KEY_MAX: highest key attribute
*/ */
@@ -1682,6 +1739,7 @@ enum nl80211_key_attributes { @@ -1682,6 +1768,7 @@ enum nl80211_key_attributes {
NL80211_KEY_SEQ, NL80211_KEY_SEQ,
NL80211_KEY_DEFAULT, NL80211_KEY_DEFAULT,
NL80211_KEY_DEFAULT_MGMT, NL80211_KEY_DEFAULT_MGMT,