summary refs log tree commit diff
path: root/net/wireless/mesh.c
diff options
context:
space:
mode:
authorJavier Cardona <javier@cozybit.com>2011-04-07 15:08:28 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-04-12 16:57:37 -0400
commit15d5dda623139bbf6165030fc251bbd5798f4130 (patch)
tree3adb84ef7d65fd274008d950ad99434e1a3a28a7 /net/wireless/mesh.c
parent581a8b0feeed8877aab3a8ca4c972419790cd07f (diff)
downloadlinux-15d5dda623139bbf6165030fc251bbd5798f4130.tar.gz
cfg80211/nl80211: Add userspace authentication flag to mesh setup
During mesh setup, use NL80211_MESH_SETUP_USERSPACE_AUTH flag to create
a secure mesh and route management frames to userspace.

Also, NL80211_CMD_GET_WIPHY now returns a flag NL80211_SUPPORT_MESH_AUTH
if the wiphy's mesh implementation supports routing of mesh auth frames
to userspace.  This is useful for forward compatibility between old
kernels and new userspace tools.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/mesh.c')
-rw-r--r--net/wireless/mesh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/mesh.c b/net/wireless/mesh.c
index 0d4b2260f96f..0e5c122ce324 100644
--- a/net/wireless/mesh.c
+++ b/net/wireless/mesh.c
@@ -72,6 +72,10 @@ int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev,
 	if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_MESH_POINT)
 		return -EOPNOTSUPP;
 
+	if (!(rdev->wiphy.flags & WIPHY_FLAG_MESH_AUTH) &&
+	      setup->is_secure)
+		return -EOPNOTSUPP;
+
 	if (wdev->mesh_id_len)
 		return -EALREADY;