diff options
author | David S. Miller <davem@davemloft.net> | 2010-09-02 15:45:44 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-02 15:45:44 -0400 |
commit | 7162f6691e9d39d8d866574687cddb3f1ec65d72 (patch) | |
tree | c511679caf5c825ede4728870c513f92f4f1616b /include | |
parent | 250e061e1d3e26600236a3dd9172e7f5f5916c00 (diff) | |
parent | 78ab952717b62c0ba6ca7f7a27eaa0486685e45f (diff) |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 16 | ||||
-rw-r--r-- | include/linux/spi/wl12xx.h | 2 | ||||
-rw-r--r-- | include/net/cfg80211.h | 24 | ||||
-rw-r--r-- | include/net/mac80211.h | 22 |
4 files changed, 49 insertions, 15 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index ec1690da7845..31603e8b5581 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -295,7 +295,9 @@ | |||
295 | * auth and assoc steps. For this, you need to specify the SSID in a | 295 | * auth and assoc steps. For this, you need to specify the SSID in a |
296 | * %NL80211_ATTR_SSID attribute, and can optionally specify the association | 296 | * %NL80211_ATTR_SSID attribute, and can optionally specify the association |
297 | * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_MAC, | 297 | * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_MAC, |
298 | * %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_CONTROL_PORT. | 298 | * %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, |
299 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and | ||
300 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. | ||
299 | * It is also sent as an event, with the BSSID and response IEs when the | 301 | * It is also sent as an event, with the BSSID and response IEs when the |
300 | * connection is established or failed to be established. This can be | 302 | * connection is established or failed to be established. This can be |
301 | * determined by the STATUS_CODE attribute. | 303 | * determined by the STATUS_CODE attribute. |
@@ -686,6 +688,15 @@ enum nl80211_commands { | |||
686 | * request, the driver will assume that the port is unauthorized until | 688 | * request, the driver will assume that the port is unauthorized until |
687 | * authorized by user space. Otherwise, port is marked authorized by | 689 | * authorized by user space. Otherwise, port is marked authorized by |
688 | * default in station mode. | 690 | * default in station mode. |
691 | * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the | ||
692 | * ethertype that will be used for key negotiation. It can be | ||
693 | * specified with the associate and connect commands. If it is not | ||
694 | * specified, the value defaults to 0x888E (PAE, 802.1X). This | ||
695 | * attribute is also used as a flag in the wiphy information to | ||
696 | * indicate that protocols other than PAE are supported. | ||
697 | * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with | ||
698 | * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom | ||
699 | * ethertype frames used for key negotiation must not be encrypted. | ||
689 | * | 700 | * |
690 | * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. | 701 | * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. |
691 | * We recommend using nested, driver-specific attributes within this. | 702 | * We recommend using nested, driver-specific attributes within this. |
@@ -951,6 +962,9 @@ enum nl80211_attrs { | |||
951 | NL80211_ATTR_RX_FRAME_TYPES, | 962 | NL80211_ATTR_RX_FRAME_TYPES, |
952 | NL80211_ATTR_FRAME_TYPE, | 963 | NL80211_ATTR_FRAME_TYPE, |
953 | 964 | ||
965 | NL80211_ATTR_CONTROL_PORT_ETHERTYPE, | ||
966 | NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, | ||
967 | |||
954 | /* add attributes here, update the policy in nl80211.c */ | 968 | /* add attributes here, update the policy in nl80211.c */ |
955 | 969 | ||
956 | __NL80211_ATTR_AFTER_LAST, | 970 | __NL80211_ATTR_AFTER_LAST, |
diff --git a/include/linux/spi/wl12xx.h b/include/linux/spi/wl12xx.h index a223ecbc71ef..a20bccf0b5c2 100644 --- a/include/linux/spi/wl12xx.h +++ b/include/linux/spi/wl12xx.h | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright (C) 2009 Nokia Corporation | 4 | * Copyright (C) 2009 Nokia Corporation |
5 | * | 5 | * |
6 | * Contact: Kalle Valo <kalle.valo@nokia.com> | 6 | * Contact: Luciano Coelho <luciano.coelho@nokia.com> |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or | 8 | * This program is free software; you can redistribute it and/or |
9 | * modify it under the terms of the GNU General Public License | 9 | * modify it under the terms of the GNU General Public License |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index f2740537b5d6..4c8c727d0cca 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -763,6 +763,10 @@ const u8 *ieee80211_bss_get_ie(struct cfg80211_bss *bss, u8 ie); | |||
763 | * sets/clears %NL80211_STA_FLAG_AUTHORIZED. If true, the driver is | 763 | * sets/clears %NL80211_STA_FLAG_AUTHORIZED. If true, the driver is |
764 | * required to assume that the port is unauthorized until authorized by | 764 | * required to assume that the port is unauthorized until authorized by |
765 | * user space. Otherwise, port is marked authorized by default. | 765 | * user space. Otherwise, port is marked authorized by default. |
766 | * @control_port_ethertype: the control port protocol that should be | ||
767 | * allowed through even on unauthorized ports | ||
768 | * @control_port_no_encrypt: TRUE to prevent encryption of control port | ||
769 | * protocol frames. | ||
766 | */ | 770 | */ |
767 | struct cfg80211_crypto_settings { | 771 | struct cfg80211_crypto_settings { |
768 | u32 wpa_versions; | 772 | u32 wpa_versions; |
@@ -772,6 +776,8 @@ struct cfg80211_crypto_settings { | |||
772 | int n_akm_suites; | 776 | int n_akm_suites; |
773 | u32 akm_suites[NL80211_MAX_NR_AKM_SUITES]; | 777 | u32 akm_suites[NL80211_MAX_NR_AKM_SUITES]; |
774 | bool control_port; | 778 | bool control_port; |
779 | __be16 control_port_ethertype; | ||
780 | bool control_port_no_encrypt; | ||
775 | }; | 781 | }; |
776 | 782 | ||
777 | /** | 783 | /** |
@@ -1293,15 +1299,19 @@ struct cfg80211_ops { | |||
1293 | * @WIPHY_FLAG_4ADDR_AP: supports 4addr mode even on AP (with a single station | 1299 | * @WIPHY_FLAG_4ADDR_AP: supports 4addr mode even on AP (with a single station |
1294 | * on a VLAN interface) | 1300 | * on a VLAN interface) |
1295 | * @WIPHY_FLAG_4ADDR_STATION: supports 4addr mode even as a station | 1301 | * @WIPHY_FLAG_4ADDR_STATION: supports 4addr mode even as a station |
1302 | * @WIPHY_FLAG_CONTROL_PORT_PROTOCOL: This device supports setting the | ||
1303 | * control port protocol ethertype. The device also honours the | ||
1304 | * control_port_no_encrypt flag. | ||
1296 | */ | 1305 | */ |
1297 | enum wiphy_flags { | 1306 | enum wiphy_flags { |
1298 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), | 1307 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), |
1299 | WIPHY_FLAG_STRICT_REGULATORY = BIT(1), | 1308 | WIPHY_FLAG_STRICT_REGULATORY = BIT(1), |
1300 | WIPHY_FLAG_DISABLE_BEACON_HINTS = BIT(2), | 1309 | WIPHY_FLAG_DISABLE_BEACON_HINTS = BIT(2), |
1301 | WIPHY_FLAG_NETNS_OK = BIT(3), | 1310 | WIPHY_FLAG_NETNS_OK = BIT(3), |
1302 | WIPHY_FLAG_PS_ON_BY_DEFAULT = BIT(4), | 1311 | WIPHY_FLAG_PS_ON_BY_DEFAULT = BIT(4), |
1303 | WIPHY_FLAG_4ADDR_AP = BIT(5), | 1312 | WIPHY_FLAG_4ADDR_AP = BIT(5), |
1304 | WIPHY_FLAG_4ADDR_STATION = BIT(6), | 1313 | WIPHY_FLAG_4ADDR_STATION = BIT(6), |
1314 | WIPHY_FLAG_CONTROL_PORT_PROTOCOL = BIT(7), | ||
1305 | }; | 1315 | }; |
1306 | 1316 | ||
1307 | struct mac_address { | 1317 | struct mac_address { |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 2a1811366076..f91fc331369b 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1242,8 +1242,8 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1242 | * %IEEE80211_CONF_PS flag enabled means that the powersave mode defined in | 1242 | * %IEEE80211_CONF_PS flag enabled means that the powersave mode defined in |
1243 | * IEEE 802.11-2007 section 11.2 is enabled. This is not to be confused | 1243 | * IEEE 802.11-2007 section 11.2 is enabled. This is not to be confused |
1244 | * with hardware wakeup and sleep states. Driver is responsible for waking | 1244 | * with hardware wakeup and sleep states. Driver is responsible for waking |
1245 | * up the hardware before issueing commands to the hardware and putting it | 1245 | * up the hardware before issuing commands to the hardware and putting it |
1246 | * back to sleep at approriate times. | 1246 | * back to sleep at appropriate times. |
1247 | * | 1247 | * |
1248 | * When PS is enabled, hardware needs to wakeup for beacons and receive the | 1248 | * When PS is enabled, hardware needs to wakeup for beacons and receive the |
1249 | * buffered multicast/broadcast frames after the beacon. Also it must be | 1249 | * buffered multicast/broadcast frames after the beacon. Also it must be |
@@ -1264,7 +1264,7 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1264 | * there's data traffic and still saving significantly power in idle | 1264 | * there's data traffic and still saving significantly power in idle |
1265 | * periods. | 1265 | * periods. |
1266 | * | 1266 | * |
1267 | * Dynamic powersave is supported by simply mac80211 enabling and disabling | 1267 | * Dynamic powersave is simply supported by mac80211 enabling and disabling |
1268 | * PS based on traffic. Driver needs to only set %IEEE80211_HW_SUPPORTS_PS | 1268 | * PS based on traffic. Driver needs to only set %IEEE80211_HW_SUPPORTS_PS |
1269 | * flag and mac80211 will handle everything automatically. Additionally, | 1269 | * flag and mac80211 will handle everything automatically. Additionally, |
1270 | * hardware having support for the dynamic PS feature may set the | 1270 | * hardware having support for the dynamic PS feature may set the |
@@ -1537,6 +1537,12 @@ enum ieee80211_ampdu_mlme_action { | |||
1537 | * negative error code (which will be seen in userspace.) | 1537 | * negative error code (which will be seen in userspace.) |
1538 | * Must be implemented and can sleep. | 1538 | * Must be implemented and can sleep. |
1539 | * | 1539 | * |
1540 | * @change_interface: Called when a netdevice changes type. This callback | ||
1541 | * is optional, but only if it is supported can interface types be | ||
1542 | * switched while the interface is UP. The callback may sleep. | ||
1543 | * Note that while an interface is being switched, it will not be | ||
1544 | * found by the interface iteration callbacks. | ||
1545 | * | ||
1540 | * @remove_interface: Notifies a driver that an interface is going down. | 1546 | * @remove_interface: Notifies a driver that an interface is going down. |
1541 | * The @stop callback is called after this if it is the last interface | 1547 | * The @stop callback is called after this if it is the last interface |
1542 | * and no monitor interfaces are present. | 1548 | * and no monitor interfaces are present. |
@@ -1693,6 +1699,9 @@ struct ieee80211_ops { | |||
1693 | void (*stop)(struct ieee80211_hw *hw); | 1699 | void (*stop)(struct ieee80211_hw *hw); |
1694 | int (*add_interface)(struct ieee80211_hw *hw, | 1700 | int (*add_interface)(struct ieee80211_hw *hw, |
1695 | struct ieee80211_vif *vif); | 1701 | struct ieee80211_vif *vif); |
1702 | int (*change_interface)(struct ieee80211_hw *hw, | ||
1703 | struct ieee80211_vif *vif, | ||
1704 | enum nl80211_iftype new_type); | ||
1696 | void (*remove_interface)(struct ieee80211_hw *hw, | 1705 | void (*remove_interface)(struct ieee80211_hw *hw, |
1697 | struct ieee80211_vif *vif); | 1706 | struct ieee80211_vif *vif); |
1698 | int (*config)(struct ieee80211_hw *hw, u32 changed); | 1707 | int (*config)(struct ieee80211_hw *hw, u32 changed); |
@@ -2268,7 +2277,8 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); | |||
2268 | * | 2277 | * |
2269 | * When hardware scan offload is used (i.e. the hw_scan() callback is | 2278 | * When hardware scan offload is used (i.e. the hw_scan() callback is |
2270 | * assigned) this function needs to be called by the driver to notify | 2279 | * assigned) this function needs to be called by the driver to notify |
2271 | * mac80211 that the scan finished. | 2280 | * mac80211 that the scan finished. This function can be called from |
2281 | * any context, including hardirq context. | ||
2272 | * | 2282 | * |
2273 | * @hw: the hardware that finished the scan | 2283 | * @hw: the hardware that finished the scan |
2274 | * @aborted: set to true if scan was aborted | 2284 | * @aborted: set to true if scan was aborted |
@@ -2458,7 +2468,7 @@ void ieee80211_sta_block_awake(struct ieee80211_hw *hw, | |||
2458 | * | 2468 | * |
2459 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. | 2469 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. |
2460 | * | 2470 | * |
2461 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING and | 2471 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTER and |
2462 | * %IEEE80211_CONF_PS is set, the driver needs to inform whenever the | 2472 | * %IEEE80211_CONF_PS is set, the driver needs to inform whenever the |
2463 | * hardware is not receiving beacons with this function. | 2473 | * hardware is not receiving beacons with this function. |
2464 | */ | 2474 | */ |
@@ -2469,7 +2479,7 @@ void ieee80211_beacon_loss(struct ieee80211_vif *vif); | |||
2469 | * | 2479 | * |
2470 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. | 2480 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. |
2471 | * | 2481 | * |
2472 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING, and | 2482 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTER, and |
2473 | * %IEEE80211_CONF_PS and %IEEE80211_HW_CONNECTION_MONITOR are set, the driver | 2483 | * %IEEE80211_CONF_PS and %IEEE80211_HW_CONNECTION_MONITOR are set, the driver |
2474 | * needs to inform if the connection to the AP has been lost. | 2484 | * needs to inform if the connection to the AP has been lost. |
2475 | * | 2485 | * |