Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp771118rwe; Fri, 26 Aug 2022 14:16:53 -0700 (PDT) X-Google-Smtp-Source: AA6agR6k1zhUQbuqd8lxsiQ+lrP8i/X+D3ZoRH8ZmQXpPEbAAINc2TIDoFFrLzGqQTLSnIgkyleb X-Received: by 2002:a17:902:8f8a:b0:170:8df4:eebd with SMTP id z10-20020a1709028f8a00b001708df4eebdmr5382362plo.116.1661548613032; Fri, 26 Aug 2022 14:16:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661548613; cv=none; d=google.com; s=arc-20160816; b=ZgcinODC9e/Y0s/ld4XOYy768ItFDJlcmYsEuCjppjfh30FhmFEWHNTP+/9/iSg51H BW1MV//5KvWVX56qTZDCRCP0Gam/j5IlHpoQYLT5J2qp9SQ4Hvg6mPmpII9aoG/ohLeh 5wpgj440e8BHBNJ3qNkr/fdDVlMSPicPBrP6YMg5BB5lLin6Z5WgTA73XkV7gMmMg6SU o2DZp2SmaSPnB9tXT5ghOl/OCLNvPFt0jPmr+o2IWxaqmIBc5tavwvGkAI4vfVwmc4ys +vKn/eAq+ytKS1VXsJVDMHE2Rurfh+6myYVo2xQ+6FiYcUicnf+sVbwXiKq5T68akePV 59sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:date:to:from:subject:message-id:dkim-signature; bh=POG5+eCcsauVD5ngyl48W7k4XbDPBYvyvSVLVpFK9S8=; b=UZyeSsLBo6sRlWUDWuPKUyS6SaRMZ7ZC4ngSvf8ZmQITQ/CL8heclHALsTLxY52oZu q4GURSOtFxQyeFeT72TtNtv1v9FmOmHXSWz//owSUAkDNnHFLiuBBhp+078vGu7wiV/r hG6L1m6/s1Vvm0gbOaaka0TfcD9lqdl7oPFQSpHQES/blxKMIsXNlvzlrBIsHlWhaW18 EU9OolD3h/4YvPY7tYG6CCRZo8EO69zdZybbnLhtPjL3azJywJhaoU1UbknOgRYzSSDG EDAEy3mW9cTQS26l1jxy88mAwR86QcjPm61tPUUOr7WjWE6156OviZEM/CuoiJCD/pKL uN5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Wm2X5SjF; 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 gi10-20020a17090b110a00b001f557276cecsi2577822pjb.52.2022.08.26.14.16.38; Fri, 26 Aug 2022 14:16:53 -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=20210112 header.b=Wm2X5SjF; 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 S233538AbiHZVMr (ORCPT + 64 others); Fri, 26 Aug 2022 17:12:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54320 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229676AbiHZVMq (ORCPT ); Fri, 26 Aug 2022 17:12:46 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40937E589E for ; Fri, 26 Aug 2022 14:12:45 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id 202so2427601pgc.8 for ; Fri, 26 Aug 2022 14:12:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:date:to:from :subject:message-id:from:to:cc; bh=POG5+eCcsauVD5ngyl48W7k4XbDPBYvyvSVLVpFK9S8=; b=Wm2X5SjF/lTm0nvY3up9ZmGv9evW33v612YUheyVFH0/q1AiEKL2yEzgnsxL5d63mN r6huin4zz586UQizoFNYFp3OhTf1JuS8s82mI3+C9Bq3+wjaiVmXRn3fvqosTmMxPxs8 QqQIQ59xjJR2hx/RulseFiUlEGMnplW5ym5P11VFAM1H7kcXvuVz71ubShwnmL8uh0tP y2qNkpVbmS34efX7MM2mTr+F6L/GvreYBP/oFHhOK5tbaZ094SBE7VgHTCbQoRhiWFeY TBhWB98Xy70HJzB+g2dPLCAV5B/VhTZE7c3YDwTp+3ptWwpaJuBKMryNgXGWt2Ae0l4h WH2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:date:to:from :subject:message-id:x-gm-message-state:from:to:cc; bh=POG5+eCcsauVD5ngyl48W7k4XbDPBYvyvSVLVpFK9S8=; b=XZ4Z/De33jfzeT4BRSxES1qnLHdpKo+RKRsizRA4/SVZnDMKhdY7w7t2WNaY4hw9yw e3rhCmnK/KFW6Pba5/hLGPf1VHUTUipUJwRsFQzAcNJyZd0Z3TsW/OXLpEGvhsnnlTqZ flH4HVRplhCpe6Sa0irRoYCH2egdlnWEBkmZVn4u6MY2mv/F8fJQyth7e8MCdC0Gh8K0 Agk4zU+CCy1XAoxjMXB+PHx4Pl75+DyY1cVVll4RskmclJC86i/MU/rvsKz+N9inALgd p1oqRjVByLibtr2XJ8yZJN2Lnc4E+lL9bUCjvANuyzY2AvGWZbKhDV8eq1nX+15ehAnz wqTw== X-Gm-Message-State: ACgBeo3OC1oKDo0acYwbNU2MQA2HeTZcsAKZm1gv5xZHQSF8DPX3pCas NNY0AcBOMC6Xfkxhqu59bA2z89h7N24= X-Received: by 2002:a63:1459:0:b0:411:b06f:646f with SMTP id 25-20020a631459000000b00411b06f646fmr4697564pgu.338.1661548364500; Fri, 26 Aug 2022 14:12:44 -0700 (PDT) Received: from [192.168.254.16] ([50.39.168.145]) by smtp.gmail.com with ESMTPSA id b10-20020a170903228a00b001728eb339e2sm2052564plh.286.2022.08.26.14.12.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Aug 2022 14:12:44 -0700 (PDT) Message-ID: <432703ce83ac979ba06e2b85d6dc500f246c6a76.camel@gmail.com> Subject: Automatically adding OCI in mac80211 From: James Prestwood To: linux-wireless@vger.kernel.org Date: Fri, 26 Aug 2022 14:12:43 -0700 Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.4 (3.40.4-5.fc34) MIME-Version: 1.0 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'll preface this with some background: Long ago support for multiple authenticated BSS's was removed due to its complexity. CMD_AUTHENTICATE now changes state/channel, and is not recoverable if authentication fails (i.e. disconnect). The spec actually allows/intends for multiple authentications to be supported and FT specifically can really benefit from this. As a workaround we started playing around with using CMD_FRAME/offchannel for authentication, bypassing the kernels state. This works, and we can authenticate, fail, try another BSS etc. all without the kernel knowing, then proceed to association. The small problem is dealing with OCV. Prior, we would call CMD_AUTHENTICATE (channel changes), then GET_INTERFACE in order to obtain the channel/operating class to build the OCI element. Now, since authentication is done offchannel we cannot use GET_INTERFACE. Deriving the OCI based on capabilities is certainly possible, after all this is what the kernel does, but rather than trying to mirror/maintain that code I thought it would be great if the kernel could append the OCI automatically to the association request. This would also save a round trip since GET_INTERFACE wouldn't be needed. Does this sound reasonable? Thanks, James