cfg80211: Store IEs from both Beacon and Probe Response frames
authorJouni Malinen <j@w1.fi>
Wed, 6 Jan 2010 14:19:24 +0000 (16:19 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Jan 2010 18:51:28 +0000 (13:51 -0500)
commit34a6eddbabd704b3c7dae9362234552267573be2
tree661184452aa597e4f1034561b3ec9b267ad2e196
parent80a112ffe8dbada25f3780ecc4beebf23451d755
cfg80211: Store IEs from both Beacon and Probe Response frames

Store information elements from Beacon and Probe Response frames in
separate buffers to allow both sets to be made available through
nl80211. This allows user space applications to get access to IEs from
Beacon frames even if we have received Probe Response frames from the
BSS. Previously, the IEs from Probe Response frames would have
overridden the IEs from Beacon frames.

This feature is of somewhat limited use since most protocols include
the same (or extended) information in Probe Response frames. However,
there are couple of exceptions where the IEs from Beacon frames could
be of some use: TIM IE is only included in Beacon frames (and it would
be needed to figure out the DTIM period used in the BSS) and at least
some implementations of Wireless Provisioning Services seem to include
the full IE only in Beacon frames).

The new BSS attribute for scan results is added to allow both the IE
sets to be delivered. This is done in a way that maintains the
previously used behavior for applications that are not aware of the
new NL80211_BSS_BEACON_IES attribute.

Signed-off-by: Jouni Malinen <j@w1.fi>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
include/linux/nl80211.h
include/net/cfg80211.h
net/wireless/core.h
net/wireless/nl80211.c
net/wireless/scan.c