From: Ilan Peer <[email protected]>

To support Pre Association Security Negotiation (PASN) while already
associated to one AP, allow user space to register to Rx authentication
frames, so that the user space logic would be able to receive/handle
authentication frames from a different AP as part of PASN.

Note that it is expected that user space would intelligently register
for Rx authentication frames, i.e., only when PASN is used and configure
a match filter only for PASN authentication algorithm, as otherwise
the MLME functionality of mac80211 would be broken.

Signed-off-by: Ilan Peer <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
 net/mac80211/main.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 29b9d57df1a3..6eddc5592fc4 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -416,7 +416,20 @@ ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = {
        },
        [NL80211_IFTYPE_STATION] = {
                .tx = 0xffff,
+               /*
+                * To support Pre Association Security Negotiation (PASN) while
+                * already associated to one AP, allow user space to register to
+                * Rx authentication frames, so that the user space logic would
+                * be able to receive/handle authentication frames from a
+                * different AP as part of PASN.
+                * It is expected that user space would intelligently register
+                * for Rx authentication frames, i.e., only when PASN is used
+                * and configure a match filter only for PASN authentication
+                * algorithm, as otherwise the MLME functionality of mac80211
+                * would be broken.
+                */
                .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
+                       BIT(IEEE80211_STYPE_AUTH >> 4) |
                        BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
        },
        [NL80211_IFTYPE_AP] = {
-- 
2.23.0.rc1

Reply via email to