diff options
author | Javier Cardona <javier@cozybit.com> | 2011-05-03 19:57:07 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-05-11 14:37:47 -0400 |
commit | b130e5cec958bae3867cf6ab09a9b24ba8fada01 (patch) | |
tree | 945eca0ace3d299dfd83de7b7e13c60aa36ba2e9 /net/wireless/nl80211.c | |
parent | f3a57fd148a4afd3c38f558c5b44972cb29ea8ba (diff) |
nl80211: Introduce NL80211_MESH_SETUP_USERSPACE_AMPE
Introduce a new configuration option to support AMPE from userspace.
Prior to this series we only supported authentication in userspace: an
authentication daemon would authenticate peer candidates in userspace
and hand them over to the kernel. From that point the mesh stack would
take over and establish a peer link (Mesh Peering Management).
These patches introduce support for Authenticated Mesh Peering Exchange
in userspace. The userspace daemon implements the AMPE protocol and on
successfull completion create mesh peers and install encryption keys.
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 0a199a1ca9b6..64efc2d7a7ad 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -2871,6 +2871,7 @@ static const struct nla_policy | |||
2871 | [NL80211_MESH_SETUP_USERSPACE_AUTH] = { .type = NLA_FLAG }, | 2871 | [NL80211_MESH_SETUP_USERSPACE_AUTH] = { .type = NLA_FLAG }, |
2872 | [NL80211_MESH_SETUP_IE] = { .type = NLA_BINARY, | 2872 | [NL80211_MESH_SETUP_IE] = { .type = NLA_BINARY, |
2873 | .len = IEEE80211_MAX_DATA_LEN }, | 2873 | .len = IEEE80211_MAX_DATA_LEN }, |
2874 | [NL80211_MESH_SETUP_USERSPACE_AMPE] = { .type = NLA_FLAG }, | ||
2874 | }; | 2875 | }; |
2875 | 2876 | ||
2876 | static int nl80211_parse_mesh_config(struct genl_info *info, | 2877 | static int nl80211_parse_mesh_config(struct genl_info *info, |
@@ -2980,7 +2981,8 @@ static int nl80211_parse_mesh_setup(struct genl_info *info, | |||
2980 | setup->ie = nla_data(ieattr); | 2981 | setup->ie = nla_data(ieattr); |
2981 | setup->ie_len = nla_len(ieattr); | 2982 | setup->ie_len = nla_len(ieattr); |
2982 | } | 2983 | } |
2983 | setup->is_secure = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_AUTH]); | 2984 | setup->is_authenticated = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_AUTH]); |
2985 | setup->is_secure = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_AMPE]); | ||
2984 | 2986 | ||
2985 | return 0; | 2987 | return 0; |
2986 | } | 2988 | } |