Send a probe request to our new AP when we are about to roam to it.
authorstsp <stsp@openbsd.org>
Thu, 7 Oct 2021 12:26:09 +0000 (12:26 +0000)
committerstsp <stsp@openbsd.org>
Thu, 7 Oct 2021 12:26:09 +0000 (12:26 +0000)
Tested by fkr on iwx ax200/ax201 and myself on iwm 8265.
Also tested by florian and bket as part of a larger diff.

ok mpi@

sys/net80211/ieee80211_node.c

index 213ef3f..e6bc968 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ieee80211_node.c,v 1.185 2021/04/29 21:43:47 stsp Exp $       */
+/*     $OpenBSD: ieee80211_node.c,v 1.186 2021/10/07 12:26:09 stsp Exp $       */
 /*     $NetBSD: ieee80211_node.c,v 1.14 2004/05/09 09:18:47 dyoung Exp $       */
 
 /*-
@@ -1268,6 +1268,15 @@ ieee80211_node_join_bss(struct ieee80211com *ic, struct ieee80211_node *selbs)
 
                /* 
                 * After a background scan, we have now switched APs.
+                * Send a probe request to our new AP to say "Hello!".
+                * This is not strictly required but could help with
+                * setting up state in our new AP.
+                */
+               if (bgscan) {
+                       IEEE80211_SEND_MGMT(ic, ni,
+                           IEEE80211_FC0_SUBTYPE_PROBE_REQ, 0);
+               }
+               /*
                 * Pretend we were just de-authed, which makes
                 * ieee80211_new_state() try to re-auth and thus send
                 * an AUTH frame to our newly selected AP.