From patchwork Wed Aug 28 18:57:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154741 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="i5w7OPvU"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkf1kLCz9sBp for ; Thu, 29 Aug 2019 04:58:02 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727003AbfH1S6B (ORCPT ); Wed, 28 Aug 2019 14:58:01 -0400 Received: from mail-eopbgr50085.outbound.protection.outlook.com ([40.107.5.85]:52486 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726586AbfH1S57 (ORCPT ); Wed, 28 Aug 2019 14:57:59 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RogzjCvrsM4VM4EveADTCtTLbHayjD8wqj/yE/Y2n3DE7BNJI5SC7RNZGZG5LSmpf7tKvJZezNSvNz2Wkb+stkUQR+DP+p0GxH4pG4MnAZ4qYvHM/PpAnaQVz/aQwkhho4EDsvY0gLluxUTAgoIz31GH+Zjzug8ezeNLo5lWygI4AlXuVotDb5panB/8jp5K8waTEWa2s5PaHdzOBL2cMm5SJS0w0XFyFqbmaSKdqxnndDS7rUyEiAG+fswvdhp7M5Of6ZRaHRV5Rot/EoX5ygX4331vg/ogEdJq0TyYnO9lJRQ0FEmcnD/giW565/HusBepqqXg3whWCCvv+YbHGw== 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=L+lrhilh79V9cgDHTHZIVcjIeQ4DQeRUKyzMK1NeigM=; b=Xsa+7DQMUhGXv2ckR0twlmCmJjnTlX/KvQK45VVW1e96EcfbJtdpGKlOXOGqFM8ZDQEi6FjWRLgBfzuzvwbbSnrhyY6B9pVcFtoZs+1Yv5PUQUSGirFK2UuaE8rkPuGtxSKmb7fni8ucmyvoUSrk3+U5FVt6SXP6REDIBM5qFEl8xajyWWmCjNGuRcCIWDxdcBM/0PTRomTp0cZ+Ha9uNNCkdFz5iYZOKVimdd7qfS0xJ30jqZo51eI3ddZxavptGbRjyvmNH8PoQs85jIvzGSpBPOMESqkt1rmr9kRFJrGW3JINekhCzbaT/AvJhIgZBY0ErnqGJBsYg2J6OmYFIA== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L+lrhilh79V9cgDHTHZIVcjIeQ4DQeRUKyzMK1NeigM=; b=i5w7OPvUCqCsTZMiO2Crdi6zV5ggL9NDi+WlfckNli63kxqYrEYLQrRxLiQZgCUNdQYykT4jivhkXpx8GHt2+xDUnQEjebzjGA4Ul/kZan2ZBJ2EYEr+DFkXxCD6k+fs6u4hhkGJ2cGt4OLdiyDZ1ZPFsLRJ1FmbiZcGVEANwUA= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:42 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:42 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Erez Alfasi , Saeed Mahameed Subject: [net-next v2 1/8] net/mlx5e: ethtool, Fix a typo in WOL function names Thread-Topic: [net-next v2 1/8] net/mlx5e: ethtool, Fix a typo in WOL function names Thread-Index: AQHVXdJ4mPa/Muck3UWT7LoM3UIEKA== Date: Wed, 28 Aug 2019 18:57:41 +0000 Message-ID: <20190828185720.2300-2-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5663c946-3a0e-4523-ec65-08d72be99a7b x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1824; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(71190400001)(76176011)(64756008)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: aeh0Lgi7zwLyOrPTmTDDxoU3DRbvUiaEi0wbhYqAVSGrVptBcVKDcRgfEuXZ7kr+FA5fCarKM4m2TWukNA+PH5SvEAttr/dBZi8kiO3o9SQPvbNW5mXUhBWSyFYKwTyiQ2SB6qU3N7V07WIJp81hOZ9nWy5GRR/FnhugROG4dCJkjs0NaLj5anpXBr9SnnXsHplNDez7RU3Jg/nmQMVhcHsiJ+FkE/K6n3odxp7EJZXR40i59jDjB4xEf+mot4K0VkCWUrdXFiPAZWFjdhsrE9+5nbKSvh3oZfkKn4Ju79h+F8PkkCzgVo5AMDXCMkRI4p4tA17PasaIkmPKa4HIFri/o0+agmZc7OpeCHeesGP/Mf124MNOCy0971Cpgw+DfK63qHQM2yMvqsqbTHVB7XsrNpjMb77qzzFK72uefMo= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5663c946-3a0e-4523-ec65-08d72be99a7b X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:41.7850 (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: jVQSteDz7IHgf94W8vH0Hd+9jI5WLsMXEac5ByUDUKx4OcS6gMeJERb4Mn7FO0gCsiP7rjAdhGBYpd7otJ5Ocw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Erez Alfasi Fix a typo in 'mlx5e_refomrat_wol_mode_mlx5_to_linux' and 'mlx5e_refomrat_wol_mode_linux_to_mlx5' function names: "refomrat" -> "reformat". Fixes: 928cfe8745a6 ("net/mlx5e: Wake On LAN support") Signed-off-by: Erez Alfasi Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c index 7347d673f448..c5a9c20d7f00 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c @@ -1431,7 +1431,7 @@ static __u32 mlx5e_get_wol_supported(struct mlx5_core_dev *mdev) return ret; } -static __u32 mlx5e_refomrat_wol_mode_mlx5_to_linux(u8 mode) +static __u32 mlx5e_reformat_wol_mode_mlx5_to_linux(u8 mode) { __u32 ret = 0; @@ -1459,7 +1459,7 @@ static __u32 mlx5e_refomrat_wol_mode_mlx5_to_linux(u8 mode) return ret; } -static u8 mlx5e_refomrat_wol_mode_linux_to_mlx5(__u32 mode) +static u8 mlx5e_reformat_wol_mode_linux_to_mlx5(__u32 mode) { u8 ret = 0; @@ -1505,7 +1505,7 @@ static void mlx5e_get_wol(struct net_device *netdev, if (err) return; - wol->wolopts = mlx5e_refomrat_wol_mode_mlx5_to_linux(mlx5_wol_mode); + wol->wolopts = mlx5e_reformat_wol_mode_mlx5_to_linux(mlx5_wol_mode); } static int mlx5e_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) @@ -1521,7 +1521,7 @@ static int mlx5e_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) if (wol->wolopts & ~wol_supported) return -EINVAL; - mlx5_wol_mode = mlx5e_refomrat_wol_mode_linux_to_mlx5(wol->wolopts); + mlx5_wol_mode = mlx5e_reformat_wol_mode_linux_to_mlx5(wol->wolopts); return mlx5_set_port_wol(mdev, mlx5_wol_mode); } From patchwork Wed Aug 28 18:57:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154742 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="qv/YSWLC"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkk0z7Mz9sBp for ; Thu, 29 Aug 2019 04:58:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727009AbfH1S6F (ORCPT ); Wed, 28 Aug 2019 14:58:05 -0400 Received: from mail-eopbgr50073.outbound.protection.outlook.com ([40.107.5.73]:26958 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727000AbfH1S6C (ORCPT ); Wed, 28 Aug 2019 14:58:02 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gYQYwGyDrOGOtZalFto+7AjBceQnVlEVeQpycI+kkWmiwC0+zb6PUWW/9w3bwRecW+ywonO2OKIieZa4Em6f4grzKI5ECImlN57zHuA5ybFy4zHMjW++FE4EzdKSPEC4nClikEKw970Yotcvevxqf60FsRhzDe6PL4N2POVxPMrp4EWFV9nkGXAgHdqYRLY/mU4xT5LCdiXhR8tfICm7mf2VLNwvZVgdrs3rLQAKa8tNO2M39Jqz0OQ2oaamoHnIK+X6M+h3SZm9w39adisw6YUMy77RAcY3NJAVnTa+6tNMM+JMV7UC+QPJ2AkUAa5m2HMuDkPqVkOA7xd0KgAwoQ== 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=JK1nQMuxBAzF92gt1zJ+9ZccYto7Lul5RT5587Uh5YY=; b=EM8JJvW2xKF874Ps4LiSVgOTa8NVw1YKUyWzPG4LNNpEpRdQUTf7SAmcMOcfdBbTckL2kl98iogU6zsikLkdJz3570COIn9nBViUabq7gt/dvPTC+34YcQdJ+0SuBkNGZBZq23NOiFle7O871RSf/Y2ddyd93zrpALVQeIOhwPv9sFqus49PmjyGWaFTgP2NRZdd9X14NokuAkKPVF3u5BvjDES/3seBLiNIjySpWdvhgCmL7qQNlTdpPokgNdoyLcqkHWpuafaq0v5MwUXgBTy+OFQ/yuX8cl1f+D+A2Tvz6cKtDqEbca4jiDP1qljZ9aQOh+j12aPFm4ONOfrjlw== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JK1nQMuxBAzF92gt1zJ+9ZccYto7Lul5RT5587Uh5YY=; b=qv/YSWLCzode73QaJy6YZh22Ll/jv31M3I23rBptzDT20labz2igH4a70BBo+c+qbkoXK6uE689XvsR7p4UI3KEEX+zulvlkRvu5YeCCUhf/N9D96pf7jAJPDakvz7P4Gl0tYD9kOdErUtSQTHQI+8yCdDGVcItsKXBuPsfQzko= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:43 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:43 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Tariq Toukan , Saeed Mahameed Subject: [net-next v2 2/8] net/mlx5e: Expose new function for TIS destroy loop Thread-Topic: [net-next v2 2/8] net/mlx5e: Expose new function for TIS destroy loop Thread-Index: AQHVXdJ5L4OoumWxQkSEcHXyxnOg4A== Date: Wed, 28 Aug 2019 18:57:43 +0000 Message-ID: <20190828185720.2300-3-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2562dabe-6d3b-469e-9023-08d72be99b82 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(14444005)(71190400001)(76176011)(64756008)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: s+B23ebWWkKXXF94WR6u3Scrm2Q2vHC53tGGJ/8fqy0G8mHJvg4A37ebcpIEw9gH9ucIeEFd6FDsGmOQ0q/gIh6IQJGYbYB8V27KHXWCMD3dwLOy4D5xcepp0UMoLeuJWgvwSrstCic2hA2jWUv0MucgeFYRTzDbPdnrcyEkDFnl07OUPVDxgVg2HsjVhQTNJeg6jD/dyr10E42f1PBDSRUY0HWpbe9uhPP8B8S1YsIHwW49+V9JOObHl4Skbsf41AQ8JYMWhtERE6xIpfmCyco/+cWMldETB+EqhbMftpZS8gG4HgfjlRquKiJM4WB9eJJAddqhsySFwZwGFn09j+sXPj3u7+mOje9grMpcJH+Cr98UWEvfu+NYe0pumwzV6JF+oehj/Qqp+F1LTNzAlk6UmrG2m/jEH6Ld3UbGmW4= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2562dabe-6d3b-469e-9023-08d72be99b82 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:43.5562 (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: wBnzBqsfce9yL+dmZeExX8QMyP8tA5N7JHOGaHWcChB4vC9glSJ8pxmtPK67CgeStXD81TJRobMITPMWlCRZAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Tariq Toukan For better modularity and code sharing. Function internal change to be introduced in the next patches. Signed-off-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 13 +++++++++---- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 9 +++------ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index 446792799125..491c281416d0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -1107,6 +1107,7 @@ int mlx5e_create_tis(struct mlx5_core_dev *mdev, void *in, u32 *tisn); void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn); int mlx5e_create_tises(struct mlx5e_priv *priv); +void mlx5e_destroy_tises(struct mlx5e_priv *priv); int mlx5e_update_nic_rx(struct mlx5e_priv *priv); void mlx5e_update_carrier(struct mlx5e_priv *priv); int mlx5e_close(struct net_device *netdev); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 8592b98d0e70..390e614ac46e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -3179,6 +3179,14 @@ void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn) mlx5_core_destroy_tis(mdev, tisn); } +void mlx5e_destroy_tises(struct mlx5e_priv *priv) +{ + int tc; + + for (tc = 0; tc < priv->profile->max_tc; tc++) + mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); +} + int mlx5e_create_tises(struct mlx5e_priv *priv) { int err; @@ -3208,10 +3216,7 @@ int mlx5e_create_tises(struct mlx5e_priv *priv) static void mlx5e_cleanup_nic_tx(struct mlx5e_priv *priv) { - int tc; - - for (tc = 0; tc < priv->profile->max_tc; tc++) - mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); + mlx5e_destroy_tises(priv); } static void mlx5e_build_indir_tir_ctx_common(struct mlx5e_priv *priv, diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c index e7ac6233037d..1623cd32f303 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -1621,7 +1621,7 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv) { struct mlx5e_rep_priv *rpriv = priv->ppriv; struct mlx5_rep_uplink_priv *uplink_priv; - int tc, err; + int err; err = mlx5e_create_tises(priv); if (err) { @@ -1657,18 +1657,15 @@ static int mlx5e_init_rep_tx(struct mlx5e_priv *priv) tc_esw_cleanup: mlx5e_tc_esw_cleanup(&uplink_priv->tc_ht); destroy_tises: - for (tc = 0; tc < priv->profile->max_tc; tc++) - mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); + mlx5e_destroy_tises(priv); return err; } static void mlx5e_cleanup_rep_tx(struct mlx5e_priv *priv) { struct mlx5e_rep_priv *rpriv = priv->ppriv; - int tc; - for (tc = 0; tc < priv->profile->max_tc; tc++) - mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); + mlx5e_destroy_tises(priv); if (rpriv->rep->vport == MLX5_VPORT_UPLINK) { /* clean indirect TC block notifications */ From patchwork Wed Aug 28 18:57:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154745 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="fmUzZmyQ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkr4rH6z9sBp for ; Thu, 29 Aug 2019 04:58:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727020AbfH1S6I (ORCPT ); Wed, 28 Aug 2019 14:58:08 -0400 Received: from mail-eopbgr50085.outbound.protection.outlook.com ([40.107.5.85]:52486 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726836AbfH1S6G (ORCPT ); Wed, 28 Aug 2019 14:58:06 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THa1tCJc+fhilOLK1PbzyXsisRnOHSCeTXZuk9sdRXL0t72W7prvOmt6ROrrhcPTplMj0Bc6riAknUZwb5eh/Vk44v5RVECOLgav+lu6j18ErxO4dZDhoY2IDaieALungTQobo+wBJhS7rXbrhp3IuhZBqTqifgmhNF0SLdWuUFh9OTL81hxfxtqxdf3jcy9VD07HdspImJmCbLrnm5JDlbKsMRkXUHTecWDLJ7s9JKXKugAsA03GU1bKRFpD+ImFyLzzL1J2O7pY/+kZZ7VrCZY3CafcVkanM0/AoHi3oBLTKPZz2whXn6DGYG3+5yFiuxLAVbO9RbkczaTcnvyJQ== 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=ATpDfRvHTB5Ze4q//4C/P/Z5Qjfg5ee/yoS3bPbM+Bg=; b=LNDcaiIMDf0/6OXWP0rDiFLRWX6OoiqknCEKgge1RKE9tiEMDrMlXEVruQkC/A1xr30o71/bIyTlhiiIyht0Yq+B46Mu1VnNgJoM+pBfCXv/lrD6HbRDnnd6xJJzyiy4NC4GuHDrtLqyG5B9NOtgjhWast2RctIKEKRTORxI9nVxDNm6rKd3YghqGUwJ+mJoyDvzn7tJzv4Bjd+cSI89gIvUbjFZIr8+J2iUNhJx37jePS27tvIyP0swMrmtMtE839h3uRlT74cgUQ/A9ZIUDwnunhg6dnS1L1Gq2cbUcH7wpcmLMzC6frpHL6/7QCxfru5gRrw1iLVWjnQTybXuUQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ATpDfRvHTB5Ze4q//4C/P/Z5Qjfg5ee/yoS3bPbM+Bg=; b=fmUzZmyQ1Gk3/xlHUc9jrPwwnrHOxHeRFGCsvU1Javgqk/C5kGBG+504fTEgOQzzWdCKuESz72KVwNRguqqtNc4aZ70Rp91OF7U+iEGHhHmHPtEg3SsooCtvP4AUX4c5/vHkDN2qLn6n5JkdC3Xk8fBskR+BOs+G2SMw1bMGyGY= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:45 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:45 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Maxim Mikityanskiy , Tariq Toukan , Mark Bloch , Saeed Mahameed Subject: [net-next v2 3/8] net/mlx5e: Support LAG TX port affinity distribution Thread-Topic: [net-next v2 3/8] net/mlx5e: Support LAG TX port affinity distribution Thread-Index: AQHVXdJ6+QSRUrWvkk6U+5RUwV0urA== Date: Wed, 28 Aug 2019 18:57:45 +0000 Message-ID: <20190828185720.2300-4-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 24f06fa4-db3d-4447-0208-08d72be99cc3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2150; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(5024004)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(14444005)(71190400001)(76176011)(64756008)(99286004)(309714004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: KyZs+5rcvoOQBYfARGRrWMzr980/6J44aQWbJPfoJFTADbZDsSzk+OCFPFY8wb7Uo2AcBqkHjFyKcyiPt5qh7FljYfSikper10XddHEpXhjXamVmmmVenqZk9ZvLTuC6DWeUBm3LT8/8bMi9w91glTSVR/nkNbV4moig5twAwDvggLXpQnKL1fe2mkXaYRwFQhIuS4BoGY224G7qfvEPI0o+puIm+oc6NkaWTC8MDO7XNPxlvuF9VRHHVekuuRRYiC2pY8Q/fY8Hzj0VPQYJvIIxLRyw8pX1/AeFLSkkefDUKGsSKWaDoNLIcqqk1ZKz3EfiAh+4mzLUVk/bjcGaCuJrk4ggzpX9XqPqT/MyDIKOtqG1A8rkf38ybuUv+3hU/BApB1ceonFQPkkp/1V6FPvjtT0yBfTpkkLPfRoPDyY= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24f06fa4-db3d-4447-0208-08d72be99cc3 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:45.5583 (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: Pe7xtY6r0EJNc3EXAHsamaMKtO8w52a1+t2tcCLv0AALYidGfPCwXmXK6yzdRe4i9snRNYPcjYUIebooA81XcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maxim Mikityanskiy When the VF LAG is in use, round-robin the TX affinity of channels among the different ports, if supported by the firmware. Create a set of TISes per port, while doing round-robin of the channels over the different sets. Let all SQs of a channel share the same set of TISes. If lag_tx_port_affinity HCA cap bit is supported, num_lag_ports > 1 and we aren't the LACP owner (PF in the regular use), assign the affinities, otherwise use tx_affinity == 0 in TIS context to let the FW assign the affinities itself. The TISes of the LACP owner are mapped only to the native physical port. For VFs, the starting port for round-robin is determined by its vhca_id, because a VF may have only one channel if attached to a single-core VM. Signed-off-by: Maxim Mikityanskiy Signed-off-by: Tariq Toukan Signed-off-by: Mark Bloch Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 11 +++- .../net/ethernet/mellanox/mlx5/core/en_main.c | 54 +++++++++++++------ .../ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 4 +- .../mellanox/mlx5/core/ipoib/ipoib_vlan.c | 6 +-- 4 files changed, 53 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index 491c281416d0..e03f973c962f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -163,6 +163,14 @@ enum mlx5e_rq_group { #define MLX5E_NUM_RQ_GROUPS(g) (1 + MLX5E_RQ_GROUP_##g) }; +static inline u8 mlx5e_get_num_lag_ports(struct mlx5_core_dev *mdev) +{ + if (mlx5_lag_is_lacp_owner(mdev)) + return 1; + + return clamp_t(u8, MLX5_CAP_GEN(mdev, num_lag_ports), 1, MLX5_MAX_PORTS); +} + static inline u16 mlx5_min_rx_wqes(int wq_type, u32 wq_size) { switch (wq_type) { @@ -705,6 +713,7 @@ struct mlx5e_channel { struct net_device *netdev; __be32 mkey_be; u8 num_tc; + u8 lag_port; /* XDP_REDIRECT */ struct mlx5e_xdpsq xdpsq; @@ -818,7 +827,7 @@ struct mlx5e_priv { struct mlx5e_rq drop_rq; struct mlx5e_channels channels; - u32 tisn[MLX5E_MAX_NUM_TC]; + u32 tisn[MLX5_MAX_PORTS][MLX5E_MAX_NUM_TC]; struct mlx5e_rqt indir_rqt; struct mlx5e_tir indir_tir[MLX5E_NUM_INDIR_TIRS]; struct mlx5e_tir inner_indir_tir[MLX5E_NUM_INDIR_TIRS]; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 390e614ac46e..2786f5b8057d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -1442,7 +1442,7 @@ int mlx5e_open_xdpsq(struct mlx5e_channel *c, struct mlx5e_params *params, return err; csp.tis_lst_sz = 1; - csp.tisn = c->priv->tisn[0]; /* tc = 0 */ + csp.tisn = c->priv->tisn[c->lag_port][0]; /* tc = 0 */ csp.cqn = sq->cq.mcq.cqn; csp.wq_ctrl = &sq->wq_ctrl; csp.min_inline_mode = sq->min_inline_mode; @@ -1692,7 +1692,7 @@ static int mlx5e_open_sqs(struct mlx5e_channel *c, for (tc = 0; tc < params->num_tc; tc++) { int txq_ix = c->ix + tc * priv->max_nch; - err = mlx5e_open_txqsq(c, c->priv->tisn[tc], txq_ix, + err = mlx5e_open_txqsq(c, c->priv->tisn[c->lag_port][tc], txq_ix, params, &cparam->sq, &c->sq[tc], tc); if (err) goto err_close_sqs; @@ -1926,6 +1926,13 @@ static void mlx5e_close_queues(struct mlx5e_channel *c) mlx5e_close_cq(&c->icosq.cq); } +static u8 mlx5e_enumerate_lag_port(struct mlx5_core_dev *mdev, int ix) +{ + u16 port_aff_bias = mlx5_core_is_pf(mdev) ? 0 : MLX5_CAP_GEN(mdev, vhca_id); + + return (ix + port_aff_bias) % mlx5e_get_num_lag_ports(mdev); +} + static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix, struct mlx5e_params *params, struct mlx5e_channel_param *cparam, @@ -1960,6 +1967,7 @@ static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix, c->xdp = !!params->xdp_prog; c->stats = &priv->channel_stats[ix].ch; c->irq_desc = irq_to_desc(irq); + c->lag_port = mlx5e_enumerate_lag_port(priv->mdev, ix); err = mlx5e_alloc_xps_cpumask(c, params); if (err) @@ -3181,35 +3189,49 @@ void mlx5e_destroy_tis(struct mlx5_core_dev *mdev, u32 tisn) void mlx5e_destroy_tises(struct mlx5e_priv *priv) { - int tc; + int tc, i; - for (tc = 0; tc < priv->profile->max_tc; tc++) - mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); + for (i = 0; i < mlx5e_get_num_lag_ports(priv->mdev); i++) + for (tc = 0; tc < priv->profile->max_tc; tc++) + mlx5e_destroy_tis(priv->mdev, priv->tisn[i][tc]); +} + +static bool mlx5e_lag_should_assign_affinity(struct mlx5_core_dev *mdev) +{ + return MLX5_CAP_GEN(mdev, lag_tx_port_affinity) && mlx5e_get_num_lag_ports(mdev) > 1; } int mlx5e_create_tises(struct mlx5e_priv *priv) { + int tc, i; int err; - int tc; - for (tc = 0; tc < priv->profile->max_tc; tc++) { - u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {}; - void *tisc; + for (i = 0; i < mlx5e_get_num_lag_ports(priv->mdev); i++) { + for (tc = 0; tc < priv->profile->max_tc; tc++) { + u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {}; + void *tisc; - tisc = MLX5_ADDR_OF(create_tis_in, in, ctx); + tisc = MLX5_ADDR_OF(create_tis_in, in, ctx); - MLX5_SET(tisc, tisc, prio, tc << 1); + MLX5_SET(tisc, tisc, prio, tc << 1); - err = mlx5e_create_tis(priv->mdev, in, &priv->tisn[tc]); - if (err) - goto err_close_tises; + if (mlx5e_lag_should_assign_affinity(priv->mdev)) + MLX5_SET(tisc, tisc, lag_tx_port_affinity, i + 1); + + err = mlx5e_create_tis(priv->mdev, in, &priv->tisn[i][tc]); + if (err) + goto err_close_tises; + } } return 0; err_close_tises: - for (tc--; tc >= 0; tc--) - mlx5e_destroy_tis(priv->mdev, priv->tisn[tc]); + for (; i >= 0; i--) { + for (tc--; tc >= 0; tc--) + mlx5e_destroy_tis(priv->mdev, priv->tisn[i][tc]); + tc = priv->profile->max_tc; + } return err; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c index 1a2560e3bf7c..3ed8ab2d703d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c @@ -279,7 +279,7 @@ static int mlx5i_init_tx(struct mlx5e_priv *priv) return err; } - err = mlx5i_create_tis(priv->mdev, ipriv->qp.qpn, &priv->tisn[0]); + err = mlx5i_create_tis(priv->mdev, ipriv->qp.qpn, &priv->tisn[0][0]); if (err) { mlx5_core_warn(priv->mdev, "create tis failed, %d\n", err); goto err_destroy_underlay_qp; @@ -296,7 +296,7 @@ static void mlx5i_cleanup_tx(struct mlx5e_priv *priv) { struct mlx5i_priv *ipriv = priv->ppriv; - mlx5e_destroy_tis(priv->mdev, priv->tisn[0]); + mlx5e_destroy_tis(priv->mdev, priv->tisn[0][0]); mlx5i_destroy_underlay_qp(priv->mdev, &ipriv->qp); } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c index c5a491e22e55..96e64187c089 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c @@ -210,7 +210,7 @@ static int mlx5i_pkey_open(struct net_device *netdev) goto err_unint_underlay_qp; } - err = mlx5i_create_tis(mdev, ipriv->qp.qpn, &epriv->tisn[0]); + err = mlx5i_create_tis(mdev, ipriv->qp.qpn, &epriv->tisn[0][0]); if (err) { mlx5_core_warn(mdev, "create child tis failed, %d\n", err); goto err_remove_rx_uderlay_qp; @@ -228,7 +228,7 @@ static int mlx5i_pkey_open(struct net_device *netdev) return 0; err_clear_state_opened_flag: - mlx5e_destroy_tis(mdev, epriv->tisn[0]); + mlx5e_destroy_tis(mdev, epriv->tisn[0][0]); err_remove_rx_uderlay_qp: mlx5_fs_remove_rx_underlay_qpn(mdev, ipriv->qp.qpn); err_unint_underlay_qp: @@ -257,7 +257,7 @@ static int mlx5i_pkey_close(struct net_device *netdev) mlx5i_uninit_underlay_qp(priv); mlx5e_deactivate_priv_channels(priv); mlx5e_close_channels(&priv->channels); - mlx5e_destroy_tis(mdev, priv->tisn[0]); + mlx5e_destroy_tis(mdev, priv->tisn[0][0]); unlock: mutex_unlock(&priv->state_lock); return 0; From patchwork Wed Aug 28 18:57:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154743 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="Twswy+3C"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkn4dGnz9sBp for ; Thu, 29 Aug 2019 04:58:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727025AbfH1S6I (ORCPT ); Wed, 28 Aug 2019 14:58:08 -0400 Received: from mail-eopbgr50073.outbound.protection.outlook.com ([40.107.5.73]:26958 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727004AbfH1S6H (ORCPT ); Wed, 28 Aug 2019 14:58:07 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RJ5UxuL7XLZieBWYkXmWdfQhDzDU/yLEsd/iyI25+7A0ncnI71WszxEnI175ay/aCxnYQTtf+J77X02/CgqTLas75LnOaC8pY6wR5RgEE+I2fkGhDWqQJNo43SIRegvGum4EStb4aWsY0hKFiYmWuS15FCKTJuCyiuNlHzKQ+USeByo8T/vTYN97ULKuR6jjk2nwtgW9jC27CzQoYY2d3U1tOl9a4K/EtSKO7DMM2lXSRm/feHcsTfgMT2k5c4nBCi0qko3+E5ZsmyrbA/mpLRTgzUdgw/esmdfqIuLq2Ib8HYvDSASy8I8Q2cQOZZG5p9WM6Ux8l1TreRQT0xGV/A== 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=osVGCURc4ZTGgXqZnka6ErWstaEuIAGAt/KI3m4ij5w=; b=CW0CsUjc/HqaKxHAlFuv8ITC1yTVrm98jaU+Z87iFKXt9cNXlBTMHw28cIpxTBWz2bcuCEfp4nabc0+elGY+Sq5CecArv57ukE7fvL68p7DNVOVuf9TxHYHXtFk9fdfyH8WyTH0QPz+yfKsbHL5/e5SGcKCl2nM5gio95Rm3mNX9WfzYhkFCUzfpaFZZUKcCBz4I+AI5U9gbcMnK7Tm/s8JgE6M7lE6fATq6yeOcP2PuUDsWwnu2neywJUlzN+wngMjttaDPKJYVfTXhP+CyzDYSNUpKQZRiih+9Wna+JMpJeOqN4gIVgokjQ8vh/7WjQfCPKE9VjTns2jf1FUleKQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=osVGCURc4ZTGgXqZnka6ErWstaEuIAGAt/KI3m4ij5w=; b=Twswy+3CJS/SVzM3TEce0H9zilEj5MCyVyqFTy8alqHN72/b5crBzeb7dBGHg8YjMYnro/cBUHaq/VMXASOWoQDUY7CGzVj5p1chR3Z2XE0OahaVeeqi3lXibxRa/cY5qJq/OECxX9vARjxXFbHiyIggcS7gBfZ8PJ/n1/c95k8= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:47 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:47 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Moshe Shemesh , Saeed Mahameed Subject: [net-next v2 4/8] net/mlx5e: Add device out of buffer counter Thread-Topic: [net-next v2 4/8] net/mlx5e: Add device out of buffer counter Thread-Index: AQHVXdJ74yJNDVRKWUKx5FlhsPiA8g== Date: Wed, 28 Aug 2019 18:57:47 +0000 Message-ID: <20190828185720.2300-5-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a9ec0fbc-081c-4e6f-a56e-08d72be99dd2 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2150; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(14444005)(71190400001)(76176011)(64756008)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 5sSqBNJudWFxFCxvOXFR34YIHikGmoSUYY6qtus8ZdRX+umWLozuH0IT9YP1vLfO7SrYkFZixNf0RBiSYkOp9EZZozVdy20PZKp4RZxIjcjjOCkJqMD4B+Bcu0NCcHkwmgOQqZ+JmWSyeT2a+OYWuHU4iArH627C96OpZnAxs+Etdk4J+xPgvvr5pluAOxk2yvUUeMLFA7YcmUHz/rsQKnPFeqEaA8ijX4jWjs5VHWruGbAlLkh7GhZCtElmjH7YX4f61CAC3dFoyoPWvOb6NTVVkAU+w4YFdXg9K80YET2W4Bw8vejjafnDqCV42iJkbsf6l4Efst/46go+RCSxiAYT5dKZKvtfJmW4827xXqhT44Zoj7GrKg28Yv0S9a1HSVpIurxTk7MKlEb/hfs3DXt1Btn+DqCgtYeQ4ikU5FQ= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9ec0fbc-081c-4e6f-a56e-08d72be99dd2 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:47.5035 (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: 2ksw7ZAfpU8LxyqPAFcEWXWWLdbNDoiSE0bLA7qdeNY/IWeL08Q/bbimDuIzMnwc2d5hC6UIb5Kkz1PLhuRBWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Moshe Shemesh Added the following packets drop counter: Device out of buffer - counts packets which were dropped due to full device internal receive queue. This counter will be shown on ethtool as a new counter called dev_out_of_buffer. The counter is read from FW by command QUERY_VNIC_ENV. Signed-off-by: Moshe Shemesh Signed-off-by: Saeed Mahameed --- .../ethernet/mellanox/mlx5/core/en_stats.c | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c index 18e4c162256a..f1065e78086a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -369,17 +369,27 @@ static void mlx5e_grp_q_update_stats(struct mlx5e_priv *priv) } #define VNIC_ENV_OFF(c) MLX5_BYTE_OFF(query_vnic_env_out, c) -static const struct counter_desc vnic_env_stats_desc[] = { +static const struct counter_desc vnic_env_stats_steer_desc[] = { { "rx_steer_missed_packets", VNIC_ENV_OFF(vport_env.nic_receive_steering_discard) }, }; -#define NUM_VNIC_ENV_COUNTERS ARRAY_SIZE(vnic_env_stats_desc) +static const struct counter_desc vnic_env_stats_dev_oob_desc[] = { + { "dev_internal_queue_oob", + VNIC_ENV_OFF(vport_env.internal_rq_out_of_buffer) }, +}; + +#define NUM_VNIC_ENV_STEER_COUNTERS(dev) \ + (MLX5_CAP_GEN(dev, nic_receive_steering_discard) ? \ + ARRAY_SIZE(vnic_env_stats_steer_desc) : 0) +#define NUM_VNIC_ENV_DEV_OOB_COUNTERS(dev) \ + (MLX5_CAP_GEN(dev, vnic_env_int_rq_oob) ? \ + ARRAY_SIZE(vnic_env_stats_dev_oob_desc) : 0) static int mlx5e_grp_vnic_env_get_num_stats(struct mlx5e_priv *priv) { - return MLX5_CAP_GEN(priv->mdev, nic_receive_steering_discard) ? - NUM_VNIC_ENV_COUNTERS : 0; + return NUM_VNIC_ENV_STEER_COUNTERS(priv->mdev) + + NUM_VNIC_ENV_DEV_OOB_COUNTERS(priv->mdev); } static int mlx5e_grp_vnic_env_fill_strings(struct mlx5e_priv *priv, u8 *data, @@ -387,12 +397,13 @@ static int mlx5e_grp_vnic_env_fill_strings(struct mlx5e_priv *priv, u8 *data, { int i; - if (!MLX5_CAP_GEN(priv->mdev, nic_receive_steering_discard)) - return idx; + for (i = 0; i < NUM_VNIC_ENV_STEER_COUNTERS(priv->mdev); i++) + strcpy(data + (idx++) * ETH_GSTRING_LEN, + vnic_env_stats_steer_desc[i].format); - for (i = 0; i < NUM_VNIC_ENV_COUNTERS; i++) + for (i = 0; i < NUM_VNIC_ENV_DEV_OOB_COUNTERS(priv->mdev); i++) strcpy(data + (idx++) * ETH_GSTRING_LEN, - vnic_env_stats_desc[i].format); + vnic_env_stats_dev_oob_desc[i].format); return idx; } @@ -401,12 +412,13 @@ static int mlx5e_grp_vnic_env_fill_stats(struct mlx5e_priv *priv, u64 *data, { int i; - if (!MLX5_CAP_GEN(priv->mdev, nic_receive_steering_discard)) - return idx; - - for (i = 0; i < NUM_VNIC_ENV_COUNTERS; i++) + for (i = 0; i < NUM_VNIC_ENV_STEER_COUNTERS(priv->mdev); i++) data[idx++] = MLX5E_READ_CTR64_BE(priv->stats.vnic.query_vnic_env_out, - vnic_env_stats_desc, i); + vnic_env_stats_steer_desc, i); + + for (i = 0; i < NUM_VNIC_ENV_DEV_OOB_COUNTERS(priv->mdev); i++) + data[idx++] = MLX5E_READ_CTR32_BE(priv->stats.vnic.query_vnic_env_out, + vnic_env_stats_dev_oob_desc, i); return idx; } From patchwork Wed Aug 28 18:57:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154738 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="YDIHN58W"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkY0j1kz9sBp for ; Thu, 29 Aug 2019 04:57:57 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726839AbfH1S5z (ORCPT ); Wed, 28 Aug 2019 14:57:55 -0400 Received: from mail-eopbgr10058.outbound.protection.outlook.com ([40.107.1.58]:44526 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726586AbfH1S5z (ORCPT ); Wed, 28 Aug 2019 14:57:55 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QwexwYd7PKj2bQAfwwF8IsaKZleoaXVNHTErrCpl8QPPMUCW9Er4AdjF32ZgAWNLQQInu9HO/I+0Iwhpuk2IyH51gwVmPgs03RQs1LH5xBR0YAz5IVs4tawjt0cOYLp52LhmSfSLofo4ndskhKm/+e+eTvCUUxKf5j0Rqe5MhJgpnhONqwFZZgtwx5iqCXEFlmAku76xl/TCLLz0wU7Q93rplS4slD5LlxWPnNCk28gv8SzY/z3JHABa5ERG+kYkZU93VtoIFF4gUfDs2sCxzTY/UK8NPaO5sVVa2LvElJOfB5T10t71FKqkkKA3njB6O9OzUm8qyWVUMQ5OqujJNA== 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=MBRVWyl73DBNjOx+wi68Gw4HbRS07CN+Sy5uOk2Np8Y=; b=SxnQwMGPgDJJ2lDb1u3pknFe3anDRorVqN+4TY35ZrLy4uam+poBIBRXdSgph3UOa9nGATR9Qz5xtH+pi7csrvhCBTXF+7kEpkiPi9r6cMPJLGpA7KPyVaPgu7D3VT00PHZ/S63mQqYT3W93YgUBITakXffdTaYqxrMhBxppsj9qRHLqrE6Zws/ZAbT8nxskDNXRy3DbA6YNghKaZ+OPj6eef9StBhNraiDem138u6UbYkui3RrF2rr9dXz9D5SSc4XP6Kc46ybZnh+snDdYKJYQJj/A0qu/vReNBW5pKiSXEC+JxjNHpO2Ovlq3PiTM+ooxamutSmG7GnTV9q+Pag== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MBRVWyl73DBNjOx+wi68Gw4HbRS07CN+Sy5uOk2Np8Y=; b=YDIHN58WgGGV4hPeWhv+4m4Fh3FEHJKQJ1S3k49bLzFnE21SrBYf9LiEtXmVYEs0vAjoLhjpZP4g8m5mr+YaYZRn4+No5RsQdwGCiq9hIMHWwQ08PP+qBa+szWcwk/TX8E8/KPgxXx43/pq2t5sKzm6xlsf6CUXMDB2QpsaFJgM= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2751.eurprd05.prod.outlook.com (10.172.82.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:49 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:49 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Aya Levin , Tariq Toukan , Saeed Mahameed Subject: [net-next v2 5/8] net/mlx5e: Change function's position to a more fitting file Thread-Topic: [net-next v2 5/8] net/mlx5e: Change function's position to a more fitting file Thread-Index: AQHVXdJ87JcQpQazCEawa0NBL8EWxQ== Date: Wed, 28 Aug 2019 18:57:49 +0000 Message-ID: <20190828185720.2300-6-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5aa924b4-4ffd-418d-fcd2-08d72be99f1e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2751; x-ms-traffictypediagnostic: VI1PR0501MB2751: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:590; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(39860400002)(346002)(376002)(366004)(396003)(199004)(189003)(66446008)(99286004)(81166006)(6506007)(386003)(81156014)(86362001)(8676002)(26005)(6116002)(2906002)(71200400001)(25786009)(76176011)(1076003)(102836004)(71190400001)(36756003)(186003)(7736002)(66066001)(107886003)(8936002)(52116002)(256004)(14444005)(64756008)(4326008)(54906003)(478600001)(316002)(14454004)(6916009)(50226002)(5660300002)(3846002)(66946007)(6436002)(11346002)(6486002)(6512007)(446003)(486006)(2616005)(476003)(66476007)(53936002)(66556008)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2751; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 3S8wFf0MJYESNJCWfx/KMO7uy5SSA7/zUQ3QQT9p6f6o4I9I0UDLxiJUJH8tbECELHKvFGnxRExgbQgQvosiPzUB41qhcwHiMVQ2cYAxFRI2TfqqLIwzQpANk0Ywz5K78i6OiJJe2KAbUo2Yrm98WTW1kFIZ7NeA/jzF9wLGQqfFwKwSgUmOvtdNWj4xVwwFCavox2ou4xe9k7sgXhJBcjxNm5bkqSIXc7Hwyqj6vooQUMED5kFiVWuQE1vbOpEmxhilaEyGTN5sy0bqAqlSeTxXQGKSRxmH0hqooJYkKdY/7L+M4480ZHw/JnV6GLv6//lbxtHPizD+2e8YA8koUODPpYtaiDZBsxYvJJCcxYz3KUd6HiRVehTMN4jaetrECKXmcRPivs1dZ41MHgaI8+O5JaTaS7Wq+jttb3rmKGw= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5aa924b4-4ffd-418d-fcd2-08d72be99f1e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:49.6075 (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: xHQFe53KeDBPPPXWwMdxPBnju6oHOX/Dl+m/VJw3hMqiqvR9iamMDclzSqMFBbo9sYmQyXrUdWUG414i6U4NHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2751 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Aya Levin Move function which indicates whether tunnel inner flow table is supported from en.h to en_fs.c. It fits better right after tunnel protocol rules definitions. Signed-off-by: Aya Levin Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 6 ------ drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 2 ++ drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 6 ++++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en.h b/drivers/net/ethernet/mellanox/mlx5/core/en.h index e03f973c962f..8d76452cacdc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -1065,12 +1065,6 @@ int mlx5e_modify_sq(struct mlx5_core_dev *mdev, u32 sqn, void mlx5e_activate_txqsq(struct mlx5e_txqsq *sq); void mlx5e_tx_disable_queue(struct netdev_queue *txq); -static inline bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev) -{ - return (MLX5_CAP_ETH(mdev, tunnel_stateless_gre) && - MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ft_field_support.inner_ip_version)); -} - static inline bool mlx5_tx_swp_supported(struct mlx5_core_dev *mdev) { return MLX5_CAP_ETH(mdev, swp) && diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h index ca2161b42c7f..5acd982ff228 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h @@ -98,6 +98,8 @@ enum mlx5e_tunnel_types { MLX5E_NUM_TUNNEL_TT, }; +bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev); + /* L3/L4 traffic type classifier */ struct mlx5e_ttc_table { struct mlx5e_flow_table ft; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index 76cc10e44080..a8340e4fb0b9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -749,6 +749,12 @@ static struct mlx5e_etype_proto ttc_tunnel_rules[] = { }, }; +bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev) +{ + return (MLX5_CAP_ETH(mdev, tunnel_stateless_gre) && + MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ft_field_support.inner_ip_version)); +} + static u8 mlx5e_etype_to_ipv(u16 ethertype) { if (ethertype == ETH_P_IP) From patchwork Wed Aug 28 18:57:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154740 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="SLrnB+m+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkc39Blz9sMr for ; Thu, 29 Aug 2019 04:58:00 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726965AbfH1S57 (ORCPT ); Wed, 28 Aug 2019 14:57:59 -0400 Received: from mail-eopbgr10058.outbound.protection.outlook.com ([40.107.1.58]:44526 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726836AbfH1S55 (ORCPT ); Wed, 28 Aug 2019 14:57:57 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jm6D0e+inXrt45NFi0hMKjln3lGEWbOHxFKjOwAknyxh2QgUdWEweIxU32Kra/hReA+FQA7GKWodeDO7oKkLE7x4osWnZj0EFbPFDVUJyvwrv5gmyFAIf57fBaQYqlphwd+rgEfFv4Bw2ZuLntI8UlG0y4b0jfWtAwjhxzPDIlpCrZluBo+e8mIqXmcUnFaxuQOt8E+ohxVdA7iWneyFcvtIrLD93vtFRIojtFS5sox182unh7t+1t23oI2e47I3JraPRIuuwqUr0s23C4IpcMP7ighCQHnF5cKlqzFx5PncOfLx7seZOqWfnnZ87orF9H/y/UbrKTJMkJLepXMgyw== 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=Stpclvb9lMU/JnALQuSnh9Pl+ZLnTiTiw4FM7nTjNNk=; b=BHwf0tkEdEukATCCkrG+v2CKDF+IuQ9s6r21okWcs40rGi6xGunKYEBY7eWO1iq3x/L499u0B/dE5OE13cQLqYBePoqQ8zGqPj0cIhnGO6u0wum9GLpWarOQU+KEWZ1VSddmKLKlQUsbQFDJ2gW94nKc93mLbABmaLQR4r77W0C0gfimIpvtZwHlQ1/WwLagV4gMzliWC9/98ndRZ0lQOoIwTQpe9V2pl5lWte+ILt425/NOeIFIVdZpLmcelTQncoPDer2mOHbMto/PMDiAHgr+TCBguqfvfTQUZw3bdku+m7oaw6ijK7PdEgMDr/zK42MmmQHLGB5/Cqwy8TL7sA== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Stpclvb9lMU/JnALQuSnh9Pl+ZLnTiTiw4FM7nTjNNk=; b=SLrnB+m+tyCB2dHc4tkTeYQZfkfYmfHimiil4pl6BMsgpi4yGNbB4jbfmYJ6/r0yBTDcIStrE7RkIXsRGqP6JvVtQep8gNDyvJ4Y5kXXvmq9/xOb7xb9pCFsbeYhxiWBLwSvHpo7R9X0R5ZsoZtf0bOk6cguCsmqk4lXYZeuChA= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2751.eurprd05.prod.outlook.com (10.172.82.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:52 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:51 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Aya Levin , Tariq Toukan , Saeed Mahameed Subject: [net-next v2 6/8] net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets Thread-Topic: [net-next v2 6/8] net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets Thread-Index: AQHVXdJ+nxDh3Z7DfEKlS5f7hlj/Iw== Date: Wed, 28 Aug 2019 18:57:51 +0000 Message-ID: <20190828185720.2300-7-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8579de16-9306-49e8-9a1e-08d72be9a05d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2751; x-ms-traffictypediagnostic: VI1PR0501MB2751: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(39860400002)(346002)(376002)(366004)(396003)(199004)(189003)(66446008)(99286004)(81166006)(6506007)(386003)(81156014)(86362001)(8676002)(26005)(6116002)(2906002)(71200400001)(25786009)(76176011)(1076003)(102836004)(71190400001)(36756003)(186003)(7736002)(66066001)(107886003)(8936002)(52116002)(256004)(14444005)(64756008)(4326008)(54906003)(478600001)(316002)(14454004)(6916009)(50226002)(5660300002)(3846002)(66946007)(6436002)(11346002)(6486002)(6512007)(446003)(486006)(2616005)(476003)(66476007)(53936002)(66556008)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2751; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: WMiFXsOgKhTqAbYFOIxSIiKpZSTFvdmToTMPms3BeLm5/OULelyVTmc84+1FYW26uGBDwkxZJrksz5deDGhhsVfH288UlBafRLYRruhUI7nu9bXj6hwiIchyBtPUPzFlb2u6auIGSKgVNpUMyDylxLojsgbZXJvQibnv7SuTwxIa+GrA+P+9isM26ZR8wAfgU9QzklGzCyaqoSDW7e9M/5m/ZYfizRx7cg8UkPs1847pxhw+o7vBM3ZtmN72Em2azwVj7MEfoHlRP9uuHwY82pE1DFBsf3N7fyQ6bESdT/PEf/DDP/vEhIEzeTxp5Lv9XoQj7w6LOdbTKhG1YgPFygrHm4xM+Msvtce6PT7wGKLfPCLUmpqeS8xYd0q5BISjMYHUsT9D+lRawXkdXMuwwbSLHohVOPKe8N+df5fqKHU= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8579de16-9306-49e8-9a1e-08d72be9a05d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:51.7796 (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: fjrafORlNbAD6iJ3IHWQpFa+XGh569hMRfHPWuAgT/rOoChV4Ri7pnRyhYrm1Qsjhl33/K6Aht2Kw0aHIVN0dg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2751 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Aya Levin Add support for inner header RSS on IP-in-IP and IPv6 tunneled packets. Add rules to the steering table regarding outer IP header, with IPv4/6->IP-in-IP. Tunneled packets with protocol numbers: 0x4 (IP-in-IP) and 0x29 (IPv6) are RSS-ed on the inner IP header. Separate FW dependencies between flow table inner IP capabilities and GRE offload support. Allowing this feature even if GRE offload is not supported. Tested with multi stream TCP traffic tunneled with IPnIP. Verified that: Without this patch, only a single RX ring was processing the traffic. With this patch, multiple RX rings were processing the traffic. Verified with and without GRE offload support. Signed-off-by: Aya Levin Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- .../net/ethernet/mellanox/mlx5/core/en/fs.h | 4 ++ .../net/ethernet/mellanox/mlx5/core/en_fs.c | 46 ++++++++++++++++++- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h index 5acd982ff228..5aae3a7a5497 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h @@ -95,6 +95,10 @@ struct mlx5e_tirc_config { enum mlx5e_tunnel_types { MLX5E_TT_IPV4_GRE, MLX5E_TT_IPV6_GRE, + MLX5E_TT_IPV4_IPIP, + MLX5E_TT_IPV6_IPIP, + MLX5E_TT_IPV4_IPV6, + MLX5E_TT_IPV6_IPV6, MLX5E_NUM_TUNNEL_TT, }; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index a8340e4fb0b9..b99b17957543 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -747,11 +747,52 @@ static struct mlx5e_etype_proto ttc_tunnel_rules[] = { .etype = ETH_P_IPV6, .proto = IPPROTO_GRE, }, + [MLX5E_TT_IPV4_IPIP] = { + .etype = ETH_P_IP, + .proto = IPPROTO_IPIP, + }, + [MLX5E_TT_IPV6_IPIP] = { + .etype = ETH_P_IPV6, + .proto = IPPROTO_IPIP, + }, + [MLX5E_TT_IPV4_IPV6] = { + .etype = ETH_P_IP, + .proto = IPPROTO_IPV6, + }, + [MLX5E_TT_IPV6_IPV6] = { + .etype = ETH_P_IPV6, + .proto = IPPROTO_IPV6, + }, + }; +static bool mlx5e_tunnel_proto_supported(struct mlx5_core_dev *mdev, u8 proto_type) +{ + switch (proto_type) { + case IPPROTO_GRE: + return MLX5_CAP_ETH(mdev, tunnel_stateless_gre); + case IPPROTO_IPIP: + case IPPROTO_IPV6: + return MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip); + default: + return false; + } +} + +static bool mlx5e_any_tunnel_proto_supported(struct mlx5_core_dev *mdev) +{ + int tt; + + for (tt = 0; tt < MLX5E_NUM_TUNNEL_TT; tt++) { + if (mlx5e_tunnel_proto_supported(mdev, ttc_tunnel_rules[tt].proto)) + return true; + } + return false; +} + bool mlx5e_tunnel_inner_ft_supported(struct mlx5_core_dev *mdev) { - return (MLX5_CAP_ETH(mdev, tunnel_stateless_gre) && + return (mlx5e_any_tunnel_proto_supported(mdev) && MLX5_CAP_FLOWTABLE_NIC_RX(mdev, ft_field_support.inner_ip_version)); } @@ -844,6 +885,9 @@ static int mlx5e_generate_ttc_table_rules(struct mlx5e_priv *priv, dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; dest.ft = params->inner_ttc->ft.t; for (tt = 0; tt < MLX5E_NUM_TUNNEL_TT; tt++) { + if (!mlx5e_tunnel_proto_supported(priv->mdev, + ttc_tunnel_rules[tt].proto)) + continue; rules[tt] = mlx5e_generate_ttc_rule(priv, ft, &dest, ttc_tunnel_rules[tt].etype, ttc_tunnel_rules[tt].proto); From patchwork Wed Aug 28 18:57:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154744 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="DGmKxIvL"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZkp3gnBz9sMr for ; Thu, 29 Aug 2019 04:58:10 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727042AbfH1S6J (ORCPT ); Wed, 28 Aug 2019 14:58:09 -0400 Received: from mail-eopbgr50085.outbound.protection.outlook.com ([40.107.5.85]:52486 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726618AbfH1S6I (ORCPT ); Wed, 28 Aug 2019 14:58:08 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WsAme7/o0noVxHztMT8ZRmeF/x6TLQfqM6fngyHzb+aoZrSsUIOYl4DwfCAP8qUqJgKlIpI7+3zclkj274S3dV2rV+TcNZ4wQUjfTu9FjrnHWnRg7TgxXfHairlXzQhaurpY5k4F+jIq5x5DmTP+Jae0XMVDxhWrD5cVELbU6Gc8xlCdPXQ0yr2baKI0+wSCUqvIe3/W6zDOAuQQfBMPlL1jH/wIeZ3pXsfRMe4neer5cA8pBzkzInvbICA99jXwsjkkS5+aqz2wdSiXIs/3Tvu1RSILocaF9tZvg9o4XO3E1Q2/hrshEk9lBAgX80F4m/XjKKLVtWTGpgAuRDZwyg== 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=fjeMUBkcs0vmuAclO+yCGCVQ0aomEswc81GX4TTvLNE=; b=C7gqf6NMOc33j4mg9+cBcdsGaBV3E7pIlleRM0e9CQgyhb/vG5QKY/o5mO/lcUTSJL3lowKVkFFQx8BD9bqWG9OoSE451A7NRVUpXEmP7ly57XFlH01PtKWQt3wTFwhsRlQAd3ekNuzegpg7ygNUDcsPJtlq0rYnOzhb5eKwA+JhtkNVpwCTDokFCPmiI0SP1prUyT8cTn+8d0cXvItexv3eP404iWx1gq298bMkX0QhZ28pgDHDkvJOElS0Kzqe+vBGE3MgGU9d13l0m/pGLFOrQyCt2lVB0z+VkAcc9bd8P/ImEfP1SNO+qlQGLKd++TUb6UqJrDSIelLj748AMQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fjeMUBkcs0vmuAclO+yCGCVQ0aomEswc81GX4TTvLNE=; b=DGmKxIvLE3QCIKwd9nPa8MRbhXfkv5o6+CPtk2fpvCNMa1fsz0fZvGMoL8te5I96CMLm/zAQ7/N4FefEIojHn1nKhleTezfxV1gEtIgweNWo/xRR1GOO7+ptYTpCM/fsQViJW0bUJYHz5a9AZOaQ1hOItLBix2TVRzkZIFYYogo= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:53 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:53 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Marina Varshaver , Aya Levin , Saeed Mahameed Subject: [net-next v2 7/8] net/mlx5e: Improve stateless offload capability check Thread-Topic: [net-next v2 7/8] net/mlx5e: Improve stateless offload capability check Thread-Index: AQHVXdJ/CQh3NFWSBU+qDma2sL2uyg== Date: Wed, 28 Aug 2019 18:57:53 +0000 Message-ID: <20190828185720.2300-8-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ecd6c6f2-e728-48f6-81cf-08d72be9a18c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:95; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(71190400001)(76176011)(64756008)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: sm8KOiz7MLrqyTV0e0+5p0BPAQdXTJ1TrLsyO3ukuMzxM8tMmFCwgspnUP8MuSufShEsIUxiYkOXhjl4UE4Ok6YKCs7vQFPwVhbU6rNyZkCTnyXsocqKtcRa0uTNqAwweNTyqzNLnWH6dW8dQJbfd/zMsFvgIY0ck4OycitxYghZIy5oIEW+YkgRgbfloY8MUQLSNf6uTZeO0OLYV3jLbJm9za2IlyAlw+zY/nBQImE+DZtT6nh67zHaJmhLKT+2zp4HrMK3waXf8YKn+RC59fgoPvoYtesCkf7liSojuznheoNnaswGo0bgq7Z6+Kw2ttUNOola2x8OjrubvhFmVXxm83zIlYd7xQsxYKz5Y5DYXS1kg4qoTuW6+U0dqohAZi5rUe58U4Nk0LEBaw69kxbd7Qp0bVcZ4ux7mbJ3cBw= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecd6c6f2-e728-48f6-81cf-08d72be9a18c X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:53.7387 (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: WYX82eX9rjh2epJcWcTqiOVB91lc7IvXcBlATaNfy483bpb/I5RsUo8JiOrlSK5S9ZwXnPRiboByUMGMapURNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Marina Varshaver Use generic function for checking tunnel stateless offload capability instead of separate macros. Signed-off-by: Marina Varshaver Reviewed-by: Aya Levin Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 3 +++ drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 4 ++-- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h index 5aae3a7a5497..68d593074f6c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h @@ -238,5 +238,8 @@ void mlx5e_disable_cvlan_filter(struct mlx5e_priv *priv); int mlx5e_create_flow_steering(struct mlx5e_priv *priv); void mlx5e_destroy_flow_steering(struct mlx5e_priv *priv); +bool mlx5e_tunnel_proto_supported(struct mlx5_core_dev *mdev, u8 proto_type); +bool mlx5e_any_tunnel_proto_supported(struct mlx5_core_dev *mdev); + #endif /* __MLX5E_FLOW_STEER_H__ */ diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index b99b17957543..15b7f0f1427c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -766,7 +766,7 @@ static struct mlx5e_etype_proto ttc_tunnel_rules[] = { }; -static bool mlx5e_tunnel_proto_supported(struct mlx5_core_dev *mdev, u8 proto_type) +bool mlx5e_tunnel_proto_supported(struct mlx5_core_dev *mdev, u8 proto_type) { switch (proto_type) { case IPPROTO_GRE: @@ -779,7 +779,7 @@ static bool mlx5e_tunnel_proto_supported(struct mlx5_core_dev *mdev, u8 proto_ty } } -static bool mlx5e_any_tunnel_proto_supported(struct mlx5_core_dev *mdev) +bool mlx5e_any_tunnel_proto_supported(struct mlx5_core_dev *mdev) { int tt; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 2786f5b8057d..327c90d936e9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -4879,7 +4879,7 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev) netdev->hw_features |= NETIF_F_HW_VLAN_STAG_TX; if (mlx5_vxlan_allowed(mdev->vxlan) || mlx5_geneve_tx_allowed(mdev) || - MLX5_CAP_ETH(mdev, tunnel_stateless_gre)) { + mlx5e_any_tunnel_proto_supported(mdev)) { netdev->hw_enc_features |= NETIF_F_HW_CSUM; netdev->hw_enc_features |= NETIF_F_TSO; netdev->hw_enc_features |= NETIF_F_TSO6; @@ -4894,7 +4894,7 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev) netdev->gso_partial_features = NETIF_F_GSO_UDP_TUNNEL_CSUM; } - if (MLX5_CAP_ETH(mdev, tunnel_stateless_gre)) { + if (mlx5e_tunnel_proto_supported(mdev, IPPROTO_GRE)) { netdev->hw_features |= NETIF_F_GSO_GRE | NETIF_F_GSO_GRE_CSUM; netdev->hw_enc_features |= NETIF_F_GSO_GRE | From patchwork Wed Aug 28 18:57:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 1154746 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=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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.b="TqhEHHl3"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46JZl32t5fz9sBp for ; Thu, 29 Aug 2019 04:58:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726944AbfH1S6W (ORCPT ); Wed, 28 Aug 2019 14:58:22 -0400 Received: from mail-eopbgr50073.outbound.protection.outlook.com ([40.107.5.73]:26958 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726883AbfH1S6W (ORCPT ); Wed, 28 Aug 2019 14:58:22 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gp68s4WjZoU9nitFDZMdphEskOAEhWs86MZ3Xvbs23oUBCwZy7iRwobTpOEHgi8JZFQq7WX+2nLouVow53VwY0bMD5p7Oel69gf5eBnf/j73qLcrnXuEDVuQy4TqfYMMAiHXJGJyRUKdUrRhWo4i+rihGEpKCfvs6u9d+HzApRLd5g1i1KfmsDJVIKMipSZpZlVWuWq1E4HaoQI883BW2Qj/8Ft0Lo4xyIkYSxZ3rXuIVa7Rnzx0sAKyhaTAhY42Gc8u1OgkHpcOzWIXo1BiHQ+OFIccXAJZaCtt5e2TmijzGW0Xj7MYesOiCocDwtFUS56kGWvkqckIzWw2FisbmQ== 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=yxyNFQ22oMM3+JPQN8v6NiUX/fwhk5AHWyWvpR6s3e0=; b=P/b0G5DZK2Fqb1x7FbXAMWnU78+nIlo6DPU+U5lkh/lhIqPMkbB77Icxt40lfEkdLpdPAdLTf6C7q2V5tzPl2y2Jt4XKQm8pqzl48Bn0VYvGrXowGyoqy9v6CjZnFGuau50tOPeDc4kCm88yNeLqzewJDLsDXbNHnjF8HEpObTHXxro8513Fl+TD1wlnCB9XPewsvMEwUltU72DZWGssAzumRzip8dtRb1jolImvHYFHuvhNLRst0/6NK3eoQUDullBEBDFghy3Tj//N3+jO8Qkr3q/S9akZuZb3+U/tvU1E2mtc3aqo82ulAtRn7uNXTcOuHRokDMW9bLpBd9f0Bw== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yxyNFQ22oMM3+JPQN8v6NiUX/fwhk5AHWyWvpR6s3e0=; b=TqhEHHl3KKGLgqlb+0A8zs0xzExfx8RXVMxY6pl3VGHnxpWm46w67e1GQIWCd1U9YIDZMr87E0Ze1CZawsHv+Ap10bhPIcbNUnxrlx4szKl0EpI9miyS8Ft1VlGyITnGbeTYrVSHr2u+t0tvVLu2jqbgryawz19vBdDvUFxDISg= Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com (10.172.11.140) by VI1PR0501MB2638.eurprd05.prod.outlook.com (10.172.80.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Wed, 28 Aug 2019 18:57:56 +0000 Received: from VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27]) by VI1PR0501MB2765.eurprd05.prod.outlook.com ([fe80::5cab:4f5c:d7ed:5e27%6]) with mapi id 15.20.2199.021; Wed, 28 Aug 2019 18:57:55 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Marina Varshaver , Avihu Hagag , Aya Levin , Saeed Mahameed Subject: [net-next v2 8/8] net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP tunnels Thread-Topic: [net-next v2 8/8] net/mlx5e: Support TSO and TX checksum offloads for IP-in-IP tunnels Thread-Index: AQHVXdKAnchsvU8SoEKQv1mUC3TV4w== Date: Wed, 28 Aug 2019 18:57:55 +0000 Message-ID: <20190828185720.2300-9-saeedm@mellanox.com> References: <20190828185720.2300-1-saeedm@mellanox.com> In-Reply-To: <20190828185720.2300-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR06CA0069.namprd06.prod.outlook.com (2603:10b6:a03:14b::46) To VI1PR0501MB2765.eurprd05.prod.outlook.com (2603:10a6:800:9a::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d1a8c389-d1f1-4814-5f50-08d72be9a2e3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:VI1PR0501MB2638; x-ms-traffictypediagnostic: VI1PR0501MB2638: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2958; x-forefront-prvs: 014304E855 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(366004)(346002)(396003)(39860400002)(189003)(199004)(8676002)(6512007)(107886003)(6486002)(54906003)(1076003)(25786009)(3846002)(316002)(186003)(8936002)(5660300002)(6116002)(53936002)(81156014)(6436002)(478600001)(86362001)(14454004)(2906002)(6916009)(4326008)(81166006)(36756003)(7736002)(50226002)(66446008)(305945005)(256004)(66946007)(486006)(476003)(11346002)(2616005)(66066001)(446003)(66556008)(66476007)(71200400001)(52116002)(26005)(6506007)(386003)(102836004)(71190400001)(76176011)(64756008)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2638; H:VI1PR0501MB2765.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: mAe1gMy79OzBGaglARCYCDBZiz3wQgsa7IWES6JNESaYvDVG4j28JsRiwhhJScxY+QusO5SQqSpN24AFvMvE15Dq7AR3w2VKPucoNyhHmmbnJ4gZUXs5347cc9Z+k5D9U0wwS+rbpRfrxj4t4QDKqWUqJ4/PkD1E7AbXcwo9iuvIGiVFITXSA3Pe7CRl8D74jWLjhaSQRpc9mbUyXz/qS7fyh1VIfs1jNxBcN7KPqmnebiLZp5qtvS1teAqlliO2yqKFWFjmNUaIsTm5naUGOED7RKeBGsmW0YyPlQC03ubLBixbTjfqBHir4K+uHrdJsRT4NOZoljnpzHCjn0TIZo8ydMeNP8jKJ7Uho384jKp72Xsq9WyMkELU487duWA0yxovmCwdBnM+8FLSPjdpy8ZcYYAOkMfHOAUUctdRj0k= MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1a8c389-d1f1-4814-5f50-08d72be9a2e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2019 18:57:55.8148 (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: mzbytDEkYk+d3qfLALsAOxrPsrmaR2e09kwGYbjnuDLxaOkfQRO6BB9VvRjoVRA78bOPLaP4Womst9tqxkhcsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2638 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Marina Varshaver Add TX offloads support for IP-in-IP tunneled packets by reporting the needed netdev features. Signed-off-by: Marina Varshaver Signed-off-by: Avihu Hagag Reviewed-by: Aya Levin Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 327c90d936e9..9ff28e2d72cd 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -4243,6 +4243,8 @@ static netdev_features_t mlx5e_tunnel_features_check(struct mlx5e_priv *priv, switch (proto) { case IPPROTO_GRE: + case IPPROTO_IPIP: + case IPPROTO_IPV6: return features; case IPPROTO_UDP: udph = udp_hdr(skb); @@ -4903,6 +4905,15 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev) NETIF_F_GSO_GRE_CSUM; } + if (mlx5e_tunnel_proto_supported(mdev, IPPROTO_IPIP)) { + netdev->hw_features |= NETIF_F_GSO_IPXIP4 | + NETIF_F_GSO_IPXIP6; + netdev->hw_enc_features |= NETIF_F_GSO_IPXIP4 | + NETIF_F_GSO_IPXIP6; + netdev->gso_partial_features |= NETIF_F_GSO_IPXIP4 | + NETIF_F_GSO_IPXIP6; + } + netdev->hw_features |= NETIF_F_GSO_PARTIAL; netdev->gso_partial_features |= NETIF_F_GSO_UDP_L4; netdev->hw_features |= NETIF_F_GSO_UDP_L4;