]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
SAE: Reduce queue wait time for pending Authentication frames
authorJouni Malinen <jouni@codeaurora.org>
Thu, 14 Mar 2019 22:08:37 +0000 (00:08 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 14 Mar 2019 22:31:09 +0000 (00:31 +0200)
The queue_len * 50 ms wait time was too large with the retransmission
timeouts used in the mesh case for SAE. The maximum wait of 750 ms was
enough to prevent successful completion of authentication after having
hit the maximum queue length. While the previous commit is enough to
allow this to complete successfully in couple of retries, it looks like
a smaller wait time should be used here even if it means potentially
using more CPU.

Drop the processing wait time to queue_len * 10 ms so that the maximum
wait time is 150 ms if the queue is full.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/ap/ieee802_11.c

index 03e1756f6b6cf1ff56ae749e4abd85e4cf86aab6..df80b58dc58dad3bd3a3b0b707a4e187d632db52 100644 (file)
@@ -1287,7 +1287,7 @@ void auth_sae_process_commit(void *eloop_ctx, void *user_ctx)
        if (eloop_is_timeout_registered(auth_sae_process_commit, hapd, NULL))
                return;
        queue_len = dl_list_len(&hapd->sae_commit_queue);
-       eloop_register_timeout(0, queue_len * 50000, auth_sae_process_commit,
+       eloop_register_timeout(0, queue_len * 10000, auth_sae_process_commit,
                               hapd, NULL);
 }
 
@@ -1345,7 +1345,7 @@ static void auth_sae_queue(struct hostapd_data *hapd,
 queued:
        if (eloop_is_timeout_registered(auth_sae_process_commit, hapd, NULL))
                return;
-       eloop_register_timeout(0, queue_len * 50000, auth_sae_process_commit,
+       eloop_register_timeout(0, queue_len * 10000, auth_sae_process_commit,
                               hapd, NULL);
 }