Browse Source

Add wpa_supplicant ctrl iface support to scan for a specific BSSID

Add support to scan for a specific BSSID through the wpa_supplicant
control interface.

Usage: wpa_cli scan bssid=ab:bc:cd:de:ef:12

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Ashwini Patil 8 years ago
parent
commit
267fc0dd33
1 changed files with 13 additions and 0 deletions
  1. 13 0
      wpa_supplicant/ctrl_iface.c

+ 13 - 0
wpa_supplicant/ctrl_iface.c

@@ -7991,6 +7991,19 @@ static void wpas_ctrl_scan(struct wpa_supplicant *wpa_s, char *params,
 			goto done;
 		}
 
+		pos = os_strstr(params, "bssid=");
+		if (pos) {
+			u8 bssid[ETH_ALEN];
+
+			pos += 6;
+			if (hwaddr_aton(pos, bssid)) {
+				wpa_printf(MSG_ERROR, "Invalid BSSID %s", pos);
+				*reply_len = -1;
+				goto done;
+			}
+			os_memcpy(wpa_s->next_scan_bssid, bssid, ETH_ALEN);
+		}
+
 		pos = params;
 		while (pos && *pos != '\0') {
 			if (os_strncmp(pos, "ssid ", 5) == 0) {