mac80211: add APIs to allow keeping connections after WoWLAN
authorJohannes Berg <johannes.berg@intel.com>
Wed, 7 Aug 2013 18:11:55 +0000 (20:11 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 16 Aug 2013 10:58:43 +0000 (12:58 +0200)
commit27b3eb9c06a7193bdc9800cd00764a130343bc8a
treed73ca7dfb8ccc2e967f4acf603c5bd52ca641db5
parentd51b70ff5122d31e27733ba03c3afd62bb86bd63
mac80211: add APIs to allow keeping connections after WoWLAN

In order to be able to (securely) keep connections alive after
the system was suspended for WoWLAN, we need some additional
APIs. We already have API (ieee80211_gtk_rekey_notify) to tell
wpa_supplicant about the new replay counter if GTK rekeying
was done by the device while the host was asleep, but that's
not sufficient.

If GTK rekeying wasn't done, we need to tell the host about
sequence counters for the GTK (and PTK regardless of rekeying)
that was used while asleep, add ieee80211_set_key_rx_seq() for
that.

If GTK rekeying was done, then we need to be able to disable
the old keys (with ieee80211_remove_key()) and allocate the
new GTK key(s) in mac80211 (with ieee80211_gtk_rekey_add()).

If protocol offload (e.g. ARP) is implemented, then also the
TX sequence counter for the PTK must be updated, using the new
ieee80211_set_key_tx_seq() function.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/key.c
net/mac80211/util.c