From patchwork Fri Jul 31 01:57:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1339193 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.a=rsa-sha256 header.s=selector1 header.b=CLMS6EDg; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHr694wWMz9sTC for ; Fri, 31 Jul 2020 11:58:25 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731168AbgGaB6Y (ORCPT ); Thu, 30 Jul 2020 21:58:24 -0400 Received: from mail-am6eur05on2083.outbound.protection.outlook.com ([40.107.22.83]:58208 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730904AbgGaB6Y (ORCPT ); Thu, 30 Jul 2020 21:58:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UsrpPOYIZyIt6dL9AVg4BKUqXfkb6UxP5qRAzfIPcXXVqsFYVPzZaiXR9gdhPuncn/KXRuP1mkEjKrWAJ0BHZ8a2jXhEk1EXXcmdgjB+1ObZCjXmr2ha0Y1U4Au03JmXtMqUFzlJNwzGn5XadX0A+SONXjQeskI1npLWuk/Hjg6DTEIQSiiSVvvBQcH/msOGnOZsv8wXN1tTJN8Z6rNhKPIAjNSrt/Mumb5zNoR6AFbC75K6qc0PIZqwMxzIE7eopaEspsPRDDkwCpgYLDfdm1uPKKvISMCLaj8CcCfheHK0nhQYSbjgLkYqeNC3SxY0WM9IfiMNlfbx7ON61T1iRA== 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=Ejt3eQFapB9t3wDl+yzZEgAMQ2QkyYbrWnkddLenOxs=; b=fTsH9+f+QGOTldYhzMatEorqhPfPcOv1XhtbkdtgacufaUpmiCBsFRDg96/gLO+IKpCjo5jgBIqm+Ght9P/IQCCM0omZPz2xOoLxZiRVlGDVsUvt0sBB4DEtBbeE/+cT0tkustWsQd1OJwtNbJ59dTUtzUe2F2l8CmGBz9AIztlY2NjLasQVDuJrcV3YkQaMv2H/WkP0Pk/OqBOt4gtOT2d/bUrOnrHMVtqjLwcdTvm4MPpGfTsRdvhBnDErmUBTgAmtNPyMOvAjH2xz49ZcoXqHaGg5wrZ6B2VuBhvaYfaZoAFQlAdnv2Pk9uAZixm09P4Pkc63RSJcN/zuxB4gdg== 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=Ejt3eQFapB9t3wDl+yzZEgAMQ2QkyYbrWnkddLenOxs=; b=CLMS6EDgaU8YY9lOX2RgIBIubOys0OEJcwjexZmqlGu4onFLinRZ3wzJZA+VytHnEs64mE3khFKHrStfpTa/2VcbepE0IF6WJvD4VGcxI46iMApcdKmatq8S5WCEeXsPVj4MUihTv5PaSvM9yeK3bKpjWigXtQ2E6ztRnvoSPVU= Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=none action=none header.from=mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) by VI1PR0502MB3997.eurprd05.prod.outlook.com (2603:10a6:803:25::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Fri, 31 Jul 2020 01:58:16 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529%5]) with mapi id 15.20.3216.034; Fri, 31 Jul 2020 01:58:16 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: Jakub Kicinski , netdev@vger.kernel.org, Jianbo Liu , Roi Dayan , Oz Shlomo , Saeed Mahameed Subject: [net 1/4] net/mlx5e: CT: Support restore ipv6 tunnel Date: Thu, 30 Jul 2020 18:57:49 -0700 Message-Id: <20200731015752.28665-2-saeedm@mellanox.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200731015752.28665-1-saeedm@mellanox.com> References: <20200731015752.28665-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) 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 BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Fri, 31 Jul 2020 01:58:14 +0000 X-Mailer: git-send-email 2.26.2 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: b5a5824a-8f8d-4fa5-a179-08d834f530e4 X-MS-TrafficTypeDiagnostic: VI1PR0502MB3997: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2512; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /wbWoO//ZwjtmxOMIvAP9+geD7jtRsNc36MVKDSUET0D8FXKpHMiBE9BB3wBLwmzBElsxXjcRRWPq+0DN8xNL3030xsPFGk7hLK0w2bMUGwdTZ5td6TAjiqs08IWnJQ+0uiQjTm6PLYrgWsgXyx32sq/086Ttr1k6iNbvWC0D6vE7DebRmOMRVKtGNfiVsAYn3Kv31wIldwzXAtmxE7JCenxIP2wk8wmz7/FimJfvZC2aVplVY96AWfCyfboeAIcnW0eHJwr9xwLpVOi24UhBLq9+jkWSsOuueOFK0071+rlM7lHmtKgYQKtSWJGEcM5aj+VmZ3eXL9R/wXF4OOsxmlXE2bVzuG6nA/UL0f/h3pl8HSPR7MkCn7KQakQCiHi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR05MB5102.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(4326008)(5660300002)(1076003)(16526019)(6506007)(6666004)(52116002)(186003)(26005)(478600001)(107886003)(6512007)(316002)(54906003)(6916009)(8936002)(36756003)(66946007)(66476007)(66556008)(2906002)(83380400001)(2616005)(956004)(86362001)(6486002)(8676002)(54420400002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ETFpN1/Dt/ZdO587viZlvQlabZDH3K9bfdey+BybJcCyiltxabavLDQqIMDr9LYtMdBR//dsX0BEMaDG5N5Cbc921F5w3NPYH5mNE+5Z1XsnhW7gyTZ8nKPZtRtPQQFwFQ+7cqL90WvW9TmQA8kfTLNNOOF0rMowCrNmGwOrLGpXjrlHmQ1tC0u1AZGuEgBH5NwhGJhk3hk+eMTzYyD+uYX48ZNHopMpiC1Ib/yD0NwQaogvIyQPmBKCVFz0pj/TC5D5V0XWBtdVovLGTehAPQFMkS4nODC5CzpvgrjwHFQO66DQPSkA916Z24kU148lVedXfa5Tc9ue+YYKYZG0bfpRoRWhR7EqTZOzcYtLV47yTO65o/SMvgCe9NIWDI1F0H2z5mVxUFCqJIPdKCbdDS/eYD5dRIhby9jI6alRjNJAv0zEIPWwL152boXGhp0nO1HK6o54C8DYOsnxmHGbUIJVl1QK2rMk+gOzAPdiu5bad7JSuNEn+SV0Eec8xauMJOd0xhb/i7fpLnVBba2XvEC5gWMZExsi8lV7TiqVXRYpqSljd6+sMBoWs2aR/iCDO7Pa76dG4lGFjEo7evuk9qqIjiMeqTplIz5lJkLapga8GR/oSrK+aCnrc2eZ1iffgseV7ormo2qSoZ8nKjIZOQ== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5a5824a-8f8d-4fa5-a179-08d834f530e4 X-MS-Exchange-CrossTenant-AuthSource: VI1PR05MB5102.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2020 01:58:16.6763 (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: Hn2eU7V01qCs4G1NtB3t6Yvcd2MGrFAG/Z6NuYnm3SaYuYAAwySyuK6/vk0FuUWeWzwPvbMWAcyGGKFyPbVGUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3997 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jianbo Liu Currently the driver restores only IPv4 tunnel headers. Add support for restoring IPv6 tunnel header. Fixes: b8ce90370977 ("net/mlx5e: Restore tunnel metadata on miss") Signed-off-by: Jianbo Liu Reviewed-by: Roi Dayan Reviewed-by: Oz Shlomo Signed-off-by: Saeed Mahameed --- .../ethernet/mellanox/mlx5/core/en/rep/tc.c | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c index eefeb1cdc2ee5..245a99f69641d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c @@ -551,19 +551,31 @@ static bool mlx5e_restore_tunnel(struct mlx5e_priv *priv, struct sk_buff *skb, } } - tun_dst = tun_rx_dst(enc_opts.key.len); + if (key.enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS) { + tun_dst = __ip_tun_set_dst(key.enc_ipv4.src, key.enc_ipv4.dst, + key.enc_ip.tos, key.enc_ip.ttl, + key.enc_tp.dst, TUNNEL_KEY, + key32_to_tunnel_id(key.enc_key_id.keyid), + enc_opts.key.len); + } else if (key.enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS) { + tun_dst = __ipv6_tun_set_dst(&key.enc_ipv6.src, &key.enc_ipv6.dst, + key.enc_ip.tos, key.enc_ip.ttl, + key.enc_tp.dst, 0, TUNNEL_KEY, + key32_to_tunnel_id(key.enc_key_id.keyid), + enc_opts.key.len); + } else { + netdev_dbg(priv->netdev, + "Couldn't restore tunnel, unsupported addr_type: %d\n", + key.enc_control.addr_type); + return false; + } + if (!tun_dst) { - WARN_ON_ONCE(true); + netdev_dbg(priv->netdev, "Couldn't restore tunnel, no tun_dst\n"); return false; } - ip_tunnel_key_init(&tun_dst->u.tun_info.key, - key.enc_ipv4.src, key.enc_ipv4.dst, - key.enc_ip.tos, key.enc_ip.ttl, - 0, /* label */ - key.enc_tp.src, key.enc_tp.dst, - key32_to_tunnel_id(key.enc_key_id.keyid), - TUNNEL_KEY); + tun_dst->u.tun_info.key.tp_src = key.enc_tp.src; if (enc_opts.key.len) ip_tunnel_info_opts_set(&tun_dst->u.tun_info, From patchwork Fri Jul 31 01:57:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1339194 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.a=rsa-sha256 header.s=selector1 header.b=IhWDy/Pu; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHr6G02hqz9sTC for ; Fri, 31 Jul 2020 11:58:29 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730974AbgGaB63 (ORCPT ); Thu, 30 Jul 2020 21:58:29 -0400 Received: from mail-am6eur05on2083.outbound.protection.outlook.com ([40.107.22.83]:58208 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731162AbgGaB62 (ORCPT ); Thu, 30 Jul 2020 21:58:28 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RyLJf5eDnNluUVdoQZFGfMS1eZDXwbyJrgoVO1PuZgSak+LCb6Owepf2HemvECH/ply9dkjujPW+Cqge/w65qlrAHGJcQrRTJdfTZgEoV2FMHN38Y3rumLB2Or9C+7uO6vCRr52jkEq/2fFIfwPXdXng8Td1Cyko2v4Y3KcYQv4HdHK60LS6wDiMwiggkZeqxAnTpY7edDMjWdBVSYumufmvSFUTHE/9hMvmEvt2T7WAzkLZ8ZiphXUqIwNcg3EuIrn0AuUO5boMgq6BluLRtD4oAzAU1zLRaDUvtv0i0p8vPwHFRvrrjWd5t6GgZYvnQGlHQyBfOMpwjWwyKwFY6Q== 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=UnqMfe+puJzhIlPKhruOBlPQum0NBHYFy0e4meR8mvs=; b=hgDaadOWfIiiYUDuF2YxKycF5jeuDMArcwDkKIodLHvx6ZgLOQ5MDs6MbRYpxzUtBi24WWss6kh3SbP7phSvTFaXBA8h2krADRVL02+Huiaf5u6r+h50ujeunNcxAyaFopfYprrmxYheJL5K5dwD1HNA/upo6pKwXkUKKO9XwBmw4afc5wvN42TcwvoZolwNh1+2t8iun+FzRG9zRMlcN46vL6upvuMXD74V68UoOY/IAM2TxtKfdj77hurjv1MJmppj7qz0QM0IqUbKpj0iprRacftaoGlm8iYUo0a/5eRue7Dy7yYJ+/PP90/cvNvby5ln7VpCg3YI072DnT9nWA== 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=UnqMfe+puJzhIlPKhruOBlPQum0NBHYFy0e4meR8mvs=; b=IhWDy/Pu5r4GCr4jF1RxWCyVleoNTrJU8FiDcedoUearHD61yZjS7L/jJY9iZ5JsS5wJa5jBFHgvLmj5yaHFjnmsRZ8/Sh2m+ZAYW2VEiP7XR7lWZt+bbKLN0OmgJiNjcaeCLT8PGMU+ByHKCI0GRLwdBJg/5Tk6sqrpSUbkFPs= Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=none action=none header.from=mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) by VI1PR0502MB3997.eurprd05.prod.outlook.com (2603:10a6:803:25::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Fri, 31 Jul 2020 01:58:19 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529%5]) with mapi id 15.20.3216.034; Fri, 31 Jul 2020 01:58:19 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: Jakub Kicinski , netdev@vger.kernel.org, Jianbo Liu , Chris Mi , Roi Dayan , Saeed Mahameed Subject: [net 2/4] net/mlx5e: E-Switch, Add misc bit when misc fields changed for mirroring Date: Thu, 30 Jul 2020 18:57:50 -0700 Message-Id: <20200731015752.28665-3-saeedm@mellanox.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200731015752.28665-1-saeedm@mellanox.com> References: <20200731015752.28665-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) 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 BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Fri, 31 Jul 2020 01:58:17 +0000 X-Mailer: git-send-email 2.26.2 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 7294df7e-a344-4555-e0e6-08d834f53240 X-MS-TrafficTypeDiagnostic: VI1PR0502MB3997: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pU6IU0YEskcJ8DWqtER/P2CxRG8zumPisgZBz55PdcJxtvsm5T1xVw3hnt9N1eWWedXcTevGUxHaNwV1CTD/yM7zRZEndJIsRMWOIK1O8QmwJGqd8dNXe4nSg2tnqrsAjG0cFltrLhr5xNvTPTbgdkVTLdHG0BfWRj29lca8EvImopiDUBgCjXOFAiITvwXF25/UE7SahkK0zdh83JSzIW/YXa9SUE1n4Yk77AUAjKNpCn4BlueZBYFAUVZUAiCYCWv+ql7BwL9vWlJx6I113EN6Oj0XRrasycZqq9oAt+Dt1eRbhbu2J66pXHogAza/k4QI4bc5YmPVGRAAqmYYdu+TWWTXsY5XRZcM2duAh4pAcGzFKO0vm45LssWGzn9+ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR05MB5102.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(4326008)(5660300002)(1076003)(16526019)(6506007)(6666004)(52116002)(186003)(26005)(478600001)(107886003)(6512007)(316002)(54906003)(6916009)(8936002)(36756003)(66946007)(66476007)(66556008)(2906002)(83380400001)(2616005)(956004)(86362001)(6486002)(8676002)(54420400002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: fH3nMYK5rTSgXyanU5pXYb8eFkb4F97qoPlioTnlUxzt9ENYjurwq8F899xPNjWbSwYOzegWB38R97DMX+SD5Kin3c7SQLMsdr0AV1CdPlFfikA2gEHkA/1Ws7AUri54Jc2OEhzVj63pNbrtzNJ2p3R9bPtxm9Vad1JFWMQKTQ1Fyi2H/oU9mgqYlvHl1YqjlmXXcaWAuB9VXqOEnNTt/fRMvJAUIjA3oNgxYeZRrPGEWT3oRswRASK4eKaTGwT//k1jKDHDVepMZucvjHxKxCvQuGeGtv8+tmsxeUHWPa3g2FCk2f66BrnKRD2NHukKj/E5FeNCz5wJ7uqV3vm+5JifkVqo71WIrxvNJGocJaxSxqMXiBHGjTys71rkrogG6m9ZtUFgUCxZvkp2ShU5ShsfqD7++HPBYD92XKiA7SmJxNw7VP8ErRhKu/8v1UhkcRe4EOEgy60wgXCs9yYF/xhld/OW1HkyIgSJiSrSch/XcvPDNXE0Hh/iEZ/s0rKWHzh3LH5F1eyL34dHyee2genxZypefhSslddWEtnbbN0MtGsVkUbZI4Os67wxZJGDm2zUHj3P+/R0K+As2OGNLmyEoJ1+3Tqpm0vSoFEZ/AjfVYKqWpjSrEbkEuYLt23FUF9At7eaMEbBEuI/TFe76g== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7294df7e-a344-4555-e0e6-08d834f53240 X-MS-Exchange-CrossTenant-AuthSource: VI1PR05MB5102.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2020 01:58:18.9426 (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: 2WRt2GiWSKI3pcoS6w1LfGAkC2l9dQjE8c6pCgR43uJ81VXrH/lNJb1AMV2e2b6Ni2QwCez45a5KXHRSEwh5Ow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3997 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jianbo Liu The modified flow_context fields in FTE must be indicated in modify_enable bitmask. Previously, the misc bit in modify_enable is always set as source vport must be set for each rule. So, when parsing vxlan/gre/geneve/qinq rules, this bit is not set because those are all from the same misc fileds that source vport fields are located at, and we don't need to set the indicator twice. After adding per vport tables for mirroring, misc bit is not set, then firmware syndrome happens. To fix it, set the bit wherever misc fileds are changed. This also makes it unnecessary to check misc fields and set the misc bit accordingly in metadata matching, so here remove it. Besides, flow_source must be specified for uplink because firmware will check it and some actions are only allowed for packets received from uplink. Fixes: 96e326878fa5 ("net/mlx5e: Eswitch, Use per vport tables for mirroring") Signed-off-by: Jianbo Liu Reviewed-by: Chris Mi Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c | 2 ++ drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c | 2 ++ drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c | 2 ++ drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 1 + drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 6 +++--- 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c index 951ea26d96bc3..e472ed0eacfbc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c @@ -301,6 +301,8 @@ static int mlx5e_tc_tun_parse_geneve_params(struct mlx5e_priv *priv, MLX5_SET(fte_match_set_misc, misc_v, geneve_protocol_type, ETH_P_TEB); } + spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; + return 0; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c index 58b13192df239..2805416c32a3c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_gre.c @@ -80,6 +80,8 @@ static int mlx5e_tc_tun_parse_gretap(struct mlx5e_priv *priv, gre_key.key, be32_to_cpu(enc_keyid.key->keyid)); } + spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; + return 0; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c index 37b176801bccb..038a0f1cecec6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c @@ -136,6 +136,8 @@ static int mlx5e_tc_tun_parse_vxlan(struct mlx5e_priv *priv, MLX5_SET(fte_match_set_misc, misc_v, vxlan_vni, be32_to_cpu(enc_keyid.key->keyid)); + spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; + return 0; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index cc8412151ca09..fcedb5bdca9e5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -2356,6 +2356,7 @@ static int __parse_cls_flower(struct mlx5e_priv *priv, match.key->vlan_priority); *match_level = MLX5_MATCH_L2; + spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; } } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 060354bb211ad..d70d6c099582c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -259,9 +259,6 @@ mlx5_eswitch_set_rule_source_port(struct mlx5_eswitch *esw, mlx5_eswitch_get_vport_metadata_mask()); spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS_2; - misc = MLX5_ADDR_OF(fte_match_param, spec->match_criteria, misc_parameters); - if (memchr_inv(misc, 0, MLX5_ST_SZ_BYTES(fte_match_set_misc))) - spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; } else { misc = MLX5_ADDR_OF(fte_match_param, spec->match_value, misc_parameters); MLX5_SET(fte_match_set_misc, misc, source_port, attr->in_rep->vport); @@ -380,6 +377,9 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw, flow_act.modify_hdr = attr->modify_hdr; if (split) { + if (MLX5_CAP_ESW_FLOWTABLE(esw->dev, flow_source) && + attr->in_rep->vport == MLX5_VPORT_UPLINK) + spec->flow_context.flow_source = MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK; fdb = esw_vport_tbl_get(esw, attr); } else { if (attr->chain || attr->prio) From patchwork Fri Jul 31 01:57:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1339195 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.a=rsa-sha256 header.s=selector1 header.b=LOlZt+z9; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHr6K5pJcz9sR4 for ; Fri, 31 Jul 2020 11:58:33 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731162AbgGaB6d (ORCPT ); Thu, 30 Jul 2020 21:58:33 -0400 Received: from mail-am6eur05on2083.outbound.protection.outlook.com ([40.107.22.83]:58208 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730794AbgGaB6c (ORCPT ); Thu, 30 Jul 2020 21:58:32 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=baDI+V42+I0jKku3jB76d8R22QZQrIzp+hfDmRhzNJVEScELFxBrFsIChRFiT5l/YfGtuDv6+Hndq41ltAdydeDG8nFrXyfExKYo+D0+PLacOB10IK7pnVzEW+49nOA3vaFPkeaCfmuU68+WwDePrWfBslT2bw+10+zMK2FmDN2iPD/Chu7ou9eaQzqmkFh0eHBVfgPlCXlsCRvbjjbqvCkDBrMVB4znKXVjDtAvExDVF4XqDsPTvtGELqUhlnHJJbWhcgA+rE+RVkCwPgEDSo0D4NEGQhnek2SqYPm6n9hJeRSjsKWtwkuiUxa/T82UydqqIRxuEbt5CZofiSAwxQ== 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=2YhdoLwh/GuHnrxmwhVgvEcWtl/4whsAepUS7meUxRw=; b=aeJZOuTOQI2SBCuHZmVL7d766WOlxJiHsmwrsejPlanLizWWYKV/NevSUBQBtWNrwu1T97ceEFPy0FHT6Urf9qMq9e+uIWjPJd35S/qjCYGnYgnGTgZKuS7OlFIZyE0CA6Af2jnGSR+MO1C5gtZYxqfxJjDWsc+p8k52AbsRd1XtOd3Uem3P7CjDPDi6B26mRQZCJ6jwqPleZeNytBY4cjKhZzVKDg/ngqBr+sLD3UPIjynXbrQbApZvo0t19qmnIGbiO+Rm0zmMB0259VIpqVGs1xU69dxj8at4lzncQwAdtZ+SwyfVj0UJ9pxngtgTTELHRF4F97JizX0lvJ16zA== 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=2YhdoLwh/GuHnrxmwhVgvEcWtl/4whsAepUS7meUxRw=; b=LOlZt+z9aCjwLgyzp8q1s5f35AGJoT/WMIVPGSnA868XVMSNkxQtfM9epKrz8I+uk0xhmLdKCHCnit6cjRK/09hjNARobR3TuPwTzzt+BV/nyNNIF09Z3HSx7GqGWviea3bsvr9zrjTRraePCoUhSDjlJJPja08qcpV73eFNylI= Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=none action=none header.from=mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) by VI1PR0502MB3997.eurprd05.prod.outlook.com (2603:10a6:803:25::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Fri, 31 Jul 2020 01:58:21 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529%5]) with mapi id 15.20.3216.034; Fri, 31 Jul 2020 01:58:21 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: Jakub Kicinski , netdev@vger.kernel.org, Jianbo Liu , Chris Mi , Roi Dayan , Saeed Mahameed Subject: [net 3/4] net/mlx5e: E-Switch, Specify flow_source for rule with no in_port Date: Thu, 30 Jul 2020 18:57:51 -0700 Message-Id: <20200731015752.28665-4-saeedm@mellanox.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200731015752.28665-1-saeedm@mellanox.com> References: <20200731015752.28665-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) 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 BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Fri, 31 Jul 2020 01:58:19 +0000 X-Mailer: git-send-email 2.26.2 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 443bb0ab-8661-4fd5-b419-08d834f533b7 X-MS-TrafficTypeDiagnostic: VI1PR0502MB3997: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1417; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZYXrp8I07ec1ZNh1IHcbS8A6MgbQRFmVmVwcWscfMgmVTLUOlp/szsGIflhzSqIUOrDoijHccTPFYvLNmjeOE5B6OY1gyoQJHx61qEXjf1D4gdakloDy6bJhy3XzQskT170HO/ejubgPfep14Bq8IbVjyG1w3gxQqSgIBSVU1XuDp+45LOw/dqkD2GtlIgTWj1/ew0rHU/RZ7i8eZxPPrZDSTDcyYXytNjPqU1FmHUA/BnlG7jMgceCDRsgHRM9Cw9g4ftP2JHSgh9iR/3sOaiRmtIcQZIwNdo4+Yy2P+iPirXAY2ddOy7mroNdFMp8eCOtqPrA9rKG9AssyE4URkzEgg3XnV0d/JFRWicNC8jMEfmBT+SpErckEby9P0Eg6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR05MB5102.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(4326008)(5660300002)(1076003)(16526019)(6506007)(6666004)(52116002)(186003)(26005)(478600001)(107886003)(6512007)(316002)(54906003)(6916009)(8936002)(36756003)(66946007)(66476007)(66556008)(2906002)(83380400001)(2616005)(956004)(86362001)(6486002)(8676002)(54420400002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 4uWwynlo0YSNeOQZDXVGmM1f/N6P0o6R+E2fdyIflMENaRjYdOBx/teKateZEBEzxBIz/hfLjOEFePwhopbauotdDoxCa66q0d1NO+Ehra6fTq1jSbvElMUu7r81ciema/iS6PzQb6zB/owJA0KnGo+ztF8qlDK7I+Tw+vgO5iz5uiOT4bwDFB2EVgqup0lSFGv7pRG7jzCgoD2CftJSW+h+oKaOzP3Zv5yzGopdfZTMpa7/ZeqK1QPn5QEKTuqDC0PCtlVTPPVvA8WRY623PzLBhc7fgZPF7D6AJS5GsWHgoYa+h8Dmmr07H/8ZvTpkTZBmWcHpQJmCn6+cIMnPMtSedkjUe700d3xeisA4KC1R33UfllWv9jPVrpXWOBOsl+5LmvmjIl0RBn5c2ZCuanbkNbs55EX4FApJ5a5ZG5iVN1htb1uRhZs3WxlirMHa90tBsQSV4NCKTWHF65yPGa+xoeB+HWi1EshHQQPdj6WsdFJacOdZoylYvNfc71809R4E+ml9NUg6BQ0ByD0geUjBF6ckcBtwXvvsuojOjgJlqN1bAJXgQw5D12NQnYNQ+LvgW2jbfwN/xBMvODkhP5dBVT/OYl+Oen5cQkWNDziOPcvgToeAOSA8cCEDTz8fX3Sizb2wgo7W7Sbe+LY0yg== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 443bb0ab-8661-4fd5-b419-08d834f533b7 X-MS-Exchange-CrossTenant-AuthSource: VI1PR05MB5102.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2020 01:58:21.4170 (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: GUqzOb5yhfhn45YLnv4QXB0Erm+MoZKJbcKolsvjZ/s/wABgw/qzCXPteOYwVycxW26TrV48tGZjaN0i6dUe6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3997 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jianbo Liu The flow_source must be specified, even for rule without matching source vport, because some actions are only allowed in uplink. Otherwise, rule can't be offloaded and firmware syndrome happens. Fixes: 6fb0701a9cfa ("net/mlx5: E-Switch, Add support for offloading rules with no in_port") Signed-off-by: Jianbo Liu Reviewed-by: Chris Mi Reviewed-by: Roi Dayan Signed-off-by: Saeed Mahameed --- .../mellanox/mlx5/core/eswitch_offloads.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index d70d6c099582c..ed75353c56b85 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -236,6 +236,15 @@ static struct mlx5_eswitch_rep *mlx5_eswitch_get_rep(struct mlx5_eswitch *esw, return &esw->offloads.vport_reps[idx]; } +static void +mlx5_eswitch_set_rule_flow_source(struct mlx5_eswitch *esw, + struct mlx5_flow_spec *spec, + struct mlx5_esw_flow_attr *attr) +{ + if (MLX5_CAP_ESW_FLOWTABLE(esw->dev, flow_source) && + attr && attr->in_rep && attr->in_rep->vport == MLX5_VPORT_UPLINK) + spec->flow_context.flow_source = MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK; +} static void mlx5_eswitch_set_rule_source_port(struct mlx5_eswitch *esw, @@ -276,10 +285,6 @@ mlx5_eswitch_set_rule_source_port(struct mlx5_eswitch *esw, spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS; } - - if (MLX5_CAP_ESW_FLOWTABLE(esw->dev, flow_source) && - attr->in_rep->vport == MLX5_VPORT_UPLINK) - spec->flow_context.flow_source = MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK; } struct mlx5_flow_handle * @@ -377,9 +382,6 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw, flow_act.modify_hdr = attr->modify_hdr; if (split) { - if (MLX5_CAP_ESW_FLOWTABLE(esw->dev, flow_source) && - attr->in_rep->vport == MLX5_VPORT_UPLINK) - spec->flow_context.flow_source = MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK; fdb = esw_vport_tbl_get(esw, attr); } else { if (attr->chain || attr->prio) @@ -396,6 +398,8 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw, goto err_esw_get; } + mlx5_eswitch_set_rule_flow_source(esw, spec, attr); + if (mlx5_eswitch_termtbl_required(esw, attr, &flow_act, spec)) rule = mlx5_eswitch_add_termtbl_rule(esw, fdb, spec, attr, &flow_act, dest, i); @@ -462,6 +466,7 @@ mlx5_eswitch_add_fwd_rule(struct mlx5_eswitch *esw, i++; mlx5_eswitch_set_rule_source_port(esw, spec, attr); + mlx5_eswitch_set_rule_flow_source(esw, spec, attr); if (attr->outer_match_level != MLX5_MATCH_NONE) spec->match_criteria_enable |= MLX5_MATCH_OUTER_HEADERS; From patchwork Fri Jul 31 01:57:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1339196 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.a=rsa-sha256 header.s=selector1 header.b=NlougC+u; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHr6Q2Vqwz9sR4 for ; Fri, 31 Jul 2020 11:58:38 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731172AbgGaB6h (ORCPT ); Thu, 30 Jul 2020 21:58:37 -0400 Received: from mail-am6eur05on2083.outbound.protection.outlook.com ([40.107.22.83]:58208 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730989AbgGaB6f (ORCPT ); Thu, 30 Jul 2020 21:58:35 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FId0CmQtziIvFKvDjCAUsTjR22HBBEndS+Q3YTr7+WI3yt0DAW6y7vbqpbdCV3eTxTyKjrQofekbEMMYYYKtOyrsnjIuEOUwpx+mWDID7xEakBEIxnBuXGkG5wZA58lw3HjNoyzUlLDgR7iPRhdZrTffTQvsQuykNv23atfaI4CsQtZDaQ0nICUif9AUCwtwtCPhj4D/95aAtob9igfgVsSzJlaFAE7zWWE4f2LzVvttbFex8RPJMKB61onVj2RkP1Zwx0jM6r+1hxeEcOPb63le9aHTFmhkS6M/vrfsEc7HPdkyg0sLzkKxwT9bzw8Xp96wCx437c+bygsrX9fSYw== 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=X1RjUYVPITL1SKiCiRDicx9m1JcgX+HguJlgtBnAp2o=; b=gDxFftLTTJZW/IIHg05h6vXW0EAbCn/lNHilIh2NZM+mNQTyLhLjTwL7+f4KVSKsGtsKqS1QEL+BLh87uiruDrlJf4eFkzEzghTKyoXyobPVXitNWGEYj3mmId7TUemgI+r4IhM/V6HxqZoX7S20PdFMjtUhvlMRcmptKgueWGEzo+12bzF+N71dtmnsrOPh8rvpjHZUGTzF3S0aE+GvyuRA/aaD+WchzBb5Oz14yfk0H1g8vdwp0ziq3A5OjiTRfzzlcgOawnoks3MotF2XhNXSYMp0e0RtOzvc4BI2B6ll3SOIA1RBqMQR3hhFx4vBbYq2P//JG3LKSgzk8nd7jg== 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=X1RjUYVPITL1SKiCiRDicx9m1JcgX+HguJlgtBnAp2o=; b=NlougC+uez/hgBK/aJ/CRpJDjObu48yfi5/g+RiOwdtePuih+upalx18nsZrH7UeFVglHJCFB03tQl1QMGgNhJks5/CT0K+LnMjyeivKDrPh9SAgIrJtc68i2/WxSyzG2AS4Y9o1C4b++2IZm+3plZze4hywIZZJfn3Iwca0fTE= Authentication-Results: davemloft.net; dkim=none (message not signed) header.d=none;davemloft.net; dmarc=none action=none header.from=mellanox.com; Received: from VI1PR05MB5102.eurprd05.prod.outlook.com (2603:10a6:803:5e::23) by VI1PR0502MB3997.eurprd05.prod.outlook.com (2603:10a6:803:25::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Fri, 31 Jul 2020 01:58:24 +0000 Received: from VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529]) by VI1PR05MB5102.eurprd05.prod.outlook.com ([fe80::508a:d074:ad3a:3529%5]) with mapi id 15.20.3216.034; Fri, 31 Jul 2020 01:58:23 +0000 From: Saeed Mahameed To: "David S. Miller" Cc: Jakub Kicinski , netdev@vger.kernel.org, Xin Xiong , Xiyu Yang , Xin Tan , Saeed Mahameed Subject: [net 4/4] net/mlx5e: fix bpf_prog reference count leaks in mlx5e_alloc_rq Date: Thu, 30 Jul 2020 18:57:52 -0700 Message-Id: <20200731015752.28665-5-saeedm@mellanox.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200731015752.28665-1-saeedm@mellanox.com> References: <20200731015752.28665-1-saeedm@mellanox.com> X-ClientProxiedBy: BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) 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 BYAPR07CA0075.namprd07.prod.outlook.com (2603:10b6:a03:12b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16 via Frontend Transport; Fri, 31 Jul 2020 01:58:21 +0000 X-Mailer: git-send-email 2.26.2 X-Originating-IP: [73.15.39.150] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: cbfa2879-fab2-45f4-4dca-08d834f53500 X-MS-TrafficTypeDiagnostic: VI1PR0502MB3997: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3173; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U3/iOca9bWP+WylXVkfKKyTgJxek5WvQprg4f60p8u+z1VEJ0LuDNGymSQeoRMfmYfF+rKsmAn20j5FtwD5OqQJL1QRzRTNI95wcG5h7R5T19pAANzP+Zv2GYR09PXu7A4mnMeNU3o+iEBvQJuW4LIKvxi6CDkK9QruxfbBTMWhn268NCDrnNpF4oRavz89FjpN7loGxuD2OeplBXCoiVa2DeO8Y7xEyuoYo+yBoe4W+dbtnhwOyM87YhNrdLs5ucIPjzzhk3hGH0BdE7t/tSYadxfetwRNgOUZ94hEe/KZDWCU44IjSbABBluhOrcS5no8DBVWMfsAzgOCZQuj5v+XCA2BT/sJZluQUzAG+IG33lt5r9IVqjn9EttFHX8JZ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR05MB5102.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(4326008)(5660300002)(1076003)(16526019)(6506007)(6666004)(52116002)(186003)(26005)(478600001)(107886003)(6512007)(316002)(54906003)(6916009)(8936002)(36756003)(66946007)(66476007)(66556008)(2906002)(83380400001)(2616005)(956004)(86362001)(6486002)(8676002)(54420400002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: tnAU+k7ZkjNiRHPp6TNuRNqj9l9dVHKS6xCtXuhxzigmWAwxvxhxP/yw8NYAAc8TEc0vDqfRj9dI1zzRJbdRF8p5rlBz7EkBLuoc+rjqJuxAF6INh3fCrH5iqRk+p5wY6U9y5FKrglRIFfKetuQbMh7KJPL8gWuhM0MXOtJByJKwW4Ly05Rd0wWSOBtb8a7Cbw2L/oUMvmFnkNrC8kgS/yd7Nl0ANJKGVIp0KUtRTsUxzloQVqxXlJc5hYLSytfAOI0BEQQtsIH5pNcX9Sj+qt23ScrHXKvr+sB7aYBstzTAfG4/C2cPqdC+QY1PvFWDaAI8vChn20oeIX7aVtXDDwk44YUo2OdEmmXim1iv3lMRD+37uEY66d7OMWQLUllzp7IVlkTtIYGu247zOUc1ltIdRhHbFIf0kf5JMloFK/AmZSOAv76nx7duvD7bxpwLQ0H/RLWhmAPiDpY4QJrD+MavaKNxNAo65M72o+0VrLYk9+t0ULktTZ2MfrIXRwqzmKF/f3uSNhnN4Rz+6O1IlruUU12Cz8QXLBRI9cf+ZNyanRf/3IauVCXbVPLe5W/x+lS1Yx1tZUwFxj7CDRBDfWfIx3N3rBrpxE5z+byA6Mv42NN+ekqfk4RI9APK6ZtJK7uYlWq+/Xf7hESv2smZew== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: cbfa2879-fab2-45f4-4dca-08d834f53500 X-MS-Exchange-CrossTenant-AuthSource: VI1PR05MB5102.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2020 01:58:23.5630 (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: xR26mBqFCiHdB4ZC6xVc1EgCNY67wd/fksz/NYoW4TSuuX3KmS4IYLAC9qLA0qG7FSc1HrGr613+J/fcCD9x0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3997 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Xin Xiong The function invokes bpf_prog_inc(), which increases the reference count of a bpf_prog object "rq->xdp_prog" if the object isn't NULL. The refcount leak issues take place in two error handling paths. When either mlx5_wq_ll_create() or mlx5_wq_cyc_create() fails, the function simply returns the error code and forgets to drop the reference count increased earlier, causing a reference count leak of "rq->xdp_prog". Fix this issue by jumping to the error handling path err_rq_wq_destroy while either function fails. Fixes: 422d4c401edd ("net/mlx5e: RX, Split WQ objects for different RQ types") Signed-off-by: Xin Xiong Signed-off-by: Xiyu Yang Signed-off-by: Xin Tan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 07fdbea7ea13b..3b892ec301b4a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -419,7 +419,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c, err = mlx5_wq_ll_create(mdev, &rqp->wq, rqc_wq, &rq->mpwqe.wq, &rq->wq_ctrl); if (err) - return err; + goto err_rq_wq_destroy; rq->mpwqe.wq.db = &rq->mpwqe.wq.db[MLX5_RCV_DBR]; @@ -470,7 +470,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c, err = mlx5_wq_cyc_create(mdev, &rqp->wq, rqc_wq, &rq->wqe.wq, &rq->wq_ctrl); if (err) - return err; + goto err_rq_wq_destroy; rq->wqe.wq.db = &rq->wqe.wq.db[MLX5_RCV_DBR];