nl80211: Add driver flag to indicate mesh support

Convert the driver flags variable to u64 since there was no room for
more flags.

Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
This commit is contained in:
Bob Copeland 2014-09-01 00:23:23 -04:00 committed by Jouni Malinen
parent a709c5e29f
commit 24bd4e0be5
4 changed files with 12 additions and 6 deletions

View file

@ -1020,7 +1020,9 @@ struct wpa_driver_capa {
#define WPA_DRIVER_FLAGS_QOS_MAPPING 0x40000000 #define WPA_DRIVER_FLAGS_QOS_MAPPING 0x40000000
/* Driver supports CSA in AP mode */ /* Driver supports CSA in AP mode */
#define WPA_DRIVER_FLAGS_AP_CSA 0x80000000 #define WPA_DRIVER_FLAGS_AP_CSA 0x80000000
unsigned int flags; /* Driver supports mesh */
#define WPA_DRIVER_FLAGS_MESH 0x0000000100000000ULL
u64 flags;
int max_scan_ssids; int max_scan_ssids;
int max_sched_scan_ssids; int max_sched_scan_ssids;

View file

@ -3541,6 +3541,9 @@ static void wiphy_info_supported_iftypes(struct wiphy_info_data *info,
case NL80211_IFTYPE_AP: case NL80211_IFTYPE_AP:
info->capa->flags |= WPA_DRIVER_FLAGS_AP; info->capa->flags |= WPA_DRIVER_FLAGS_AP;
break; break;
case NL80211_IFTYPE_MESH_POINT:
info->capa->flags |= WPA_DRIVER_FLAGS_MESH;
break;
case NL80211_IFTYPE_ADHOC: case NL80211_IFTYPE_ADHOC:
info->capa->flags |= WPA_DRIVER_FLAGS_IBSS; info->capa->flags |= WPA_DRIVER_FLAGS_IBSS;
break; break;
@ -12163,7 +12166,7 @@ static int wpa_driver_nl80211_status(void *priv, char *buf, size_t buflen)
"capa.key_mgmt=0x%x\n" "capa.key_mgmt=0x%x\n"
"capa.enc=0x%x\n" "capa.enc=0x%x\n"
"capa.auth=0x%x\n" "capa.auth=0x%x\n"
"capa.flags=0x%x\n" "capa.flags=0x%llx\n"
"capa.max_scan_ssids=%d\n" "capa.max_scan_ssids=%d\n"
"capa.max_sched_scan_ssids=%d\n" "capa.max_sched_scan_ssids=%d\n"
"capa.sched_scan_supported=%d\n" "capa.sched_scan_supported=%d\n"
@ -12176,7 +12179,7 @@ static int wpa_driver_nl80211_status(void *priv, char *buf, size_t buflen)
drv->capa.key_mgmt, drv->capa.key_mgmt,
drv->capa.enc, drv->capa.enc,
drv->capa.auth, drv->capa.auth,
drv->capa.flags, (unsigned long long) drv->capa.flags,
drv->capa.max_scan_ssids, drv->capa.max_scan_ssids,
drv->capa.max_sched_scan_ssids, drv->capa.max_sched_scan_ssids,
drv->capa.sched_scan_supported, drv->capa.sched_scan_supported,

View file

@ -1568,8 +1568,9 @@ static int wpa_driver_wext_get_range(void *priv)
drv->capa.max_scan_ssids = 1; drv->capa.max_scan_ssids = 1;
wpa_printf(MSG_DEBUG, " capabilities: key_mgmt 0x%x enc 0x%x " wpa_printf(MSG_DEBUG, " capabilities: key_mgmt 0x%x enc 0x%x "
"flags 0x%x", "flags 0x%llx",
drv->capa.key_mgmt, drv->capa.enc, drv->capa.flags); drv->capa.key_mgmt, drv->capa.enc,
(unsigned long long) drv->capa.flags);
} else { } else {
wpa_printf(MSG_DEBUG, "SIOCGIWRANGE: too old (short) data - " wpa_printf(MSG_DEBUG, "SIOCGIWRANGE: too old (short) data - "
"assuming WPA is not supported"); "assuming WPA is not supported");

View file

@ -571,7 +571,7 @@ struct wpa_supplicant {
int scan_id[MAX_SCAN_ID]; int scan_id[MAX_SCAN_ID];
unsigned int scan_id_count; unsigned int scan_id_count;
unsigned int drv_flags; u64 drv_flags;
unsigned int drv_enc; unsigned int drv_enc;
/* /*