From patchwork Tue Jul 5 17:31:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 12906903 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C332C43334 for ; Tue, 5 Jul 2022 17:32:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232710AbiGERcK (ORCPT ); Tue, 5 Jul 2022 13:32:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232762AbiGERcI (ORCPT ); Tue, 5 Jul 2022 13:32:08 -0400 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2042.outbound.protection.outlook.com [40.107.104.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20025186C1 for ; Tue, 5 Jul 2022 10:32:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GJJ4nMxG18ON04MJkFQBgFJnfGFOpo1p0zafIKtr3lbd3U504NGaW0VcWKiYBmembmz4/ZGy/OSYtdBVC/wO5vpmJ1c5qPVmuDagxIg6LvRjQoEzKHq43sniZDk0PJSPnuPNwItxBCB15jFU6SgFmSAwIro5vmhKFmbyZBefuyv+DLMZgQiMuzbQhzH+84o/dQ2eK/bBw9Rn9w0u5WjXd3V8gCLe5pf7XJP4BpVrMpaLXMGVQc+DL1FGc/ZAplrQVo9loUXzi3Cn3/NWiPa1NflUghTH3fLcTzg0kQDLdYdUycB6KXbUZ0NajljNYib9MXzTcbYno9l4LvRhuiRZWQ== 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=zKW1o96QgqFt+5OkdUuRn4ZVoGWnUo3uJHNh7lyHl6s=; b=cRSU4l0CDMDJEmQhWyHf2VDcws4lz9x/RCroU67b4m7w8NR09qFvpfwoTaqZYz9ns+v73ZkMstE4JTH3VbH8zqqNgabW65yaAkAS8Rd2GtSdryZX/EgR9qY7mHAX7hsG4c/puNasws5fy8XEnzOnSgxRfbQ+4VNMYDbJV/zYoZez+w4HTxNweDv3eOAm1S5A5H245q8anMcgti03PCB45745iUsIuSvtk7c+8VsTfqN2Nx8h9JJHJWOeZHJtNbsUC6rPeTAAJBNoQcnbzxjH1IQiGKwd9mw50W8YO8CA028IwSD4a9bxjqQfzwcN98N1D74MJU0DgrZ6QLwOTXaqdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zKW1o96QgqFt+5OkdUuRn4ZVoGWnUo3uJHNh7lyHl6s=; b=gKky5W9eyXGF8NBjqYLNp5ERszJcgrgpGt1n3Ga9gboDqaby5ic0RBw3d5B5c1PF0l8fGwRV+mVvMU5ISEvZLBqUDFO13o8gtnROS8mEsOvObLtbgtrpA7L1hJ578Bpy9zR37WkRPhIAAWPHR36m5a1pm2TiN78QGGI4nOoqn9Y= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by DB7PR04MB4251.eurprd04.prod.outlook.com (2603:10a6:5:28::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.21; Tue, 5 Jul 2022 17:32:04 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857%4]) with mapi id 15.20.5395.021; Tue, 5 Jul 2022 17:32:04 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Xiaoliang Yang , Claudiu Manoil , Alexandre Belloni , UNGLinuxDriver@microchip.com, Andrew Lunn , Vivien Didelot , Florian Fainelli , Petr Machata , Ido Schimmel , Woojung Huh , Oleksij Rempel , Arun Ramadoss , Hauke Mehrtens , Martin Blumenstingl Subject: [RFC PATCH net-next 1/3] selftests: forwarding: add a vlan_deletion test to bridge_vlan_unaware Date: Tue, 5 Jul 2022 20:31:12 +0300 Message-Id: <20220705173114.2004386-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220705173114.2004386-1-vladimir.oltean@nxp.com> References: <20220705173114.2004386-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::8) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3c3cca22-ca79-4cfc-c883-08da5eac46b9 X-MS-TrafficTypeDiagnostic: DB7PR04MB4251:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jKMQO4UzMFc5JgRSJEppbidpYvY1Nz0SbblX2lKOHeq/zOg5SZXG6aeqcBqdp1bm7fgLdxY5/tbNQKv7XpYIfVsW0q5SBuw7//5p98prvfljhledXKPjjg+fq3C2d6Vq2RkoUQduHuwldR+rN7Gq8NKZBwYuuXykbpHluLq1ntTGn33b2E3weX3UVGGcvk7RBP8B6jApKryuQAdzbWll9+yv5kX9eHJqp49HvUrQUPNPycmeWLXPakCubpARDFB6zxxKjE2mEUry0lAQpJEnA+ph5hRLA3uTOb7OHpfF9fbIWNcUCxPqItiYEn6JazoNwokh5FxbHqIypORDFOZmEgNKSPOZS0njS3ssyZXtkAOBMuTBN5BydmE7ewHRkIO+SpqNsTciNawvv0hscjaYDSso2Zv4lIbF7p/uknMiqhqnZEmBp2WiGCh+9+s4PCMZkJH9oWqjCNNBcFUBT/yX9zdajXoF2anpgBndNGvlgD3u4b/wVP/IYHs8Q/4UyUFxEF5MjhvjoNPAEhPDFAh94OAlfYWkDCKHxQC9PRHsMTzM3kRDP0uyYpqZ58nBzlt/7ohixS/70aandWH40+BmAyTKZ42NInDvYOujBAaL1qdTHxanYghERAdjI5HjlTwA7h1D5bMp/cF41dVD0S93+bCHddJPws8pGSisNOvjzxzMVhpdmrU8tOedWM3O+uVHaHvxsyTeYvC50EG+P96gol2oPgQRc8S6z+pnjOrHVDVN1BtvMrjd+c7a82LeNimoYJ966Sfn+WcxPRMpX2JvXHFAt4wV21CDYZUKvJ0Lj8zVs0Nw6KoopwYtoKYCSyGLNCVZAVek9h47dYrfufg/LA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5136.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(8676002)(4326008)(66946007)(66556008)(1076003)(478600001)(66476007)(6486002)(186003)(6666004)(52116002)(6506007)(41300700001)(2616005)(54906003)(6916009)(83380400001)(316002)(26005)(966005)(86362001)(6512007)(2906002)(38100700002)(38350700002)(36756003)(8936002)(7416002)(5660300002)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zM1X98wjyx+ibrl6yZ+rLO+7ncI3f4xv9kKdyPx74/v0zRugbtlMpZlb/RFVV1NYo5H2tUGAczIvIXPToKcSueA4hEcZsfVANjJvaAhJAS4pZ8ACFar1c8EAxz1f+QMLifwhi7NQrr9BQ0kkJCivpJ0roIjdBB2fYTz1WnXpA4qqChxJM8dZ4n/Kbp6MjXL7IuFFbVq3Q9ZO7LOQW/3lG54GG5Fklz1Q/ECKYmmbC8/xXODO5bJg9IauIwTd+XErJ+r0ASYA4yiS8MJaDzc85SLHOpZ69IEFLyywZ04BE4f6WALXsWPOMuLuCJY5EL+plsUavDVDMnBoS/HWmZCSyrAwEek/WHHMeknj8EdYGOpdR507DPhaw7Nm9ojhhb2WeUsM6ot5f3LPiNeMpWyyRjxLiuYqScutLZjIL48Y/8Kp+Yhyjpe4fJqDX6orp3nRq7Z6c1ntMz8wVi+jsN+4fwp+fn26YJp2ksVMQ2ZDeatn4z4RlEl5hf+/pQ0QEhnHp26ItnCr7r8DWkg3V2OJvrIHQuUvb6zJwo/fAUVzPr7zKgoSrLAYyFtqz2OqvrlN4dJVA6XTkYjlnNOSXBezXRjCRnMx6X9iJSZXltP8aQjyl8xZwogCkAXO5vLElh5MLh7wSUqex0Rmi1/MzCxr9H2HTWn5IuDMLMKV3U0UHXwn0Iojq16FEno7fTpQE+BtxdZWPB1HH4fItynD8et9bCPoszwu5yiSoXy82LsZG8qSnYQWA9l/6mDkL/JHwvbIQHnE3e83kSawT0OifseBF4m/xHpb2PAWi4A20xZbh6LNYuFf4yuJf51As5B6Uimn4PaAmHkCE4l/HwQQbIUQ+0UcYm6j/5RFikCVIDl6G4wFXzKHJdglnBAfjAsKXM9jc+yfr9y+htsCAS7Gl6hD1KDbauEFVem7ezkn8Lbnqb2FBCVOL+W24l343iBSl0nfEDFj2XaQVCQoYlBPTs+MytbSeKQNGa1vquYYuhCX/DDn2kqbH0DCCYbbC3IqFL1RA5xrHRamO+wsoF3R1WQvNJ8E5QP+eVXnvR5vD/hgNT/c1zLCBqrBbzfoQUwuRvFUkGcX9udEQLV61UHEVqgXxgbSm4Xee5sYB4tZT7XLFzlbZyUW0JKnmHdLggUujmKWz4j3sjEvKCtrh2oTzG6iRb/3+09AJCY0EoosD6gHv9e8DLHWXC/4aIu305ElciFrcQz+cxjLQXXsmTo2BCqWISGr3R3UVX/tz8YuYJMls5seaDDICkJAIxh/C6cP7bC7lnm1v6iA36uNKfSbJYrM4KC1e+RarGcRnCjgF6l+YNDk5RMDE+mLsvVlmASzVVB6efiPO3htVp6bBzA0gNBNUv3wXw+E7D7+Ovg9w2I8J8lGzM69/yrMQkfIYWp4KNbDLhqG8SLVtQdF6FVQeTDRX1mKYblnlSKDLmmz78gyhrPdmJ8BoWR/HN1ASgpBbievnJR9Cj4d8HcTtuSrxNWJUIc0zo6dB1xOvlSY6YJDb1qLH4eZeYl3/3S17uv4nXuhPHNL+Blfpm6bjqgXAM/9msdLgoWolROu6kDnnE7xKdR7g2U+717afJPMMOZ7ltyGARFdWDZTdgTqar5ypPa6ZQ== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c3cca22-ca79-4cfc-c883-08da5eac46b9 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2022 17:32:04.2031 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l4RnyCGKwbvVZL6wMsMdtXCdqyS0o/1JJArSIRRcRjATPWNC1xM7q5qfoWYJcgpBU+Td+vsnAGf4n64v75nILQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4251 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org X-Patchwork-State: RFC Historically, DSA drivers have seen problems with the model in which bridge VLANs work, particularly with them being offloaded to switchdev asynchronously relative to when they become active (vlan_filtering=1). This switchdev API peculiarity was papered over by commit 2ea7a679ca2a ("net: dsa: Don't add vlans when vlan filtering is disabled"), which introduced other problems, fixed by commit 54a0ed0df496 ("net: dsa: provide an option for drivers to always receive bridge VLANs") through an opt-in ds->configure_vlan_while_not_filtering bool (which later became an opt-out). The point is that some DSA drivers still skip VLAN configuration while VLAN-unaware, and there is a desire to get rid of that behavior. It's hard to deduce from the wording "at least one corner case" what Andrew saw, but my best guess is that there is a discrepancy of meaning between bridge pvid and hardware port pvid which caused breakage. On one side, the Linux bridge with vlan_filtering=0 is completely VLAN-unaware, and will accept and process a packet the same way irrespective of the VLAN groups on the ports or the bridge itself (there may not even be a pvid, and this makes no difference). On the other hand, DSA switches still do VLAN processing internally, even with vlan_filtering disabled, but they are expected to classify all packets to the port pvid. That pvid shouldn't be confused with the bridge pvid, and there lies the problem. When a switch port is under a VLAN-unaware bridge, the hardware pvid must be explicitly managed by the driver to classify all received packets to it, regardless of bridge VLAN groups. When under a VLAN-aware bridge, the hardware pvid must be synchronized to the bridge port pvid. To do this correctly, the pattern is unfortunately a bit complicated, and involves hooking the pvid change logic into quite a few places (the ones that change the input variables which determine the value to use as hardware pvid for a port). See mv88e6xxx_port_commit_pvid(), sja1105_commit_pvid(), ocelot_port_set_pvid() etc. The point is that not all drivers used to do that, especially in older kernels. If a driver is to blindly program a bridge pvid VLAN received from switchdev while it's VLAN-unaware, this might in turn change the hardware pvid used by a VLAN-unaware bridge port, which might result in packet loss depending which other ports have that pvid too (in that same note, it might also go unnoticed). To capture that condition, it is sufficient to take a VLAN-unaware bridge and change the [VLAN-aware] bridge pvid on a single port, to a VID that isn't present on any other port. This shouldn't have absolutely any effect on packet classification or forwarding. However, broken drivers will take the bait, and change their PVID to 3, causing packet loss. Signed-off-by: Vladimir Oltean Tested-by: Ido Schimmel --- In case you see some apparently unrelated failures reported by bridge_vlan_unaware.sh, it's good to be aware of some fixes sent earlier this week to "net", which are hence absent from net-next currently: https://patchwork.kernel.org/project/netdevbpf/cover/20220703073626.937785-1-vladimir.oltean@nxp.com/ .../net/forwarding/bridge_vlan_unaware.sh | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh b/tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh index 1c8a26046589..2b5700b61ffa 100755 --- a/tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh +++ b/tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh @@ -1,7 +1,7 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 -ALL_TESTS="ping_ipv4 ping_ipv6 learning flooding" +ALL_TESTS="ping_ipv4 ping_ipv6 learning flooding pvid_change" NUM_NETIFS=4 source lib.sh @@ -77,12 +77,16 @@ cleanup() ping_ipv4() { - ping_test $h1 192.0.2.2 + local msg=$1 + + ping_test $h1 192.0.2.2 "$msg" } ping_ipv6() { - ping6_test $h1 2001:db8:1::2 + local msg=$1 + + ping6_test $h1 2001:db8:1::2 "$msg" } learning() @@ -95,6 +99,21 @@ flooding() flood_test $swp2 $h1 $h2 } +pvid_change() +{ + # Test that the changing of the VLAN-aware PVID does not affect + # VLAN-unaware forwarding + bridge vlan add vid 3 dev $swp1 pvid untagged + + ping_ipv4 " with bridge port $swp1 PVID changed" + ping_ipv6 " with bridge port $swp1 PVID changed" + + bridge vlan del vid 3 dev $swp1 + + ping_ipv4 " with bridge port $swp1 PVID deleted" + ping_ipv6 " with bridge port $swp1 PVID deleted" +} + trap cleanup EXIT setup_prepare From patchwork Tue Jul 5 17:31:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 12906904 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8A7C3C433EF for ; Tue, 5 Jul 2022 17:32:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233199AbiGERcU (ORCPT ); Tue, 5 Jul 2022 13:32:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229977AbiGERcJ (ORCPT ); Tue, 5 Jul 2022 13:32:09 -0400 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2042.outbound.protection.outlook.com [40.107.104.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8403DE0A for ; Tue, 5 Jul 2022 10:32:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dERSu/T7kyRx1s4YD6jw97FCwL78ewN8ASBqq/o/udRh+RPRUROvrsIeKuNM4ajnUpbeX+krlgMUBGj3i5+uzExzYxuk/UkdgL9tTfV9eqclli7uU8oyZmTUlHPHknUQCtX6KUOmSDEqdRNmD9DJDlVh/5Mnc6x8ghZv67E7DB912DhXPP76Zvs7eF+iSUsW1c88H7rtH6bxGQchwR1ppQMvU/9S9cjUTC9TkK7cGNR4z8pfmQBXtxbr5oMSCt3EBkYwpv4j5vRN+3YcYTNJdu/V2XmxzjI6Fn9wmjXWpVwNKd7IhcHbANEOWLvbJkx1rEHbrvMr+OCZ8/D2d8XZxA== 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=6MAwjsv48YBYcRl+gTTMadEue5r/65p8TxNblQRAX9c=; b=ZDC/Ukg5Cce+fur6yCHT5jCt4/4jrpmnxY46cyBAQv+ey2PVG5j9yeQo3PZs2Q00rJejv9kYTQWmXsLN993R66eTxFZwxzlmGNma6HYXH1C+om2f0z1+yqRwdUEFqcAE+kNYnN8749VevOhvIre1dTsl1+ElR/8dBMtGgCPDIVkLgfRCo59Tc3mlUIfd1TON39qc3WyEATaJbOeA4F8UXOFXdegkITaoi+csPJXRPC7pIes1KhFHgmhC9N82UK867DCkrGOJRXC6MqP0r1n78fJ702zJqVV44w8Oqc3rHTsGqMH4PVOvWWvx2JJgbAS1etkzmIyhG9dBP9m7+ydgaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6MAwjsv48YBYcRl+gTTMadEue5r/65p8TxNblQRAX9c=; b=D7/JvUldd/n6QWDMFz14zyb2c296cp5Hzftn3RxqwZe5YaMJRVEcnclY40Z6bNfTqd2+LzALMd74IjIbV9owylbCpiLxmri1JMhR3LGqCwdETx1sePpxTgGtd/B6WRC23yrQKYEhDNnWJxwFZr+P5dUhHSXSkcAuPXZMcGI7tt0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by DB7PR04MB4251.eurprd04.prod.outlook.com (2603:10a6:5:28::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.21; Tue, 5 Jul 2022 17:32:05 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857%4]) with mapi id 15.20.5395.021; Tue, 5 Jul 2022 17:32:05 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Xiaoliang Yang , Claudiu Manoil , Alexandre Belloni , UNGLinuxDriver@microchip.com, Andrew Lunn , Vivien Didelot , Florian Fainelli , Petr Machata , Ido Schimmel , Woojung Huh , Oleksij Rempel , Arun Ramadoss , Hauke Mehrtens , Martin Blumenstingl Subject: [RFC PATCH net-next 2/3] net: dsa: ar9331: remove ds->configure_vlan_while_not_filtering Date: Tue, 5 Jul 2022 20:31:13 +0300 Message-Id: <20220705173114.2004386-3-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220705173114.2004386-1-vladimir.oltean@nxp.com> References: <20220705173114.2004386-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::8) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f108c6ac-1aa8-4ee9-a826-08da5eac477f X-MS-TrafficTypeDiagnostic: DB7PR04MB4251:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t712uOdNx4s6shz40oM6rwiN7B9fZhttRAZ8eEMAQHfCXTgc9Lb/tVD+X8vpWM3M7aCE6yV3mi4NrGn67WR7asL5YhqL1gTY83b4tTcA9Wy6UqXgb2GJyGaJRhkL+easKXTtmBfcljrg8bcFqe1T5aZDHgrZNrPIHrqJX4IU/3D15i6xNr7J6CjznL/YJpJhkIcF4WPp+3olqp2qd4b2VjwlbALMBRtyMvIU71hGl64ZGl5sHnmZtN4qr5O9mxPlef0oMfD1m93s77mxFlq54n1Q2ywHZqMIcBAL0R64U3eGBl4RyFq9hEdPS5QfyJDIq6YyOzuV1xiv1dhOb6v1OO12jRxQv1AUVp7AryGUHsHcknBkMHQ7JIF5I6MMmthNHd5fQEqdf8z4dj8qVV+yIRjoIZ1uYAX7hBMh4TCPhKiBp8qvN6cKP40hPrSVByXkrkWMBlZU5v+0ztujyXsjifVPQMl3art4GB0G4QCXgIYopeRUPlIDStkstS0NLngBdHFsv3K3UcuTFrDQOkxMRxTBjXzir+zQUJfDHIsITu2iwg0iebjDW2qyC1e7ozgQ1wi+XFnWY+0xt21i14lEeyYAz7nPLXFH0WbPjWxX04ttIqlUl7ZlvneyU2W5Kfeq4sOH61KFOU5hOyoqgfQHLjJCwhuLddyv9wQBhCzcdP2SFL8XMHxsq6PLAq4bn4lM8k18e2JFrtndmE2E672o8FiFhiG+qDuCPQ3/IzuscgLvegbN/zJbm8Ivd45su/ac0QVmRQmpp/xOJlcsMkRjEht/iXnTDy5ZI4NfP3ctartndrt0A2/FjjsD9ISmG6Ps X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5136.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(8676002)(4326008)(66946007)(66556008)(1076003)(478600001)(66476007)(6486002)(186003)(6666004)(52116002)(6506007)(41300700001)(2616005)(54906003)(6916009)(83380400001)(316002)(26005)(86362001)(6512007)(2906002)(38100700002)(38350700002)(36756003)(4744005)(8936002)(7416002)(5660300002)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: J5EdWM7ypm/T9lL4cpN/akr6DDMM/mNSvL5NR4FeIEibFXiFtXtb/LVcUKEU0xFMheScGPzIQj6bHvou/dU1R9uqXMY/+em5Rofys8LGxleDkSEeq4YZD+ZOuGtLl0o3LDb4sL21QgLBUXbkq4liW02pja/rsUBiAYxQAs18VC08uErmgNqtTqgjVpW2Tca14vpjMI5n/RfNaeTO61OlEF/FU5ElgKNtz7FIGhOpaQ/c9oNPYp3yM0f070XUtnEG1OxoOBdqcktwWBCWzTOWwY9/qYBdsKilsiinGgM/VbRfq6QjufMCfK7LaStBMWxxWFtYWhunvODdtCsHhaNEMOSQQIlLKdQPqwU800TwmUk9xe+D2OWTILMVS3CZ77ZQsLypZetDrd3j1bIksBeSot2iln5+UWoEOO88/4CpEh2f2Pf/VDTy/77iqNki9W90Zd8VvGtRb9JnyNpc7vJ8m4keet5ElM38Tt8AuK7jGDJJf4ROHRkwSIyIJmCwvHs2BtdMxLJBY84VtWzM5KxODwrFXbEJISkrcu9jkIVLsBsiA1MVWT36093wfBtHquNa0mvZV3d/fUrDep/s39ECKKfU2KF/K9SQdUzAdmmW/wgRPQctcGfG4jMUlfS2Cb8PbyU3QYbvXbzvK8l5r1rsi5rDLyBoo1SrOj5I52gi5mzzQ+989CIPnRY9u7ZPIgAgzBIQOEVhh1WknpuJUwBQYDN+376UjFE+fTWFC/L1qwGbeLsm5dmpC2aGmsdWZA4c1MxR5g8menYgxjWv/vPEbw5I5+0c+SByAtVwP0rYXODrZQHcDke7rywdpkG1QdlOMWVVZ+UQhwblsjtpJ/pOFsx9LemCbLB0D6vvAqL+TaDI4H9veW+10R24HA08PPH9+jnF2ybs9s922b+OlKyXaV57HT5N81YnMgo+alMLiib0gBBVuIgPfVtOYpn8mIZJh7h+3zF1pDKLhwXAXHmExWDLxjW0e7M4zmn5mNTlkXVdQ6Ih3exA81H6l2bhgdzFaKAV0Cx+s6OH5j6MtC7asXDXFo8wVvrZ2lXnm/JaMw13ei+JE+DNivnkUGUcSzgn8jAooYI9+gMWYY7ozrvBCAIXnSSwCsYVzD/5Y5v9rb/GJsSPfK0X17Uh69ognWSp4YDa1ZFZmZYpzDKpVuiTXTg2TjkkkPwDtUBSNsBxAlaD+sUTpCW2VMKL2P1hgwqGgdhnV8eFTXAiXu/QiUJzvqLwipBhIMhbBc8pEg907C4xfdPY8gxLsQynFGzBBYqwvdE6VoBgurrWO5BNKZdHq3vZU8eto6hr0CTl1Hgx/05PHk5hdC4MksOA7frmi5T1CoakGppCYJadONrg29Z2MwOPbTsTtBEs1iUVWBLWobPV+OOSDhN82hfAqU3/2dORezH5jvJrLzSOiuwqjjrLipxdnEB+NG/r2wdzztkyB7l2xs6D+o9h5GkOBAdf7YE6bJkFHfRdrXAAMNQgek+ifbXJol316jxm+lcDLDqkT/JjioidXtufMY5Ebun/+qhNjuab0xY564ZKNas5FTYYEEfOJQi70ND9Kf5r9j7KoXfIlCGmyL78EuV+doNsnAdN2cV/gWPJzYeGrX1eTsRnTg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f108c6ac-1aa8-4ee9-a826-08da5eac477f X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2022 17:32:05.5468 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Xtk5mPCIEVE3Xw1SbPwxLaDahOmXlmUJq2HAJdW8bZJ4y6ce2x7HtojknoUMZy1zPqiuQljf1p0xBCOV1WIe9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4251 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org X-Patchwork-State: RFC This driver does not need the DSA legacy opt-in, because it offloads neither port_bridge_join() nor port_vlan_add(), so all bridging happens in software. Signed-off-by: Vladimir Oltean --- drivers/net/dsa/qca/ar9331.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/dsa/qca/ar9331.c b/drivers/net/dsa/qca/ar9331.c index 0796b7cf8cae..049127758eaf 100644 --- a/drivers/net/dsa/qca/ar9331.c +++ b/drivers/net/dsa/qca/ar9331.c @@ -474,8 +474,6 @@ static int ar9331_sw_setup(struct dsa_switch *ds) goto error; } - ds->configure_vlan_while_not_filtering = false; - return 0; error: dev_err_ratelimited(priv->dev, "%s: %i\n", __func__, ret); From patchwork Tue Jul 5 17:31:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 12906905 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44FBEC433EF for ; Tue, 5 Jul 2022 17:32:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232965AbiGERcV (ORCPT ); Tue, 5 Jul 2022 13:32:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232838AbiGERcK (ORCPT ); Tue, 5 Jul 2022 13:32:10 -0400 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2042.outbound.protection.outlook.com [40.107.104.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0DDA6308 for ; Tue, 5 Jul 2022 10:32:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DYDD2x7Rjeb29BkQyqJsnSNu4ijsSv2FsMHCb8bg5J1GYnHtHUSur2WjCZbnToQxK2zaZrpRDhQ3lo4jq/aeIkyN/OvF+SRseSJQK/1RlT6nm+8/zN1g2/kyUGxyxHRu0t3m6ymIybvMhewlj+zCyOI4VuRCtZrWMPFd3q04/zEsBbbWgZJjJeFHEOxEAEBkcjsXLXA3fmYmTAUD21zrRU4v4chxEbQ4baRPQLpFRzEduJVZCUAfZhMtyHXgZvMD5Ik3PbTQX13b4iJtnimoyyrJJAi0GReiugt/uj6xuTWTWBbPpaNHAKwqhLZPFg4Wg69EJVzvTo86akSiECG7Xg== 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=C/1OnXauW0P3u4PZn/kUNVh2wOpW8JUD5DKFxCxTSPs=; b=PIdPJUhTamdr0ezWg+2+DiPV4QNFMhjMpkuehoDryQxa3zTdAbqojkJubVL/tsQEGUsbTYQAeQvTxh5aDApBUMYziG/iOE+R9tSdDvLEQ5AP21jL/0FuOc6J44zXQIr4/YOXhznDqJRApAk9mkxsiSIKQM9D8h63xCMBFcXOXorhJF26Pj/JJtivq1wjMtyYIuWwllz7xf73/ai78shL5QHZX3M7ITNq9iWw1sEx1b2hdWECMN1FVDEQnpPekQlJ4uZFMHZBgCXSXq53+h/9qQPIvPO5VDL5z1Kbf3g9WyDKLJIV/eg2Ofy6BWymLfpRCuVni8eOP/jbyvy9qyHVUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C/1OnXauW0P3u4PZn/kUNVh2wOpW8JUD5DKFxCxTSPs=; b=A5n1l3E+/oF+wRU+Kqlpkfh9MycO8jiM8AQGJddcXsUc5IDXFmxPBL2+o6DiZjCIxkFQr9sCi1IwfqVctDryjYequwTtbeH5iqrwTOcOxQA9nqTXcA3ub4cRd7jEwnZDSODdY7jWQS5WP+gPmZwtwUSB8pc38wsHVddTvlr6Ns4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by DB7PR04MB4251.eurprd04.prod.outlook.com (2603:10a6:5:28::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.21; Tue, 5 Jul 2022 17:32:06 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::71b7:8ed1:e4e0:3857%4]) with mapi id 15.20.5395.021; Tue, 5 Jul 2022 17:32:06 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Xiaoliang Yang , Claudiu Manoil , Alexandre Belloni , UNGLinuxDriver@microchip.com, Andrew Lunn , Vivien Didelot , Florian Fainelli , Petr Machata , Ido Schimmel , Woojung Huh , Oleksij Rempel , Arun Ramadoss , Hauke Mehrtens , Martin Blumenstingl Subject: [RFC PATCH net-next 3/3] net: dsa: never skip VLAN configuration Date: Tue, 5 Jul 2022 20:31:14 +0300 Message-Id: <20220705173114.2004386-4-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220705173114.2004386-1-vladimir.oltean@nxp.com> References: <20220705173114.2004386-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::8) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 40b662cb-1b7b-45b8-7349-08da5eac4851 X-MS-TrafficTypeDiagnostic: DB7PR04MB4251:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jGD+CU9J7MZQK7jueOQ5JM/Wl9GOgTY3J22OesmGBx5tnDcb30Ub4wNMdUDc1r+A0mb9+2/cwF+USbrSBOldTXPRoQ3BhBzDnE+x7iIQpllqPNBVMp1uao0H2/HlRYlJmK+fRIuJT76e5mo8zWS+iQxOcLme1d4CY5X3OZB8ij/GWMhWnhWaV/+xq3mCD7r7AVet2EnBHI2t8addwb/AxzFvN1TtkWmLvURzR0sbXkjWrFt+xT5FLluYPl9gt15kJiXN1HGdtRkrNtHNjKed0cD8quNy9TLsWrcsuMvLhdwRLURWMISiFbwyRiKJfjCnPuZZV3wVJvqVZjxCWdCXt6OMFsHuXvxgX8o7KdHkFapViBioq4cCYgn3iYzAlOPl3jNdW+PNEBVshGhMBp66I28i4rLsG4F8hSCPkvUYXZIdf4dfq7rwInKp71I8sZEoIMu3aqQejiyNXpvGx0Jh4QOOjewiOL9ameYOT1EZVCQaCVKJGhOkAX44GofH1LY9nZEEbQkQ4IJIF5JXnWelpb2iZ7RYhpcyKTWd2Gq2MapJQgTkilqW3STbC9aMRiX525cGOOzMqDBEzICzZkQuXmhS3neqc5I60n4c09IzKjTX0vNEuSm1vzsY3dFKvKEn1+8Z2j3fOFsWRy0u0mg9cU0hznr91SGjJ/8aaqqk9X7bRBeLK2lAhdZmeNcrKyNMiBENxg8L8WlJ8xIN/81VxUBBgb0TzcGJXsTL5qxcJghT+g8zQu52TZipfOLDMNco7xQtCojFCLA80sc29GgUds3DYgkmpZ2pHvVL3/d+Ka9z6ZIDpiXueQ0cdI3s0pa0 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5136.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(8676002)(4326008)(66946007)(66556008)(1076003)(478600001)(66476007)(6486002)(186003)(6666004)(52116002)(6506007)(41300700001)(2616005)(54906003)(6916009)(83380400001)(316002)(26005)(86362001)(6512007)(2906002)(38100700002)(38350700002)(36756003)(8936002)(7416002)(5660300002)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KOWNoKuy+F50UMj2TW5tevseOGQCmFFt3Xv/91euwr7w0zGO8ozKdiPfL/WXasqKby87CHTO4OCHg7+yTGw94qWZ3i+pkKSV1CXt7lsH2wdFrCd74Wy3Rv4KgszrCNDilXKnnCxAJYfsojJIcHT94H+0zLagd2ZRxu8DqXCO0F9k9o1uD11Cq2F7Ux9ObSTDpOhIEfJLQSrBDEraAdcjeEd56go10l8uHYGWIC3TYWYov6fmwFVxd2PnvVuUwsKwFKcumIdiIJnIsbNrlIRQ3+nqwdplwglnxOyAfUWi+KVBVN0b9Lv6YN8bt23FbH8d9Z4eDoJc/F7JkVyOBjXuSWscKxL/pTMeWwkLcjb0MjQLZOe/CUNauBhwe4kWXnoLC8geBv1Eo43oCdCRE+0KGp/u3CDIooI66vS+1sRKOHVWjrldt+jQRICSSvXvILtdACsDIvPLJ3D0hdKGTfAI+jg4c8JxnvjcAlfOC8VVPvLToozYx5ONX/DELebKQfngnDCOwOA7TGfZUZ0lpV8NrLt09apHqwZszMSYfF55vEvApx0pB8WabmqXbHYBuFbRCHpQ7po/jFnN59V66OnYUtbgXmoDqufh/wzFF2j0HIboCHOf286kttaYv2TyWRQI+KwGNGQ+BC1wyvlbLM9WeRmkybxvNukFsFjoZgaM6pDTnTtCB3IQWJC1KYdImBWSMumnP3S6LKy0DAy+jZarwVxbXVU3fuZzrV2/1f3bWC5IqCSF9RbAJM+Zu5UX8xmxSKiEaEzok0xlFoOX/7MxZwS9yi64nLNH8YjeWGGsbuUZYYxqHP8j6Xe1G4TnaZvJ971okPCfGfdQ4EXsTGb7oCOQeA1pVF4gGDFB02vyOUyo/ykQ3wIPhTTC70T/quyn0pYhsIsEFfrX4ALKWRYzxG6zUujgm7MY5xGYAY1Zcba/OBl6plv4fJw9tB9KJoF1pzufCWxQh54GlxwOvhj99BKga3KJ7x5SM5ItUe3M5nCDdgjH/OF6Z4fx5Wayxil8qSBYFL9ULU0d1AuCKNMC7bDpRBcW8T6wPOHWy+DaPolrhF7FrLfsqGGwNKhIOXe4HhGSRPFenvguCUJyM0YjDI1qoygsY7Lif2+kKfuYd+7BS8wQxc6faEayuv9vzfddkhGCv6j6PfpBRuwguIZUlDd3ZlIN2Az/M5HQGJ0tX7Dc2AMHTnFvjdxsl+vFD7mlQrLmQpD7n8g/WJGp3hVingewtJNHEH5A0G/QWi83d2vZFC+Rhiq6leRIgejgJdNfTojfiqCDNjvaYpe5gHOFHjP/Fh5KA7es/u5CuPU1zB+h1TFh3+KPnuWJtg3UQwqcL29aVufFTZxIEIu4tUPB3o5hRv4NV5U/y02BjBIH0dq7S/hdYVXyJM0NzEUCr3LNI5YQxWD+ksq3YQS7oc7iYsSdWEk6xXaJJmGNHJu1cEdzbmy1L/AcXXptDZlbsgvXLigb3AS4V8uBtk9u5N7v9sE8w7r/6HvgmJUNo+JoGzzsetwXdXPPhDtSXqAqVeI6/B8nYjjsyEib851fKIAMK6dOSX5K3tQJzqDTzzZEyQKFhwtJtDmMdkRvLOk6k8FqyV06qh3N8X6s8ba/Sgj0dw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40b662cb-1b7b-45b8-7349-08da5eac4851 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2022 17:32:06.8748 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B9uO1hKWE7pJqYCNLtHmrgS53lsg2KfsOWeqqKKK6PEvc9JPr1vWkAsuNl8Z7ZN1iCZMBayIpSGTQ2+KKj7lnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4251 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org X-Patchwork-State: RFC Stop protecting DSA drivers from switchdev VLAN notifications emitted while the bridge has vlan_filtering 0, by deleting the deprecated bool ds->configure_vlan_while_not_filtering opt-in. Now all DSA drivers see all notifications and should save the bridge PVID until they need to commit it to hardware. The 2 remaining unconverted drivers are the gswip and the Microchip KSZ family. They are both probably broken and would need changing as far as I can see: - For lantiq_gswip, after the initial call path -> gswip_port_bridge_join -> gswip_vlan_add_unaware -> gswip_switch_w(priv, 0, GSWIP_PCE_DEFPVID(port)); nobody seems to prevent a future call path -> gswip_port_vlan_add -> gswip_vlan_add_aware -> gswip_switch_w(priv, idx, GSWIP_PCE_DEFPVID(port)); - For ksz9477, REG_PORT_DEFAULT_VID seems to be only modified by the bridge VLAN add/del handlers, so there is no logic to update it on VLAN awareness change. I don't know exactly how the switch behaves after ksz9477_port_vlan_filtering() is called with "false". If packets are classified to the REG_PORT_DEFAULT_VID, then it is broken. Similar thing can be said for KSZ8. In any case, see commit 8b6836d82470 ("net: dsa: mv88e6xxx: keep the pvid at 0 when VLAN-unaware") for an example of how to deal with the problem, and test pvid_change() in tools/testing/selftests/drivers/net/dsa/bridge_vlan_unaware.sh for how to check whether the driver behaves correctly. I don't have the hardware to test any changes. Cc: Arun Ramadoss Cc: Hauke Mehrtens Cc: Martin Blumenstingl Signed-off-by: Vladimir Oltean --- drivers/net/dsa/lantiq_gswip.c | 2 -- drivers/net/dsa/microchip/ksz_common.c | 2 -- include/net/dsa.h | 7 ------- net/dsa/dsa2.c | 2 -- net/dsa/dsa_priv.h | 1 - net/dsa/port.c | 14 -------------- net/dsa/slave.c | 22 +--------------------- 7 files changed, 1 insertion(+), 49 deletions(-) diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c index e531b93f3cb2..86acf8a4e53c 100644 --- a/drivers/net/dsa/lantiq_gswip.c +++ b/drivers/net/dsa/lantiq_gswip.c @@ -893,8 +893,6 @@ static int gswip_setup(struct dsa_switch *ds) gswip_port_enable(ds, cpu_port, NULL); - ds->configure_vlan_while_not_filtering = false; - return 0; } diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 28d7cb2ce98f..561a515c7cb8 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -927,8 +927,6 @@ static int ksz_setup(struct dsa_switch *ds) ksz_init_mib_timer(dev); - ds->configure_vlan_while_not_filtering = false; - if (dev->dev_ops->setup) { ret = dev->dev_ops->setup(ds); if (ret) diff --git a/include/net/dsa.h b/include/net/dsa.h index b902b31bebce..2ed1c2db4037 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -400,13 +400,6 @@ struct dsa_switch { /* Keep VLAN filtering enabled on ports not offloading any upper */ u32 needs_standalone_vlan_filtering:1; - /* Pass .port_vlan_add and .port_vlan_del to drivers even for bridges - * that have vlan_filtering=0. All drivers should ideally set this (and - * then the option would get removed), but it is unknown whether this - * would break things or not. - */ - u32 configure_vlan_while_not_filtering:1; - /* If the switch driver always programs the CPU port as egress tagged * despite the VLAN configuration indicating otherwise, then setting * @untag_bridge_pvid will force the DSA receive path to pop the diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index cac48a741f27..47a2e60b6080 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -890,8 +890,6 @@ static int dsa_switch_setup(struct dsa_switch *ds) if (err) goto unregister_devlink_ports; - ds->configure_vlan_while_not_filtering = true; - err = ds->ops->setup(ds); if (err < 0) goto unregister_notifier; diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index d9722e49864b..63191db45d02 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -224,7 +224,6 @@ void dsa_port_pre_lag_leave(struct dsa_port *dp, struct net_device *lag_dev); void dsa_port_lag_leave(struct dsa_port *dp, struct net_device *lag_dev); int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering, struct netlink_ext_ack *extack); -bool dsa_port_skip_vlan_configuration(struct dsa_port *dp); int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock); int dsa_port_mst_enable(struct dsa_port *dp, bool on, struct netlink_ext_ack *extack); diff --git a/net/dsa/port.c b/net/dsa/port.c index 3738f2d40a0b..79853f673b65 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -834,20 +834,6 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering, return err; } -/* This enforces legacy behavior for switch drivers which assume they can't - * receive VLAN configuration when enslaved to a bridge with vlan_filtering=0 - */ -bool dsa_port_skip_vlan_configuration(struct dsa_port *dp) -{ - struct net_device *br = dsa_port_bridge_dev_get(dp); - struct dsa_switch *ds = dp->ds; - - if (!br) - return false; - - return !ds->configure_vlan_while_not_filtering && !br_vlan_enabled(br); -} - int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock) { unsigned long ageing_jiffies = clock_t_to_jiffies(ageing_clock); diff --git a/net/dsa/slave.c b/net/dsa/slave.c index ad6a6663feeb..d1284f8684d8 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -533,11 +533,6 @@ static int dsa_slave_vlan_add(struct net_device *dev, struct switchdev_obj_port_vlan *vlan; int err; - if (dsa_port_skip_vlan_configuration(dp)) { - NL_SET_ERR_MSG_MOD(extack, "skipping configuration of VLAN"); - return 0; - } - vlan = SWITCHDEV_OBJ_PORT_VLAN(obj); /* Deny adding a bridge VLAN when there is already an 802.1Q upper with @@ -571,11 +566,6 @@ static int dsa_slave_host_vlan_add(struct net_device *dev, if (!dp->bridge) return -EOPNOTSUPP; - if (dsa_port_skip_vlan_configuration(dp)) { - NL_SET_ERR_MSG_MOD(extack, "skipping configuration of VLAN"); - return 0; - } - vlan = *SWITCHDEV_OBJ_PORT_VLAN(obj); /* Even though drivers often handle CPU membership in special ways, @@ -642,9 +632,6 @@ static int dsa_slave_vlan_del(struct net_device *dev, struct dsa_port *dp = dsa_slave_to_port(dev); struct switchdev_obj_port_vlan *vlan; - if (dsa_port_skip_vlan_configuration(dp)) - return 0; - vlan = SWITCHDEV_OBJ_PORT_VLAN(obj); return dsa_port_vlan_del(dp, vlan); @@ -660,9 +647,6 @@ static int dsa_slave_host_vlan_del(struct net_device *dev, if (!dp->bridge) return -EOPNOTSUPP; - if (dsa_port_skip_vlan_configuration(dp)) - return 0; - vlan = SWITCHDEV_OBJ_PORT_VLAN(obj); return dsa_port_host_vlan_del(dp, vlan); @@ -1655,11 +1639,7 @@ static int dsa_slave_clear_vlan(struct net_device *vdev, int vid, void *arg) * - no VLAN (any 8021q upper is a software VLAN) * * - If under a vlan_filtering=0 bridge which it offload: - * - if ds->configure_vlan_while_not_filtering = true (default): - * - the bridge VLANs. These VLANs are committed to hardware but inactive. - * - else (deprecated): - * - no VLAN. The bridge VLANs are not restored when VLAN awareness is - * enabled, so this behavior is broken and discouraged. + * - the bridge VLANs. These VLANs are committed to hardware but inactive. * * - If under a vlan_filtering=1 bridge which it offload: * - the bridge VLANs