From patchwork Sat Sep 26 17:30:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260126 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF6EAC2D0A8 for ; Sat, 26 Sep 2020 17:32:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C597D221E5 for ; Sat, 26 Sep 2020 17:32:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="It7Bt3hT" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730048AbgIZRcG (ORCPT ); Sat, 26 Sep 2020 13:32:06 -0400 Received: from mail-eopbgr40081.outbound.protection.outlook.com ([40.107.4.81]:45635 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729870AbgIZRcB (ORCPT ); Sat, 26 Sep 2020 13:32:01 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aDuQ9nHxKBObpTxfd+JvSaLfLwGG7JWsbKMyrcVjjCMmBvQHpkEqs9C17V/dRc2NX0beCvr4aUvUErBr2QOSOK1fZJ8i5VQUigWeflK7B1FxZWoCwJphNM1QIpQ0nAZ+bo0m8prrZEp+GGgpR8ZnT3OtUcY+Fc0P+hy0ZAb8l6sCLwQRJAI6EmDHUOWaCQN1JyT9/b3mmR6SITgWuP9fEeEwKUtwUY5/pDuFOg7YDRTZl0NaF25UC1mom/18HsEgaHcPS/+jbDXDsXIVLPlw50NjoVGOooyW5tP+1KQWMjwfgaCI2rst46Cy/jXqg5QxCagSgI1rXpsYcgGc/aIfxA== 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-SenderADCheck; bh=NvY0g6DBKQivfiJ71jD2gdK5r71qUnUlvUONB9y20oc=; b=UOnmZNgO2wPl51b+TunELk0inTfhUtUY/hvl6m/hjSyCTKP+MLHJMV59gDPbRAghfwUwJwizZ/FD6ISH73oZfvaagjbTNJCuhqtji8JFj9oewNT50Brbi0mYVe+rXN1Y8zWigkv/BT7WF+Mjr1qoij3Iu0LPrE3Xe1y5K/MKQPlMUDbaOCfulDTFoWLLpishDPhc9htZMzMOEXPAa598wPtgRG/4OsMcWaEl325srEkLZ+72yQeAT+mSZIyOmgZVHXVGZUVGnLqU9S6lv3Po2R7g40aeg565o27Gpxv62DWOQ3oFQjmyugJZpGiVWaixXOioH6pDTgLmmikeo3FGQw== 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=NvY0g6DBKQivfiJ71jD2gdK5r71qUnUlvUONB9y20oc=; b=It7Bt3hT7cYVqvSm1Gf7vX7EE72fMgWOCS1AwEjKTNpe3n4lX+l//wWo/7Vo0lt+WXPpKaJxM7g8WnL4Xg3uR/63SKBpydiPbr3TN+iBDmt3b6+o2sj6L3mUILcuR1aL2wwEK5XmqzOtZUHa6HwU9wOvIYZMh5XAlcqHnulzFIM= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VE1PR04MB6640.eurprd04.prod.outlook.com (2603:10a6:803:122::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:23 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:23 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 03/16] net: dsa: sja1105: request promiscuous mode for master Date: Sat, 26 Sep 2020 20:30:55 +0300 Message-Id: <20200926173108.1230014-4-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:22 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bbbb230f-ac17-45ff-2748-08d86241fd13 X-MS-TrafficTypeDiagnostic: VE1PR04MB6640: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jVbsfsBY8Bna+w8t8HV3RNU7WHsRsGip2+rf9iX6KbkVMAdsYC0jd+kc3Jl7Ja7UJ/zzJozukaIhMnjM3nnZfAwOQRnwdIYxjh0KC6ZIuop6McFHDAQWHhfSkizWBuGjULCgHvGz5WzJMrJ1mLCR/V+7Lv0mUaUl4cB5LNJ+MyGgY2WJG7DhUHkUvn8Bt58GL79BdmfRgvHMvsDN1fVpkgnuQdGuGa0zaNDvdgSe/s1/rzWhn5X9zCjrmxvazjPYwwEimsxUXnG1uJPfi+Gvi79q9dNO6+tDbMd+urodSa1VDuE5wOUf5FCzgmz80zq+An/4lMUzfaTX4MjvY3m7mIAU5b890lXVLdyNTfFBUcMAVC219xjqySeTggVuy6fSBXKwQF4Yh2rtSGL0loEc46ZI4fPQX4HPDtkfBlPQuqyL/m5/3vNmjdoowQLSPanm X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(39860400002)(376002)(346002)(136003)(956004)(8936002)(1076003)(6486002)(4326008)(5660300002)(52116002)(26005)(6506007)(66556008)(66476007)(2906002)(8676002)(36756003)(6666004)(44832011)(66946007)(316002)(16526019)(186003)(2616005)(478600001)(83380400001)(86362001)(6512007)(69590400008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: wVq/8xFkijA2/2mDa4UQnnDA/jBIFhUeO9nc3RzNfbrXxp+N/HT3SbLAh7Evb5+TmReHyt0hqkZi5vmDzmDhAu3GdD1tSlK/A4++5vt4lm4KMpl2Mjq9rWgVJBWkWaAglmrRDNWgNU3LwXByRGtEkrTg1z093wA2agJC8/bdo12jA0I8VZyuoeYhN9G4Y5WWb5tcS7Kifx6IeHtuwyVA/RBCajm7CfMY8xsBqpUO4CSPSuEBk8kfW70hxzicDFZAt+lhIONrpgO/Fp/tn9PrD8sNCnRWcw8axzwk/eDMQ2tDmaUBZHYSN6fJMYwh77pkiiM3sIgjKD1TWQNXYB49gmQpCxYbj8ysbKgvJ+/PRoeC3AkIEStFy9o1A8YiX7ZhyEzJdW2mF5qnh4tJJO0rrIWyLjoiHV3/byOttysQxOFa+OYlgTsByN9De8uyGa81Zj7iNDTD8EdXvUeGigHL0RI4o6F7pJVVg7mRe6mtfM38zSH370VRgHkx9FAfjNy/1k0kdOR83T8EPHK5UUeWRUIBHAeUCCU+BUMxinlTxNaiFP2oOyhSX97R+9Mv2o7GLiQ3oGLsWlw1IbWAfE9+3S+iuZX9Unn0o1ZQby0vt3TPFbcJl/OCQte0FBAXpJOPuQMkdZZCTroLbFVKu89slw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bbbb230f-ac17-45ff-2748-08d86241fd13 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:23.3181 (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: Nt+HrbEhjjogSJN7PFa1wFFHHKSENDQIBk1Oi86eT3H+OkSADlAEf3x0fdz+uLlFU5bj+HgyZbcg73bucHmXjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6640 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Currently PTP is broken when ports are in standalone mode (the tagger keeps printing this message): sja1105 spi0.1: Expected meta frame, is 01-80-c2-00-00-0e in the DSA master multicast filter? Sure, one might say "simply add 01-80-c2-00-00-0e to the master's RX filter" but things become more complicated because: - Actually all frames in the 01-80-c2-xx-xx-xx and 01-1b-19-xx-xx-xx range are trapped to the CPU automatically - The switch mangles bytes 3 and 4 of the MAC address via the incl_srcpt ("include source port [in the DMAC]") option, which is how source port and switch id identification is done for link-local traffic on RX. But this means that an address installed to the RX filter would, at the end of the day, not correspond to the final address seen by the DSA master. Assume RX filtering lists on DSA masters are typically too small to include all necessary addresses for PTP to work properly on sja1105, and just request promiscuous mode unconditionally. Just an example: Assuming the following addresses are trapped to the CPU: 01-80-c2-00-00-00 to 01-80-c2-00-00-ff 01-1b-19-00-00-00 to 01-1b-19-00-00-ff These are 512 addresses. Now let's say this is a board with 3 switches, and 4 ports per switch. The 512 addresses become 6144 addresses that must be managed by the DSA master's RX filtering lists. This may be refined in the future, but for now, it is simply not worth it to add the additional addresses to the master's RX filter, so simply request it to become promiscuous as soon as the driver probes. Signed-off-by: Vladimir Oltean --- drivers/net/dsa/sja1105/sja1105_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c index 547487c535df..626902b54ce0 100644 --- a/drivers/net/dsa/sja1105/sja1105_main.c +++ b/drivers/net/dsa/sja1105/sja1105_main.c @@ -2914,6 +2914,9 @@ static int sja1105_setup(struct dsa_switch *ds) dev_err(ds->dev, "Failed to configure MII clocking: %d\n", rc); return rc; } + + ds->promisc_on_master = true; + /* On SJA1105, VLAN filtering per se is always enabled in hardware. * The only thing we can do to disable it is lie about what the 802.1Q * EtherType is. From patchwork Sat Sep 26 17:30:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260125 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AC4EC2D0A8 for ; Sat, 26 Sep 2020 17:32:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F346021D82 for ; Sat, 26 Sep 2020 17:32:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="iFbgWHGb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730063AbgIZRcQ (ORCPT ); Sat, 26 Sep 2020 13:32:16 -0400 Received: from mail-eopbgr40081.outbound.protection.outlook.com ([40.107.4.81]:45635 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729870AbgIZRcO (ORCPT ); Sat, 26 Sep 2020 13:32:14 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LEdW0QckUTB4mXWhzIsIJhmAEVQLehGbekhQJzb5zSbO1lkVikbpMCVDsfJ//Z8cnzIEW2UiCYzYlJpWAiE+wspLpPhMY6kajVupuNIZr8muu0ebH/gvZME26kn5NicbVQty8ogpk3vQ1IJPjsWSXn2GgCZx1HIkd7Q785WIrjZUA3WuaiQrERx0PwX9HBOc4OSYR2Mag6YdTU+WU+dANmWrBQlgj3i8IyZcjMQnCbsYD/+T/j5kUdy8vaFa9sXtglX8j9T5c9pFDa5X5ZOQ1fdufkO4SRds4k6NCTW30+AY7TxHom6mlo0upERux0G/F9gZRiKM9015r4DnyrcyPw== 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-SenderADCheck; bh=VwSDFqYNjcIHiud8Us6ffNJca+mqArUINNRoT+QU+pM=; b=f7MhQm+PFZ2A60DzBEDbIl3tVomDj2rhwG9aD80RLAo264Yx/JWPygCTPpR5vzc1aNJcBK0zCCa0Yzi/eOsCtD9xNZ3FbK0ZObiLQSfQ43Opk2MfypBop0o975TYq4DzLSVEH6z+yHNvn/8rXNOvEy/bBZWe8zYvXiiH5EorEgwgKk9+sfvm7UNwZymaMlnEbb9nTbnOTQHD48fQ7Brc2UXEvLJz0j04jxSl/OBaD/j65yHKhWJ5QkKRzXBwaKW/xYBrtluOJIXfp6qYiZBiSPxLFDTOt2v/tXZeWkOcqddBPsnt+r+gmPGfkWhYt3DLBLtN/WxtwpTxrKc5g0pbfg== 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=VwSDFqYNjcIHiud8Us6ffNJca+mqArUINNRoT+QU+pM=; b=iFbgWHGb2LaDfzuvqm13JMShT9OSDXTqDR072YVIYHc9r8MJ0W/VhqYPsG85J2On+pFJX4iuQ1DRjm4Ptwg+x4EmOVVMgt6AilJjaupKdmnv6XG8Orez5qf27YjBEHBYGZEOQPzCUQzaOJv5Sc5kBUmzRD0i0DRUHUrI7Z9g1tU= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VE1PR04MB6640.eurprd04.prod.outlook.com (2603:10a6:803:122::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:25 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:25 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 05/16] net: dsa: make the .flow_dissect tagger callback return void Date: Sat, 26 Sep 2020 20:30:57 +0300 Message-Id: <20200926173108.1230014-6-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:24 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 178fab47-ba49-4584-988d-08d86241fe3d X-MS-TrafficTypeDiagnostic: VE1PR04MB6640: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EUz7tgIiubbt14LZg9BUL30MTVMUdLdJW33aeg+fnm442Lr43olrdUmqAanniovtNxpGEk2Tm9qTPFOc9S1vHvsVNmQVVCwaFa9urEZjbJeaI0q9TvBYPqeqxmlaTeDXjPsev1J3hsD6bxLEMRYIwk305ph/OFxL9yZdLuaiOKWmL5UwM4sR6yJUnIKSudZaB3k0Jb2nHWl04rMm0ItJVWvx9QfzL4+ydB2WTpI80bfd3ro/vYXBFQDhyoGn0C/ht8M6fY2JOgoWCA1fXno6j6q8cEil0OF39gUTP1VasDgYSxpiTJwEumuXNPKRBFxfK0VXhnYdaebyuckSRG0xeXFXOSGZSUYTaWmaFPL3fLLjY9q9dVaa/5kE+NVzeyx0ZKi2eDQhulak6eKnl9Njtzp+BQwmZqdh1UojjsG63yFXVMWm0Ot/rs4b8daKFZzotATWvGEwIrirPMtpziezlw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(39860400002)(376002)(346002)(136003)(956004)(8936002)(1076003)(6486002)(4326008)(5660300002)(52116002)(26005)(6506007)(66556008)(66476007)(2906002)(8676002)(36756003)(6666004)(44832011)(66946007)(316002)(16526019)(186003)(2616005)(478600001)(83380400001)(86362001)(6512007)(69590400008)(142923001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: b2dvezuyaIH0uUrXaSGORh2zvFfnvfAvePtw4wSfPtRAKr5Q1XPB8b99goTaFObksPVJhmqOYiEwy8y7sPFVGYCI7jjxNTP9iQxisMlhlyugZwxJOoUiF/LgxSNXZs5T773eQxirWtSPqOoRIL+TupP51E6sGvqxbBjL/fvsUT1S6dss3bMHxYYTpr8pjL/YLFziT7hcmcy5BQh8arTdNF8sBUD17z0ZYRMXmoJ+wDXQmYwCyZrhZDeTSQ8fjRCoubR1ePUPaoPKM39V7rvTxy2qvKjGBGfLkcq/R5d+UVsNQFxctEh9ygtkAcwRO3agWziExsGOXrJX1mcaafg1kkivSSuo6eqe87LS9yyjhCssB/W7Vm6XhxHww7exOLDSqvkizzaBOGGr+ar6zlG88JWyHnbSaLdF47lXJxb0ddDmiUBT7KyA7+u5NbGw/FrM4GAGbdB1xYePEpd5GuiE0fNoeYXe/YEiNP3wBr90gVJ5i24mFKgc1zsP5nscGlK81ZFsJWFxPWhzBGUcrNPdkhsdhxlv4ma16IZAZSwcudIbvqJtb3AUIRgXTKJgd1xrDmfkaox6C4Otgfv5jHbs0SNDUVg0sORQ2pIraOJzZjloicGA8Q3Qe1gumvdI8w0YhhNS8tGrZyx+sGTovXbdSg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 178fab47-ba49-4584-988d-08d86241fe3d X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:25.2749 (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: ZYWGkEZE/ah79cQHJYx9rPlE4lXUfr9nTwdfk1zRmo2Y6MHlp5E6DF8hNc2f/Si78DFGD9T6Wq2knYEJwUD0NQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6640 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There is no tagger that returns anything other than zero, so just change the return type appropriately. Signed-off-by: Vladimir Oltean Reviewed-by: Andrew Lunn --- include/net/dsa.h | 4 ++-- net/core/flow_dissector.c | 4 ++-- net/dsa/tag_brcm.c | 5 ++--- net/dsa/tag_dsa.c | 5 ++--- net/dsa/tag_edsa.c | 5 ++--- net/dsa/tag_mtk.c | 6 ++---- net/dsa/tag_qca.c | 6 ++---- net/dsa/tag_rtl4_a.c | 6 ++---- 8 files changed, 16 insertions(+), 25 deletions(-) diff --git a/include/net/dsa.h b/include/net/dsa.h index 70571b179d05..80f5a388337c 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -74,8 +74,8 @@ struct dsa_device_ops { struct sk_buff *(*xmit)(struct sk_buff *skb, struct net_device *dev); struct sk_buff *(*rcv)(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt); - int (*flow_dissect)(const struct sk_buff *skb, __be16 *proto, - int *offset); + void (*flow_dissect)(const struct sk_buff *skb, __be16 *proto, + int *offset); /* Used to determine which traffic should match the DSA filter in * eth_type_trans, and which, if any, should bypass it and be processed * as regular on the master net device. diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 29806eb765cf..13cc4c0a8863 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -932,8 +932,8 @@ bool __skb_flow_dissect(const struct net *net, int offset = 0; ops = skb->dev->dsa_ptr->tag_ops; - if (ops->flow_dissect && - !ops->flow_dissect(skb, &proto, &offset)) { + if (ops->flow_dissect) { + ops->flow_dissect(skb, &proto, &offset); hlen -= offset; nhoff += offset; } diff --git a/net/dsa/tag_brcm.c b/net/dsa/tag_brcm.c index 1dab212a294f..610bc7469667 100644 --- a/net/dsa/tag_brcm.c +++ b/net/dsa/tag_brcm.c @@ -150,8 +150,8 @@ static struct sk_buff *brcm_tag_rcv_ll(struct sk_buff *skb, return skb; } -static int brcm_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void brcm_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { /* We have been called on the DSA master network device after * eth_type_trans() which pulled the Ethernet header already. @@ -168,7 +168,6 @@ static int brcm_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, */ *offset = BRCM_TAG_LEN; *proto = ((__be16 *)skb->data)[1]; - return 0; } #endif diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c index 7ddec9794477..ef15aee58dfc 100644 --- a/net/dsa/tag_dsa.c +++ b/net/dsa/tag_dsa.c @@ -142,12 +142,11 @@ static struct sk_buff *dsa_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } -static int dsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void dsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { *offset = 4; *proto = ((__be16 *)skb->data)[1]; - return 0; } static const struct dsa_device_ops dsa_netdev_ops = { diff --git a/net/dsa/tag_edsa.c b/net/dsa/tag_edsa.c index d6200ff98200..275e7d931b1a 100644 --- a/net/dsa/tag_edsa.c +++ b/net/dsa/tag_edsa.c @@ -192,12 +192,11 @@ static struct sk_buff *edsa_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } -static int edsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void edsa_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { *offset = 8; *proto = ((__be16 *)skb->data)[3]; - return 0; } static const struct dsa_device_ops edsa_netdev_ops = { diff --git a/net/dsa/tag_mtk.c b/net/dsa/tag_mtk.c index f602fc758d68..2aba17b43e69 100644 --- a/net/dsa/tag_mtk.c +++ b/net/dsa/tag_mtk.c @@ -105,13 +105,11 @@ static struct sk_buff *mtk_tag_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } -static int mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void mtk_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { *offset = 4; *proto = ((__be16 *)skb->data)[1]; - - return 0; } static const struct dsa_device_ops mtk_netdev_ops = { diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c index 7066f5e697d7..a75c6b20c215 100644 --- a/net/dsa/tag_qca.c +++ b/net/dsa/tag_qca.c @@ -89,13 +89,11 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } -static int qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { *offset = QCA_HDR_LEN; *proto = ((__be16 *)skb->data)[0]; - - return 0; } static const struct dsa_device_ops qca_netdev_ops = { diff --git a/net/dsa/tag_rtl4_a.c b/net/dsa/tag_rtl4_a.c index 7b63010fa87b..868980ba1fcd 100644 --- a/net/dsa/tag_rtl4_a.c +++ b/net/dsa/tag_rtl4_a.c @@ -106,14 +106,12 @@ static struct sk_buff *rtl4a_tag_rcv(struct sk_buff *skb, return skb; } -static int rtl4a_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) +static void rtl4a_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) { *offset = RTL4_A_HDR_LEN; /* Skip past the tag and fetch the encapsulated Ethertype */ *proto = ((__be16 *)skb->data)[1]; - - return 0; } static const struct dsa_device_ops rtl4a_netdev_ops = { From patchwork Sat Sep 26 17:30:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260131 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AAFE4C2D0A8 for ; Sat, 26 Sep 2020 17:31:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 58F4A221E5 for ; Sat, 26 Sep 2020 17:31:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="JH2s+JOT" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729734AbgIZRbi (ORCPT ); Sat, 26 Sep 2020 13:31:38 -0400 Received: from mail-eopbgr50080.outbound.protection.outlook.com ([40.107.5.80]:18948 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729493AbgIZRbf (ORCPT ); Sat, 26 Sep 2020 13:31:35 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rg+85P7qbL/fitGTYd6NK6umUi2sNYThEgr9qOsMPoT8ivhlLu0LYHpL9ou1SDXh1uuF3LIoIaU+btWpnymqSWivqOYMiy4z5Yjj8t1MFsY6FSNjIpe3+WTLPNq21E6LoL0O/dWXfI+ILvMyM+etI76FZtUYW1K+MQNx1b2BMLUwUed/1trUtPk8zJT7RApNF/P/Qymwd2FLpouYK9Eu5OrCvnAHKFQkYLSUf6SBFMlj6gOgsjHFUg1cfIuIyUsXOnHlcl3Z0EKPGV3yzOI77/HWulloW+KbMSxVOAfkL180Q4bRMzpjvEbjUck4kD+wyQKHbmQ/jSeaDplh5qZw4Q== 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-SenderADCheck; bh=Zzc47IL8QPQWLYhygEyc+QXUeZRjGTVVoFNzLTegyfE=; b=LktsssroudYP11AWts2/mYyibVzmN7Kja1P5zNY30++yfyRCFfvBennN+qdy7rSE4znj+bh5qApkP+otEbtKgNhk7vqImlq1g0N1xO9TPfdtAendJ1tak6k8q43o4F2uVzBVZSvz6s2jLFhsspxMH7/BywVa/U/nh13mdzdNlwTrVrCDPgl1EQGdMkbfOwcmeXRlKu6XCJrtMIaSWGuQ99XLDrg/3Lty8bav1tNkK7WAUc/Bd8Kis7p01mUhD0NfpAQ5C7iv+XqpLbpBepA87qUGdya6QBDIYffRQDmKInZ+Lk6xH4Q49tXvW4KskV3n7nGaRSNL0amkd6qFsVKH3w== 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=Zzc47IL8QPQWLYhygEyc+QXUeZRjGTVVoFNzLTegyfE=; b=JH2s+JOTMcjamFcoVSOaWUmegkY7WSg00tLL5p68j/Nc3bi17fJq5q9D66ydkPwM08nO9BmOzAPTXCz4IDtToHX2c3dBgbPLx2iMl3XNV0EzcUdnZ5QtZAE299iPA4zz6A2O+oSL8aALUKBWLq3t/HODDI1yCb0BAO1X/+RdlpI= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:26 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:26 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 06/16] net: dsa: add a generic procedure for the flow dissector Date: Sat, 26 Sep 2020 20:30:58 +0300 Message-Id: <20200926173108.1230014-7-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:25 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d5b479dd-932a-458f-0371-08d86241fece X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tLq3qOJxiR01b6EC9Ef4RbrzJJst5UUqr4z8DpEo3mDAIYMrkzqiraYctEEihSBb+RnO3Ttw0W37jvgoiRfSqmacAnyfIoWyKxdFUy3R2Jkm5sijDCuG9bbEUA28ji7vRJoGHLRsOZEfG3b+CsUmVOn4G+bIbetpTLBklNyYDg6B/fzYkFngsxiELQS1asCCAIJjpILvMSA2QRK747k7ZyPi5YIqu1EP32jlC40ZwLNGsxET0DgLNXA7/5h3+p4gKXXi65THdeskQ877kxTZxmUImP8VvP6L66afB9nTynsJF+TsSL1Re/x5b8ZplwR5rgbB0vUngASojybgmPD6PMQFyErq7es8rMii+uJH0ynLeMaY9Cqei1LdE3gkt8KINXXH/fX0ZmZ9OzLjk4yncasFupfFWi/HtB3gIFFeCyXvnvGe7G6zLkTou+WlbioBrkt2KCkCWjtARBFfeDRa9w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(83380400001)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: CucQ5ZhExmDD2BEvU1sruCy6tkxikxmAd6LHXClECitIcdPcrJHxUyfjKiu+iXoElqzjLfkvy1+Z/jW1Mz2+f28zpmc8FlLLqJmuzzjwYm3RmmvjV1nApW2fP7rWPlsrPEIYblQsFOo3j7f+0tViqTi3FgHqXHCTKT3H9GXrk5UcvOksB3Gp/yAyrXQ3WGVGCV4CbrtgWv3MQeRIfmxIDcIvHf/3DzfJoibHn+jAyz2C9z27Tv+D1bQTtdjVLfp1kOtwdcVTIAn/tdyxmvHMj98ss5397QJtnbS1gU9BfEWT+VXkqhY9EvnF6eeSMhalFJnt0NxLBCZHQ3S7NVLPJcPHmNrz9ivDEw5/YJQa7LxHQj3mNyXIfRqwVbcPSObELMyL/ZtIHguJOqlIGaaYAT+Ff76SN+yDZKjhkq3fb3Hn0nmNsEL1PA7PshIow0tM2dcCbhO0wPbX2RHLjJhBlu0LGvduGgj0W8BXmaUlcX4ZUO4JEF2tyOZrYEnGX0QyedvH/Qf9KUTsYrWta5WF1SzEawHNun4H1klLv81UFdonTfxQOhTtWilDJJzGF+yJD33M2Ov2GLiUdTDN1SMb0ADNdrI2yjssfQgM2oXtzA6ZJhrws5a2NH8cFNsBrNFONHRYw2VZUrbtI4Qnng+56g== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5b479dd-932a-458f-0371-08d86241fece X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:26.2104 (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: R4FKFicyNqyT7UY2jZOMIm/k7c3J8GKIbdbLkhGV5v8iKA3fOKjOpX2GJ4DFAkrx82hBDIjqVzTp0ORQItkpBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org For all DSA formats that don't use tail tags, it looks like behind the obscure number crunching they're all doing the same thing: locating the real EtherType behind the DSA tag. Nonetheless, this is not immediately obvious, so create a generic helper for those DSA taggers that put the header before the EtherType. Another assumption for the generic function is that the DSA tags are of equal length on RX and on TX. Prior to the previous patch, this was not true for ocelot and for gswip. The problem was resolved for ocelot, but for gswip it still remains, so that can't use this helper yet. Signed-off-by: Vladimir Oltean --- net/dsa/dsa.c | 25 +++++++++++++++++++++++++ net/dsa/dsa_priv.h | 2 ++ 2 files changed, 27 insertions(+) diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index 5c18c0214aac..aa925eac7888 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -305,6 +305,31 @@ bool dsa_schedule_work(struct work_struct *work) return queue_work(dsa_owq, work); } +/* All DSA tags that push the EtherType to the right (basically all except tail + * tags, which don't break dissection) can be treated the same from the + * perspective of the flow dissector. + * + * We need to return: + * - offset: the (B - A) difference between: + * A. the position of the real EtherType and + * B. the current skb->data (aka ETH_HLEN bytes into the frame, aka 2 bytes + * after the normal EtherType was supposed to be) + * The offset in bytes is exactly equal to the tagger overhead (and half of + * that, in __be16 shorts). + * + * - proto: the value of the real EtherType. + */ +void dsa_tag_generic_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) +{ + const struct dsa_device_ops *ops = skb->dev->dsa_ptr->tag_ops; + int tag_len = ops->overhead; + + *offset = tag_len; + *proto = ((__be16 *)skb->data)[(tag_len / 2) - 1]; +} +EXPORT_SYMBOL(dsa_tag_generic_flow_dissect); + static ATOMIC_NOTIFIER_HEAD(dsa_notif_chain); int register_dsa_notifier(struct notifier_block *nb) diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 0348dbab4131..61120145679d 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -99,6 +99,8 @@ void dsa_tag_driver_put(const struct dsa_device_ops *ops); bool dsa_schedule_work(struct work_struct *work); const char *dsa_tag_protocol_to_str(const struct dsa_device_ops *ops); +void dsa_tag_generic_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset); int dsa_legacy_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], struct net_device *dev, From patchwork Sat Sep 26 17:31:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260132 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DBD22C2D0A8 for ; Sat, 26 Sep 2020 17:31:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9248722207 for ; Sat, 26 Sep 2020 17:31:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="jAha6KCL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729638AbgIZRbe (ORCPT ); Sat, 26 Sep 2020 13:31:34 -0400 Received: from mail-eopbgr50080.outbound.protection.outlook.com ([40.107.5.80]:18948 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729412AbgIZRbc (ORCPT ); Sat, 26 Sep 2020 13:31:32 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UZaWU+BK1PSl3Io23sqwj0SKIkEFYkZGER3YiACafPg8pumKPOU+qrJtUHQgAZ/XnZm7dBKGpkp3dIT++forDHST7F+d+FHbxERAEoabh53U6zrzIT+FAa6GyHt1/kd8KkD3iY61sy0VNhMZx1mkClXA011aYd5MwDgcrZF9rEsAQGwj2Zc1xMkYYtOC8JcXljnzME5RPhYWRQdXx6GqnoCbY7Exki9H/s86fAHt6DzxQS+Obx/XDhpMVdpzBUOdphA8fqXzwCSnvSaVNstEkx/jDMQMuu4tQMR3uOpU+Ufnmud/2i5BEtV9d//2MZZpiYPHuk5ZkHJuDAcqXCCwEg== 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-SenderADCheck; bh=aN8rHFXz6ElyD9GdMYjuJo8YIJudH4T6Zp6WxH11Ngs=; b=fbpMbjFZBNaYvqpWiqEE5RSfmpKeJgMfJZQRkIw78U4r9v+88QR/ndmGzzHQBKPA/TvXnOm+U0J0egTBgmBCyUM5tDBvcn0CCPkCOESLdjEPqxHDF8Vy65nV8YATjTFhypxAfXPgvwH5eMSAQ4xbpPvAMWxQ1bqR5u4Rq+tAxXm5huMBFA0TwwpdgIqrLzeiIWrqvYx2KYev/vTBRZft9B/1OwIQwKMeOCoT7dPTlD13Jzn532dPozos1wcBBCh/Fm6nO6VFE9v0QyI739ZvmvmRnddtmMqGrxeX6uQC1yBIAN4gqXBXwd+5n0kzlZES6ggfqDPyDf65P09yIF8+sA== 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=aN8rHFXz6ElyD9GdMYjuJo8YIJudH4T6Zp6WxH11Ngs=; b=jAha6KCLzfSMg6ZyVXZ3+Coblu1KnOL7EB/2sMJ9AxeuZvYUeDLUx3tlUwvGKitdTv6Kw71njSchMFjJV8aMBHaUcmOQP4yVfNb1TE38m6S4TAlTwj3+m8GpSX1jT74vsRdJr5n97irf8tL79Sh8QWenMXBI+78mA+yQ/m0iEFY= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:28 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:28 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 08/16] net: dsa: tag_brcm: use generic flow dissector procedure Date: Sat, 26 Sep 2020 20:31:00 +0300 Message-Id: <20200926173108.1230014-9-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:27 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: fdd2e5d8-b911-446b-6e4d-08d862420015 X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G2KBnkz2K3ih3PWw/XU2kw/rhi7raq33zK4ZAa/3YSTtFHC7Ey07XRxsreJjMo/acMhKqjcT7zsoReHS6YN0sVloXmrt6kpgfO47mgnRerLMt5JfaK4OBj2eelZkVWX8wFkVbqjmcSkBNOkcYpc0+y7zNhNznBEH+R80KmoutGbv82AGbksjASbUV9KxCJp5IJCe+ez9BopSrvjkqA7tlvgPvB1gKHSJ4TOlE8gTp9i06BoVZqfJLxL77jp+8JI6GIEq0UzzIt/jaqkVRUVSZmXdAsaGLGjGYsyDm5/7u+tJos2cz4GwfKvWhs6aqR9sT3Oo4tHaIRh8eJfwZJh4Rf6WbaF5JKg2mjSqXCoNHNx+5ivI+wJeCHqGqVMKywmpO4sBBHmDOLhhpx72NrDJWvJXngpK2A1N4WcUxAsbDNqmP9628YDtR2Mi6Q6xx43nka1E9LlPZOSCht9FaSULxA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(83380400001)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: jjlKHF0m+BRaPYASgyg7qMmYumnLPZeqZ2rChpp1pMIFD5VMiTQVUmFLadPMPwQSd69bqDqN7cwwdZX4mDOcr7iXlSOaso4M2RgrAgP8cuEqPIVTBCEV1ZbFyI+x8u5hDcfey9kg41a6hkotWbmdF7VJiBm2jX6aPdtwc02UjeqfDPP+JXB+YPSXsbyH+OLH4bLWlr+jkf/YkgUpSnBAkN19FD+yOg8Fso5qsjUcxPml65GtAxzllKtf/xv/QbEsgdtxIR4RkJAb48ThsAJL3NgUmntVaPnmYDP8PfbCYlmWWtfV3JgMFmB/ieznh0uknEQRafdyw4Z5zs2XHl2ZsrPvRtYYsKTN58mN3bqoVlxMJv69/ClfwVzSvzCgXkPbZWO7KzDj5Hcrh5l3F4IW7hcwn802JiTxWmW08qLMDOvaKW9BfNEZcswUPfSfnS7gK+CpJPx1mjGgxiognP3l61C1Wd46ql3/o0NjC5AjmmfWjwmpEouRMYEQYWjA+vtdrMVIFmcK/kysMJ1muTRTTaL6XLNfSRxk3sPHTev2Go0u7iYfHEGthBzx01ChR+9Lxm+LECHCK6pvsp4T5V8odTc1NXDEtEuvmnes4wWEj+GVzgdPKYiA+Gx351jhaxL0LGQY6IjX1pNxdHfchK9jPg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fdd2e5d8-b911-446b-6e4d-08d862420015 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:28.3762 (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: 1kTdWlU61OB+QV2dCIfESUCWJpA9J9+2oIod2L2LugAGdJaVYUz+ypqNxB8cBAVU0rwQ6cTJPT785TtyVcfDCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There are 2 Broadcom tags in use, one places the DSA tag before the Ethernet destination MAC address, and the other before the EtherType. Nonetheless, both displace the rest of the headers, so this tagger can use the generic flow dissector procedure which accounts for that. The ASCII art drawing is a good reference though, so keep it but move it somewhere else. Cc: Florian Fainelli Signed-off-by: Vladimir Oltean --- net/dsa/tag_brcm.c | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/net/dsa/tag_brcm.c b/net/dsa/tag_brcm.c index 610bc7469667..880736e39d3a 100644 --- a/net/dsa/tag_brcm.c +++ b/net/dsa/tag_brcm.c @@ -107,6 +107,18 @@ static struct sk_buff *brcm_tag_xmit_ll(struct sk_buff *skb, return skb; } +/* Frames with this tag have one of these two layouts: + * ----------------------------------- + * | MAC DA | MAC SA | 4b tag | Type | DSA_TAG_PROTO_BRCM + * ----------------------------------- + * ----------------------------------- + * | 4b tag | MAC DA | MAC SA | Type | DSA_TAG_PROTO_BRCM_PREPEND + * ----------------------------------- + * In both cases, at receive time, skb->data points 2 bytes before the actual + * Ethernet type field and we have an offset of 4bytes between where skb->data + * and where the payload starts. So the same low-level receive function can be + * used. + */ static struct sk_buff *brcm_tag_rcv_ll(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, @@ -149,26 +161,6 @@ static struct sk_buff *brcm_tag_rcv_ll(struct sk_buff *skb, return skb; } - -static void brcm_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) -{ - /* We have been called on the DSA master network device after - * eth_type_trans() which pulled the Ethernet header already. - * Frames have one of these two layouts: - * ----------------------------------- - * | MAC DA | MAC SA | 4b tag | Type | DSA_TAG_PROTO_BRCM - * ----------------------------------- - * ----------------------------------- - * | 4b tag | MAC DA | MAC SA | Type | DSA_TAG_PROTO_BRCM_PREPEND - * ----------------------------------- - * skb->data points 2 bytes before the actual Ethernet type field and - * we have an offset of 4bytes between where skb->data and where the - * payload starts. - */ - *offset = BRCM_TAG_LEN; - *proto = ((__be16 *)skb->data)[1]; -} #endif #if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM) @@ -204,7 +196,7 @@ static const struct dsa_device_ops brcm_netdev_ops = { .xmit = brcm_tag_xmit, .rcv = brcm_tag_rcv, .overhead = BRCM_TAG_LEN, - .flow_dissect = brcm_tag_flow_dissect, + .flow_dissect = dsa_tag_generic_flow_dissect, }; DSA_TAG_DRIVER(brcm_netdev_ops); @@ -239,7 +231,7 @@ static const struct dsa_device_ops brcm_prepend_netdev_ops = { .xmit = brcm_tag_xmit_prepend, .rcv = brcm_tag_rcv_prepend, .overhead = BRCM_TAG_LEN, - .flow_dissect = brcm_tag_flow_dissect, + .flow_dissect = dsa_tag_generic_flow_dissect, }; DSA_TAG_DRIVER(brcm_prepend_netdev_ops); From patchwork Sat Sep 26 17:31:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260130 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD5E5C4741F for ; Sat, 26 Sep 2020 17:31:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7E80422207 for ; Sat, 26 Sep 2020 17:31:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="EbGLm/At" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729898AbgIZRbo (ORCPT ); Sat, 26 Sep 2020 13:31:44 -0400 Received: from mail-eopbgr60063.outbound.protection.outlook.com ([40.107.6.63]:61761 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729493AbgIZRbl (ORCPT ); Sat, 26 Sep 2020 13:31:41 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iDW0lIbZCMQ1umu1bocCyIAi73ICBnmWrUCWGwzk7+MNU463vv3Exv6MwHwMdM6dhNWESAoVNXNmuLGzSg2Xa38np9/Dp3F1htN3JTBdfTjaAEmr0eXMOS4bEAs1Llr4QFNJlw+t2Zg4le2dqW84Gjgzd0rbhuaWH72rNeJu1Ulze+i35W0hBUH8k5h2kYVb6Lm7RjNwSbOq1rn2jODuzkwhlVXDKL3l8Y0QnJXwWJ7f69oMK4gpwFUPOJFuKQGP0ow/fkMKYF8Sco0jwm4Ku7c9OXspXuUBrFmsa9djwPRi6achoQYBZ7+4oZHJSmdu+JDU0MtldJEclvPmJUZ7wA== 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-SenderADCheck; bh=3izMIuuhlLzzmedjtHJi/8g0h4QuIyABRfyzuk+EPvs=; b=VzjV01HqDSN5T7pVvBaU/IO4BcvnSZeaHz4fPGzDpUnUZiWhGPTzyLh4e43jemdrMW9Tg6VOivrCL8x9meBEU/+64dGeT3l0vNaiEwDXfmlRRkgiD+UR5xRn/FzaldNTebCsQMC2+szeJDXQoBuFcoBp5DvIPZwyPbdKd02Qx27Cim4ajBO23uhrHs/xVG0Sp0e+QwixNqdcLAwifZzXLfkO0HNN9N8qaivdJVyr+KWW8ymZ91Ef24FmgUjWNr5wJNF4SgF/XXXOSm7A4KHHNcdHM501ZamKKcVWDnFz7aJpxjYgp9tZIVHQQiESG8Ua5+Aw6DdY5wJiOgDtrWlebA== 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=3izMIuuhlLzzmedjtHJi/8g0h4QuIyABRfyzuk+EPvs=; b=EbGLm/At7FchnV8c+3kw3XF/eEzlzpj8XiDjQ2VegdXifHc3bkRCsxBRCmI4KUGpz7iHQO+YPCbIv0wV/VGXnexRnyhZXFYu5jzjSLnxrJbM1uqXjANBPvo22rsL/r2Ud6MxqhFFtsacIqkmx65qbYWtwFOxcYC6AuVA/lQHFwI= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:31 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:31 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 11/16] net: dsa: tag_lan9303: use the generic flow dissector procedure Date: Sat, 26 Sep 2020 20:31:03 +0300 Message-Id: <20200926173108.1230014-12-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:30 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d0900327-1b51-4eb5-6da8-08d8624201c9 X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rcOcpgotYwKxNkxm0x1pV+yIVvMAZViUBzZKgJbKEWG6Cx6I6HWGDo6zESLbWcCh3+zIDmfD9gdXBo6VNy4XV9iL9vnzPZStYiVXXQ29jT47AHpvuMCn5QWIyD60e3uP0quV75gNROW9JG3lcDU/AHA+1VdOkRQDyVYxyD2sHKG/Xs0iXaVoH4/wasbDXbT5kL9wM25xpK56e3FU0XziMWkbC9nksWWmeQZyoSY1A29l8jo47t/FcjDscMDLDN9+om/C9mrMHZPbpMFPVYJq8Lt7/0lQAXlc263cCSbufHeKoePu0bjYL50HXfS6NrheyEtc8ImISnZvOMSkuVml88hvc6BOUWfDvwqJcVh9jflCDHy1iQiNdZEH37Q8Pnwc3Fr992CgGbunpjJB/c6MZgyf+vRAlpoP7+UQ0A5+R7U5gLE/xf542w5EY1mpp8JsTrawA1uSaZ9Kvbx+YZscBw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(4744005)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(83380400001)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: aQNko1Ky7grImflvJ7raXuhR00cItbDMEagv3ytls9gAzjhjP9cFjkjpDkpB2/V+CFOnHRtGEA3a4olmWml+xscAL9XvlPbdT9hUYWI3Kl2Q52c9k6XTQYNjypfeZvlA0N5zsUmJNgiFzmTxnY38O7GXaSVi9WQ3DYw3M2hueLm7paM9HLLX/rtuujJw+1KSdFzvMHKZI5NJZETP4W3a+sk5Z9qTpogSafhItfAfkRnqImxI2V2cR0N07VvML3DwfzU0ZNzuU8pPPu1DDGOssjzZmDq7urgl9xno683/O95+QM0aymFtMvJItkWHmjSIirzRkpSj1PM1abBOy9JKdSDVw9jTzRXWJfQ6fDlz474TVRJ5f9Bi8KEbTNBj9ZU+IYjAwiGhS+pXh0XhiaJC6NBi2K51aCSGykxV0vGsepiarBtw0dimzlwtu8g65rvQsq0gX4I+uuXdJGbsV2uOMxx81h36DdFjOWAExanpJoWw989Yzr0Whsyl7jILNjvlFcj5OPVomD749BuF5FH8meeGlN+HJwPJ5at3QUP28KjQBfak3w0ug+gNz97rzep6kPYI9vz7d0XRC1CCbTjEshyI5LHBPheHRynCLeWknkZZQ6xhaU3ztRZEJdRePIKM0vKdcjH/kXFWXgU5yrVKwg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0900327-1b51-4eb5-6da8-08d8624201c9 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:31.3145 (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: zXGkogw8Ro0FgKTDu1cwXqiPxJ1KATDSBnJW38u9VKHrSWTggRVlr0z8DU84fhPQclrsAJvwmovtbgiKG2skHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The LAN9303 switches use a DSA tag placed before the EtherType, so they displace all headers that follow afterwards. Call the generic flow dissector procedure so that this is accounted for. Cc: Juergen Beisert Cc: Egil Hjelmeland Signed-off-by: Vladimir Oltean --- net/dsa/tag_lan9303.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/dsa/tag_lan9303.c b/net/dsa/tag_lan9303.c index ccfb6f641bbf..94e3808500d9 100644 --- a/net/dsa/tag_lan9303.c +++ b/net/dsa/tag_lan9303.c @@ -135,6 +135,7 @@ static const struct dsa_device_ops lan9303_netdev_ops = { .xmit = lan9303_xmit, .rcv = lan9303_rcv, .overhead = LAN9303_TAG_LEN, + .flow_dissect = dsa_tag_generic_flow_dissect, }; MODULE_LICENSE("GPL"); From patchwork Sat Sep 26 17:31:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260129 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3BCCEC2D0A8 for ; Sat, 26 Sep 2020 17:31:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E081821D82 for ; Sat, 26 Sep 2020 17:31:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="JCoknyc9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729969AbgIZRbv (ORCPT ); Sat, 26 Sep 2020 13:31:51 -0400 Received: from mail-eopbgr60063.outbound.protection.outlook.com ([40.107.6.63]:61761 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729493AbgIZRbs (ORCPT ); Sat, 26 Sep 2020 13:31:48 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O9TuVO+5bdRr34PkCOGv5BP5SAeJlASQHcIYh/21grjmt7nleAnHIqJGWCLmypcO/BiQo8wP65a0lZaUK7pAZCS2bISvarkk92UOxi7I2PFtz1eq7pkM7LBp8S5+y4vsIFxT0jQxGgtHzoZih/JPKmR319XickGbT+cd/PYs1NE43aH/8SPomswRtGcFbkbKi02FAfoUdlBwhBniSlpAdIfJQV3vadr2jKIwwyYWpUJDPK6r+MIjGPQ4A4RYUULKof3PuhqCQdX8Z9yGsXP501t+CmsRL8WT8cqqsqCBjQ3pg7Z09smgrs41A+Ztw7lpXaNg4D0wwFPM5Far7CSUDA== 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-SenderADCheck; bh=p85U8NFjot5CTcglPQG6P8UQPpIUsIhxxAZXjwfOfN8=; b=AfyavqSRrMfT9NvPfg34XPvLifgyVVcVFhqQ0nq8LESJUKpAByCogt0CqITQ+FrdFbND1HC60ccotuXvD6JIsmiDSu+pNJhdFDTCfrknJQGEl3RCDwxWBONK7fY1VdLfYbBvQmODDxOTDkYhylTtNhPTGxaMt/BVC9DAPNwuytQksZSKjjD9X1qSyaVNsMya6IfDCt0FJx/msr0jC9c2Laet9acESweJA/5omWapqowWxwNBcSHCbA5ohhJqNGsrjk00KM6C3KggBM38koG6Cfhb92QZ9PexsWjVgAwBwkVzMDPLh7RR2HcB4YZprJ27rjKDYeSWc1UEnaari1tfgA== 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=p85U8NFjot5CTcglPQG6P8UQPpIUsIhxxAZXjwfOfN8=; b=JCoknyc9J3/LwNEeqxuB6EYkEMV6BQ9eEvwEenbFG+VdUeiP7ymynMA9OGKzLMdhmpUFLnLhLP4FmEm30/bcLWDxHGqwund5U9s2vj3TgL52Q0+IRsegeZbkNMxMwgwdocDRLuJZrOGjab4/UJ5ewlEzZ0UlqkJfN2BrbSU1UMc= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:33 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:33 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 13/16] net: dsa: tag_ocelot: use the generic flow dissector procedure Date: Sat, 26 Sep 2020 20:31:05 +0300 Message-Id: <20200926173108.1230014-14-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:32 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2952d994-84e3-466a-9f9a-08d862420318 X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:813; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jyeWMCUoKAMb49wD2aSAJvGBgJIB3btwc8DmPoYQh61olgkYd3Eg2Kov6R+4UiA5arcqe7s3Jabuojs4BEWQf/9LrlQ+s61PcaQkAceN74OmtwatKinP5WAoFWXmhve4OEUqLOngVYA8invILPa4Z0y/8VocgbehPaqjq/FOV3h3+UzZJR3nnfuvmD+Sn2mVCSn5vcabZMofnXVpeoMS/+8XEFaNMjQKPrQsPPjOBp2kUkCk3rlC4peh24Ih1CzWnbrstvcZ8flDQfkY2+h1ek++p9QaWKGUHIiYhnOTCDrv7DTYMLHYtyhIaZND0x+olZNTWAJwddNL03oRoobvpvji0Q6FRKTek6nimgX8XzOtvBKl70EoKcNNvgdPRG6f9lW4t/GY4KplPrWUe8zS/GBYbc2vvGvT1JTwJdA+WHKhOu2+xzC5YNo1E7c3vmtjiPpcIoeFLpuRRcUUJexW/w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(4744005)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: KmGt1o2HTWAYFoV8jJ240IJcueZJvauJX+HybMgEAqTQiLCsJe5FFG5UsjECU9ai8JNpoT8g/U+Z8J4GFhpoVG0s8w3y60IP6XINGNl5BXyvkBCfODSsQb2JOtv+qMFLIirfAAvdrlnVkAgPD9WF+EkbJQruP+Ueyz4OKi0TUGzQHaXuj75nz8INz1lf9pFYdV/qHRgzIJbDyjQzwJWkuZVx8Rhav6h7A/BCod39O6qACREAOgq9yfmJ1wV/5eMS29jbsEKgCkC0XD3TTxYnIAGOFCaJ7vAvaiOyiwKYyB1a+mC77ks27Un407p43rVOLp6HK0BRaAyv2zKysXWwIK8HN4tVWg8rckXSNPY7VwLe4nZZq+AO+vFSKBe6A4aSkeG+sloeNRqIbFR50GDiE1j6H+r0bu3xjMFdQSWG5iwruf2iS05UhFfokxnBx+brkK+MZ5k/Rc7BOr8YEMbMdF01DZky8XR03RXF+EuaK01I33TqsoYBGipLd3+B7PeakZ3+b0tZ9AnRGOPaeJbU3UPmywtm//j83HIJs14ksuIpjSQkeb2GCWMdqmRj4VxUuy6Vt4JfydfCRsFSB6kd291u5c55rYv5zuVNcjKMAkc0YLb5DpcEH1ClqudxP/w/GID0uQoKlP+2PCc91ee6pQ== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2952d994-84e3-466a-9f9a-08d862420318 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:33.4302 (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: mjVzdqp4NYwBp0itnrY8CQCGuA9JUeAGmn3NmysnA0gyi2sKCgg/tavyJ+UKUTT+MymJfOf+/329H7kpPUyKKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Ocelot switches put their DSA tag before the Ethernet header, so they shift the other headers and need to call the generic flow dissector procedure. Do this now, once we've made the injection and the extraction header use the same length prefixes. Signed-off-by: Vladimir Oltean --- net/dsa/tag_ocelot.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/dsa/tag_ocelot.c b/net/dsa/tag_ocelot.c index fb6d006eb986..5ee81b535357 100644 --- a/net/dsa/tag_ocelot.c +++ b/net/dsa/tag_ocelot.c @@ -237,6 +237,7 @@ static const struct dsa_device_ops ocelot_netdev_ops = { .xmit = ocelot_xmit, .rcv = ocelot_rcv, .overhead = OCELOT_TOTAL_TAG_LEN, + .flow_dissect = dsa_tag_generic_flow_dissect, }; MODULE_LICENSE("GPL v2"); From patchwork Sat Sep 26 17:31:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260127 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDC17C4727F for ; Sat, 26 Sep 2020 17:32:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5A80822B2D for ; Sat, 26 Sep 2020 17:31:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="TsvXIu+u" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730010AbgIZRb6 (ORCPT ); Sat, 26 Sep 2020 13:31:58 -0400 Received: from mail-eopbgr60063.outbound.protection.outlook.com ([40.107.6.63]:61761 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729870AbgIZRbw (ORCPT ); Sat, 26 Sep 2020 13:31:52 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gXBLzt+VnBfyniiuyjn9VEL9iuzrzS5B/TgYNCzKftLeVOiQHyjWd6jVBagFNPvQYbRltvIEIZ3LsTI/uFCbXPfR/tAocdTuCzeHNhM3dgwFplFjrfnVhRaB/+ViqdR5PoLR1NIXGLt5orjXSXNzHjqHz3Kd8gLJrT6IA1QLYFAUB3ZNLPrQrX6IKzLc1qcgS6TeQe6K0VVII/vxS2jkcIU2Bkp9WEvfzUxVqcrHt6eqysjQCCFWRwh1CV6b8+n5Y3QBs2KV4tnXkhzlHzXpWLWCz6Bek2fciqCgzfnVx83r0+utmq75J3mgzndW4vyuSvWLo6ZJ3wLMqP/vsXnNlg== 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-SenderADCheck; bh=+IbZxs+9yyS54YX5rrGVau93/229sQ2vdkxLHye/Mq0=; b=n0fxpMyXZGiqrnYzZXHsQx4Z+g+rIKoxJNBJJuranZsX7CSuPMpLl2lxB7VWC0H7l1L+RQwY+wA30xBu4ewidSUueYgW/oLooJc/B4xXm6uyV3AJM2egFBjaIWQSMlPE8kSxvCDPxEnm284a8A4tSaM3WSBvxQ3EAO38weaNULkjtQHwTdSB7LHX6l2wiQZtOh9T5Fel0AGa7TMJKxzYeoWybyBC5QjNeT+TzCyqM569iI3osd7E5t5D2G8T+PF9MaD83eShfoQ4yXFeRaTyoB9dlQLFHufFqoUL9hEIBdbAncYhyneWMGll7wXw1HM4xM/gVTy7V/27SOrAOZmacA== 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=+IbZxs+9yyS54YX5rrGVau93/229sQ2vdkxLHye/Mq0=; b=TsvXIu+u+VCeAVZMpTHIUAz48IBBBlkz3MfK/GdlruNeRN3g5floKgaBB8dfKYBOMk+jVeXobjoF+/aksE25fYcOiLAmtO5u7PD6LofdFoeqLwpYt5Xn9/YSuExQloQjTaqEZMtW+F6pbJaEzjrdWUZUw1m2/cxojDLUDTonBkU= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:34 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:34 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 14/16] net: dsa: tag_qca: use the generic flow dissector procedure Date: Sat, 26 Sep 2020 20:31:06 +0300 Message-Id: <20200926173108.1230014-15-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:33 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1e955d4b-8203-4c26-1746-08d8624203ac X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:605; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ak0Kr4LtbcJ+C6Uv9HIC7G0FDzw/MXZy3FzIMQXf3M5r4pc8pCQmY9xFBC0jhUtQxJxaSYCpn67Od3M8U1xbODpos4K+7cOvWCJo7uuJho5tWdUtuyiCMvkfXL3xtFkXIPGKKIEApYSObzXiTFFXXTydH8xjpoEFoMCectvempLLdwJI1lYwF0gWjiV1c9E0mcAM4j/CQBizCgE1/urfvFcW+VsfWcZeP/ixJx849UuPaW5D9JICbfZAvQ2x4f/K3D+qEwwbBw/j9tLfPqw+x5j7YOKKVfzpo2YhAvlSA4LNz1Xslxf1fkIEv6pMoppxenq1oTBzHrVKDF7Jce96NZEcI//M2RajYn1/cVbE6L8cGdTWQN21SN9Hr5WUoi7BLj2DU/ctIUhFpdfK5/ONGD89jOgEdTcRX82LU55w7BCTMf5R2Ds4zxjXvf7rRDUf2V3w03lQCe+qobeWub5B8w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(83380400001)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: NMW6KsOtQZfK0aKU+nKbo0Nsjv8FDT77sZYOL6nH1zcRbr2gGcMrO5aV28xGVT8WZmd31T44rYL4e7qp9sYovMkSpB4wKPpfkwM/kTNsbnkmdwLN+yW8yDjOVje/ICzP/utyre5I0KVhmH14SVDv5R00pXN/leftSkW6NfI65Jjat0WqdkkXY46DcC3461Br8uMrobzFR/OB8KOhfSPsjhD6VgPHRw47Hd4wLIncVLnDOvRU3YWWAl9+QBv9cnxjFXS5/vAVyI2CYcp4VSYlXTqNtiKGaHjN/pB2EVC0yFtel6sCCkiSBhbBn9LBeAkJvs1quSgu6j6FFfVWYnpPzjRC6Oit3tP4wTbuptilSJSWp2eaV8VAda2t3ugzI27pEIRovCoHYHanynuQ4nkQsmeqwfOGGysdQXbITGRQ6rTMFKcflU6CIdzKtlVQtG7BUj0nNzuXD2jkfwWzBil6bDRIz1ygZU/JqDamRg/2YuG1sijjXQdJoj3MvDu6P4VndLGTVWX/RNPKpploPtklXoPAgZucZq+2u/fQlMkYOZewFqKvPZZrggoFkttIp7H3slC4/NqmwYA8I5C+cPdwvgEWMk4vPlA8K+5h6zRNwiDnDW4e5NChLuhQPDNXCC4DOLii6j6fjvmcxZJz4YHkaA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e955d4b-8203-4c26-1746-08d8624203ac X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:34.3977 (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: 6ypJebhLFmwFhkudXv6ZcLUIzLHNJ/UK3AH5lymv0/rr5CFABktbIrWyM9hDX1Rk1EW5ieZ3qsyVwjlLvyWTHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Refactor the .flow_dissect procedure to call the common helper instead of open-coding the header displacement. Cc: John Crispin Cc: Alexander Lobakin Signed-off-by: Vladimir Oltean --- net/dsa/tag_qca.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c index a75c6b20c215..bb929b8092cb 100644 --- a/net/dsa/tag_qca.c +++ b/net/dsa/tag_qca.c @@ -89,19 +89,12 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev, return skb; } -static void qca_tag_flow_dissect(const struct sk_buff *skb, __be16 *proto, - int *offset) -{ - *offset = QCA_HDR_LEN; - *proto = ((__be16 *)skb->data)[0]; -} - static const struct dsa_device_ops qca_netdev_ops = { .name = "qca", .proto = DSA_TAG_PROTO_QCA, .xmit = qca_tag_xmit, .rcv = qca_tag_rcv, - .flow_dissect = qca_tag_flow_dissect, + .flow_dissect = dsa_tag_generic_flow_dissect, .overhead = QCA_HDR_LEN, }; From patchwork Sat Sep 26 17:31:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 260128 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3FFBC47420 for ; Sat, 26 Sep 2020 17:32:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C31C22207 for ; Sat, 26 Sep 2020 17:32:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="ryWWkJQs" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729998AbgIZRb6 (ORCPT ); Sat, 26 Sep 2020 13:31:58 -0400 Received: from mail-eopbgr50080.outbound.protection.outlook.com ([40.107.5.80]:18948 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729493AbgIZRbx (ORCPT ); Sat, 26 Sep 2020 13:31:53 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GYOfC+SXRmH/tdWewsV+Et0ETYNEMaiVTcGkUjZEhp2y0AFYnyCTWpZ+4hqmtbtrq///uPlg8f5E1naKZkim/I+YcAjdXmavab9p1nNeSTxaa3B49mQUtEGeE7eZk83oLuzIh08PQ5fjkMTgpdLpRZxJ97JRtO2C5Emb1ZfvG2lqL7sCd2KJ9HGtsO3AtiquQYvdiQSSUa8rlB6J6u6zVY016FALHS9vnbjAiRr/biNxWgEZ18k7U/ngRguSvhBm/nQT+KJafGpftIF/Ggpq+yRoUDNne0a2DnfUPDcjHfan2wteTVA+pxvjaz4jCYKnNa0Rfl4ZlifSlAt/GFrfoA== 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-SenderADCheck; bh=NThhHqJ4jvELdagKhfD2g7zLEkNwEXiKeUMBLaUNG48=; b=K5iYyrH8his7uDQDDYr4ba9bVXTC6DASPv56zbFm+jGfX7qyEj8avB3rHc8gJEJVfy/B1TyuyOtL1nLd2irVuSueLNPWJoD+3cF+8P93yIO2YbDS32J8tW6eRFVmIIUsG1Vb1PRBQZSd4tzojGjmYcMPzEzIzI+Qxbg8uV9aFd5fAxsN9iQa6kNT0MzU1xDzStGtY03KjnNPEkXu/ORbMxwBBypJBfp2EZj2fdN9LS+pAUIVRXKkfyi9iou39QQ3CbYNmVPJyVPZ3YaeUib0cOShuTrPcyG3qaSvWNxfqlDs/CLhLVxFkFfY3Y4+B7WCTa6EHs4NBK1FsdMldHg3vw== 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=NThhHqJ4jvELdagKhfD2g7zLEkNwEXiKeUMBLaUNG48=; b=ryWWkJQseezmbNc3bqM7ARVZ3dd7PSlnE1eBSjk8zv59fTS/tLb3KpS3siGfd/g5+L393rijOApjMZ7Tj7JSg4AQAiEfpWr4BfOyd1JOcj7+y3+8nOxdxQYPB0lUMjLFhh4kuWF2Vufh384PnoawV1RyjhZYHlzCGcWr4035Hho= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) by VI1PR04MB4813.eurprd04.prod.outlook.com (2603:10a6:803:51::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Sat, 26 Sep 2020 17:31:35 +0000 Received: from VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d]) by VI1PR04MB5696.eurprd04.prod.outlook.com ([fe80::983b:73a7:cc93:e63d%3]) with mapi id 15.20.3412.024; Sat, 26 Sep 2020 17:31:35 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org, davem@davemloft.net Cc: andrew@lunn.ch, f.fainelli@gmail.com, vivien.didelot@gmail.com, kuba@kernel.org Subject: [PATCH v2 net-next 15/16] net: dsa: tag_sja1105: use the generic flow dissector procedure Date: Sat, 26 Sep 2020 20:31:07 +0300 Message-Id: <20200926173108.1230014-16-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200926173108.1230014-1-vladimir.oltean@nxp.com> References: <20200926173108.1230014-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) To VI1PR04MB5696.eurprd04.prod.outlook.com (2603:10a6:803:e7::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (188.25.217.212) by AM0PR01CA0095.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Sat, 26 Sep 2020 17:31:34 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [188.25.217.212] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: a4899bfd-cfa2-4a4f-cfa2-08d862420445 X-MS-TrafficTypeDiagnostic: VI1PR04MB4813: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sNTwHX5QhPf9FvdAbBH/tk9HGTE9aeWGmZ7JdiIeB0piN0RoRteXGDAzT8B9dfu9FmgEcI8qYnScgumshsZAfQQhqNO64PMWq0kXd2uy+6VzM5+Q6IKjUsD7GvErG/K7bG+aeHXi5f2beGDBcnXhAEXXyeEJ29vpfnAD+n/z+/cGjuH0J/qfn5wSVGSdd3Um/cjZdc2QplCu1c7Gpg98Vz/0IWxFP8ykhkayMcFJS7oaPcq9uhwr+K3L9CWxvMw+YH7jywX2fS4D1KaaxDE6SrcBpNcYlsDrmL3fCFEAnuLgNiIxSK1ATRS65omFVX6dP1wF2ya9yxa+BTidD7Q5FYlwGtVqqkxzo8B7jw/ods1ieBj5j8AYJTtxQRb0MaJGH5oGS0rdTAKRsg1OIOIHwjLMwVf3SJVJnLULo4hv/wNTCHdvrVub5rOwjc52sqAuU+HonZQaGfj9Z47tFtPQlA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5696.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6666004)(316002)(2906002)(6512007)(956004)(26005)(6486002)(2616005)(478600001)(8676002)(52116002)(8936002)(5660300002)(4326008)(86362001)(44832011)(6506007)(69590400008)(66476007)(66946007)(66556008)(1076003)(16526019)(36756003)(186003)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: RovK/GS3QmsjmtDnJcls3iT9hT3ZIAqVx3mHcobC+nM8k9woZaHeIfjMi9exdE4h8alMIaDcgVVRbylc9AmwGbnFZrvLpPU0vqDpispZrW9uSXonmMuOdpA24m1glwRGOtywQj+uoopGVna7Yz56hXf0NWxpziLnPov+SLF2+srLhNipkKsLMrRjsYQ3CBNV9ua/u/Iinh14e2ykoFeTj1yjgoCZuzoKygwNJJYLInAQRZoZMgHjfXEB+5bkhtSctWA2OknH/LF4UZmRg1JFZ6V5hcDwQlmHx9+y32uFberP7IZfplQSDlx2mIrI7AYdydqXUvgPn5FR255w6dUP1IA7U85LFJJjsnz4aFHGAH+6MyteTTgvdr9cRE69M0H+GLtnwMCWvvsUCikWQtVyIwR1dkQBeg01k/vIzdNLQ0iBCunLzPsIgmALWjP4Nsxiwb78rxe/4M8Ovt6tIS5QjkMLqgwTT+LesG9vxb0GBULE/3a+3xoJCAkhdzQhgTTh+mQp/URKhBMhlJjEIUBFQ0P20WVSk2muBNvBFGeWp65LpFWhKhMPPC3ChsUmD5OTnF13j+lFLAMYTuro6t8PLAiCRCrjiGjJeGT0dVtvE9O0Yzc+wvaQAYob+DlotsFL3ul+sku3Dwp/HlJw54UYVw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4899bfd-cfa2-4a4f-cfa2-08d862420445 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5696.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2020 17:31:35.3951 (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: 9tG3fo9MUNRX3tfhI7ZBFwsjHX39FzTeR8V6asDub8rNpKYdXlZFEw5odz3rv0eYAB5FijQL2pZDp5SG5THiZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4813 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The sja1105 is a bit of a special snowflake, in that not all frames are transmitted/received in the same way. L2 link-local frames are received with the source port/switch ID information put in the destination MAC address. For the rest, a tag_8021q header is used. So only the latter frames displace the rest of the headers and need to use the generic flow dissector procedure. Signed-off-by: Vladimir Oltean --- net/dsa/tag_sja1105.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/net/dsa/tag_sja1105.c b/net/dsa/tag_sja1105.c index 3710f9daa46d..57408bbd789b 100644 --- a/net/dsa/tag_sja1105.c +++ b/net/dsa/tag_sja1105.c @@ -346,6 +346,16 @@ static struct sk_buff *sja1105_rcv(struct sk_buff *skb, is_meta); } +static void sja1105_flow_dissect(const struct sk_buff *skb, __be16 *proto, + int *offset) +{ + /* No tag added for management frames, all ok */ + if (unlikely(sja1105_is_link_local(skb))) + return; + + dsa_tag_generic_flow_dissect(skb, proto, offset); +} + static const struct dsa_device_ops sja1105_netdev_ops = { .name = "sja1105", .proto = DSA_TAG_PROTO_SJA1105, @@ -353,6 +363,7 @@ static const struct dsa_device_ops sja1105_netdev_ops = { .rcv = sja1105_rcv, .filter = sja1105_filter, .overhead = VLAN_HLEN, + .flow_dissect = sja1105_flow_dissect, }; MODULE_LICENSE("GPL v2");