From patchwork Sat Mar 14 01:16:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222520 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=-9.8 required=3.0 tests=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 E06E0C2BB1D for ; Sat, 14 Mar 2020 01:16:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AF7242074A for ; Sat, 14 Mar 2020 01:16:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="ipmszOcE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727636AbgCNBQr (ORCPT ); Fri, 13 Mar 2020 21:16:47 -0400 Received: from mail-eopbgr50063.outbound.protection.outlook.com ([40.107.5.63]:20602 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726893AbgCNBQr (ORCPT ); Fri, 13 Mar 2020 21:16:47 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cy8XmbTNBF5Z75cCKnnqO3kG8VCdU6PDMeo/kLo5f/vAZ8LLTP1Zc2AsJUXAzY9TjG/2tF1jplmKcGoGMlG8njSd8SF91Efm0wmvAjrcN6E7xCiyr5QebuWJiAZdJUmCHB3Au3SkbdHtdF3TgOFNBc3y9eom/UcZ7DI2u7syG3gEHWD/sJ2IJUqr3wUlHxCo8ewAm7nbYqRP9U49M10ySPoAaMEBqkPqMrT6kcAQ6vpSxPgD7STD4SGd5MG35oblhSju0n2ScX+A7BL6xWGEbaiAbzwsNEtRWpRgs/AwVN46l1VlMdYQKFcosSimVxvYyWltvAZizPvm2dPsHer8eQ== 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=ZdzdVagxYRJ0rQspefBm6u0sPAWMVWQcULpe2VZAM9A=; b=V4UZq1wMQFNJ+ACQXzeASjogH7/QaOl6gM0gtivGp0QyfdBB7hIeKshHkQjOMxseCplkWaFHaU3tRdc8oNr019DSFHMENRa63w0/SF27SHb1hA2bBrVeDO9s9KuSUbGL8ZLaGN0K9Wpo3qQu9t8L3U544ZAASv+R1hWBBzMqFWJbVAPS6f1CJ5h5IqpUBjF+WxoLmgn3MJIHFxceLjF86zm8JQXPXKlOVwAtx4DP/9Rt1OvhW2MtfYWlpoQw5snBNTyrQq2XJ2FLKvg7agBI8weZo938N9qnOesIttyVZOVXwlzKbYDvjuH6BM0pL8BdDCKGKlM4TKpd6gYfSL8QJA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZdzdVagxYRJ0rQspefBm6u0sPAWMVWQcULpe2VZAM9A=; b=ipmszOcEx+xIktKdSMpcY4RohTEiwldLWxI4hl15rcmiNtCj8D5PDBK19QWpzepn55pXEmnJStFGXO3TW+Xjrl8Q1Nmoyqudc02YmVjfvpY7ZR6pr79+po7+FxUHczI6ilO0fB8stW6s+0ReFvwnpNeWsGylIrwiE/41eMPoQD0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:16:43 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:16:43 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Bodong Wang , Parav Pandit , Saeed Mahameed Subject: [net-next 01/14] net/mlx5: E-Switch, Remove redundant check of eswitch manager cap Date: Fri, 13 Mar 2020 18:16:09 -0700 Message-Id: <20200314011622.64939-2-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:16:41 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2d101d44-7584-4a11-b0d4-08d7c7b55b39 X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:644; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xc1pbjsVPMh8+N1P0jICkHMm3gF5r6JCuhk1j20iHyWlreD6mArlWzrMLBLzFaXXL7LfNo+i9LPF+gMv+c8+Vr0mnH712635NrogMy+A3/sH9AQe5L54yIXhCZA12yBNTg9znXyJVzfD//LThjlinGn0mHkvDFfwxrJgFY+yoIVT+fAdI4QM2f8FQW5fAgg1TFHScesG9+sKk8SrihwKZu+QwZbf0OsPnWsCp+hIs2yNvAdKtMhaap3h17B4YxD7w0BSVolBEyMkUGey8q156hMeAW5egamLDhpK23d8ei3zZU5L5EusBrwTPrAX0NCSnLCrucAd3Mtjie2t5XJJO9eZmWtn/Ck9vLJ2TvG/ZEy4WB/a2iqepvSc8e5OS9eLZFPcZIqgS+cMCKzcJSrq8zlzZ/iGkBcqci1z2YNt2e4+MTIWPkPtoJSCpJI8QANhf2fad/1hdBNxRKfmX7VigVh6r58mIm2y+4XSllYZCNmSGk2IGZSvgK9/SJp1muIHsdDOIp9yri8mWl7aXJ5/YTmR8eHKy8YWm2awMkb5alw= X-MS-Exchange-AntiSpam-MessageData: qX0NtxyZWeGS+p73Q1p+u9hfMwkRdFbkJiys1rsEpnLpLFgU6ZL23Krcc/R24R2NA9Ie7N4Y8XgjQtbWT7ZBoelsD+u8VdN3uIfVrFXyjFIz78dVMBZN/zYoeYwvHuAhXSZdAklmnSTXSIZ4Gr04Eg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d101d44-7584-4a11-b0d4-08d7c7b55b39 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:16:43.2618 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6FEI+Q+bYC3SNL8XKngSY3PgakMWOaCgVpuxcfMsziWjjlMEBtR6yY6hMtdP02xfXod7sK607TVPgjAhSB+CuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Bodong Wang esw_vport_create_legacy_acl_tables bails out immediately for eswitch manager, hence remove all the check of esw manager cap after. Signed-off-by: Bodong Wang Reviewed-by: Parav Pandit Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 25640864c375..b123089866e2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1707,8 +1707,7 @@ static int esw_vport_create_legacy_acl_tables(struct mlx5_eswitch *esw, if (mlx5_esw_is_manager_vport(esw, vport->vport)) return 0; - if (!mlx5_esw_is_manager_vport(esw, vport->vport) && - MLX5_CAP_ESW_INGRESS_ACL(esw->dev, flow_counter)) { + if (MLX5_CAP_ESW_INGRESS_ACL(esw->dev, flow_counter)) { vport->ingress.legacy.drop_counter = mlx5_fc_create(esw->dev, false); if (IS_ERR(vport->ingress.legacy.drop_counter)) { esw_warn(esw->dev, @@ -1722,8 +1721,7 @@ static int esw_vport_create_legacy_acl_tables(struct mlx5_eswitch *esw, if (ret) goto ingress_err; - if (!mlx5_esw_is_manager_vport(esw, vport->vport) && - MLX5_CAP_ESW_EGRESS_ACL(esw->dev, flow_counter)) { + if (MLX5_CAP_ESW_EGRESS_ACL(esw->dev, flow_counter)) { vport->egress.legacy.drop_counter = mlx5_fc_create(esw->dev, false); if (IS_ERR(vport->egress.legacy.drop_counter)) { esw_warn(esw->dev, From patchwork Sat Mar 14 01:16:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222519 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=-9.8 required=3.0 tests=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 8CD8BC2BB1D for ; Sat, 14 Mar 2020 01:16:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 61CE82074E for ; Sat, 14 Mar 2020 01:16:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="IFp19J7E" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727784AbgCNBQw (ORCPT ); Fri, 13 Mar 2020 21:16:52 -0400 Received: from mail-eopbgr50063.outbound.protection.outlook.com ([40.107.5.63]:20602 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727693AbgCNBQv (ORCPT ); Fri, 13 Mar 2020 21:16:51 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EGrO5uGZz46wHC+gWiBbOIRhGUt3rCGSuJCCtbjlSS5ZM4fJZ1CcsdM84VYLxaZtEauOyhQOEVGfSODoGzSXSdtXKLaTCNrQf3mSOT48gnDJsB/EBv62XOnSCumeaTz3MSxgrlpPQza7L7yS6hiIS6sKDN30SRC648YSny75C/5CLTGcPVKcvgY5HWFDYzLr2N52MSOzuTCaxM3FixDzfJeLbjgwWrKhbr7Hl3oaJ2K/X6hC5yQREB34gF1kqGfN0jtGM1onQY6A2fJUmFWli51pcz6LeZGqWC2fYLdq1hx6FIeKNMwaJXSwQotjcCV/tMydYJA5pH1dIBdopCMahw== 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=bOl49G7JYILrGGjEfEFH/CCvmpodM44yrKBGlpND9ZY=; b=JfqN+xiRDCm59XyO+4eiwp6ZGrB7ZvqrzY/MeT1rRMbJAxJjKefrqmZss2bO0NGxjDkHRoYIx7uSwQvcZYCAsYQGL4ChSMwAjFlw0c/RRv1ZPA0XN+ehO5HBwcifmZXDEToWUVIWIt3Yut7KGvendvD8enCpJ29grNNU9OFQqCBF81GSpO6CpbsYJsGAcdaDwzwEPKibSAdIu96aPfeSDN3zBh3pJQcckaw8atbK0BXs0w+hwVl/9GVUwYzKsjXx2d+kbmVXcyX5DrMv0FEx6x8m9NlzOQw+Kn61zPEq7evGPNkHwdrMRtAXq056IJI+n0V8J5aWOS1qSti859n6jA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bOl49G7JYILrGGjEfEFH/CCvmpodM44yrKBGlpND9ZY=; b=IFp19J7ETgs+I6sAjSZcbuA4eem1nY7R2DX9CFRyEDcsqc18Rj6/orQ22caTShR9dHk9Ko6bSUcxJ4ZP68QRfdEpk1TW15WXtN9/tJuWGvPKbfp0W72MFxVtIkyL7YfYDhlscC/1c8ud6LkSQlSIE/PCPynQyYnFcIYu4uyFfmw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:16:48 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:16:47 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Bodong Wang , Parav Pandit , Saeed Mahameed Subject: [net-next 03/14] net/mlx5: E-Switch, Remove redundant warning when QoS enable failed Date: Fri, 13 Mar 2020 18:16:11 -0700 Message-Id: <20200314011622.64939-4-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:16:45 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: c9f9379c-68ed-4c3a-8848-08d7c7b55df3 X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1417; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UGnDVTUcNm4mOyuLsTpkL2xJqa1//nAQQyxfUgtI7ZAzx8bLviDIBvdsc36FHP24fVp46zNpDfkWUCfGPpp8qselnOz50R/kDXfkorJaYuGRWKdM8hfNTfsDR2Wd+IXh/pNldP+ztOcjCBQFLL++TLe30eDYiuWV26d9UO2c4Q6q7pINL91qKyifMgJsWV4dNDnjSgUXlXJDOiHDRm/TOSD6CdmZu3ZjkldtaNHFaHqat1bfjHKTHzW0JMp4f6B2X42hOc4+hOnmEZYamZw4PdovvH3AKQIniFAYUaHkxDRKJQnQakj+axhxOuEbQ7XJanuo8li1dcHkB23NvXVCheM4O7hsUhqB0SQAl+PUfK1Wao9teLRE3eNLR9OKRyfKse1ntgOWOX6e13+8VscXroJj+c2mmrjp2MUtWjq7RDCQCEunY3fRaVeAdv6IAKmNrP+LPgX9WEvcBQV3OOs9Oqpt1gJVqEGdTw39rNSmlYUQbkt1A3mw3v7nCzQMfO3hbi3lPF1S1lID2FmnFL5xzTNPIzdsG2DoXLdwSBttQek= X-MS-Exchange-AntiSpam-MessageData: zb1JfUdNMjrzeKghj858dg1KCOtMdNQYgnOyxWn+OG6zQlKuzAZ9XRzvjUXSXxIi4Bpv+gAFhy8ArqgrFB8Mg4SHYqH+swcAOzmfkBEHnK3nojcZL2fse0It4enFWDB5CMU1wjxlGbKykoF/Y1j/bw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9f9379c-68ed-4c3a-8848-08d7c7b55df3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:16:47.9051 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9hOOictonoDGtO9FN+K9oEQJjZ/ZBshVuN1Mtm/fmohGefiPvLGT8tpgYZQi7U04BGkcw7zr8zYEyXHy/PS3qA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Bodong Wang esw_vport_enable_qos can return error in cases below: 1. QoS is already enabled. Warnning is useless in this case. 2. Create scheduling element cmd failed. There is already a warning. Remove the redundant warnning if esw_vport_enable_qos returns err. Signed-off-by: Bodong Wang Reviewed-by: Parav Pandit Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index b4b93d2322a9..deeedf211af0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1801,9 +1801,7 @@ static int esw_enable_vport(struct mlx5_eswitch *esw, struct mlx5_vport *vport, goto done; /* Attach vport to the eswitch rate limiter */ - if (esw_vport_enable_qos(esw, vport, vport->info.max_rate, - vport->qos.bw_share)) - esw_warn(esw->dev, "Failed to attach vport %d to eswitch rate limiter", vport_num); + esw_vport_enable_qos(esw, vport, vport->info.max_rate, vport->qos.bw_share); /* Sync with current vport context */ vport->enabled_events = enabled_events; From patchwork Sat Mar 14 01:16:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222518 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=-9.8 required=3.0 tests=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 146FDC10DCE for ; Sat, 14 Mar 2020 01:16:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D4D992074A for ; Sat, 14 Mar 2020 01:16:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="NDHqHu38" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727801AbgCNBQ5 (ORCPT ); Fri, 13 Mar 2020 21:16:57 -0400 Received: from mail-eopbgr50063.outbound.protection.outlook.com ([40.107.5.63]:20602 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726637AbgCNBQ4 (ORCPT ); Fri, 13 Mar 2020 21:16:56 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=As+qbyV5nAIO1i1ZLj9gLQwTrXAmzsL+B+G+0hcXVoB6OOs4nh6OObvzAL9cj9OgmPzwjfy2VUTyOgXDj5w3OrbbSlgCXHm/mjoo4LyKPKg673XKoXKPfd5ad2zbFoxHJTmnqAf1AvpPesKMOT886hs6+IfDP1AWd/zgAPjidp5mVM5FNh31+nNrnuFhSY3QxTVv9vv351E1CpgQ1amCxbARZtBc3gWSMSTxwOWmcMi3VQ+Hfgd9qd5jyKKL5BvH6iGSQe+V2J2lHwLxJcHyEyQgChcdHZUeQ8FxVt2yJQpjIH1dfA5ndv4kryvLSJaB5x7j91wWxsQ7Nz+zoZqGvw== 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=QsJvbvy5QDL9d+wSJDw4CsUBllvBb+p+l8+Dq0JntuA=; b=ZoFhcLFDD0IdQUBv5UIFtNQEDfsoE6efxdMrOkHJK8dX5w1/VPJ20qroPcFNiY5EBpZR3agINQ6C3oppfdgKq/HqwMTBgvNomonidExzKDoubHlsiWBWtoxPpdJzuBcfOCdW9dcITJbygiy7TriKbXH+3hO49NzI6CSGqnq7NtgyMQ+Jbtbd/2/29u8oZt6YSefL5rxt2AAB+vXwQPgu9Eqr9x8ER8EvES2/rTUpB0mYJJsj3lHZ2eGLNSP41EvhFjubAF1f1+MptvxQqbkkwrjmvf9lE8EjDeq4PvExibIy/AN6FIde32bduTPultwxyVrsiz0yHgVagUf7Pi56Qg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QsJvbvy5QDL9d+wSJDw4CsUBllvBb+p+l8+Dq0JntuA=; b=NDHqHu38hVPWPbShwSQj2T3KJGmQJ6DOnD/Jb3Qkv8/fGPW4pm4koNVUJ8Q2mrCUoks9DJLSR3H7+MzxuIWOE3poYUp8W83YzC/goBPo1IEiaYJHiBsWtFW/mkdvCnEMtdPPXw0qMLyp36OgDyG2LWScn3Do0c1J6QCgEZSQE08= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:16:52 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:16:52 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Bodong Wang , Parav Pandit , Saeed Mahameed Subject: [net-next 05/14] net/mlx5: E-switch, Make vport setup/cleanup sequence symmetric Date: Fri, 13 Mar 2020 18:16:13 -0700 Message-Id: <20200314011622.64939-6-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:16:50 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f2ece61f-77b5-4e2d-4f25-08d7c7b560a3 X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1186; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aIh8hdN6OEcX6MAQZ9h5XJXrHiLMBuFpT8EHzRN1/8SiuT5FVbfObxgujYBN9Mu3tHnfWOn0RHbd4HZAMBophwXdPWnUgveEVm7aHb9xxiltBcjNB0vrD0wP3P7aC0j0wfcEat9+CI8lelQVpNRzIJ0BFMKHRbhwUB14z2K6kfEgonsmsacvDgnMhbEp7H6MpnbuByyEutAqMssYyt8q+CinV3y3AOaW8OQO5D4lcBHOrwN5VBnLJF01245/s8/zaSJGsD99fmF4Uiajhp7cHv7QNNCuVHM0zFD1XP6iUthTwJdZvJ6SVxVLtPEvQkLpr0EtE9h3VyZ5uDRhzLA+vx9kWrbfC6YcaY8Dp6O/WrzdSzHhp4udA7QfiMd7FA8sS/f0SmOWFCRoytsu2LGYGFvglRkK+y0LR72QlL/oltRA0HUd4irdU6t8ZExHka/mkw2J8n9J/N1EaP/5/0Xie/THs8im1Uv59olnnzr3eAch1K0/LSJQouNPJlKsTXcgjLmmI8AiQ/kHErR7DXVoaEXWwlYPC4vFdUA4ajy8rYg= X-MS-Exchange-AntiSpam-MessageData: zM63NWxTcQK2DDT5KHhevUAbDpX0HVu2dDEWiR+zGjDNP9DviwmugiVjZwOFtNtl97n4n3hb8xJfCx2ZgLAnVkSOTKbrhDJ67jSZZhtCyNB5a/sLG8E5ekw8MY8JUw2dVOxE1tthicYS0Rq43OGUMw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2ece61f-77b5-4e2d-4f25-08d7c7b560a3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:16:52.5764 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 07w8dajQW15b7iwCj42+KKBjIhiYUahbNwyLNEQMVM1cnCxQdCf/IcpBv5l+/Lc6C1/9WMgGxXqfjXgKXPd/Lg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Bodong Wang Vport enable and disable sequence is incorrect. It should be: enable() esw_vport_setup_acl, esw_vport_setup, esw_vport_enable_qos. disable() esw_vport_disable_qos, esw_vport_cleanup, esw_vport_cleanup_acl. Instead of having two setup functions for port and acl, merge acl setup to port setup function. Signed-off-by: Bodong Wang Reviewed-by: Parav Pandit Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 101 +++++++++--------- 1 file changed, 53 insertions(+), 48 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 258141010b62..603286883550 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1670,45 +1670,6 @@ static void node_guid_gen_from_mac(u64 *node_guid, u8 mac[ETH_ALEN]) ((u8 *)node_guid)[0] = mac[5]; } -static void esw_vport_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) -{ - u16 vport_num = vport->vport; - int flags; - - if (mlx5_esw_is_manager_vport(esw, vport_num)) - return; - - mlx5_modify_vport_admin_state(esw->dev, - MLX5_VPORT_STATE_OP_MOD_ESW_VPORT, - vport_num, 1, - vport->info.link_state); - - /* Host PF has its own mac/guid. */ - if (vport_num) { - mlx5_modify_nic_vport_mac_address(esw->dev, vport_num, - vport->info.mac); - mlx5_modify_nic_vport_node_guid(esw->dev, vport_num, - vport->info.node_guid); - } - - flags = (vport->info.vlan || vport->info.qos) ? - SET_VLAN_STRIP | SET_VLAN_INSERT : 0; - modify_esw_vport_cvlan(esw->dev, vport_num, vport->info.vlan, vport->info.qos, - flags); -} - -/* Don't cleanup vport->info, it's needed to restore vport configuration */ -static void esw_vport_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) -{ - u16 vport_num = vport->vport; - - if (!mlx5_esw_is_manager_vport(esw, vport_num)) - mlx5_modify_vport_admin_state(esw->dev, - MLX5_VPORT_STATE_OP_MOD_ESW_VPORT, - vport_num, 1, - MLX5_VPORT_ADMIN_STATE_DOWN); -} - static int esw_vport_create_legacy_acl_tables(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { @@ -1793,6 +1754,58 @@ static void esw_vport_cleanup_acl(struct mlx5_eswitch *esw, esw_vport_destroy_offloads_acl_tables(esw, vport); } +static int esw_vport_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) +{ + u16 vport_num = vport->vport; + int flags; + int err; + + err = esw_vport_setup_acl(esw, vport); + if (err) + return err; + + /* Attach vport to the eswitch rate limiter */ + esw_vport_enable_qos(esw, vport, vport->info.max_rate, vport->qos.bw_share); + + if (mlx5_esw_is_manager_vport(esw, vport_num)) + return 0; + + mlx5_modify_vport_admin_state(esw->dev, + MLX5_VPORT_STATE_OP_MOD_ESW_VPORT, + vport_num, 1, + vport->info.link_state); + + /* Host PF has its own mac/guid. */ + if (vport_num) { + mlx5_modify_nic_vport_mac_address(esw->dev, vport_num, + vport->info.mac); + mlx5_modify_nic_vport_node_guid(esw->dev, vport_num, + vport->info.node_guid); + } + + flags = (vport->info.vlan || vport->info.qos) ? + SET_VLAN_STRIP | SET_VLAN_INSERT : 0; + modify_esw_vport_cvlan(esw->dev, vport_num, vport->info.vlan, + vport->info.qos, flags); + + return 0; +} + +/* Don't cleanup vport->info, it's needed to restore vport configuration */ +static void esw_vport_cleanup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) +{ + u16 vport_num = vport->vport; + + if (!mlx5_esw_is_manager_vport(esw, vport_num)) + mlx5_modify_vport_admin_state(esw->dev, + MLX5_VPORT_STATE_OP_MOD_ESW_VPORT, + vport_num, 1, + MLX5_VPORT_ADMIN_STATE_DOWN); + + esw_vport_disable_qos(esw, vport); + esw_vport_cleanup_acl(esw, vport); +} + static int esw_enable_vport(struct mlx5_eswitch *esw, struct mlx5_vport *vport, enum mlx5_eswitch_vport_event enabled_events) { @@ -1804,16 +1817,10 @@ static int esw_enable_vport(struct mlx5_eswitch *esw, struct mlx5_vport *vport, esw_debug(esw->dev, "Enabling VPORT(%d)\n", vport_num); - /* Restore old vport configuration */ - esw_vport_setup(esw, vport); - - ret = esw_vport_setup_acl(esw, vport); + ret = esw_vport_setup(esw, vport); if (ret) goto done; - /* Attach vport to the eswitch rate limiter */ - esw_vport_enable_qos(esw, vport, vport->info.max_rate, vport->qos.bw_share); - /* Sync with current vport context */ vport->enabled_events = enabled_events; vport->enabled = true; @@ -1855,9 +1862,7 @@ static void esw_disable_vport(struct mlx5_eswitch *esw, */ esw_vport_change_handle_locked(vport); vport->enabled_events = 0; - esw_vport_disable_qos(esw, vport); esw_vport_cleanup(esw, vport); - esw_vport_cleanup_acl(esw, vport); esw->enabled_vports--; done: From patchwork Sat Mar 14 01:16:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222517 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=-9.8 required=3.0 tests=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 F1D6BC4CECE for ; Sat, 14 Mar 2020 01:17:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C08AF2074E for ; Sat, 14 Mar 2020 01:17:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="i5YwV98A" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727828AbgCNBRI (ORCPT ); Fri, 13 Mar 2020 21:17:08 -0400 Received: from mail-eopbgr50046.outbound.protection.outlook.com ([40.107.5.46]:31971 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727805AbgCNBRH (ORCPT ); Fri, 13 Mar 2020 21:17:07 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hCAYx4iaruILZjz1wYNxEISWI3pr4SOKa4y9b8DRY6QVgbrz2uD+MkSv3/tpyG8Tn4kfo/azREx45z5pzFC8WwXAMW3Hmm43VMztnoTUnv87gon9UvIacs9Peg/hd/+vKD+MfbuLRyu24sA+OKwBWHUWZqM3OkcYMys8Fl/8u7KvR1S2yJzf1qtRjmAWj0e8R1ShIXdRlorj5RWWo93Mpqfibo5hQ2yHgVdWOe/YYCtFXzmHq57jeisih1st1BjtTp6PN9r5Y9oUbWBq6ghBzivZ9vn71FB1j/R2CygG8aRQK7MvVyHfWq5M1zL6TsvLxHAb+ll61Ob0arh8CnEYkw== 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=p+X+WGFI09GGN5nmg7DNq/bHFg7AVgPhgz3BCunka7Y=; b=deBq7h5TVisRFN+ScrborrEz6EKB40kyThIEyYgQTfh9hwW+eXsn2okhMB4LHQNtKieST/GVLDc6lo0tiaTTh0B8Yeq1qHYM87auzsFnfPkpoo7oNXV9xBci6+LEeT3mn8pRFXwpXtplJdBKAx6IUG6B6/XKcSGJCTH3B0eJ8vT13EbyRXhHeG5z07CmjyPF4LPJ0RdFwaWAOUGxa7jxnJbGojNsQ0jFLQOP6zl5FJwGRuwva5+jh5iaMkWB58Ik0iwL1Do9XUwBvPQ81iEA6m8KNXPCKHpa2Mhb0Wu/4yXDC1QXybUSkqyZHtRLSJlLK9VzUEGaDDipMuQ0eiSGdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p+X+WGFI09GGN5nmg7DNq/bHFg7AVgPhgz3BCunka7Y=; b=i5YwV98A47CsH8W6cGZhnINWUaJTzAD+LReE8okyiamJdQoktClfcUX+7pTW30Yq+PKZJrwhyOO8DSdGp6/gFQQhVCVKUlTblBZbCaqNnoqgjfwkDh6cYXdSiyegIUJ88/cf5rByCd48o+2N3FEAkxPCPIjy5R0oC8XQ/bbdt0s= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:16:59 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:16:59 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Bodong Wang , Parav Pandit , Saeed Mahameed Subject: [net-next 07/14] net/mlx5: E-Switch, Update VF vports config when num of VFs changed Date: Fri, 13 Mar 2020 18:16:15 -0700 Message-Id: <20200314011622.64939-8-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:16:56 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ed716e60-c8e6-483b-2b4e-08d7c7b5648c X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(15650500001)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lPWFxG5Qor6jspOUR1BllMG4CNzcYZc9YVkeoxKaRCZ8GOlhYi+AIYCnra/hmTAjNJZzdz7VdZm36j39WzHobEK4ad3TqKBdP0U93NqWrBbybvmkH2mW5cVi6xDm1Ja9nxuUioIkDVbFXbLaoneN6k4wadNC+lvJDj87qQVMjUSpVsKccijoQjrz7sNewa2doRkZsWJ9MbrF5yP3NsjJDfmfhgGmydVeaTwWXSR/NuK7x36npgBJqVycl27Xk0BfjIaFCqor103u5AtQUHGt5Y1+S5tmmclumlbolOx/hTmN7PLgod0ycamhBejQx2hgIDXFGpKyau65ATw5QJXB/om0hlb3TVsmP4uHLUPxqZIlSbPEa9ZDaZiQb+hElgwtVWlqPVQAEB7J5QUk9iYg4eBsWeg/8atSQW8AIHoAYT54DuBTRXSqj1DWiR9A3BjiBDrruGW292E0J2tHzqzPG/2fgu8SfH9tSERR53WW/p9JqLPmsudNna04RqI0/apDAr/pyqYcjkJPBUJGv5FbIsLnjOdbEhtewO3ZOuhLgts= X-MS-Exchange-AntiSpam-MessageData: P8uY9ZZdA/HHNdSE3DlYhy3tnaXER+CqnaVzimtlS9N5s30xp5lPVyFw60baloHHpwoW8M8ae1yId/vjeSsEztsWqgwYXbffh8dwbdERoOBZywl84UKqRIccdxJGgKeMotVOWAoBUu+/px3PTtqbow== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed716e60-c8e6-483b-2b4e-08d7c7b5648c X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:16:58.9678 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BS34K9Eh7trQDaGHIMSfcLgUnpPJU/ECGFnJhPRWxJ19C5RNOenTVF4zznkSj0PaC9bZIGk1A2fHLSgvGkPMbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Bodong Wang Currently, ECPF eswitch manager does one-time only configuration for VF vports when device switches to offloads mode. However, when num of VFs changed from host side, driver doesn't update VF vports configurations. Hence, perform VFs vport configuration update whenever num_vfs change event occurs. Signed-off-by: Bodong Wang Reviewed-by: Parav Pandit Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 53 ++++++++++----- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 8 +++ .../mellanox/mlx5/core/eswitch_offloads.c | 67 +------------------ 3 files changed, 46 insertions(+), 82 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 2f556c820230..1de2472a72e7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1953,8 +1953,8 @@ static void mlx5_eswitch_clear_vf_vports_info(struct mlx5_eswitch *esw) /* Public E-Switch API */ #define ESW_ALLOWED(esw) ((esw) && MLX5_ESWITCH_MANAGER((esw)->dev)) -static int mlx5_eswitch_load_vport(struct mlx5_eswitch *esw, u16 vport_num, - enum mlx5_eswitch_vport_event enabled_events) +int mlx5_eswitch_load_vport(struct mlx5_eswitch *esw, u16 vport_num, + enum mlx5_eswitch_vport_event enabled_events) { int err; @@ -1973,12 +1973,39 @@ static int mlx5_eswitch_load_vport(struct mlx5_eswitch *esw, u16 vport_num, return err; } -static void mlx5_eswitch_unload_vport(struct mlx5_eswitch *esw, u16 vport_num) +void mlx5_eswitch_unload_vport(struct mlx5_eswitch *esw, u16 vport_num) { esw_offloads_unload_rep(esw, vport_num); esw_disable_vport(esw, vport_num); } +void mlx5_eswitch_unload_vf_vports(struct mlx5_eswitch *esw, u16 num_vfs) +{ + int i; + + mlx5_esw_for_each_vf_vport_num_reverse(esw, i, num_vfs) + mlx5_eswitch_unload_vport(esw, i); +} + +int mlx5_eswitch_load_vf_vports(struct mlx5_eswitch *esw, u16 num_vfs, + enum mlx5_eswitch_vport_event enabled_events) +{ + int err; + int i; + + mlx5_esw_for_each_vf_vport_num(esw, i, num_vfs) { + err = mlx5_eswitch_load_vport(esw, i, enabled_events); + if (err) + goto vf_err; + } + + return 0; + +vf_err: + mlx5_eswitch_unload_vf_vports(esw, i - 1); + return err; +} + /* mlx5_eswitch_enable_pf_vf_vports() enables vports of PF, ECPF and VFs * whichever are present on the eswitch. */ @@ -1986,9 +2013,7 @@ int mlx5_eswitch_enable_pf_vf_vports(struct mlx5_eswitch *esw, enum mlx5_eswitch_vport_event enabled_events) { - int num_vfs; int ret; - int i; /* Enable PF vport */ ret = mlx5_eswitch_load_vport(esw, MLX5_VPORT_PF, enabled_events); @@ -2003,18 +2028,13 @@ mlx5_eswitch_enable_pf_vf_vports(struct mlx5_eswitch *esw, } /* Enable VF vports */ - mlx5_esw_for_each_vf_vport_num(esw, i, esw->esw_funcs.num_vfs) { - ret = mlx5_eswitch_load_vport(esw, i, enabled_events); - if (ret) - goto vf_err; - } + ret = mlx5_eswitch_load_vf_vports(esw, esw->esw_funcs.num_vfs, + enabled_events); + if (ret) + goto vf_err; return 0; vf_err: - num_vfs = i - 1; - mlx5_esw_for_each_vf_vport_num_reverse(esw, i, num_vfs) - mlx5_eswitch_unload_vport(esw, i); - if (mlx5_ecpf_vport_exists(esw->dev)) mlx5_eswitch_unload_vport(esw, MLX5_VPORT_ECPF); @@ -2028,10 +2048,7 @@ mlx5_eswitch_enable_pf_vf_vports(struct mlx5_eswitch *esw, */ void mlx5_eswitch_disable_pf_vf_vports(struct mlx5_eswitch *esw) { - int i; - - mlx5_esw_for_each_vf_vport_num_reverse(esw, i, esw->esw_funcs.num_vfs) - mlx5_eswitch_unload_vport(esw, i); + mlx5_eswitch_unload_vf_vports(esw, esw->esw_funcs.num_vfs); if (mlx5_ecpf_vport_exists(esw->dev)) mlx5_eswitch_unload_vport(esw, MLX5_VPORT_ECPF); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h index 1213a69cf397..91b2aedcf52b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -654,6 +654,14 @@ esw_get_max_restore_tag(struct mlx5_eswitch *esw); int esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num); void esw_offloads_unload_rep(struct mlx5_eswitch *esw, u16 vport_num); +int mlx5_eswitch_load_vport(struct mlx5_eswitch *esw, u16 vport_num, + enum mlx5_eswitch_vport_event enabled_events); +void mlx5_eswitch_unload_vport(struct mlx5_eswitch *esw, u16 vport_num); + +int mlx5_eswitch_load_vf_vports(struct mlx5_eswitch *esw, u16 num_vfs, + enum mlx5_eswitch_vport_event enabled_events); +void mlx5_eswitch_unload_vf_vports(struct mlx5_eswitch *esw, u16 num_vfs); + #else /* CONFIG_MLX5_ESWITCH */ /* eswitch API stubs */ static inline int mlx5_eswitch_init(struct mlx5_core_dev *dev) { return 0; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 865c120f577e..badae90206ac 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1662,14 +1662,6 @@ static void __unload_reps_vf_vport(struct mlx5_eswitch *esw, int nvports, __esw_offloads_unload_rep(esw, rep, rep_type); } -static void esw_offloads_unload_vf_reps(struct mlx5_eswitch *esw, int nvports) -{ - u8 rep_type = NUM_REP_TYPES; - - while (rep_type-- > 0) - __unload_reps_vf_vport(esw, nvports, rep_type); -} - static void __unload_reps_all_vport(struct mlx5_eswitch *esw, u8 rep_type) { __unload_reps_vf_vport(esw, esw->esw_funcs.num_vfs, rep_type); @@ -1678,60 +1670,6 @@ static void __unload_reps_all_vport(struct mlx5_eswitch *esw, u8 rep_type) __unload_reps_special_vport(esw, rep_type); } -static int __esw_offloads_load_rep(struct mlx5_eswitch *esw, - struct mlx5_eswitch_rep *rep, u8 rep_type) -{ - int err = 0; - - if (atomic_cmpxchg(&rep->rep_data[rep_type].state, - REP_REGISTERED, REP_LOADED) == REP_REGISTERED) { - err = esw->offloads.rep_ops[rep_type]->load(esw->dev, rep); - if (err) - atomic_set(&rep->rep_data[rep_type].state, - REP_REGISTERED); - } - - return err; -} - -static int __load_reps_vf_vport(struct mlx5_eswitch *esw, int nvports, - u8 rep_type) -{ - struct mlx5_eswitch_rep *rep; - int err, i; - - mlx5_esw_for_each_vf_rep(esw, i, rep, nvports) { - err = __esw_offloads_load_rep(esw, rep, rep_type); - if (err) - goto err_vf; - } - - return 0; - -err_vf: - __unload_reps_vf_vport(esw, --i, rep_type); - return err; -} - -static int esw_offloads_load_vf_reps(struct mlx5_eswitch *esw, int nvports) -{ - u8 rep_type = 0; - int err; - - for (rep_type = 0; rep_type < NUM_REP_TYPES; rep_type++) { - err = __load_reps_vf_vport(esw, nvports, rep_type); - if (err) - goto err_reps; - } - - return err; - -err_reps: - while (rep_type-- > 0) - __unload_reps_vf_vport(esw, nvports, rep_type); - return err; -} - int esw_offloads_load_rep(struct mlx5_eswitch *esw, u16 vport_num) { struct mlx5_eswitch_rep *rep; @@ -2346,11 +2284,12 @@ esw_vfs_changed_event_handler(struct mlx5_eswitch *esw, const u32 *out) /* Number of VFs can only change from "0 to x" or "x to 0". */ if (esw->esw_funcs.num_vfs > 0) { - esw_offloads_unload_vf_reps(esw, esw->esw_funcs.num_vfs); + mlx5_eswitch_unload_vf_vports(esw, esw->esw_funcs.num_vfs); } else { int err; - err = esw_offloads_load_vf_reps(esw, new_num_vfs); + err = mlx5_eswitch_load_vf_vports(esw, new_num_vfs, + MLX5_VPORT_UC_ADDR_CHANGE); if (err) return; } From patchwork Sat Mar 14 01:16:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222516 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=-9.8 required=3.0 tests=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 F1F61C4CECE for ; Sat, 14 Mar 2020 01:17:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BAEBC2074A for ; Sat, 14 Mar 2020 01:17:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="JODXXERd" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727851AbgCNBRM (ORCPT ); Fri, 13 Mar 2020 21:17:12 -0400 Received: from mail-eopbgr50046.outbound.protection.outlook.com ([40.107.5.46]:31971 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727805AbgCNBRL (ORCPT ); Fri, 13 Mar 2020 21:17:11 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PMm/ioGE9qWVHNkW2EXDU75IszpPTzwyyGYzYfnG3nHIKrOLUc2+xai+Hhi3FgtWyIiyXv2Fyuef/kY95a+rx3iVlT9BsE+lvrf10eVjPJ5APgEclm+KFpw/yxd9STCdXeerKWYCz25mIZfwosSEk81pr8GtnSh01u0WzrxEGnSYkD/UeotsZdtzgh6r/MWncbzCzoYU7ea628JZMWsXQgnPVdsCnP2/WEYiGQuNX4hm+JBxTvN7XmmwaWwaUxBYEYg7FWF4fmqayTMP28BGoXG44hKylDt41rJP8QufSAVNU3/aEWasQU7M2tGL5gA+9tEEVayuPxqckQU0lY/XHQ== 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=mIad8sfLztGvQUHEWRgVAH80DgRn9XDSWVwkIV1ACmI=; b=SLIBiAfCrIGGc2Xgb6c1ZkNRORLore+iQ6Cr7d6/5ptwx10Q78zSbtnnMIyAZm4KeNd617hfsBAIyd1OpR9/Ij6bQ13uLM8aHRGy1MPdfDfDqvHp/Mb3oTsiZMvRj51uNKAznMqfqKKihvCtKOjXoGwLp/gvzMyyH5Ub70EgQLw6kMSiNI5gXPvhY2g+R9ZhsttgbfCXemabaI7Hx/WQvc5unQEoiPJ8ExBHS5eXWeb99Vs6gDY8O2wjcLcj9uikCoTEnHjUGSPZOOUW4kMHoj4kOV/fPsBoA+DYik4v0g8j/VtLIQbME5Bj4Slf8UEC/ulzPe27l8puXJz0IVsVFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mIad8sfLztGvQUHEWRgVAH80DgRn9XDSWVwkIV1ACmI=; b=JODXXERdctPNxZeGH1P8HwB3cBgPfbnNzAOQWkR0l1CSeEE5nA0eqsGY2hRMnuh68EWB8odEhXWHYH5MV9Xgm1qt/eztOEqjJfz6+JKjCwsPhT+32RVVJFhBVH+aTKlGGX68LpSenjugGkJakoqso28d9R/eyGnWMgiIBKK0kLw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:17:03 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:17:03 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Mark Bloch , Maor Gottlieb , Saeed Mahameed Subject: [net-next 09/14] net/mlx5: Accept flow rules without match Date: Fri, 13 Mar 2020 18:16:17 -0700 Message-Id: <20200314011622.64939-10-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:17:01 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6ed30cfe-56a0-45f2-fd11-08d7c7b5671c X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:35; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U4njHRfo3pJFYZKVhJpOmqCUCRrx1H1QwD3YcT+LPE5AM8oevQjQn43ylZuyxF0DYgm8tR5UqTKNr14RCUsYDy6Gl+VfHOwMKnDpJO4RHgYpxIpnkXwo+2gqTAEKTlyRj5B8tTz5QEXfK1tMF514dsnCuZI5kDRKHHa5iZUtMAMikYItzHjepNzVbB041anRnktXDBJP+weGo3ASP/xohlxVq/4uNbtAP3aB+sA++e7PfejqtEJB261krS8RTIHGoxNU6nW8QmcH25bDyCZwQAd55SzNMBZSyOuqKQclq8uNxBVpKeT2NRGqEpXGpcao1o502iQnf5KfVV4/LWdal7uWZWiBxdVZbfUfUrEM6oR2rzm7yMj+1WLDRHGJMHfaQwnA/mjdAGcSfxuOOo4P5qxjv9OAMmgoF302IM6V+He1EZkR8w0v1Yok7iYRtX51mkX+iCC5TxfvPBRJvQMxmab3E4eLCoZxbtA1Kb7G/l0vcP0IVPRHYdJZv8LaHRJ3gDQYAU4P5wb0wkeKiIUckjwv4Z2xRux1/v2u7s6NZlA= X-MS-Exchange-AntiSpam-MessageData: 5PaQK5cAT8o6eWEMBQdl1pDicDkb+2jvU+EnRUErcle3XUMej9f4qcuT8dd8taIw/Rxce1xlsgDGysJqoCmQlV5+ekg1twRhREMZCnhZc0AJpWxoXYF8MpHqdfsmNlCgNmABVN4omAB8tRfDVLMvrw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ed30cfe-56a0-45f2-fd11-08d7c7b5671c X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:17:03.1004 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WfdujpMaVwC3PrnfEKXlAPqUiCQWAfSbSS9aY+ivYz3OZkWpygjQetb9iwvo6MST7gpxxzCZo7dil4zzeW80+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mark Bloch Allow passing NULL spec when creating a flow rule. Such rules will act as "catch all" flow rules. Signed-off-by: Mark Bloch Reviewed-by: Maor Gottlieb Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/en_arfs.c | 15 +++------------ .../net/ethernet/mellanox/mlx5/core/eswitch.c | 17 ++++------------- .../mellanox/mlx5/core/eswitch_offloads.c | 3 +-- .../mlx5/core/eswitch_offloads_chains.c | 3 +-- .../mlx5/core/eswitch_offloads_termtbl.c | 3 +-- .../net/ethernet/mellanox/mlx5/core/fs_core.c | 4 ++++ 6 files changed, 14 insertions(+), 31 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c index 2c75b2752f58..014639ea06e3 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c @@ -175,28 +175,20 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv, struct mlx5e_tir *tir = priv->indir_tir; struct mlx5_flow_destination dest = {}; MLX5_DECLARE_FLOW_ACT(flow_act); - struct mlx5_flow_spec *spec; enum mlx5e_traffic_types tt; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); - if (!spec) { - err = -ENOMEM; - goto out; - } - dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; tt = arfs_get_tt(type); if (tt == -EINVAL) { netdev_err(priv->netdev, "%s: bad arfs_type: %d\n", __func__, type); - err = -EINVAL; - goto out; + return -EINVAL; } dest.tir_num = tir[tt].tirn; - arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, spec, + arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, NULL, &flow_act, &dest, 1); if (IS_ERR(arfs_t->default_rule)) { @@ -205,8 +197,7 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv, netdev_err(priv->netdev, "%s: add rule failed, arfs type=%d\n", __func__, type); } -out: - kvfree(spec); + return err; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 1de2472a72e7..54e5334f02a7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1334,7 +1334,6 @@ static int esw_vport_ingress_config(struct mlx5_eswitch *esw, goto out; } - memset(spec, 0, sizeof(*spec)); flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; /* Attach drop flow counter */ @@ -1346,7 +1345,7 @@ static int esw_vport_ingress_config(struct mlx5_eswitch *esw, dest_num++; } vport->ingress.legacy.drop_rule = - mlx5_add_flow_rules(vport->ingress.acl, spec, + mlx5_add_flow_rules(vport->ingress.acl, NULL, &flow_act, dst, dest_num); if (IS_ERR(vport->ingress.legacy.drop_rule)) { err = PTR_ERR(vport->ingress.legacy.drop_rule); @@ -1409,7 +1408,6 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, struct mlx5_flow_destination drop_ctr_dst = {0}; struct mlx5_flow_destination *dst = NULL; struct mlx5_flow_act flow_act = {0}; - struct mlx5_flow_spec *spec; int dest_num = 0; int err = 0; @@ -1438,11 +1436,6 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, if (err) return err; - /* Drop others rule (star rule) */ - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); - if (!spec) - goto out; - flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; /* Attach egress drop flow counter */ @@ -1454,7 +1447,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, dest_num++; } vport->egress.legacy.drop_rule = - mlx5_add_flow_rules(vport->egress.acl, spec, + mlx5_add_flow_rules(vport->egress.acl, NULL, &flow_act, dst, dest_num); if (IS_ERR(vport->egress.legacy.drop_rule)) { err = PTR_ERR(vport->egress.legacy.drop_rule); @@ -1463,8 +1456,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, vport->vport, err); vport->egress.legacy.drop_rule = NULL; } -out: - kvfree(spec); + return err; } @@ -2481,12 +2473,11 @@ static int _mlx5_eswitch_set_vepa_locked(struct mlx5_eswitch *esw, } /* Star rule to forward all traffic to uplink vport */ - memset(spec, 0, sizeof(*spec)); memset(&dest, 0, sizeof(dest)); dest.type = MLX5_FLOW_DESTINATION_TYPE_VPORT; dest.vport.num = MLX5_VPORT_UPLINK; flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; - flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, spec, + flow_rule = mlx5_add_flow_rules(esw->fdb_table.legacy.vepa_fdb, NULL, &flow_act, &dest, 1); if (IS_ERR(flow_rule)) { err = PTR_ERR(flow_rule); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index aedbb026ed99..8ff52e237bcb 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -1881,7 +1881,6 @@ static int esw_vport_add_ingress_acl_modify_metadata(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { u8 action[MLX5_UN_SZ_BYTES(set_action_in_add_action_in_auto)] = {}; - static const struct mlx5_flow_spec spec = {}; struct mlx5_flow_act flow_act = {}; int err = 0; u32 key; @@ -1913,7 +1912,7 @@ static int esw_vport_add_ingress_acl_modify_metadata(struct mlx5_eswitch *esw, flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; vport->ingress.offloads.modify_metadata_rule = mlx5_add_flow_rules(vport->ingress.acl, - &spec, &flow_act, NULL, 0); + NULL, &flow_act, NULL, 0); if (IS_ERR(vport->ingress.offloads.modify_metadata_rule)) { err = PTR_ERR(vport->ingress.offloads.modify_metadata_rule); esw_warn(esw->dev, diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c index 0702c216a031..81421d4fb18d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_chains.c @@ -410,7 +410,6 @@ mlx5_esw_chains_add_miss_rule(struct fdb_chain *fdb_chain, struct mlx5_flow_table *fdb, struct mlx5_flow_table *next_fdb) { - static const struct mlx5_flow_spec spec = {}; struct mlx5_eswitch *esw = fdb_chain->esw; struct mlx5_flow_destination dest = {}; struct mlx5_flow_act act = {}; @@ -425,7 +424,7 @@ mlx5_esw_chains_add_miss_rule(struct fdb_chain *fdb_chain, act.action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; } - return mlx5_add_flow_rules(fdb, &spec, &act, &dest, 1); + return mlx5_add_flow_rules(fdb, NULL, &act, &dest, 1); } static int diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c index f3a925e5ba88..269eddc3d38b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c @@ -49,7 +49,6 @@ mlx5_eswitch_termtbl_create(struct mlx5_core_dev *dev, struct mlx5_termtbl_handle *tt, struct mlx5_flow_act *flow_act) { - static const struct mlx5_flow_spec spec = {}; struct mlx5_flow_table_attr ft_attr = {}; struct mlx5_flow_namespace *root_ns; int err; @@ -73,7 +72,7 @@ mlx5_eswitch_termtbl_create(struct mlx5_core_dev *dev, return -EOPNOTSUPP; } - tt->rule = mlx5_add_flow_rules(tt->termtbl, &spec, flow_act, + tt->rule = mlx5_add_flow_rules(tt->termtbl, NULL, flow_act, &tt->dest, 1); if (IS_ERR(tt->rule)) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index bd0b2e4f3446..c93bd55fab06 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -1892,12 +1892,16 @@ mlx5_add_flow_rules(struct mlx5_flow_table *ft, int num_dest) { struct mlx5_flow_root_namespace *root = find_root(&ft->node); + static const struct mlx5_flow_spec zero_spec = {}; struct mlx5_flow_destination gen_dest = {}; struct mlx5_flow_table *next_ft = NULL; struct mlx5_flow_handle *handle = NULL; u32 sw_action = flow_act->action; struct fs_prio *prio; + if (!spec) + spec = &zero_spec; + fs_get_obj(prio, ft->node.parent); if (flow_act->action == MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_PRIO) { if (!fwd_next_prio_supported(ft)) From patchwork Sat Mar 14 01:16:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222515 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=-9.8 required=3.0 tests=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 F1C2FC4CECE for ; Sat, 14 Mar 2020 01:17:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C37302074D for ; Sat, 14 Mar 2020 01:17:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="apZh/Aml" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727875AbgCNBRR (ORCPT ); Fri, 13 Mar 2020 21:17:17 -0400 Received: from mail-eopbgr50046.outbound.protection.outlook.com ([40.107.5.46]:31971 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727805AbgCNBRP (ORCPT ); Fri, 13 Mar 2020 21:17:15 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mXeT6H6Eo+FrNTYUMINXQdFYHJ3mEuQAUzV7zcq5TyXWpm+PF5Tj7XO0c1Nbpzy3Q8Zn8kdyg/f+Q1ECDZavlEuFInf33T7U41oTfPcjy52kR1Tkb3jSCV40upVPUgiXKKUZ1MBuL89gJP79M7R/+YGq1cArVbUx3iRZcoO34UsuoC3RCuIC9ZgKxeogw3gmz3e0fv7vfWz0Den/t3PXN+QBFD4E0NIwuLKFdvdWgL0L2Bu/HeT72L5TrFuWeFZuQNRJGgqpJICVbeDVuwRaW8ZnNOXn6KbERUAalwODhQSxiOKbOS3ulWNq/IZt5i4+tVcWHpNVh1tmVqZfSbYTGw== 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=RdKtSc4B5PXZFF9AxXATw1csvG/RhRxBVZW+Vu4v/h8=; b=M3ZiZfhc2gzGdj4mPyG70krPIf8mZbA/QLeGuGpsN9DWb1S7V8Mi+3VTi4+piZHqroDIQVf7mvrZjG4fpuI+frhytMGg9SnzWhnkqN7ZwBt3Yjn9m61P4jTY6LXGOeVJ2qHud3Td3up9Yu9tOmX7YspXGTW38CqqO+Htxiv3zmVlOdlcJU+1jXC18Osp0DwhQtAzKV2Tujm+J/A+BTw3n6lZDSEUBIJu6+WQhpzzjIKIn4zV3coxgTwDj0pCZ8P7XNoE3z8BrV9CI1iOXpapP1Hx/THOS61avlHoMzu98/npY9I0ybJ8aXgL8L66xoBhhXFmwIhvcKa38AT8y8mMGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RdKtSc4B5PXZFF9AxXATw1csvG/RhRxBVZW+Vu4v/h8=; b=apZh/AmlQnMruFHqGuLct6lOCXx2MjMg8F2GCBuE4zEK2FbokM1yW8RJG5ZegzyVinceC8F6UW7Cmj/T4eX1RBehzOPjxRY7Bw7PxT0q7pMYjyfCtZTuJBU6bjhaCaFEBi0VNXZkYOfAo3YBGoBYcVFQZU2HDhfrXw7br2N2zp4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:17:08 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:17:08 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Parav Pandit , Roi Dayan , Bodong Wang , Mark Bloch , Saeed Mahameed Subject: [net-next 11/14] net/mlx5: E-switch, Annotate esw state_lock mutex destroy Date: Fri, 13 Mar 2020 18:16:19 -0700 Message-Id: <20200314011622.64939-12-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:17:05 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: dd4d83a1-1615-4a71-0edf-08d7c7b569fa X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:186; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YXOgRXcEbAiPAh0Wb99DsgApnjWHtumt5PPdlSOsiz3mykKMsusRelkVe5t5pkRl8BiZAZfD+xDhUIwZidjm/vJVjqrS1S6X/h3hQ71X35B2kO+RxI01VQ01ATplarA6WyfM037q2IkUsy3us3B1a965VE4K/hC8bIPoYRaW3gvoZgucpfRniBizFQbzuiIM08+eCIfCFk8rBdESM3XF85WF7fyLV4dHJmLEJb9lShYVP8TMGBa9GKpUUuX2bKIQcxOfWdiIgcePBn5XWtw9610i6bseG7j0qt8lR+rYkId8GYLSmS2jJ0Q0tgSAhs4+wCagm95Vdj8auhlBdfRgylFXychuzECt5LNYKLz8uHkV7847ilILoO1swsJYkT74D8DuPxk7xQT3kizwMekwT/NkaP9cJJNQJUZLGkWo4flcT6O7qwoVNjZ8A66HIVtxOChQtZROo/4cgaY0unppgdYQnTXqDzXN33V0a7tfu8A1SS73VcpGTMP2jHUhyEJUsrk048q9/BUP92TahG1yoJ1BwUD2ga93m9b4RQadhyI= X-MS-Exchange-AntiSpam-MessageData: SvDmtvobyyHc5Lg58H15Nt8bKWILPElHoMuCEwqx/jTkoUqMpwIGGEwjbGJPQfzbpWj8KcmsD7sUX1QZEcH9hnI6/dNJr/z8mBZE5yXhD5N47e1HvCGrGEqHnqSJRPJcr7hVjNpgAet0nsUuvdGWhw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd4d83a1-1615-4a71-0edf-08d7c7b569fa X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:17:08.3424 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OiN6b8yR2OOijwUJoA5p8hb6nj3pxtxj9DA9szA69xwwZ1fKbOzjDxtUaMhr6Z1Fiid+KfM5Pm3V1iNPB4Y8UQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Parav Pandit Invoke mutex_destroy() to catch any esw state_lock errors. Reviewed-by: Roi Dayan Reviewed-by: Bodong Wang Signed-off-by: Parav Pandit Reviewed-by: Mark Bloch Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 54e5334f02a7..8fc351240f4c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -2239,6 +2239,7 @@ void mlx5_eswitch_cleanup(struct mlx5_eswitch *esw) esw->dev->priv.eswitch = NULL; destroy_workqueue(esw->work_queue); esw_offloads_cleanup_reps(esw); + mutex_destroy(&esw->state_lock); mutex_destroy(&esw->offloads.mod_hdr.lock); mutex_destroy(&esw->offloads.encap_tbl_lock); kfree(esw->vports); From patchwork Sat Mar 14 01:16:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 222514 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=-9.8 required=3.0 tests=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 C356AC2BB1D for ; Sat, 14 Mar 2020 01:17:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 94F7B2074A for ; Sat, 14 Mar 2020 01:17:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="FOU9WArZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727899AbgCNBRV (ORCPT ); Fri, 13 Mar 2020 21:17:21 -0400 Received: from mail-eopbgr50046.outbound.protection.outlook.com ([40.107.5.46]:31971 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727805AbgCNBRT (ORCPT ); Fri, 13 Mar 2020 21:17:19 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EYkvstZC2f63mO/CUQqaBwM6iVMC/3zKJwZiWVgJXlL+smYTGrbPRIvmdMI3EAsIoQhBlc7f4Yr5qnkmdFhdv+TMkorblkcqIqfOAZmKogezvir1asoG/sg+SeF47sett6RIRQIlAQT1zUAl4zDf5LRD5nXQXql8eocLFAJ/HmEPO4V6mkPmC14gTNB4lWYG36HRz70oTeW6xdZnGJqPghkJeYlyEbxh2Wr6GLX5pWzom7tgM+6PxDfmYV7i6QUCPoRRtVB4vwQZie9GSIuGicT85+Rt2ob2tSKpP82MlhfLTppr1XS1lF900I+KrVDDPLexWSopNcBNzKhawu2i4Q== 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=d4ZcdsKfI17pgTxQNNk5ndi1tUI3edtVUlH6K+DPQ58=; b=BkKGYTj7pnKnUX5UmPvGgchze1P91SGUXDvaziaAWWXqeU+zPP6Umh0pULFCmAgaM15YsqwRT/OUryKwjJOpM3pj9IRC+nqAb0wKQYqpeNTfAKlj1IKtNqH48FcOLqalAlLdrbY/9keSi4QA95w3PKPXWbdV6JaBvtjfnjXdgJVUr/HA0JnQitmPaLj6CmRAwj82iXCIFebHWeSbVrLUNO3MxupqFb6w4yvEN/EcZg7RNf5kupYnPwah59kkc5l4E2chX7ja5TePoezYHSO7D2q1kSqpwNCenWeGKdJKggJMWQH9Cb8mNmTkLdZmpTxBQJvjTH0XKM4F5r8e6Tf9RQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d4ZcdsKfI17pgTxQNNk5ndi1tUI3edtVUlH6K+DPQ58=; b=FOU9WArZN8oo+navLrzGqSPZtqr07thd/CFG6YmO5W/KNh1J2qzhYSA5K2qYVJQq/dHZCc7jXXsQCpK/BbS1VYRM79VeXGkQCJkXyeVsDFZsDbFX/rZVue7PVGbec/ZE+SUgZ4VuQGZuzygHm+4XojEB9EAHGXv2iq5PKe5Q3Os= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (20.177.51.151) by VI1PR05MB6845.eurprd05.prod.outlook.com (10.186.163.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Sat, 14 Mar 2020 01:17:13 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::8cea:6c66:19fe:fbc2%7]) with mapi id 15.20.2793.018; Sat, 14 Mar 2020 01:17:13 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: kuba@kernel.org, netdev@vger.kernel.org, Alex Vesker , Erez Shitrit , Saeed Mahameed Subject: [net-next 13/14] net/mlx5: DR, Add support for flow table id destination action Date: Fri, 13 Mar 2020 18:16:21 -0700 Message-Id: <20200314011622.64939-14-saeedm@mellanox.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200314011622.64939-1-saeedm@mellanox.com> References: <20200314011622.64939-1-saeedm@mellanox.com> X-ClientProxiedBy: BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) To VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from smtp.office365.com (73.15.39.150) by BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16 via Frontend Transport; Sat, 14 Mar 2020 01:17:11 +0000 X-Mailer: git-send-email 2.24.1 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6996157e-f5a0-43d7-03f8-08d7c7b56d3b X-MS-TrafficTypeDiagnostic: VI1PR05MB6845:|VI1PR05MB6845: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1751; X-Forefront-PRVS: 034215E98F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(199004)(86362001)(54906003)(6506007)(52116002)(4326008)(6486002)(6512007)(107886003)(2906002)(5660300002)(478600001)(316002)(66476007)(26005)(66946007)(8936002)(66556008)(8676002)(81166006)(81156014)(2616005)(36756003)(956004)(186003)(16526019)(1076003)(6916009)(6666004)(54420400002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB6845; H:VI1PR05MB5102.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VRdm77ad91pkOmddFipub+ByjtRnLbvi4GNGg15P6aQbfn+Ovzte4n8htd6GaUKNtERBI2QCCxQbe8uFcHRLUVwEZzafSzVa3jQZJL+D9wqRevxPIWHyNtDaAEM7MSmd5W1fGZz6ZziSv61AYx4BAIx7YtZWBPOrB6wKFthhirf/BrhBvkwIDlvwqbLDzjGsSl/yfVMbmmfr/aTh0W7I8K8viA5YusJU6IBTJMfyG7qWmS9AewX8BJH5FevZn/tjM1ZuiAHutVGVoiz9qD+tAAdjXHnIm4ucAzuDiAMf3Xv0UZlcjZTyXPL02VINShhKyzZ7ikDMMkIsVkkG9zd1lqK7gHjWiiKpAdPKeGGaSePtjjvVNwNMt0FlmtFwnJcaOYXbQxWJphpsQVY2pGgzQttqAFsbw3UZW7cleJuFYQmXp+AwvUYTMjTCTr0iKWnt+dz6a4zctqyfk9VaqFKYQHRNagqWgfNLydq6BwzwtOs+ZBnhha8TCUNJrvVFfKZdqFP8TOgjwnZt23mcO2gZnX8QoyvI7N6A8TTV72wkAIc= X-MS-Exchange-AntiSpam-MessageData: ptXkoQfDueoIkHWg3/6/A6jjK+1nP0YsxfJ8rp6hQ62Q4lMgfbl/DipHSW0hZ3QO/dL12JUxH72BaDnFsnWjbk8lhRCnTFdo6es5SEy5MJHYrqxNd1lXDg+uOgm+FkpNDQbkQck5AjC30DgNzNHOlw== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6996157e-f5a0-43d7-03f8-08d7c7b56d3b X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2020 01:17:13.4025 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SJTHmsP8pcdOc+qlnG2Froz1pAOym1mqW/95WAJwtpt/bUtlYLCQ+NzJtt3sltw32/eaAa8r2X3dbqlOy0bMfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB6845 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Alex Vesker This action allows to go to a flow table based on the table id. Goto flow table id is required for supporting user space SW. Signed-off-by: Alex Vesker Reviewed-by: Erez Shitrit Signed-off-by: Saeed Mahameed --- .../mellanox/mlx5/core/steering/dr_action.c | 18 ++++++++++++++++++ .../mellanox/mlx5/core/steering/fs_dr.c | 12 ++++++++++++ .../mellanox/mlx5/core/steering/mlx5dr.h | 3 +++ 3 files changed, 33 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c index f899da9f8488..4b323a7ae794 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c @@ -964,6 +964,24 @@ struct mlx5dr_action *mlx5dr_action_create_drop(void) return dr_action_create_generic(DR_ACTION_TYP_DROP); } +struct mlx5dr_action * +mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num) +{ + struct mlx5dr_action *action; + + action = dr_action_create_generic(DR_ACTION_TYP_FT); + if (!action) + return NULL; + + action->dest_tbl.is_fw_tbl = true; + action->dest_tbl.fw_tbl.dmn = dmn; + action->dest_tbl.fw_tbl.id = table_num; + action->dest_tbl.fw_tbl.type = FS_FT_FDB; + refcount_inc(&dmn->refcount); + + return action; +} + struct mlx5dr_action * mlx5dr_action_create_dest_table(struct mlx5dr_table *tbl) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c index d12d3a2d46ab..3b3f5b9d4f95 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c @@ -384,6 +384,7 @@ static int mlx5_cmd_dr_create_fte(struct mlx5_flow_root_namespace *ns, if (fte->action.action & MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) { list_for_each_entry(dst, &fte->node.children, node.list) { enum mlx5_flow_destination_type type = dst->dest_attr.type; + u32 ft_id; if (num_actions == MLX5_FLOW_CONTEXT_ACTION_MAX || num_term_actions >= MLX5_FLOW_CONTEXT_ACTION_MAX) { @@ -420,6 +421,17 @@ static int mlx5_cmd_dr_create_fte(struct mlx5_flow_root_namespace *ns, num_term_actions++; break; + case MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE_NUM: + ft_id = dst->dest_attr.ft_num; + tmp_action = mlx5dr_action_create_dest_table_num(domain, + ft_id); + if (!tmp_action) { + err = -ENOMEM; + goto free_actions; + } + fs_dr_actions[fs_dr_num_actions++] = tmp_action; + term_actions[num_term_actions++].dest = tmp_action; + break; default: err = -EOPNOTSUPP; goto free_actions; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h b/drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h index e09e4ea1b045..1ee10e3e0d52 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h @@ -76,6 +76,9 @@ int mlx5dr_rule_destroy(struct mlx5dr_rule *rule); int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl, struct mlx5dr_action *action); +struct mlx5dr_action * +mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num); + struct mlx5dr_action * mlx5dr_action_create_dest_table(struct mlx5dr_table *table);