Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp983546rwr; Thu, 27 Apr 2023 10:35:52 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7bBHGGrpRRRvNkyAqeQ7r5UY8CuR/W7tW4IloJDlbCHdBbD8MbwdTJIwC/tEK+UmiISMtY X-Received: by 2002:a17:903:244f:b0:1a9:b977:81c7 with SMTP id l15-20020a170903244f00b001a9b97781c7mr2431938pls.62.1682616952635; Thu, 27 Apr 2023 10:35:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682616952; cv=none; d=google.com; s=arc-20160816; b=Uazw5R8Ml5pib+/RhO5PiPUh97XXMTSTcXc9DOnRD3O3mtlr395kOciItmp2t1FP62 x4z2O98CCL4R9ChfansutOBu8SpfY5RBnOpMS4Q2gIjWenUV2JsVgLyXc9VjhHGdgj4O 4zkNSgyBafvjhnj3LK4CczKfQB2oakf+fUMd8yWDCEo4w4OIjd0zo8Nmi9v/6NJ/osin WaOI9ZXpImlgWPQ1U5jMV584E93yYEvL9N1Alik37l6k+HL0NL0DvoKUwVXknkepeGIp h+R4WvlPfmU6xziqRNM2pSvQQ/regJJZKNqbXjHVCsCHfbTX2e6WvCQUMr4ud42tcxAz JhjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:subject:from:to :content-language:user-agent:mime-version:date:message-id :dkim-signature; bh=CY33Zy2xKG7pznRy97ifyf1l4JhUNtMAVtSxPTboBLs=; b=tcLJIevKO7yUVtHTKCa1a4jX5CvIjoKfig6IIiwUp73/+hNOJ93dvFQD6jMdzqz2q9 Up49G0RJItV4gALxk1/sgfRW0oYNK1U38TUK7iWJkEjHK6IoXkQjuaWYtA2yMWeJvZRi dDRP0Lv8E7WqfUSY4K/Lue9cAtS37VHoi8lqfw4qXpB99pIm1VyMLSlXTnoeoPYXrznd Fr4tuRqYvtWuxClyZO3BewDqRNkWs/kPsSUoVgbq7r0J47o5+vqzbFK3R0jPndtZ/mVV ecFbU8PzO/U8V6RXGIqYmt0jaJ2M2I7h6DYnsNv7cyIsQ5c3xRw69XATLvQPmK0XzM+X 7Z/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=WTeY3V+0; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l13-20020a170902f68d00b0019953ab9cf2si21113664plg.138.2023.04.27.10.35.41; Thu, 27 Apr 2023 10:35:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=WTeY3V+0; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244145AbjD0R0s (ORCPT + 62 others); Thu, 27 Apr 2023 13:26:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244122AbjD0R0q (ORCPT ); Thu, 27 Apr 2023 13:26:46 -0400 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC4B23584 for ; Thu, 27 Apr 2023 10:26:43 -0700 (PDT) Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-50a14564d17so9039879a12.0 for ; Thu, 27 Apr 2023 10:26:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682616402; x=1685208402; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=CY33Zy2xKG7pznRy97ifyf1l4JhUNtMAVtSxPTboBLs=; b=WTeY3V+0wUVpik1llbiMCvZaeBae5x0wmMO4047ZVO9vpeyhmDHokfgPFqwNtELke0 9kh4xJxkH7InLxxwzM99Avrk3cqGgPRXXOCsBe8fvicrev3gUmOyIEHUo5NhBWWuZa+H OyDosPW0AKCQyw6G5dCRgk72/tiy48f4brXZSI4cNwzFTi17YKDDuXv/pxlle8n+2YOU ZD+shQSckiF0U1ALE9NnAqKDLauFgfS5PTNIKV8ZkFm+z8Wvkr69fWmDmal73kyyUo6n qKENqj6c3XJIPVt693Zok6Y3LfBQUJSsiHIQLVK1l0swIv63aGApyzKygFlbTjHczPqm Y+FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682616402; x=1685208402; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=CY33Zy2xKG7pznRy97ifyf1l4JhUNtMAVtSxPTboBLs=; b=NnYDodmkzINBSCVelX2XV96an39EF8zS2BpfMypE9KvcQtPC67N0AZ99G7GaSaHMwF UqnDXJPazS0E0Wjh+jk+jlV/aHDBpEb9eCqMlH7NaK6EI6DQ4yOsnIOSwZ2MN202Oytv j5eYkOzZIOEHgY60nhaLiC4K1zwCiy3jjsY80p8SwwH1VLvNf31Rk7suxutkcrbCziIc p9EsUgqXCYnCehC3t2wrFGNMjA152k6z9U3+xmfDnKHBIYn1KRY4LtLdgu/DP+xX8O/D P7VAjMqaw6FFQHbgbqgHS3wexcbBsV/cpbcibgmrUoz1Cev93Zqja2iHm9wT6TzPUVzK DdlQ== X-Gm-Message-State: AC+VfDxqgomON//qO/qLX4lAnonJ2jpAtNa68wi/tzh9x0U+oMWc22nY Ryo4wtgaJifRsdn6Q/O7dAEGeHpmE4Q= X-Received: by 2002:a17:907:6e16:b0:930:4eba:1640 with SMTP id sd22-20020a1709076e1600b009304eba1640mr2395220ejc.38.1682616401995; Thu, 27 Apr 2023 10:26:41 -0700 (PDT) Received: from [10.102.4.159] (50-78-19-50-static.hfc.comcastbusiness.net. [50.78.19.50]) by smtp.gmail.com with ESMTPSA id z11-20020a170906074b00b0094f3c281b34sm9853685ejb.196.2023.04.27.10.26.40 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Apr 2023 10:26:41 -0700 (PDT) Message-ID: <6bc05de3-42ed-2f0a-188b-8dc0297aee5d@gmail.com> Date: Thu, 27 Apr 2023 10:26:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Content-Language: en-US To: linux-wireless@vger.kernel.org From: James Prestwood Subject: sending disassociate/deauth frames to prior BSS after FT/roam? Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Hi, I'm tracking down an issue with APs appearing to think a client is still associated after it FT roams to another AP. I'll spare everyone the details but it got me wondering if a disassociate/deauth frame was getting sent to the prior AP by the kernel when reassociating. Following the mac80211 logic starting in ieee80211_mgd_assoc(): if (ifmgd->associated) { u8 frame_buf[IEEE80211_DEAUTH_FRAME_LEN]; sdata_info(sdata, "disconnect from AP %pM for new assoc to %pM\n", ifmgd->bssid, req->bss->bssid); ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH, WLAN_REASON_UNSPECIFIED, false, frame_buf); ieee80211_report_disconnect(sdata, frame_buf, sizeof(frame_buf), true, WLAN_REASON_UNSPECIFIED, false); } I noticed here the 'tx' argument to ieee80211_set_disassoc() is false. Inside ieee80211_set_disassoc() that I see: if (tx || frame_buf) { /* * In multi channel scenarios guarantee that the virtual * interface is granted immediate airtime to transmit the * deauthentication frame by calling mgd_prepare_tx, if the * driver requested so. */ if (ieee80211_hw_check(&local->hw, DEAUTH_NEED_MGD_TX_PREP) && !ifmgd->have_beacon) { drv_mgd_prepare_tx(sdata->local, sdata, &info); } ieee80211_send_deauth_disassoc(sdata, ifmgd->bssid, ifmgd->bssid, stype, reason, tx, frame_buf); } Where 'tx' (false) is then passed to ieee80211_send_deauth_disassoc(). This then builds the frame but doesn't actually send it. I tried finding something in the spec about sending a disassociate/deauth when doing FT, but can't seem to identify any requirement of that. Logically I would expect a disassociate/deauth frame since thats what the client is doing... Maybe someone has insight into this? Overall its a rare issue and the clients are able to roam just fine many times. But occasionally the APs exhibit this behavior of thinking the client is still connected and it (possibly) causes other connectivity issues once those APs react. Thanks, James