TDLS: Provide external control to specify the peers for setup (DO NOT MERGE)
Bug: 11631777
Change-Id: I3fbcf3cef4a6a4d894f78dd3dbe4757831e4fc56
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index bafe1e9..6335605 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -568,6 +568,11 @@
wpa_printf(MSG_DEBUG, "CTRL_IFACE TDLS_SETUP " MACSTR,
MAC2STR(peer));
+ if ((wpa_s->conf->tdls_external_control) &&
+ wpa_tdls_is_external_setup(wpa_s->wpa)) {
+ return wpa_drv_tdls_oper(wpa_s, TDLS_SETUP, peer);
+ }
+
wpa_tdls_remove(wpa_s->wpa, peer);
if (wpa_tdls_is_external_setup(wpa_s->wpa))
@@ -594,6 +599,11 @@
wpa_printf(MSG_DEBUG, "CTRL_IFACE TDLS_TEARDOWN " MACSTR,
MAC2STR(peer));
+ if ((wpa_s->conf->tdls_external_control) &&
+ wpa_tdls_is_external_setup(wpa_s->wpa)) {
+ return wpa_drv_tdls_oper(wpa_s, TDLS_TEARDOWN, peer);
+ }
+
if (wpa_tdls_is_external_setup(wpa_s->wpa))
ret = wpa_tdls_teardown_link(
wpa_s->wpa, peer,