cfg80211: introduce critical protocol indication from user-space
authorArend van Spriel <arend@broadcom.com>
Thu, 18 Apr 2013 13:49:00 +0000 (15:49 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 22 Apr 2013 13:48:00 +0000 (15:48 +0200)
commit5de17984898c5758fc6ebe08eccea9f4b6548914
tree17aab780c025cfac0bd5a8b010b8ea9c138ff780
parenta36473621c871df14bbf2106ab0721b475aac8e0
cfg80211: introduce critical protocol indication from user-space

Some protocols need a more reliable connection to complete
successful in reasonable time. This patch adds a user-space
API to indicate the wireless driver that a critical protocol
is about to commence and when it is done, using nl80211 primitives
NL80211_CMD_CRIT_PROTOCOL_START and NL80211_CRIT_PROTOCOL_STOP.

There can be only on critical protocol session started per
registered cfg80211 device.

The driver can support this by implementing the cfg80211 callbacks
.crit_proto_start() and .crit_proto_stop(). Examples of protocols
that can benefit from this are DHCP, EAPOL, APIPA. Exactly how the
link can/should be made more reliable is up to the driver. Things
to consider are avoid scanning, no multi-channel operations, and
alter coexistence schemes.

Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/core.h
net/wireless/mlme.c
net/wireless/nl80211.c
net/wireless/rdev-ops.h
net/wireless/trace.h