wpa_supplicant: Basic support for PBSS/PCP

PBSS (Personal Basic Service Set) is a new BSS type for DMG
networks. It is similar to infrastructure BSS, having an AP-like
entity called PCP (PBSS Control Point), but it has few differences.
PBSS support is mandatory for IEEE 802.11ad devices.

Add a new "pbss" argument to network block. The argument is used
in the following scenarios:
1. When network has mode=2 (AP), when pbss flag is set will start
as a PCP instead of an AP.
2. When network has mode=0 (station), when pbss flag is set will
connect to PCP instead of AP.

The function wpa_scan_res_match() was modified to match BSS according to
the pbss flag in the network block (wpa_ssid structure). When pbss flag
is set it will match only PCPs, and when it is clear it will match only
APs.

Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
This commit is contained in:
Lior David 2016-02-08 12:30:04 +02:00 committed by Jouni Malinen
parent 86b5c400a0
commit b907491281
13 changed files with 55 additions and 3 deletions

View file

@ -570,6 +570,8 @@ struct hostapd_bss_config {
char *no_probe_resp_if_seen_on;
char *no_auth_if_seen_on;
int pbss;
};

View file

@ -1217,6 +1217,7 @@ int ieee802_11_build_ap_params(struct hostapd_data *hapd,
params->osen = 1;
}
#endif /* CONFIG_HS20 */
params->pbss = hapd->conf->pbss;
return 0;
}