Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp2852854rwb; Mon, 5 Sep 2022 02:33:32 -0700 (PDT) X-Google-Smtp-Source: AA6agR5RjWRUol0BhPd9CIKXObCpTdFcnOTgFmP5Tjnoairvhs+YjBsN7cEYG0NgVbtdDp+hAZ6l X-Received: by 2002:a17:90b:4a84:b0:200:b21:e33f with SMTP id lp4-20020a17090b4a8400b002000b21e33fmr12998861pjb.48.1662370412362; Mon, 05 Sep 2022 02:33:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662370412; cv=none; d=google.com; s=arc-20160816; b=dyKNjvrx5V/Ni1dH2xJLf+d69LOuom2b4jrEnWk9K+ak8kHD60TEcuv581tHy/aWtr ZPKObepvYwsVRWVsb1AjHARO47Mj4kKpcjfC2ebkRKRQEEillg7i7RQ7ZLNVjVLtkSWD OklBVsADRC+2E/iK+6ezuWFbUmLDoT2fAy25Y9l+CDEGYE9oVVUpVE2g+jtVVoN1RVRH kIKOpIFIIDUKUWCYDZIZgv0FwXpt5U5Ouyj17XhAjYuj+fbVKzN7bBgX1s7SgdLxMbQl B2CfziI+AT1al4d2IxWNIZWh90I6b9EI9YmDj6T2nzJNtKTJgqyLtbPCXVHWZqhFFNAe uhcA== 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=tX9QgcGn7+fLXns8mV9DE9uO/rUf0e8OnYl5WG4WCJ4=; b=JcJnrc3cEDKKFWK+cH8d43PbAycN/ZJ8aYyrKe5TyzySU4NE3a143FEO5cLGODDXGJ pfzCYpFFrJk1QuksV0eoJuMpnwKKZcb5EF9qPMPIJlhXHlk/kv359o3qPnmzGvoaIJyc 0dur9F7ZrL3JoPg9S6+LCQaz3F3daIXAcLbVPafvUnNhoXblduzNneY8gCAg4XIZ8M6y memUTPPxmR0gA7R0RqGt8JlZokjF5n+QU9tziC8OYXahMCR+/BTUQqCYl+3YJxjYRmcN t0B/0TuahOSqqn/cZsyyKI/AZgqb1/rfS2rZC2jYaufCzl4CG3mR1gBlDH2vDl/mYOnn OPAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=uzNU4imb; 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 il4-20020a17090b164400b001faf81eafdbsi11356807pjb.174.2022.09.05.02.33.23; Mon, 05 Sep 2022 02:33:32 -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=uzNU4imb; 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 S236379AbiIEJcx (ORCPT + 64 others); Mon, 5 Sep 2022 05:32:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46688 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234960AbiIEJcw (ORCPT ); Mon, 5 Sep 2022 05:32:52 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5CC845006C for ; Mon, 5 Sep 2022 02:32:51 -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=tX9QgcGn7+fLXns8mV9DE9uO/rUf0e8OnYl5WG4WCJ4=; t=1662370371; x=1663579971; b=uzNU4imbetzad3/Hy/cPTZT/spBwdKz6LsfmiNoIe4BrUOu lJcx00+7whJluJZw1gV1hMY2/ynB9qIFtcnV9YYUm45VrNipFugCwZwGHn08bqtSR4zlwKVfa51Gc BKKlr4o1OvMAs6SnnuBmIRuO+Nj+FUToLly6aXm7fM6StfUhcXm0XMo0UBD341702lMWbrpSQSn8D hBIcjbO2MoKJtUrPNcRjbWSFrjE43GYcSxWKOsFFcSYm1YGZwohtDD8j7GgYDLzSUJiCEBS+OADNJ EQOPVu/PxbEDzVvuqT3dZB0FvMpD3T4BF7TtyvNcNzwvu1soUb+YxmDWpFBaFOHw==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96) (envelope-from ) id 1oV8TH-008UlX-1E; Mon, 05 Sep 2022 11:32:47 +0200 Message-ID: Subject: Re: [PATCHv4] wifi: mac80211: Mesh Fast xmit support From: Johannes Berg To: "Sriram R (QUIC)" , "nbd@nbd.name" Cc: "linux-wireless@vger.kernel.org" Date: Mon, 05 Sep 2022 11:32:46 +0200 In-Reply-To: References: <20220818070542.15870-1-quic_srirrama@quicinc.com> <5e0b07409a8c30f61ebe514d31d77e4564b86258.camel@sipsolutions.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4 (3.44.4-1.fc36) 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 Sun, 2022-09-04 at 03:14 +0000, Sriram R (QUIC) wrote: > >=20 > > Though I've actually thought for a while now that we have so many capab= ility > > checks, we might benefit from making those static keys for systems that= only > > have a single wifi NIC (or multiple similar ones), which is quite many = I guess. > Sure, we could check for fast-xmit cap. But, I added 'enabled' so as to a= void > accessing local->hw in all these functions and also in case if we need a > selective enable/disable of this cache in future. Right, that's what I meant wrt. cache locality - I guess we can keep it this way. Though we probably check local so often I'm not sure it matters, and if we ever do revive the static keys idea (I did have a patch at some point), it'd be better with the flag check. > > > + if (key) { > > > + hdr =3D (struct ieee80211_hdr *)mhdr->hdr; > > > + hdr->frame_control |=3D cpu_to_le16(IEEE80211_FCTL_PROT= ECTED); > > > + } > >=20 > > Isn't "if (key)" equivalent to "if (pn_offs)" at this point, so you can= move it into > > the same if? > The pn_offs will be set only on IEEE80211_KEY_FLAG_GENERATE_IV is set in = key->conf.flags > So had separate checks. Ack. > > > + /* availability of hdr entry ensures the mpath and sta are vali= d > > > + * hence validation can be avoided. > >=20 > > What about key? :) > Hmm.. I was relying on the availability of cache entry to ensure sta and = key are valid. And I thought you're right - but you didn't mention it in the comment, so I wanted to double-check. > But I see your point and realize the entry gets removed later in __sta_in= fo_destroy_part2() > whereas the key can get cleared before the entry is flushed. > May be I'll see if I could flush the cache entry in __sta_info_destroy_pa= rt1() so that > the entry itself is not visible. Hope that solves if such race occurs. >=20 Alright, let's see. But you can also remove a key without removing a STA, so maybe there's some flushing needed there too? johannes