From: James Prestwood <prestwoj@gmail.com>
To: Denis Kenzior <denkenz@gmail.com>, iwd@lists.linux.dev
Subject: Re: [PATCH v2 6/9] netdev: add netdev_ft_reassociate
Date: Wed, 6 Dec 2023 08:49:07 -0800 [thread overview]
Message-ID: <33f261dd-5dbb-4c5f-9943-0cbadc2773a6@gmail.com> (raw)
In-Reply-To: <054746c2-f399-4c2c-b041-b76e7a34ada7@gmail.com>
On 12/6/23 08:40, Denis Kenzior wrote:
> Hi James,
>
> On 12/6/23 09:07, James Prestwood wrote:
>> Essentially exposes (and renames) netdev_ft_tx_associate in order to
>> be called similarly to netdev_reassociate/netdev_connect where a
>> connect callback can be provided. This will fix the current bug where
>> if association times out during FT IWD will hang and never transition
>> to disconnected.
>>
>
> I like it!
>
> Nitpick below...
>
>> This also removes the calling of the FT_ROAMED event and instead just
>> calls the connect callback (since its now set). This unifies the
>> callback path for reassociation and FT roaming.
>> ---
>> src/netdev.c | 44 ++++++++++++++++++++++++++------------------
>> src/netdev.h | 5 +++++
>> 2 files changed, 31 insertions(+), 18 deletions(-)
>>
>
> <snip>
>
>> diff --git a/src/netdev.c b/src/netdev.c
>> index f2e887b4..7d52ffea 100644
>> --- a/src/netdev.c
>> +++ b/src/netdev.c
>> @@ -1409,16 +1409,14 @@ static void netdev_connect_ok(struct netdev
>> *netdev)
>> scan_bss_free(netdev->fw_roam_bss);
>> netdev->fw_roam_bss = NULL;
>> - } else if (netdev->in_ft) {
>> - if (netdev->event_filter)
>> - netdev->event_filter(netdev, NETDEV_EVENT_FT_ROAMED,
>> - NULL, netdev->user_data);
>> - netdev->in_ft = false;
>> } else if (netdev->connect_cb) {
>> netdev->connect_cb(netdev, NETDEV_RESULT_OK, NULL,
>> netdev->user_data);
>> netdev->connect_cb = NULL;
>> - }
>> + netdev->in_ft = false;
>> + netdev->in_reassoc = false;
>
> Why do we set in_reassoc to false here? Shouldn't it be taken care of
> already by the associate_event?
I did this out of an abundance of caution. But yes I see we set it to
false if !netdev->ap && !netdev->in_ft, so I can remove this.
>
>> + } else
>> + l_warn("Connection event without a connect callback!");
>> netdev_rssi_polling_update(netdev);
>
> <snip>
>
>> @@ -6256,7 +6265,6 @@ static int netdev_init(void)
>> __eapol_set_install_pmk_func(netdev_set_pmk);
>> __ft_set_tx_frame_func(netdev_tx_ft_frame);
>> - __ft_set_tx_associate_func(netdev_ft_tx_associate);
>
> This part probably belongs in the next patch or even patch 8.
The problem is I removed the function so gcc will warn/break the build.
>
>> unicast_watch = l_genl_add_unicast_watch(genl,
>> NL80211_GENL_NAME,
>> netdev_unicast_notify,
>
> Regards,
> -Denis
>
next prev parent reply other threads:[~2023-12-06 16:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-06 15:06 [PATCH v2 0/9] Reassoc/FT roaming unification James Prestwood
2023-12-06 15:07 ` [PATCH v2 1/9] auto-t: add explicit stop() to IWD class James Prestwood
2023-12-06 15:07 ` [PATCH v2 2/9] auto-t: add association timeout test James Prestwood
2023-12-06 15:07 ` [PATCH v2 3/9] auto-t: only call set_value for changed values in default() James Prestwood
2023-12-06 15:07 ` [PATCH v2 4/9] ft: add FTE/RSNE building to ft_prepare_handshake James Prestwood
2023-12-06 16:36 ` Denis Kenzior
2023-12-06 17:08 ` James Prestwood
2023-12-06 17:14 ` Denis Kenzior
2023-12-06 17:59 ` James Prestwood
2023-12-06 15:07 ` [PATCH v2 5/9] ft: add ft_handshake_setup James Prestwood
2023-12-06 16:38 ` Denis Kenzior
2023-12-06 16:46 ` James Prestwood
2023-12-06 15:07 ` [PATCH v2 6/9] netdev: add netdev_ft_reassociate James Prestwood
2023-12-06 16:40 ` Denis Kenzior
2023-12-06 16:49 ` James Prestwood [this message]
2023-12-06 15:07 ` [PATCH v2 7/9] station: use netdev_ft_reassociate James Prestwood
2023-12-06 15:07 ` [PATCH v2 8/9] ft: remove ft_associate and helpers James Prestwood
2023-12-06 15:07 ` [PATCH v2 9/9] netdev: station: remove NETDEV_EVENT_FT_ROAMED James Prestwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=33f261dd-5dbb-4c5f-9943-0cbadc2773a6@gmail.com \
--to=prestwoj@gmail.com \
--cc=denkenz@gmail.com \
--cc=iwd@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox