From patchwork Mon Aug 27 21:28:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Oh X-Patchwork-Id: 962644 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bowerswilkins.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tgTprrzY"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=bowerswilkins.com header.i=@bowerswilkins.com header.b="oFLiSE0q"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41zlQd5Wcwz9s47 for ; Tue, 28 Aug 2018 07:29:41 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=tLifbhhSeg4VwJrUUJhi4IS+CZysXGk59Upfb3mdeDQ=; b=tgTprrzYlyzEht GJS4tYc4dbrPLBTroCY+DiABmUEJZeOkr/2fs3H9y5M0mbAMfh8qv+EgGVsrkvXRljuWuhdF13d3g oQcpIRAyde7JUND7kVHBVk2QoZWR3i7qkSiFqvmXSZSZpQnS//ig3g6WD0u9Rz5FWyHHZJP6iSZDy DZ3u1U3edc7UfANLg1v/0K98ImlzE3+YqhCITU1celoepH0r9oCr/2h5hIl65gqsc4No83rkEt08H AO3EMlOMAL2yoyDzkzOKO79ly12tLVKX5LbuRrOvCHPzf8vhwoxjZbShMhUnUrTiGLK1gNiFJJEgn 8JoaAAK+m856A890vzaQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fuP4a-0006SV-7f; Mon, 27 Aug 2018 21:29:20 +0000 Received: from mail-db3eur04on0603.outbound.protection.outlook.com ([2a01:111:f400:fe0c::603] helo=EUR04-DB3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fuP4W-0006Qn-Ii for hostap@lists.infradead.org; Mon, 27 Aug 2018 21:29:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bowerswilkins.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vdeYInAC6+fm2Jeeny5yN6ABP7acHOrdXm29hVvSbNE=; b=oFLiSE0qMYmznYQrqKkT34YuyGcN+B0jTSSjftLs1bS053Qk0DmQVWV7r/RTU9Bi0O0G+DktAscXBYxJLsU6abvn6s2occ1nY4ilCI/+0g9Z6Jb7gDj/I3Akk/hUCGpBnWGvenWjb0bzD9xeMNiy89p//noqmARzworb4pYntac= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peter.oh@bowerswilkins.com; Received: from smtp.office365.com (2001:1900:2200:85:78a5:2e99:49b5:88c8) by AM6PR04MB4151.eurprd04.prod.outlook.com (2603:10a6:209:4e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.17; Mon, 27 Aug 2018 21:29:00 +0000 From: peter.oh@bowerswilkins.com To: hostap@lists.infradead.org Subject: [PATCH v8 00/16] mesh: enable DFS channels in mesh mode Date: Mon, 27 Aug 2018 14:28:33 -0700 Message-Id: X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [2001:1900:2200:85:78a5:2e99:49b5:88c8] X-ClientProxiedBy: SN6PR0102CA0027.prod.exchangelabs.com (2603:10b6:805:1::40) To AM6PR04MB4151.eurprd04.prod.outlook.com (2603:10a6:209:4e::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8dafd1fb-d9d8-4d32-bfcc-08d60c641ae9 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:AM6PR04MB4151; X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4151; 3:UgCf6eP1SDyUSsYRXI2F8akFNvT5J7gDg0bROLulrYEAk60ARZb5PP/b6XdwiBv7+5kkJLk0FbiDPpJ5cwZQ9+jkCwAx+lXTlkwAdO7ywwT/siFlPExcV0MVTq+K8iCeGfdocumXMEOpHsshP+dJ76hT7iqvh69mOBqE5sex64hIm/FAAJ9lUMof0SiahXeN/A8z5lD0k9AYNr8XXMNwBh6FkClGIj3RL7Yk7tB0BzzIVXtN5pn3u3rr9+4Eynln; 25:YedhU94nYkfhqCY1mdNdowJfHefx5UKg9fPb6DRZ8tp6AvWIpuUJueUNNdrqOOpp68+/sOXVa4E0sQUfvzcoktpleHaNGTbxk0NS8wc3jFa3Kbxu4rF4r0nwfkZBJFxy6WN2Ci61irb7iPIpoYBPMSAyRTJuWzrXH74/ASzMPs8opb6FX0yPpCfj6PrG8b5ewpFS6Zk1yz2B1J9VOEyP/B9o7qTIImDxoIukPto23WolMLAiestUXElU2DZssvJ9UPb7D2DP7pBqQznN5XCj1OEIaqXm5kC203A/2iarae/tM5ceD1w8L5BQhhe+kJKWB6/Nxrmae7ozDniGokxYiw==; 31:w0AEJgum6QipyV4rQn0hFMmQA2RiAso1r2BvNc0yQuty9gDyQZfsV1mfo5tISI5wwXpL8E+/X4OSq4AJxkt7Umu9hF6A+wSFHMvM4yE7dExaJbTQ1KKeDUQAvV574sqmxAZ5ZH+/Flg5BmSCbJ4DsqnlmpPf//244rAgIhsbMKAUYxB9zXIDCqilzc5cDDw1azEw174YAeiMXd3c8F4I469+qFX92VRUnfCFYciSIQ4= X-MS-TrafficTypeDiagnostic: AM6PR04MB4151: X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4151; 20:Vy+oC4XxNrr3x3Y3venAcNOp+aWkOpCFCQ5c04j3Rrxtc0ZepOAFyjVxpAgYUULnHZ33kKyozfKH96KsKHJxQqETQbINeh4Ck1O7lwyWjkEZrweV0aEgQ+bNu1byfPDKGXbowJoWP2aiECS6/Rs7LK+siQsXlO6fvq95E8gZJlmLKDEqrGIoku065oeuFhj1OX1RxOkJpUwlPjOLTYNC5g1HVzOKiZkT52K23dsdTi11h+ewjMAtENLZCVnDYbueJms/4RsWVp/xbtvbdVGTZtR/xGLZU45HW3j6XW2iUgWBfF2fehMEgWMsWzBI6P9sp00xJ2SIS9ypnabJ5c6X69vp7zPMLikzaUg4ZrdyXUlMNq3cZtZeSLy/0k7Mvq3Ag8BPwPTnZSFxEcVlUUYKWvjruJnhGsLiDEoKWh8asN18XIg/ayQ/cYeZx4YXdWTMcG9fybEe5IdGOHbLxI1NarOlqmaRufqlFSugSZIdBNcgOz9cgNBmsliaKwrkkcce; 4:K9enxI05ZtR+mg4bKlniMUT/3GYjE/nH8NqDl4ljRbI4qGwRsHJupxM2hAXBtkLzpN0U/u1M51OKbU4lglBLHwDhDVEtdffdDdaSKBAJ/oipDSh6oOnRJJlBWJbffvYw1oshQC4CAxwH/9YUjzuZQbivfz5OTMG/CWeRMlsbnnujsQ5ETS/htaeXr//u8Au9eUuVwkL40LHcqv8lBVzPMDC59i9uowGs2I2zzs1a99j/O2jUnKyKPXEfPSJgFoTLTTxEu7RIt5xs9CWD9XHh0w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016); SRVR:AM6PR04MB4151; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4151; X-Forefront-PRVS: 07778E4001 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(376002)(136003)(366004)(346002)(39850400004)(199004)(189003)(8676002)(81166006)(105586002)(4326008)(14444005)(551544002)(6666003)(5660300001)(36756003)(6116002)(69596002)(7736002)(305945005)(53416004)(51416003)(186003)(52116002)(16526019)(106356001)(2616005)(476003)(6506007)(386003)(52396003)(97736004)(81156014)(316002)(85782001)(33896004)(16586007)(86362001)(486006)(46003)(8936002)(47776003)(50226002)(2361001)(68736007)(107886003)(53936002)(2351001)(6512007)(16810700005)(6486002)(48376002)(9686003)(25786009)(478600001)(2906002)(50466002)(6916009)(85772001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4151; H:smtp.office365.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: bowerswilkins.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM6PR04MB4151; 23:GxEuQaea8RYYENmj9uIAF13qoEhEWQBlUE9r6v9M+?= rhKQD62a6eZzZHfQe5/exQAjWIPuPTDfCb4FSO9mE3gXw1H4d1oLxxEaOZ7xps5q7jKm5GXyxnu6yB22LQZvcaxDcPSifH9p0SeZuJyxxm3ecOxYOhbpFSEQKFcIMyByl+zWZQxf0j7E1bAcdL4JtdnGKHv8TxH+Z/mW9Y5NclEhBRh3tgWSFKSV2Zb46rjYb8PQK7MV8OWpMyRcfEM1llNi3It74ZMNsKOZ8ji8SnPQN2zHFhnAVo6WjhrsNseHdh007H+GPlbyYhK0MBuR24eTw57YgkrqH3ZOlp5F6yJHI5F2DspXefOXfNQ+gI8MeMxWfkezo/ROj9PSUVK4G8Vo1I6/2AXx2uXH460Zqwy8W0i7aQC1XcwHe7fda3ztIqpG6REryZYEHVcecoGs+kdiklZNTlDVaBizEx86WPXdLC5iZ6f+GtldN5bnsxhINe27bhda5QtGmK6M4h2prVCdmqJ12Dr4VEhG06Bt54cghDUaVjD7tHnMEfkWrkT09DzzLGV+hAzEdUv0GAnGl4Zuou/qtx39iNHL1QwW3HKpjWQEb0Q0fsGgj3ApIpGhcnWbbXpBI66b+jdZr1y6weyZSkGc/0VNGGUqtJFND1DAGyUugdSQUjG8T0eO+4NtpeqxK3cfaaeNoMXzFY5yce+abVu3w35ykurIOdD83GyUFvmY/y2X+YHocsfvlJrEF0RUITgrdAxlPHy/bh0md5E2poyOrmIwSSCaQsILE34lsDBwlTdrxc7KNLlUlAx1jpQHIoLz+EdLJjKVDzIWHKXtyKsr7x1K5C8X6Yjh4XdMDJQpuuy4pilWvKRypdbu89/x0HFBAuAGgTqdAhtEWIDGyPvdMeqyWpF8lqp/2zVkvn0ASxBgJk3QrC9bAP0zNtk0+u4bh7a7Nx1HPJbYsoJ2OT/QsTcy1y20cFN8VfT7tdxS9Hbdo9EoHOqUm868ByB8LF38mD3+T+g0L0mSUZSmwdewK2EnHlhRWFCNmIXMZsbOZp99hcohzJwv0X6sK7xIJ85drYSkNpqvZigYFQld6EWhv5Mqzzszb/Ak7e3nbb2+RFJnyxMArd/I9LYhYCeA+GQaZmimRg3bSgI+nN09+kbyx90389X9E15IbYK7xrkHERapqrjAUbERHYiGKL0qnOaVnBIXkrAj6DDC75f1/yPDt8SnipRxMIQKKgmZcOZmhOvOqVHYOEVl7FVFwpIGz739rp4kvpO3Zv1l7kvKoTuafnw9zNKLqAr4rBtu74/zubP/LpBeyjYaXZ1WwbzTO1bpmP0ivxgOf+YWnls X-Microsoft-Antispam-Message-Info: aPGRKWMLCjGh02M3gt7O5glANBKiQST7CTCTgJ4HIdT5tE63uoD10bU75hnrUpwL4SsMBvJm1fjK/5nFEk3mnV2Bfbj/5IBp72DIfyFEn1E18HNRyRtPfpB6tEHorAm26d9Kuj/koqmIRoANb3c2LAEKUn/tKed2Qd8bKT3hNE3BLkdTkZtSLdOzcuAyM+GqGXfmNW+0gWjPWKqdoRsMdkz70BcmWNXLstTLuzlB+e8Lltce6e+YRJsT0L3AI310jVYOcAbr0WzR4y7ZiQQ2FsSbhOVsKyi6F1nIGhHyF01hpt+kIUCrjJfWJrCYltgISaNpxkcvG4yAJayq7MyZr4QRmsPQzbvCZKL5zHnJ4J4= X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4151; 6:6nFmiPb90bWGkT1RSABm1OToAvwD75MYCpmTdrC1JOTs6Dnygjx8eGcrO4lpX9BTJJOByyN/UzCsSKGIFzBiUQb64KsOG1hbNV7/fxcsV+mM6PkoVr7/P0uP7yxZ39WjKRHIEVoqbnkX2fEpI0IhKVA83WQ9jJu2K4jaZ7rB7wTecvpMBGTe0Jt2lcQp8GIGtixqnY4U7ktTGV/UiVGaU6TpsjjhexpPpkaI4zTNa1cDgLznVgZYwaUDnON4uuUjXnblPFJkNAWiYKTpRqqGkk/8l2Xw696r+uLPDOZvvpWj6bhomu6IrxFUt5y7ZT8Ec6Ff5bnd1edcqCEAJpXvw30mCiWuCr+v1a6doktQQ4lomh1HfUEeLR7+WBl4f9e/DGOvM6DCompgIvp+U132nwVOk8a8/XJB4lIt1VVY4aPQQn/6EkVRHtICfO2py+ioHeXk6jAUmULNloJdyyOM3Q==; 5:whVwUWgmAGPm0fx3ccN74f8MTybPT9pYZTfU6gOAP42kecyyCIzjkF2FF8wBcnoKaTR3vHH0V/7nr8RDc+4/2NX7lDrYRf2XXXqtZ7iXH+TreODSIqpH2Lz7OXm3wr/HlMJtjWKpMOMdh9/ErdX7du/el7GV1jYzLMI2ey1OLdI=; 7:BdHdPN6rrf3GAMIt3AgBKa0IADGc6DTyR7iqvRvdE1XD2OWKs9dmyxLO0DPdnJ5u4G/CjQYw4wjtWK6swMSdIb7jeD7znYIHFlHpJGAgUh1fOf5jWaqB5WDwvy0g32E4cqOGkUzM5tRPLfyHwShxOqvM/X+NCjbzrcHwh3ZHniK2didB/YmsGZ/dNncUMqDjpmQt79/ZOPmJdYh9IYCl3vgUUGgWz0wVgTr2vjvtSoQzcbg2lX/H3VzQwHjeJOSW SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bowerswilkins.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2018 21:29:00.0698 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8dafd1fb-d9d8-4d32-bfcc-08d60c641ae9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a75a45bb-4772-448f-a2c6-9d2413d86410 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4151 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180827_142916_970763_0C750E35 X-CRM114-Status: UNSURE ( 8.60 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.1 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-0.1 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a01:111:f400:fe0c:0:0:0:603 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Oh Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Peter Oh This patchset enables DFS channels in mesh mode along with CAC and channel switch. It's been verified that works for non-dfs channels, dfs channels, w/wo encryption (none and SAE), radar detection, channel switch, and mesh re-association after channel switch. Also this patch series passes all the test cases in wpas_mesh. Only left area to cover is in the case when multiple mesh points detect radar at the same time, but they select different channels. To cover the case I think we need a private patch for it, because current 802.11s standard does not address it how to handle. * v2: corrected wrong sender's email. * v3: rebased on top of "mesh: Properly handle sae_password". fix compiler warnings on unused variables and parentheses. * v4: updated "allow mesh to send channel switch request" patch based on "2dd5fbbff wpa_supplicant: Rename wpas_event_*". fix channel switch error during CAC. * v5: some changes in "Allow DFS channels to be selected" moves to "consider mesh interface on dfs event handler" to group the similar changes together. * v6: fixed memory leak. updated ieee80211_is_dfs() usage based on "d239ab396 DFS: Mark channels required DFS based on reg-domain" commit. removed "mesh: allow mesh to send channel switch request" which is already merged to master branch. move "mesh: inform kernel driver DFS handler in userspace" patch to the last. * v7: dropped pri/sec channel swap related patches fixed "wpas_mesh_secure_sae_missing_password" test case fixed memory leak at wpa_driver_nl80211_send_action() use operating channel to determine DFS channel * v8: fixed failed test cases in wpas_mesh. re-introduce a pri/sec channel swap patch Peter Oh (16): mesh: factor out mesh join function mesh: factor out rsn initialization tests: Update mesh_oom to match implementation change mesh: relocate RSN init function mesh: use setup completion callback to complete mesh join mesh: reflect country setting to mesh configuration mesh: apply channel attributes before setup interface mesh: update ssid->frequency as pri/sec channel switch mesh: set interface type to mesh before setting interface mesh: set mesh center frequency mesh: consider mesh interface on dfs event handler mesh: Allow DFS channels to be selected if dfs is enabled mesh: do not set offchanok on DFS channels in non-ETSI mesh: fix channel switch error during CAC mesh: don't allow pri/sec channel switch mesh: inform kernel driver DFS handler in userspace src/ap/hostapd.c | 11 +- src/drivers/driver.h | 1 + src/drivers/driver_nl80211.c | 24 +++- tests/hwsim/test_wpas_mesh.py | 2 +- wpa_supplicant/ap.c | 71 +++++++--- wpa_supplicant/events.c | 7 +- wpa_supplicant/mesh.c | 264 ++++++++++++++++++++++++-------------- wpa_supplicant/wpa_supplicant.c | 24 +++- wpa_supplicant/wpa_supplicant_i.h | 1 + 9 files changed, 280 insertions(+), 125 deletions(-)