diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 902895dfbd4..788c3989a9e 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -258,13 +258,9 @@ struct ieee80211_supported_band { | |||
258 | 258 | ||
259 | /** | 259 | /** |
260 | * struct vif_params - describes virtual interface parameters | 260 | * struct vif_params - describes virtual interface parameters |
261 | * @mesh_id: mesh ID to use | ||
262 | * @mesh_id_len: length of the mesh ID | ||
263 | * @use_4addr: use 4-address frames | 261 | * @use_4addr: use 4-address frames |
264 | */ | 262 | */ |
265 | struct vif_params { | 263 | struct vif_params { |
266 | u8 *mesh_id; | ||
267 | int mesh_id_len; | ||
268 | int use_4addr; | 264 | int use_4addr; |
269 | }; | 265 | }; |
270 | 266 | ||
@@ -615,6 +611,11 @@ struct bss_parameters { | |||
615 | int ap_isolate; | 611 | int ap_isolate; |
616 | }; | 612 | }; |
617 | 613 | ||
614 | /* | ||
615 | * struct mesh_config - 802.11s mesh configuration | ||
616 | * | ||
617 | * These parameters can be changed while the mesh is active. | ||
618 | */ | ||
618 | struct mesh_config { | 619 | struct mesh_config { |
619 | /* Timeouts in ms */ | 620 | /* Timeouts in ms */ |
620 | /* Mesh plink management parameters */ | 621 | /* Mesh plink management parameters */ |
@@ -638,6 +639,18 @@ struct mesh_config { | |||
638 | }; | 639 | }; |
639 | 640 | ||
640 | /** | 641 | /** |
642 | * struct mesh_setup - 802.11s mesh setup configuration | ||
643 | * @mesh_id: the mesh ID | ||
644 | * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes | ||
645 | * | ||
646 | * These parameters are fixed when the mesh is created. | ||
647 | */ | ||
648 | struct mesh_setup { | ||
649 | const u8 *mesh_id; | ||
650 | u8 mesh_id_len; | ||
651 | }; | ||
652 | |||
653 | /** | ||
641 | * struct ieee80211_txq_params - TX queue parameters | 654 | * struct ieee80211_txq_params - TX queue parameters |
642 | * @queue: TX queue identifier (NL80211_TXQ_Q_*) | 655 | * @queue: TX queue identifier (NL80211_TXQ_Q_*) |
643 | * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled | 656 | * @txop: Maximum burst time in units of 32 usecs, 0 meaning disabled |
@@ -1078,7 +1091,7 @@ struct cfg80211_pmksa { | |||
1078 | * | 1091 | * |
1079 | * @get_mesh_params: Put the current mesh parameters into *params | 1092 | * @get_mesh_params: Put the current mesh parameters into *params |
1080 | * | 1093 | * |
1081 | * @set_mesh_params: Set mesh parameters. | 1094 | * @update_mesh_params: Update mesh parameters on a running mesh. |
1082 | * The mask is a bitfield which tells us which parameters to | 1095 | * The mask is a bitfield which tells us which parameters to |
1083 | * set, and which to leave alone. | 1096 | * set, and which to leave alone. |
1084 | * | 1097 | * |
@@ -1229,9 +1242,14 @@ struct cfg80211_ops { | |||
1229 | int (*get_mesh_params)(struct wiphy *wiphy, | 1242 | int (*get_mesh_params)(struct wiphy *wiphy, |
1230 | struct net_device *dev, | 1243 | struct net_device *dev, |
1231 | struct mesh_config *conf); | 1244 | struct mesh_config *conf); |
1232 | int (*set_mesh_params)(struct wiphy *wiphy, | 1245 | int (*update_mesh_params)(struct wiphy *wiphy, |
1233 | struct net_device *dev, | 1246 | struct net_device *dev, u32 mask, |
1234 | const struct mesh_config *nconf, u32 mask); | 1247 | const struct mesh_config *nconf); |
1248 | int (*join_mesh)(struct wiphy *wiphy, struct net_device *dev, | ||
1249 | const struct mesh_config *conf, | ||
1250 | const struct mesh_setup *setup); | ||
1251 | int (*leave_mesh)(struct wiphy *wiphy, struct net_device *dev); | ||
1252 | |||
1235 | int (*change_bss)(struct wiphy *wiphy, struct net_device *dev, | 1253 | int (*change_bss)(struct wiphy *wiphy, struct net_device *dev, |
1236 | struct bss_parameters *params); | 1254 | struct bss_parameters *params); |
1237 | 1255 | ||
@@ -1647,6 +1665,8 @@ struct cfg80211_cached_keys; | |||
1647 | * @bssid: (private) Used by the internal configuration code | 1665 | * @bssid: (private) Used by the internal configuration code |
1648 | * @ssid: (private) Used by the internal configuration code | 1666 | * @ssid: (private) Used by the internal configuration code |
1649 | * @ssid_len: (private) Used by the internal configuration code | 1667 | * @ssid_len: (private) Used by the internal configuration code |
1668 | * @mesh_id_len: (private) Used by the internal configuration code | ||
1669 | * @mesh_id_up_len: (private) Used by the internal configuration code | ||
1650 | * @wext: (private) Used by the internal wireless extensions compat code | 1670 | * @wext: (private) Used by the internal wireless extensions compat code |
1651 | * @use_4addr: indicates 4addr mode is used on this interface, must be | 1671 | * @use_4addr: indicates 4addr mode is used on this interface, must be |
1652 | * set by driver (if supported) on add_interface BEFORE registering the | 1672 | * set by driver (if supported) on add_interface BEFORE registering the |
@@ -1676,7 +1696,7 @@ struct wireless_dev { | |||
1676 | 1696 | ||
1677 | /* currently used for IBSS and SME - might be rearranged later */ | 1697 | /* currently used for IBSS and SME - might be rearranged later */ |
1678 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | 1698 | u8 ssid[IEEE80211_MAX_SSID_LEN]; |
1679 | u8 ssid_len; | 1699 | u8 ssid_len, mesh_id_len, mesh_id_up_len; |
1680 | enum { | 1700 | enum { |
1681 | CFG80211_SME_IDLE, | 1701 | CFG80211_SME_IDLE, |
1682 | CFG80211_SME_CONNECTING, | 1702 | CFG80211_SME_CONNECTING, |