From patchwork Fri Jun 1 01:01:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Oh X-Patchwork-Id: 923696 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="jnE13TCb"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=bowerswilkins.com header.i=@bowerswilkins.com header.b="TbXNfJi7"; 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 40xmLN5lTPz9rvt for ; Fri, 1 Jun 2018 11:03:56 +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=Hw9Zg/wbn/5cgYMfZHB39aF1bajNuTPPG/RwfXi5aD0=; b=jnE13TCbZ/CtGR rB3dRLA9so+0kjaNiQp/KfSzWrNes+rQQBL+5LzbIe5nn6d21IUmDc9OHOCcWuyjpAdH79Rrs2iPz 1BwiHCJnZp731IQoAbn0SneXz9D+O+J5u5FOfUETRxe7k7y6AN2ObhO0fBT+w6oTEdj9aWzDNd/cR OfH8zYrMvSMrqdVM5RxT4VbsVBkNtCXPvC4Gv37Yxrosfs2WijzDL+dkphuwAn1AkrSO1h5Bz0xnk nPuc7ymmf3CZW4j7OaA6pF9vfP6Czr5nZEfNPkSpvPlxANJlUlHivPNzyl6DlpMeuzVOGuR0DJAO4 drepF9GDnOca354xkmWA==; 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 1fOYTs-0000zU-2v; Fri, 01 Jun 2018 01:03:48 +0000 Received: from mail-eopbgr40083.outbound.protection.outlook.com ([40.107.4.83] helo=EUR03-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fOYSw-0000PE-JJ for hostap@lists.infradead.org; Fri, 01 Jun 2018 01:03:00 +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=dqGZtXucEpWVWzoC4TAKcdTjc+1eUWV1F+1AfCjMBzQ=; b=TbXNfJi7JHv29cQ7c1uhZgbkSCxhIvFcjX2HeXzXslwNYolBExtkQ0y+VGfhTWoVFg/glUwXw+9sD1xwQuo33BlOYyrLHNjTd9ouNe4LN4bkpPKr4/+I+FaxKkYZO3f232idIsmMTMlZGrr5GAwHjeEdFRmJBiWY4CMlncCFsHs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peter.oh@bowerswilkins.com; Received: from smtp.office365.com (2001:1900:2200:85:f8b1:4178:69fc:b611) by HE1PR04MB1657.eurprd04.prod.outlook.com (2a01:111:e400:59aa::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.797.11; Fri, 1 Jun 2018 01:02:27 +0000 From: peter.oh@bowerswilkins.com To: hostap@lists.infradead.org Subject: [PATCH v6 00/15] mesh: enable DFS channels in mesh mode Date: Thu, 31 May 2018 18:01:54 -0700 Message-Id: X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [2001:1900:2200:85:f8b1:4178:69fc:b611] X-ClientProxiedBy: BYAPR01CA0007.prod.exchangelabs.com (2603:10b6:a02:80::20) To HE1PR04MB1657.eurprd04.prod.outlook.com (2a01:111:e400:59aa::11) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:HE1PR04MB1657; X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1657; 3:IiCpTDddBYq+FYrgOePzCXgPXS4NwIq11DFd5ie7BDHSo0jQ8TNknfymNuW9SwtykFCFnfScPc3i4p1V9/k0jKNsHzrMbAyOkc9bQQejlpb7aIXETyuFGhnnzCLpkG1MIhGAaOlklKvQftDZYr3SuGA7Ye+MBOzmiusQ7FCvQ6mgLHH+cssZVjZh++ehHJ4t1bpn7+IUNKMMo6V48ZeHC6MtltGQleMITUSbxrEEtbD3IysiECozLDdMWOmf9i9M; 25:kEbHdHTmbngcZDBNI4vUaJeUGO3rIP/RQVVMk5U9VooVQrDQVwMvkb/PqqxGZkE2scH3F9IA4/YUWFRkK4jz0aEZPRI8FjEf2KKq6OWZcJFPKMf41mTB3uqkyrs0XHD8lv9VkBtqVytLcQbznw3JUj78hrlyXhOL7IcGc47DHbrVntu5wirAtsHSPoWYlu9WROBiglNo7l3kqcwBcFSgTbqU4FQsubAOhkLse6+uu2dBvhOopxokxudn1pNigzNNwJFi/euhzsOrKMiiPXR/oLrAVD6VszJwOJ5JD47dJPleqF7cd4Um6Dk6dpvtWf7DbEQV7jcNxOnLSVB4dV5kbg==; 31:vznimOpw1w11y0zEUdDwxZ9Z4U8CcPP+H9K4nrb+c2vLV67ACPjuL8njA1IGl/klgZXt7ClzJTlpwqYi93k9fbmUPwtisge3782fdFCiMjFo0Z1o5FKHviGKpCZHNWbLeJWWsKbs/VG1dgf7mHy8qKtNlN8aawByavbGOhVBCOXmbUSVtGCnuBdCOXL2w+p5Q+UQvf1mvFQxs74Xel7MV5/orWCsNZZzVgrOTyy3HLA= X-MS-TrafficTypeDiagnostic: HE1PR04MB1657: X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1657; 20:iB6QvPUkGvmev6AXJuYthXBFbP8NVZt01xOZGRSxTD/7FLw28J/xeLgzQPOiIGF/wZroPQC76r7rwM9GnncCEsoK83Ah3fzxdijPO1/Xyyc++AEjb9H1FrthGyd4ZFtJe7+i4hZHYKRHK5tpol+X6GPmoAN5+cEibs0kaNifyRufL1h4ZZXdC5PV5O1RyOFhZwiiHOMbYaq8omVKJbtJ8mQAT4mJJLIrPMxtmCSLPyhCnJaqx8Ny/XJjT75rpYqnBZVNFQSpnOLaXxJOfvlABT1Nplg4vvK4jx3elW+oWs3/Zobeqs3P5CaM6qzpg1BUGIcfNwh4WW0mlQcvokdwayvCTIjPxUknuPV1/rczB/2fspa7d3fQrhmrwmxF9JeyKJO8ytOX4LVqsi9PXej23TIITTIOeE9aPxyKvgrNKpw=; 4:6aqnHdNOi54usE8UksK5mR1DNELMK4ZJnIIyc+DmtTu8mNsrw+xfBMUFgmBoZauo9sdEKNBrbIbFDIl+DCtjdB1NDQYEdtdrt4ug6imqGRRqUvt5Dw4WX0MdjB6/0L2i3f5uXLRIftEqO1Y8di7egfhgF+tqmtp/9oSxyHZQeFPkZ/A73aknk0chjTFXc2OBmBZft8GlmPcXBHILxeKCs6dFAYtS4JwIzMysXPZ9QY7TDx1nAYL9cOkX2nCUjsCkcRM80mcNYn9kwy/ECd9BcA== 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)(3002001)(10201501046)(93006095)(93001095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:HE1PR04MB1657; BCL:0; PCL:0; RULEID:; SRVR:HE1PR04MB1657; X-Forefront-PRVS: 0690E5FF22 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(396003)(366004)(346002)(39850400004)(39380400002)(189003)(199004)(6512007)(48376002)(105586002)(2616005)(16586007)(86362001)(6666003)(6916009)(478600001)(486006)(9686003)(25786009)(476003)(106356001)(53416004)(316002)(6116002)(46003)(50226002)(36756003)(551544002)(107886003)(2906002)(85782001)(16810700005)(53936002)(6486002)(305945005)(2361001)(81156014)(81166006)(69596002)(186003)(52396003)(52116002)(2351001)(16526019)(51416003)(8936002)(4326008)(59450400001)(97736004)(33896004)(68736007)(6506007)(8676002)(7736002)(50466002)(47776003)(5660300001)(386003)(85772001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB1657; H:smtp.office365.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: bowerswilkins.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR04MB1657; 23:bdjDUR+/yeKt+Ch5yNbo6CxfyGhKi2Xj1QejXKnFS?= 5DT9cyL+/P4wCu8Gdg1T36Q9lhrQIghLZtg0G8TsF9/Qj2FdGGM181dypPwiuU/oicReIVI/C2IXDSCyRqhbI5hPPvtDIuG+tioCM/rQw+eb7+mliyQEZttL5oi9p/xPO4DJ4skyn0BiC8iDjrSjLIuBUgxReWHAjYlB/Fy5nh3m9PG3rjK1GL3RVbvrDLusu+9NF/1YNmrAj0rZ9CetKgT86+dcmK7HJL5ZJr/qh5DqXruRIkZLsC9iOyuLsJSPGLmgtsYDjvQApsRwPL4iqEYpjOR/eUHpREdXHghfXJVy2QwmdaRB68tqzV2GuUauQ7xK5b/FaBPd624MZuYZSP9W1IpOY+qjh4rVHv5U/N3oOm6LshXMlGjDGz89ORWoh8Q/1O9JUKTGwbEzj1XD5IWWyJ1QRhoBBIqXSfBvxXWteTa2gG8pGdi3U7AE+rL/G1DpPO7Hn/q2CYXkxkBfPN6Rly4HXGS4SDSELBFU2vPwDI7Wq+IU09lhDqqYW/2ijWI+WlU+51OHD4fi5cvwkY+IxRAhaxsxpDKuTes+mFp1rbJ4mjExDhP+CKk5/NFLY/Ue89yeF6ZaF/R/kuP6dquHzHadSGnVisUqwF9XYhsCjzdj0wJQ+0r06Sh09zDMNXsCb6Dihedja0H56XEeNSwjQwjZdD5aSoybwoITQ1PK8Sa4/6FY0NFZwLDwKLMD5tgfQsYa7PsC7eRuO7FCh85bhJ8FlCVtGdmuREFbsLqEYP9dAHH+8mm25HZ+hjMLV+CmfnY2ng3xCDtAkeXQIQqnhb4xcGjExT9CM4s4RRHu7JwCjuj1/LKYw7LVKNDv0pgpN6IFqTHUy+k3IMfbdFSngzUTNVBQoovRLpN7gnsISWG7F6deBSOmVbuv3eAy6EMiPhty7SAQPcMKzZ+u0VaGDqu8/b27P/+nPUtVKXcsIZ6LZ7YJOBP1z3xv354gFxn92gm7HL1Ep/YxK/holzxWRvLO5wkYRWqng1+W4oLx3/1mg54mjCIvuofNi5HM5VYwBxqmfudfdR40gTz+oPcUu5CH6s3ysiohavcdq0bERc/HUbM/E8hpOM0RQDOkDWo+UNEcCXyCBF9EHIlXv3w04e3E3eIfO++ytvvIwbaPTt2APW9bjv3bu4ZP+AcXbFucm4uDlcMxQLLq9EmZo0Vax/I7zsJWETejA0diE8Sg4Y1Vse/QBu4p32tlXZUXmOn8NgJYvvKNaPZ81jXfSdn6CuzPYTfNfkQq21m6JKCjEmkbfSFylfqm/FXPpHIzUb1mL4Ay5M2BSmoXjtX1hV62hpbiAw8lvMuzkw3Pa8Jug== X-Microsoft-Antispam-Message-Info: A9dMFhWlDEFjsXRoVhFbKkP/IhXv84PXPIJWKW1UJpa0DYfu/RqduWeil/B4y5UxrYornG+UFQ7kS2mDK5Ac+4LZS7zXn+Mki5LcPJ3ALJwHws39eDrYOw5pbe8IUZPqodZOT28VxTGJIa90fZ3p4w5yTUcXbnfKR4lx6JKUwrUIlnWRa1k/n6x0ewXf1w3L X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1657; 6:IwYS28iuzWQwx8smYnhidHclQPKxajBTkxDRoEUVE/rIQikd11cDz7KGOCW5EsKucnlgU5u+i1VRbrXx9qoiU6/OqSiQLHM7+98/NVnVTcl05oq4uzrFj3YoYx1VyJyOf7qUyZqETAePshPddlaHZZJsuWWSoYPV/3PfvJrf688LEkDhbhorBf0qzfsMBrROXD2wOYPLT8Sf3qontbfUkC+SMVTGdy9lLJ+oLCWAucaz9na/aWlVQ5BrD8BopAuXvG0jT7Hlr+tigmTYjAyuQqihXQvSHccK6Il0sH9SQ51nt/r6WO+hkBkkT2utuK7S7y1C5qUxtTfAhfJ4ebAMOe1zgukPYAG1OrmBXTsWBwu2Qz7b1lF04sdSQhc9mQGNawuwW3LJJhm8OS+Gh/YXYWRp5XEOveSR5ALoNUSLGqIbIk1gruiAIGZrgyW8G3mKIMybC0cP+ZEWi9f4P05juA==; 5:q3BYmbJRjeAnVl2o/TupEuCfo+rAEeZodJbFE2e8c6J/UTDRCBPfXIjGUnQDXpqNbLj2ZZj4S2QBkc76lyhAQTFLG0KfEnuE14JkPbF60HZld+1ozbgRGWQJeXtcMcViwJQ/0szA1DFj4bRgjkLle5lQ3kfT0zykoLw6DI8Stek=; 24:jGMbIYjUft/oipLk3AOheBv85nKplwl9MfwOfYkNr65vAKY5FSpwJ980T5MatiM8kYxE39xLMGEz3NOxfBdAX57Jzb7bwdxQ/MSvdG6oBG4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1657; 7:XCC2FKAMQI5VEKziAUSCEztbyNZauBBbVi2BOSRfYY/65nOFoA/LtBAGO5wV3SMFoT+EY2sPfZ3Xq1eYBumWIO5cs2uJB7JAPOy7xLquxl8fklT6gAfgMQY23L3s5AYCCNOIXJAdJH5NfCVn3uLZx+EI80CXr7CGnbxCrpaThoeFXKG3Zl9PZMgJ6yyOKRz/hBxvPOdBFMHIjzSGX+IKYurMYeMYKnxRaPy2vtNxGUNByZP0zekn5DoZ6G2BDU2R X-MS-Office365-Filtering-Correlation-Id: 5ae9128a-d563-4afc-466b-08d5c75b58ac X-OriginatorOrg: bowerswilkins.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2018 01:02:27.9242 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5ae9128a-d563-4afc-466b-08d5c75b58ac X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a75a45bb-4772-448f-a2c6-9d2413d86410 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB1657 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180531_180250_818691_351ECACB X-CRM114-Status: UNSURE ( 7.82 ) 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 [40.107.4.83 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -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_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. 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. Peter Oh (15): mesh: factor out mesh join function mesh: factor out rsn initialization 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 running Mesh 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 allow pri/sec channel switch mesh: do not allow scan result to swap pri/sec mesh: do not use offchan mgmt tx on DFS mesh: fix channel switch error during CAC mesh: inform kernel driver DFS handler in userspace src/drivers/driver.h | 1 + src/drivers/driver_nl80211.c | 16 ++- wpa_supplicant/ap.c | 71 +++++++--- wpa_supplicant/events.c | 7 +- wpa_supplicant/mesh.c | 267 ++++++++++++++++++++++++-------------- wpa_supplicant/mesh.h | 1 + wpa_supplicant/wpa_supplicant.c | 26 +++- wpa_supplicant/wpa_supplicant_i.h | 1 + 8 files changed, 265 insertions(+), 125 deletions(-)