From 7a1486cd318e46eae0e08d4a706a190518b6e18a Mon Sep 17 00:00:00 2001 From: Arik Nemtsov Date: Mon, 26 Sep 2011 13:55:29 +0300 Subject: [PATCH] TDLS: Support sending TDLS discovery requests Allow sending a TDLS discovery request as a frame through the driver. Signed-off-by: Arik Nemtsov Cc: Kalyan C Gaddam --- src/rsn_supp/tdls.c | 12 ++++++++++++ src/rsn_supp/wpa.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c index 27159ceef..0c5335fd1 100644 --- a/src/rsn_supp/tdls.c +++ b/src/rsn_supp/tdls.c @@ -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) { diff --git a/src/rsn_supp/wpa.h b/src/rsn_supp/wpa.h index eb089947d..20a3e4f74 100644 --- a/src/rsn_supp/wpa.h +++ b/src/rsn_supp/wpa.h @@ -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);