TDLS: Support sending TDLS discovery requests
authorArik Nemtsov <arik@wizery.com>
Mon, 26 Sep 2011 10:55:29 +0000 (13:55 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 23 Oct 2011 19:19:05 +0000 (22:19 +0300)
Allow sending a TDLS discovery request as a frame through the driver.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Cc: Kalyan C Gaddam <chakkal@iit.edu>
src/rsn_supp/tdls.c
src/rsn_supp/wpa.h

index 27159ce..0c5335f 100644 (file)
@@ -1271,6 +1271,18 @@ wpa_tdls_process_discovery_request(struct wpa_sm *sm, const u8 *addr,
 }
 
 
+int wpa_tdls_send_discovery_request(struct wpa_sm *sm, const u8 *addr)
+{
+       if (sm->tdls_disabled || !sm->tdls_supported)
+               return -1;
+
+       wpa_printf(MSG_DEBUG, "TDLS: Sending Discovery Request to peer "
+                  MACSTR, MAC2STR(addr));
+       return wpa_tdls_tpk_send(sm, addr, WLAN_TDLS_DISCOVERY_REQUEST,
+                                1, 0, NULL, 0);
+}
+
+
 static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
                                   const u8 *buf, size_t len)
 {
index eb08994..20a3e4f 100644 (file)
@@ -362,6 +362,7 @@ int wpa_tdls_start(struct wpa_sm *sm, const u8 *addr);
 int wpa_tdls_reneg(struct wpa_sm *sm, const u8 *addr);
 int wpa_tdls_send_teardown(struct wpa_sm *sm, const u8 *addr, u16 reason_code);
 int wpa_tdls_teardown_link(struct wpa_sm *sm, const u8 *addr, u16 reason_code);
+int wpa_tdls_send_discovery_request(struct wpa_sm *sm, const u8 *addr);
 int wpa_tdls_init(struct wpa_sm *sm);
 void wpa_tdls_deinit(struct wpa_sm *sm);
 void wpa_tdls_enable(struct wpa_sm *sm, int enabled);