FT pull

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi team,

With current code I see that as soon as we receive ft auth, if the
pmkr1 entry is not present we send the pull request and start the
timer like below.

    tsecs = sm->wpa_auth->conf.rkh_pull_timeout / 1000;
    tusecs = (sm->wpa_auth->conf.rkh_pull_timeout % 1000) * 1000;
    eloop_register_timeout(tsecs, tusecs, wpa_ft_expire_pull, sm, NULL);

And we do this again if we receive the auth message again and we do
this till ft_pending_pull_left_retries is 0 or less than 0.

And when a timeout happens we cancel all the timers like below.

static void wpa_ft_expire_pull(void *eloop_ctx, void *timeout_ctx)
{
    struct wpa_state_machine *sm = eloop_ctx;

    wpa_printf(MSG_DEBUG, "FT: Timeout pending pull request for " MACSTR,
           MAC2STR(sm->addr));
    if (sm->ft_pending_pull_left_retries <= 0)
        wpa_ft_block_r0kh(sm->wpa_auth, sm->r0kh_id, sm->r0kh_id_len);

    /* cancel multiple timeouts */
    eloop_cancel_timeout(wpa_ft_expire_pull, sm, NULL);
    ft_finish_pull(sm);
}

My questions are
a) Why for the same client we run multiple timers ?
b) Why are we stopping all the timers in case of first timeout only ?

Thanks & Regards,
Harisha J A

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux