aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/wpas_glue.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-07-12 18:22:51 (GMT)
committerJouni Malinen <j@w1.fi>2011-07-12 18:22:51 (GMT)
commitb14a210ce24e6434b8cc2bd3b5c92b0b0ee50749 (patch)
treeae7e93abbd00b216e36f6dfc6822038fb97b668e /wpa_supplicant/wpas_glue.c
parent7aec3776b901cd27fe666fb906a144282e210757 (diff)
downloadhostap-b14a210ce24e6434b8cc2bd3b5c92b0b0ee50749.zip
hostap-b14a210ce24e6434b8cc2bd3b5c92b0b0ee50749.tar.gz
hostap-b14a210ce24e6434b8cc2bd3b5c92b0b0ee50749.tar.bz2
nl80211: Support GTK rekey offload
Add support to wpa_supplicant for device-based GTK rekeying. In order to support that, pass the KEK, KCK, and replay counter to the driver, and handle rekey events that update the latter. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'wpa_supplicant/wpas_glue.c')
-rw-r--r--wpa_supplicant/wpas_glue.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/wpa_supplicant/wpas_glue.c b/wpa_supplicant/wpas_glue.c
index edb9475..98b082c 100644
--- a/wpa_supplicant/wpas_glue.c
+++ b/wpa_supplicant/wpas_glue.c
@@ -667,6 +667,16 @@ int wpa_supplicant_init_eapol(struct wpa_supplicant *wpa_s)
}
+static void wpa_supplicant_set_rekey_offload(void *ctx, const u8 *kek,
+ const u8 *kck,
+ const u8 *replay_ctr)
+{
+ struct wpa_supplicant *wpa_s = ctx;
+
+ wpa_drv_set_rekey_info(wpa_s, kek, kck, replay_ctr);
+}
+
+
int wpa_supplicant_init_wpa(struct wpa_supplicant *wpa_s)
{
#ifndef CONFIG_NO_WPA
@@ -706,6 +716,7 @@ int wpa_supplicant_init_wpa(struct wpa_supplicant *wpa_s)
ctx->send_tdls_mgmt = wpa_supplicant_send_tdls_mgmt;
ctx->tdls_oper = wpa_supplicant_tdls_oper;
#endif /* CONFIG_TDLS */
+ ctx->set_rekey_offload = wpa_supplicant_set_rekey_offload;
wpa_s->wpa = wpa_sm_init(ctx);
if (wpa_s->wpa == NULL) {