aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-09-02 15:45:44 -0400
committerDavid S. Miller <davem@davemloft.net>2010-09-02 15:45:44 -0400
commit7162f6691e9d39d8d866574687cddb3f1ec65d72 (patch)
treec511679caf5c825ede4728870c513f92f4f1616b /include
parent250e061e1d3e26600236a3dd9172e7f5f5916c00 (diff)
parent78ab952717b62c0ba6ca7f7a27eaa0486685e45f (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.h16
-rw-r--r--include/linux/spi/wl12xx.h2
-rw-r--r--include/net/cfg80211.h24
-rw-r--r--include/net/mac80211.h22
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 */
767struct cfg80211_crypto_settings { 771struct 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 */
1297enum wiphy_flags { 1306enum 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
1307struct mac_address { 1317struct 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 *