TDLS: Add peer as a STA during link setup
Before commencing setup, add a new STA entry to the driver representing the peer. Later during setup, update the STA entry using information received from the peer. Extend sta_add() callback for adding/modifying a TDLS peer entry and connect it to the TDLS state machine. Implement this callback for the nl80211 driver and send peer information to kernel. Mark TDLS peer entries with a new flag and translate it to a corresponding nl80211 flag in the nl80211 driver. In addition, correct TDLS related documentation in the wpa_driver_ops structure. Signed-off-by: Arik Nemtsov <arik@wizery.com> Cc: Kalyan C Gaddam <chakkal@iit.edu>
This commit is contained in:
parent
979bcccf64
commit
45b722f150
6 changed files with 93 additions and 9 deletions
|
@ -563,6 +563,27 @@ static int wpa_supplicant_tdls_oper(void *ctx, int oper, const u8 *peer)
|
|||
return wpa_drv_tdls_oper(wpa_s, oper, peer);
|
||||
}
|
||||
|
||||
|
||||
static int wpa_supplicant_tdls_peer_addset(
|
||||
void *ctx, const u8 *peer, int add, u16 capability,
|
||||
const u8 *supp_rates, size_t supp_rates_len)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = ctx;
|
||||
struct hostapd_sta_add_params params;
|
||||
|
||||
params.addr = peer;
|
||||
params.aid = 1;
|
||||
params.capability = capability;
|
||||
params.flags = WPA_STA_TDLS_PEER | WPA_STA_AUTHORIZED;
|
||||
params.ht_capabilities = NULL;
|
||||
params.listen_interval = 0;
|
||||
params.supp_rates = supp_rates;
|
||||
params.supp_rates_len = supp_rates_len;
|
||||
params.set = !add;
|
||||
|
||||
return wpa_drv_sta_add(wpa_s, ¶ms);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_TDLS */
|
||||
|
||||
|
||||
|
@ -724,6 +745,7 @@ int wpa_supplicant_init_wpa(struct wpa_supplicant *wpa_s)
|
|||
ctx->tdls_get_capa = wpa_supplicant_tdls_get_capa;
|
||||
ctx->send_tdls_mgmt = wpa_supplicant_send_tdls_mgmt;
|
||||
ctx->tdls_oper = wpa_supplicant_tdls_oper;
|
||||
ctx->tdls_peer_addset = wpa_supplicant_tdls_peer_addset;
|
||||
#endif /* CONFIG_TDLS */
|
||||
ctx->set_rekey_offload = wpa_supplicant_set_rekey_offload;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue