Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp739329rwd; Thu, 15 Jun 2023 01:05:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7yhIPZlWZaN/yEgu2VQwKrWrtLdNmzUh+VIUTyjw0n5JQ0motWU5cDlNUXb2Ll9kON+h9z X-Received: by 2002:a17:90a:f00e:b0:25b:c1f6:eef2 with SMTP id bt14-20020a17090af00e00b0025bc1f6eef2mr3720255pjb.45.1686816355006; Thu, 15 Jun 2023 01:05:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686816354; cv=none; d=google.com; s=arc-20160816; b=Ep/gFezgm3P9QDWE3C2NYQMI9Lt0FEsjrVIAr60uCbeKrXfO/s4BqmNvERUSTZmo0Q wSq/vLK0pAcJ+SS4iVIm9GxxBpWlFq3Xa3YcApSGoiVpT2RU/AIHgRMF5wJcokH5+ebJ 4It0ivQ2ogdATP9jAFAVc9ZhZDB423FtRLzTsIyl3WFwqsBMTcB32b6umM9QYI9fLfGy aOFphKRU4AjiwjiZLb9gpwj/s6P6jVKN71wIcG1RoT/g/L4T2pnI/uhxRI/F7G41Wb/7 YRI1DMVcGm4XNo4kX5cpTDNwCAArKkX51Cr7N31CJS4OMI0ykjN7NFDMtsW46gT6Lfll 8ygw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=+Hu0ck9XCxIY2n8/byR+TEcnYCe2b0gqlzoS7QzsYf4=; b=f5JTOUtamqM+E1Y5Ca+36Ynv8VcNUCVOhGA/Vbygv8KU1EEEPagadCI62yVomqyHaA h4+3jMCWZwHZHOL1GVU32qll/0HPO0YpL4TifLIZ27OCQiExxTZRIPUSvGQVj3LQx1Ni Is5rSxay4S+blpytqHXrB53sfm8gopad2tx7FKfqKIrV0DeTA+ycP5wFmbnOkRtp2sPN bvTSyzJC8yiYn6ZzN2Y5fFfJ6tLhj4wVaPYyqNLpYT21+ChWINQuuFQWnwsEFjpwmb+s HxxJl1iZYzLAdfJsKXx5KCxhfE//9tIVtuCJhlzqRjY802S458q3l5xkPuiawoupcHgF IjXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=hGg9gKbe; 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=REJECT dis=NONE) header.from=sipsolutions.net Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v18-20020a17090a459200b0025c28982ad8si3780136pjg.182.2023.06.15.01.05.47; Thu, 15 Jun 2023 01:05:54 -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=@sipsolutions.net header.s=mail header.b=hGg9gKbe; 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=REJECT dis=NONE) header.from=sipsolutions.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233218AbjFOH5D (ORCPT + 61 others); Thu, 15 Jun 2023 03:57:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237555AbjFOH5C (ORCPT ); Thu, 15 Jun 2023 03:57:02 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25C0C2119 for ; Thu, 15 Jun 2023 00:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sipsolutions.net; s=mail; h=MIME-Version:Content-Transfer-Encoding: Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To: Resent-Cc:Resent-Message-ID; bh=+Hu0ck9XCxIY2n8/byR+TEcnYCe2b0gqlzoS7QzsYf4=; t=1686815819; x=1688025419; b=hGg9gKbeMf5w/ctD93T7RlGLY+o0eYOTn9DHtQOrbHjfKoN h8gXGPUSA7LDHEjrEF3CK/L77/3WnFDWmCaObkuDgaBLPJIzSojfsi0vH8tYsPBpIKzgygKkCarQx 7YIzHMbxEHTP/jNiuiM/Cr8cv70Eoe1zZpyUTjPZGRQpieSsUKPTmmPcKkIrjk7xOsQ5cOmigqaJy hcPK7i19maVlIsGY5l9dUHy/bgLplsYVoayVRgft4JyCWwEkf+e7QIR008fCQl5ZXVDwqCOMa/JcH l95fYc8asNrjJfUTMwiGV+ZwGdNoefW3jg2P37QBBgoVa20ykRwPfqXGpE8Z9UAw==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96) (envelope-from ) id 1q9hqi-0075q8-0G; Thu, 15 Jun 2023 09:56:56 +0200 Message-ID: Subject: Re: [PATCH 10/27] wifi: mac80211: isolate driver from inactive links From: Johannes Berg To: Wen Gong , linux-wireless@vger.kernel.org Cc: ath11k@lists.infradead.org Date: Thu, 15 Jun 2023 09:56:55 +0200 In-Reply-To: References: <20220902141259.377789-1-johannes@sipsolutions.net> <20220902161143.5ce3dad3be7c.I92e9f7a6c120cd4a3631baf486ad8b6aafcd796f@changeid> <5d82e564-86bf-c26b-077a-d0bc14e2d3c3@quicinc.com> <74f3eb848326607b15336c31a02bdd861ccafb47.camel@sipsolutions.net> <113761966918b2f390d3c9304307b42a0b4a829b.camel@sipsolutions.net> <76863dec-1b2f-b933-7c5e-21c732de4bc6@quicinc.com> <2cc79101249548f2a92c14af6aff6121143907d6.camel@sipsolutions.net> <1c26c205-0240-7670-117d-02a7af068724@quicinc.com> <6f8db032286923845202c7d658f1d39db79a758c.camel@sipsolutions.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.3 (3.48.3-1.fc38) MIME-Version: 1.0 X-malware-bazaar: not-scanned X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,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 On Thu, 2023-06-15 at 10:26 +0800, Wen Gong wrote: > On 6/15/2023 2:32 AM, Johannes Berg wrote: > > On Wed, 2023-05-24 at 15:41 +0800, Wen Gong wrote: > > > May I add a new ops in struct ieee80211_ops? like this: > > >=20 > > > u16 active_links(struct ieee80211_hw *hw, struct ieee80211_vif vif, u= 16 > > > new_links)" > > >=20 > > > then ieee80211_set_vif_links_bitmaps() call the ops to get the links = for > > > station and set the sdata->vif.active_links with the return value fro= m > > > lower driver, > > > it means lower driver will dynamic select the links count at this mom= ent. > > >=20 > > > If lower driver not register ops active_links, then keep current logi= c. > > >=20 > > I guess you can can send patches for whatever you want :) > >=20 > > But I have no idea what you're trying to do? Why would you need to have > > a callback? >=20 > Currently driver could use ieee80211_set_active_links_async() to active= =20 > links after connection completed. Right. > But I would like to allow driver to select active links in a early time,= =20 > it will be more convenient for driver. How so? All you have to do is look for the connection becoming authorized (e.g. sta state for the AP moving to authorized) and then selecting the links you want. We've already been working on that, it's really easy? On the flip-side, it would be highly inconvenient for mac80211 to try to enable more links *during* the association process, and actually it's not even allowed by spec until the 4-way-HS finishes. So the earliest possible time is pretty much when you can just do it in the driver as I just described. > > Was this for link selection in the driver? We should have a patch > > somewhere that adds a BSS_CHANGE flag for when the valid links change, > > so the driver can select others. > >=20 > > johannes >=20 > Yes, it is for link selection in driver at a early time before=20 > connection completed. This is not really allowed ... At least not without also finding ways to really transmit the 802.1X and 4-way-HS only on the right link, etc. > Could you tell detail about how the BSS_CHANGE flag works?=F0=9F=98=81 The work isn't complete yet, but basically it just calls the callback whenever the valid_links changed, say by link-reconfiguration. johannes