Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp648571rdh; Thu, 23 Nov 2023 14:28:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IFY2birhjGgrFHp+DM6v/tlmFEsRUIHItiQMfiQvtADRrtxXgiLPYcy2sOgseiGkLGC3rfc X-Received: by 2002:a05:6e02:174e:b0:35b:2908:a17b with SMTP id y14-20020a056e02174e00b0035b2908a17bmr1286976ill.31.1700778486728; Thu, 23 Nov 2023 14:28:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700778486; cv=none; d=google.com; s=arc-20160816; b=OS/mgASLz1Icqczi+GyGc5qAN7zG3Fyajvkbby9nsYDOtIwLWacaf2F3n5eyRowDBm rqPZqaStGoD9uwJrnWzzGgvJvKbswadNTybO92q7UWdGiSubtCV4kii2kxZZdSuLhUxL 6c214uYSa1N8N3NpTqp2gAkZd2UjlHgkn9S4sP08GLiOJh3MaC+pzvQtZYyd+Af9IbdX gk7YsGNqdgAgiYCAXt0E2xjWQ21z29/HLxQdCWzM2Se52aSns12oW6YJDbZWcUqhdUwC Ljq8Q3mBAYsAzil1jFufRJ1lriLtzseq8xoLFC+DNmKM6GBqUM4xHTIOTZrynqFixRdA W1Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:to:from :dkim-signature; bh=mP8Wq6CXAMqmmi4Cc2dRJlLYRuw/4wvj4uk52hARVCc=; fh=qW0phhq3fb3oiohK/Mu9j1KY1zyRNiiioKFc5anvatM=; b=WG6b/QrQAHuYvi0eBdy2ovi4Wdid8n12XAa8qRImq1DRhCbNJjx25n0l86USSSF1za OprIxkQXy9bLfL2gv/ODc3aNtDa0c4rllRVw8yu8pJb/wt8eHqi2BYXOXhFVxLMwVzdy IEPZhjTxUq0crd2dEWen7E0r+592lsv7l7jG0NcwEYCkwbJZuuPGORueDNc/l6OMGsro 6dzrPDFbFaMoTkabQNwBcgYiyKc020vm2tzXvrDlO2r4iRDfxLrJ2shyoPoFfTDBWRmF IEPDEmv8ouzrcfhYY3bG5uVYgBYiWWZaom9auDTDN0+9J0XEXOuSBfrRZY0mXKmBCE1p 9ziw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=uyEeSJYE; spf=pass (google.com: domain of linux-wireless+bounces-7-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-7-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id bz3-20020a056a02060300b005be2508ce03si2307953pgb.569.2023.11.23.14.28.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 14:28:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-7-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b=uyEeSJYE; spf=pass (google.com: domain of linux-wireless+bounces-7-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-7-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 2BD1DB20D62 for ; Thu, 23 Nov 2023 22:28:03 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6CA442FC4D; Thu, 23 Nov 2023 22:27:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sipsolutions.net header.i=@sipsolutions.net header.b="uyEeSJYE" X-Original-To: linux-wireless@vger.kernel.org Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:242:246e::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE026D54 for ; Thu, 23 Nov 2023 14:27:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sipsolutions.net; s=mail; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:To:From:Content-Type:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-To:Resent-Cc: Resent-Message-ID:In-Reply-To:References; bh=mP8Wq6CXAMqmmi4Cc2dRJlLYRuw/4wvj4uk52hARVCc=; t=1700778474; x=1701988074; b=uyEeSJYERZBZrETKMLCry62pGLFDJepvpMMDtQN/4TFRa/uQBYCXkKWL4M5pjF92XvGya89aSBe djt5MMHDmUHNOetRw+TcUBCc6P5+0WaNSVGib4zgrlaW7TT4zRM2I+cca/2neATpfwYQ1K0jA+m2t W8koakGICDtFpTul0GlIxitHgpb7qbSBmaxevymW9Xs4VV4oub6HKJm2lFAhG3+hZ1+Of1VckxqE6 s7uY74ePbtHlWIGDAua59LwUpE6newR2wZf1KYAVj0/0/wDdUarIEVYhfAYMJ5lEf/s2drWtyqZ3R PKC5lpP5MMdvWafA0grhWiVZZbwoodzUfO7w==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.97) (envelope-from ) id 1r6IAq-00000001Y53-1UQi for linux-wireless@vger.kernel.org; Thu, 23 Nov 2023 23:27:52 +0100 From: Johannes Berg To: linux-wireless@vger.kernel.org Subject: [RFC PATCH v2 00/13] refactor and wider-BW OFDMA support Date: Thu, 23 Nov 2023 23:14:37 +0100 Message-ID: <20231123221436.143254-14-johannes@sipsolutions.net> X-Mailer: git-send-email 2.42.0 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi, Continuing the work I already began in [1] (but hadn't so far posted a v2 of), this shows what really was the purpose of me looking at it, which I had alluded to earlier: supporting wider-bandwidth OFDMA in mac80211. While starting to work on it more after the channel request, I saw that the code that determines the channels etc. in the MLME is not really very amenable to the kinds of things I needed to have here, so I've done some major refactoring of that code, that's in patch 7. Note that patch 5 breaks two hwsim tests, but the reason is that the code in wpa_supplicant doesn't take the HE/EHT operation into account when calculating the expected throughput, only the capabilities, so I believe that's just a bug there. Note also that I think that patch 8 shouldn't be there, an AP that drops any of HT/VHT/HE/EHT operation while doing a channel switch doesn't really seem quite reasonable to me. As noted there, that's affecting 8 more tests, and I've split out the workaround into this patch to show more obviously what's going on. Also, the refactor patch (patch 7) introduces a FIXME for puncturing, as it doesn't configure it properly from the start, but will then only reconfigure it when the first beacon is parsed. There were some additional patches about puncturing [2], and I need to take a look at those. I believe patch 3 there is already covered by what I've done in my patch 7 (partially it's the same), but I probably still need patch 1/2 in some way, and of course the driver patch isn't related at all. However, the right fix for the puncturing is to put it into the chandef as Aloka had originally suggested, but I questioned and somehow managed to convince her that it shouldn't be - I was quite clearly wrong about that. I already said I'd need to move it into the chandef, and at that point the FIXME in this code basically is addressed automatically. I didn't want to introduce any workarounds to this code instead. So ... yes I realize that these are some big changes, but I tend to think that they make the code better to understand/maintain, in particular the 'connection mode' struct that's easier to track. The hwsim tests seem to run cleanly apart from what I mentioned above, although I have 9 tests that always fail for me, and for some reason I cannot run the wmediumd tests right now. johannes [1] https://lore.kernel.org/r/20231109003040.4b25d42b8b14.I60d093b2fc81ca1853925a4d0ac3a2337d5baa5b@changeid [2] https://lore.kernel.org/linux-wireless/20230928055022.9670-1-quic_kangyang@quicinc.com/ [3] https://lore.kernel.org/linux-wireless/20230928055022.9670-4-quic_kangyang@quicinc.com/