From patchwork Thu Dec 7 10:13:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitrijs Martinovs X-Patchwork-Id: 1874025 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=zNlK/dKv; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=maxlinear.com header.i=@maxlinear.com header.a=rsa-sha256 header.s=selector1 header.b=H5S7KOnC; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SnM3W4XM7z1ySd for ; Sat, 9 Dec 2023 19:43:16 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Message-ID:Date:Subject:To:From:Reply-To:Cc:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=M17SrDqSS/SD8CQUGsWcqLRf3IWDTytQD2Ic+UNyoPg=; b=zNlK/dKvL5U3VRNvKQ0dZHAfVO Wa4rEAsDh8NI2xM8bHDbytpS1dAFw99subvCzLj50ZHOxX0yovsX9GT/LuZ75+2UMa7lu7rMKlumq DiNY33Gp2l/h/jSf/u79R+1SvtrHLP95axtIyT5Mi+u2HBPIxEK8vIny3DfjSPTWdhWUvdvrWjLcG Qj3Cw3LVs4l1XXYMz8vKb97HJs2TMBemGAY21UXQjys2V/N5vJHI94gwceawv83YKjF+6gyYR4dK3 Vz+MeT/4RM+2myVimZcK+JhjVqQ1h59jG37/Z4RgpQ4R46l06dNjIFlOu5qGxcTtWUEZNGRCX0EK0 zmUTK3rw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rBsuI-00HKCj-2s; Sat, 09 Dec 2023 08:41:54 +0000 Received: from mail-dm6nam11on20724.outbound.protection.outlook.com ([2a01:111:f400:7eaa::724] helo=NAM11-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rBBNe-00CRzP-1Q for hostap@lists.infradead.org; Thu, 07 Dec 2023 10:13:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TnK+/LlcaQkdMr5MOoU6aOh3ybVjJ3lhSB16qBtGPqNWiOZZAlJTLPHkyHVide5ic7QFYN6Ll8S3U/JHUwnZjzrZqYYC0v1moFw6Pxs1sdqFCWQtSQ8NplloofWNm7ZnC3oZ0PYUvmL1c5vrpYl4bttuzejUWU1LeghEq2+zYfvAmGnex3TULG2rBVdq3pkDSryTQobOlr63st1OjT78L6VJIQewVhKEz1PAY2yEYrgYNdfHoFJ3xIM33vMe+9uS1hiiZ7+AWp9cfvehMDAG7SnEW//957wCeXOlIkPFfLi78uOjHAATfoMWxxcqJxm+Wg9g1Ld+Jy0tgUvF6dh8pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JQmIO98PUDBjmFIdyIdrftGhw1m92Dw2f8S/YwJQonQ=; b=XogQLy8h2wuYp8RV+5UZPHWcOIEa/eCIwkOXTutNlMAIOOB+F068v6YcvhZmOfGbBBT7b82DJLKse97doBcATyFvA6OGVY3fAH97SxIn9uxuP1YyELpaDLr3sS4DlBMAxL6XCluCyCuUKUqbGLPdGnNIlZAgbYwJ9csam/5/8fG6e1HX2zOrkm0q7lMUxHV0nNjopaQSa1Qht+TKUJhP8MR+0L+ittB3SDrSPmDQEr0ouHMggzw87+qa6IKT6Dt2WgEOMszdnsFaSo+iSfbB7dffegX/2WLRIkYGn44ehMGX1koIvKXKKJeZS0PWzdhl1d5+Fy8UR7To/CS4e/cuyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=maxlinear.com; dmarc=pass action=none header.from=maxlinear.com; dkim=pass header.d=maxlinear.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maxlinear.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JQmIO98PUDBjmFIdyIdrftGhw1m92Dw2f8S/YwJQonQ=; b=H5S7KOnCEuFxs+oO+Lwf5hKIYM69aWjTpkZUJVHLv9xzrZix0Q1mDlmV27FZE9l8dcybyophmi+f4bGQRrUp7EiiwSupu0EMOTmkQgaEnBWPb6lSpylOnTGYIbpNcNe6jGJp2EdZqbmJLpKffUXRIj2p979vn6XDlXHo7EaQ0iY= Received: from SJ0PR19MB5414.namprd19.prod.outlook.com (2603:10b6:a03:3df::20) by MN0PR19MB6166.namprd19.prod.outlook.com (2603:10b6:208:3ce::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.27; Thu, 7 Dec 2023 10:13:07 +0000 Received: from SJ0PR19MB5414.namprd19.prod.outlook.com ([fe80::ab84:be30:9309:8ffe]) by SJ0PR19MB5414.namprd19.prod.outlook.com ([fe80::ab84:be30:9309:8ffe%7]) with mapi id 15.20.7025.022; Thu, 7 Dec 2023 10:13:06 +0000 From: Dmitrijs Martinovs To: "hostap@lists.infradead.org" Subject: [PATCH] Change vht_capab according to user requested BW Thread-Topic: [PATCH] Change vht_capab according to user requested BW Thread-Index: Adoo9RYvt7H/EsHCQl6Gr8G2b9Hwgw== Date: Thu, 7 Dec 2023 10:13:05 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=maxlinear.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR19MB5414:EE_|MN0PR19MB6166:EE_ x-ms-office365-filtering-correlation-id: d48ec9fa-330e-4172-c7f8-08dbf70d1a83 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 30nAAvLmYJpfp7XWaiRfXQ4MvU2Hi+ljk9uPNzAumhFntKFeL3cCDs5+TZgrJdGhhnqrqjFRDh3WBK11gcQNONKtr3MQ/yB0z7V3Puv7Re6L14G62d9+A4/pTzJ4fJNILnDrveHL5CwnLqZ3gk4MhK8QJOsXDjRJUgLsb5J3Ws95uYrEMVZ0ys4BqvA7PjrZGZ+nxH/C/QUJz9mJaRghOUOxn1W90Nsy3bACinRBNkxoWAhBoMQ96c2gP1/BmCNxovjApRpCLjtvFpCYomyZbyO8ISoRXN+dGrTboWV2uUZ9sk3MHT/hzHXzBgtXKSRJ8vcJTeY6c1gDaVK8CAD+2YDyt9Vwang0pmUc9uMINzAxih0EiEnbCPsVyAGF1s686AE4N2K/rCh6WjKdPA2mk0TlJfO1Bk7e3RXemGvUH5VHq7m3AfahNNOqezWqW0glvXfImOPJ9zcjE9F/QR5d2S6EI/cOGN90qSPTv2MgkDP5+cAVm2Npg5g3+XgyPoGHij22aCTr1unA/kY7rTat8wiGcqAZrNI1TGUGgKao9s+lOB6GHY9FR5Kij+Mr9QyPpEyN3LmyiOci/IJh9ySeW7zdtmaGPIb4hkxRw49uWoMJIqJ791Co4vIj3ic5DFSI x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR19MB5414.namprd19.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(39850400004)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(53546011)(9686003)(4743002)(83380400001)(26005)(86362001)(52536014)(41300700001)(8676002)(8936002)(2906002)(5660300002)(38070700009)(66946007)(76116006)(66556008)(316002)(6916009)(64756008)(66446008)(66476007)(6506007)(7696005)(71200400001)(478600001)(33656002)(122000001)(99936003)(38100700002)(55016003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 4fyuJykNQsQlk7a4D3VuMQeiiUWMui8Fz0RQ/88SHr87fwyfwCe9Q9dZGzeYbf5+/uqIy057Fj7ag/AyvMW8eW1fRttlsVD5Oxa1NGRZXPGvS9qlNRx5GAB9R6nhw8NM+Pq1YoHeFYX0mYHtt2cAIhFBmNfCLjVprrsnDD5ikUBoNl2r8eaVabP/9QshHfn73gybxA2ieiMLXMMCvBHafoisCnvY6qzOP+YSPLWjmKCyR27q7tWffstswNb3iTckzhcZPO10hkeM9q/xWje/hm7sHM/zRJUsrRv/u1H5pK3My+DZ94E2zbOH0O/me3i+V6vXhwCI+VgpbOPwmPyRrzn7h5AhdPjB3/ubE6X6Ud/Rnd3WPVP2vJvp3kc3H9T8wwR78USBTz8BAZ9wNtGzzbF27G/zwd6hNnY30qXGjcUwe38c2sakdUUo5kowxH/aK1eVl22gr/wVBETbvps8IzwUmjw9LOnvUQ8H6eWGvIiVjQF1XB+sej/aVntKFCiccwS2NVuY62GOP3UhmgTYLxjRLiQW+AA8BvVrVQepxcROJc22lwJnXTKDHVjwQAyDUJEP33huOnrkbRuWtjwrrpm4Fyby7RBxtgByjJPL0XZ+a6tT9pkKO9f8oBb6kNm1qw2Xf7AS7h65vjuReySQ5Ht0EVe+jUl4WhwR7BnoIXobX9xpncNoacPq0EwzO6NWNlXh0WUuzpammjlFAYO9It6tblcQ6/RXrzmM/0GGZbdkxutHE1rFc15EgEilckLuvuyttxmJe6/6xNNUJubiNRfMO/WJHEuDS3bRQMEfJvvbgX1oT+5L/P8tVeo9A7jeV8/XhOzEup4M9ynmCFurXcr26ZuT7Ku5j71rFqiVQm0sX2Yptzc+Gm61dkYuNkW2kZjsOCLMYyGWK9SlYSCKN6AgyXsVcRcHozzcPlVYtoS3eaRr4e7pJkEVM25YBDHmZRxOfbGw/vxjedgYcqv/cRXvf/+yT4fdJNwJllyb2kUpCHSr9kTO6diBg4lx1R0Ubu7j51EHTunAbTgVR6aQW4jG9Ma9o76BimQMo6MAyXZNN8ZpAwAkhfN7MMr2m9ZMoanqn+fJm4gOOwcwHkhghtEFUf1AsjrRKhi8BHnn5KWRBja/D8Zm2XEXJiMoMNns5rnNYoe4OX0S0tgRYlQuwnvJzL3HUdZngwQv/jAru5C0PZ2oNZTAXvQUIdTgvGN4wwa1FK4f3l+LwO1XS+o0Uz59CKYi0oJVAmOP3LFjXFZORYu5O7FqAwSvjfgyfYOcHqmRasXt33a89rYGLSLJPqgzvCVdpNKEoNXveuxc8v1v6QVohyinsnw1cnm6M7LVsh79IWrYaU1HkalcwmcpmzjEdcsdftofk4jf3OongTrEuG394jadgJqSWytQRlse3SgqjxSagyvTHaGpVq+hS9VglmViIFKKL55anDsb0m9dLKJN/0X48dfXRuBhHjemhJ3wBHK4IlhZlcpuoBB+AWJBpeIL/jBJY3z7v+A/VJ4RsaxqBIFq4wse0nWdp6KDw38Ofz8X7KCXw4DcNSEMTUqUKmRMTzOodv7OYzt9vQxNwecKGlAo9uDSoALJb4xC MIME-Version: 1.0 X-OriginatorOrg: maxlinear.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR19MB5414.namprd19.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d48ec9fa-330e-4172-c7f8-08dbf70d1a83 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2023 10:13:05.3987 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: dac28005-13e0-41b8-8280-7663835f2b1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: drNCNDboFTIZSvZfzhdXJmqNrNAPuN8sbla7mPHZF0oyunFXHkHCSInsquRwU3dRnS3tNYfGtS4d77ifY5JgMvjyCMSadcQU2r5dG1E/0D0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR19MB6166 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231207_021318_635924_B0EC8A12 X-CRM114-Status: GOOD ( 15.99 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: In hostapd_cli chan_switch command (hostapd_ctrl_iface_chan_switch) there are 2 flows - for non-DFS channels and for DFS channels. Non-DFS: Sets new BW (from chan_switch command input) into iface->conf struct Create after-switch-beacon template Resets iface->conf BW back to original value. During saving of original BW there is a [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-Mailman-Approved-At: Sat, 09 Dec 2023 00:41:53 -0800 X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org In hostapd_cli chan_switch command (hostapd_ctrl_iface_chan_switch) there are 2 flows - for non-DFS channels and for DFS channels. Non-DFS: Sets new BW (from chan_switch command input) into iface->conf struct Create after-switch-beacon template Resets iface->conf BW back to original value. During saving of original BW there is a check if that BW corresponds to vht_capab. DFS: Sets new BW (from chan_switch command input) into iface->conf struct Read vht_capab from driver Create all necessary beacon templates and do chan switch using new BW and driver's vht_capab After this flow new BW remains in iface->conf The issue is: By default we don't have VHT160 support in vht_capab. If we set BW = 160 for a DFS channel, it will be saved in iface->conf. If we try to set a non-DFS channel afterwards the function that saves previous values will fail the check for old BW == vht_capab as old BW comes from first (DFS) chan_switch command and vht_capab comes from original values. Example: Set ch=60 bw=160 -> saves BW as 160 Set ch=40 bw=160 -> compares that BW with original vht_capab that doesn't include VHT160 Fix: Change iface->conf->vht_capab according to BW that is requested by user, i.e. add VHT160 if input BW=160 From c6104b3ecc281d01e7cf617fe984f9a2818ed0d8 Mon Sep 17 00:00:00 2001 From: Dmitrijs Martinovs Date: Thu, 7 Dec 2023 11:59:10 +0200 Subject: [PATCH] Change vht_capab according to user requested BW To: hostap@lists.infradead.org There are different chan_switch flows for DFS and non-DFS channels. Non-DFS one saves previous BW value in iface->conf, but DFS flow replaces it with a new user requested value. Setting a non-DFS channel after a DFS one with BW = 160 would have resulted in a mismatch between the saved BW and vht_capab (if VHT160 was not included by default). This would have led to a check fail in the hostapd_set_freq_params function. Signed-off-by: Dmitrijs Martinovs --- src/ap/hostapd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c index fea3d8b3c..0c693a8a9 100644 --- a/src/ap/hostapd.c +++ b/src/ap/hostapd.c @@ -4103,13 +4103,15 @@ hostapd_switch_channel_fallback(struct hostapd_iface *iface, bw = CONF_OPER_CHWIDTH_USE_HT; break; case 80: - if (freq_params->center_freq2) + if (freq_params->center_freq2) { bw = CONF_OPER_CHWIDTH_80P80MHZ; - else + iface->conf->vht_capab |= VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ; + } else bw = CONF_OPER_CHWIDTH_80MHZ; break; case 160: bw = CONF_OPER_CHWIDTH_160MHZ; + iface->conf->vht_capab |= VHT_CAP_SUPP_CHAN_WIDTH_160MHZ; break; case 320: bw = CONF_OPER_CHWIDTH_320MHZ;