From patchwork Sun Jan 20 06:50:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 1028100 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="noXtOvMt"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43j51X1Dlzz9sCr for ; Sun, 20 Jan 2019 17:51:12 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730188AbfATGvK (ORCPT ); Sun, 20 Jan 2019 01:51:10 -0500 Received: from mail-eopbgr50082.outbound.protection.outlook.com ([40.107.5.82]:29856 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727229AbfATGvF (ORCPT ); Sun, 20 Jan 2019 01:51:05 -0500 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=L5QDKTIkOfb2i1ubOzswgWc1MijPE9kAIKM3ttl5ijI=; b=noXtOvMtum8cr/1YXSxTUObtr5p06my/sXGO7k/EpIA1bSu4Ml2ULHPT/LjBySyo162RnPCR09UEju1RygUFbMFLlsnyBbd3BHs+IDHJZAcQ3D1jcGcGl8LVjRqnfNEvCeLXEweMlGgLw746SYTtgCJFZ7rvG+DYtK4f00hX+8s= Received: from AM6PR05MB6056.eurprd05.prod.outlook.com (20.179.2.148) by AM6PR05MB4408.eurprd05.prod.outlook.com (52.135.162.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.26; Sun, 20 Jan 2019 06:50:48 +0000 Received: from AM6PR05MB6056.eurprd05.prod.outlook.com ([fe80::3411:612a:f48b:a5e2]) by AM6PR05MB6056.eurprd05.prod.outlook.com ([fe80::3411:612a:f48b:a5e2%5]) with mapi id 15.20.1537.031; Sun, 20 Jan 2019 06:50:48 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , Nir Dotan , mlxsw , Ido Schimmel Subject: [PATCH net-next 07/18] mlxsw: spectrum_router: Add underlay RIF ID support Thread-Topic: [PATCH net-next 07/18] mlxsw: spectrum_router: Add underlay RIF ID support Thread-Index: AQHUsIx5qp8u664MTkC8KhYsNfffIQ== Date: Sun, 20 Jan 2019 06:50:47 +0000 Message-ID: <20190120065007.21352-8-idosch@mellanox.com> References: <20190120065007.21352-1-idosch@mellanox.com> In-Reply-To: <20190120065007.21352-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6P192CA0103.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::44) To AM6PR05MB6056.eurprd05.prod.outlook.com (2603:10a6:20b:ab::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM6PR05MB4408; 6:zDFs6AAPm6iL1NdwmJVbQNX8EFXwpUVvgRCVpvkA5YnLJYjwgQMl6QfTzcYT7q6yZE0LrMR0039qy9R62d2Y7Jggy+3Sx1zkVz4w35U405D8XnbzHK6QUTi1eTeXIT0HRdsMLwYxJvVuLrPCLs8KhORdulzAXprcmQqEiE/DT3aWPxX2+f4lXsACf6F6f3DmqbWV876z/PH8fZLLC+lcVAg03UOjV5c8i2UBv0ngoHlRtBt6EwJaumhdGD5d7aziDzxevB63zmdAB+x1XMOD9f4yhMk+KCzlqLvvGddHphwafdwSH1UAma0lNbMwOsoHR8QRADOnujluam2MQuiQQgilJ/h9qw+rcGf8E+NFUDn1VMMfbARL+HFms4SKTiPKxI3HDFiI6YvgdOhzgQY8lBggC7B9yIygLC/M/XVX0obmcgy2xJvJVWYTU67GiLgevjbaYXNQijXHj5k+xCWqQA==; 5:F8VmQz2qIau3ecrXDSc8chAt0p9mTgMYcjy2OfZV4gZTkRFG5oYYJw1Iduu6xElPgGBchEPqp42HpioF0gANTsYlp49p2yx8EUGfFebxcEZghDbGdV9+UR8HeZMXSJbC/fJxi457DHHVutsAn9gae9XiSspUP1soRIyKHk/v1B5c2CWbQrVQTNESPI4mUvKbTKUFKpnxxLDKXu0vLYvQzA==; 7:zdIiEpeWvtOJ49b9OZS9gtDPz6GGj5dkJLsVAMqDbDBVhcf6ihpAw1GqlooQADXKWnKjpizDfq6cY+08lwbzMcjDv0rUqCUaO2VpiFecQ2Szd2vqAcyKviAFjnKHhpULgDQ1OYchoOd12+wWn2cyLg== x-ms-office365-filtering-correlation-id: b591e482-dfc4-462b-62c9-08d67ea39b73 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:AM6PR05MB4408; x-ms-traffictypediagnostic: AM6PR05MB4408: x-microsoft-antispam-prvs: x-forefront-prvs: 0923977CCA x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(376002)(366004)(136003)(346002)(199004)(189003)(8936002)(66066001)(2351001)(106356001)(105586002)(7736002)(81166006)(1730700003)(81156014)(305945005)(8676002)(316002)(54906003)(6116002)(6512007)(3846002)(99286004)(14454004)(478600001)(1076003)(66574012)(486006)(53936002)(4326008)(107886003)(71190400001)(256004)(14444005)(25786009)(71200400001)(68736007)(102836004)(36756003)(186003)(26005)(6916009)(476003)(2616005)(50226002)(11346002)(446003)(6486002)(6436002)(5640700003)(386003)(6506007)(2906002)(52116002)(76176011)(2501003)(97736004)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB4408; H:AM6PR05MB6056.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: ucy2mNIcwJGwO1fzhVkyV5qOWGdFCAWeTCznkNNltXm4czOPqSUalHITDXQ3fMym8o4ezkOyc4P+6ixXGNdfNnbPqnB6WXDQV+EhNxrbK/h/53EWz/2CZsDDJs//CTK1avTAeThVwcoVFz0+y7L87ib26LPWnDJo18LyEIKh91XeXG6ANroyjub9y8UR/STInVXtDD83PIn05FoRLVWuoBgxcJ/7X3Jcg+udrQKGKtTAVJaY+djnwpNWD2rb9L0UqwvGNtoGWif3axlb2RcjJkSMwGeGO9AcJAo1mFlrkf8gsr0KcKM+uiy57Tnnh9tphXzG+EqsA+yN/Slr9Qk/b1rodUSwvmEgUdJSmUVP7KssczFySUTKYrUcb84EEBZCo4JuOJab4lZT3aaqBNQGkGtP5lJFAPAPVzmaFw/ibPU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: b591e482-dfc4-462b-62c9-08d67ea39b73 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2019 06:50:46.7147 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4408 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Nir Dotan Spectrum-2 GRE tunnels underlay should be given not only the virtual router information for an encapsulated packet lookup, but also an underlay RIF object which belongs to a virtual router. Therefore add ul_rif_id field in struct mlxsw_sp_rif_ipip_lb, to be used later in Spectrum-2 underlay RIF implementation. This field complements ul_vr_id field, already present and defined as reserved for Spectrum-2. Signed-off-by: Nir Dotan Reviewed-by: Petr Machata Signed-off-by: Ido Schimmel --- drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 1cac38365503..c9dbef5ed6e3 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -120,6 +120,7 @@ struct mlxsw_sp_rif_ipip_lb { struct mlxsw_sp_rif common; struct mlxsw_sp_rif_ipip_lb_config lb_config; u16 ul_vr_id; /* Reserved for Spectrum-2. */ + u16 ul_rif_id; /* Reserved for Spectrum. */ }; struct mlxsw_sp_rif_params_ipip_lb { @@ -1468,14 +1469,13 @@ static int mlxsw_sp_netdevice_ipip_ol_update_mtu(struct mlxsw_sp *mlxsw_sp, { struct mlxsw_sp_ipip_entry *ipip_entry; struct mlxsw_sp_rif_ipip_lb *lb_rif; - struct mlxsw_sp_vr *ul_vr; int err = 0; ipip_entry = mlxsw_sp_ipip_entry_find_by_ol_dev(mlxsw_sp, ol_dev); if (ipip_entry) { lb_rif = ipip_entry->ol_lb; - ul_vr = &mlxsw_sp->router->vrs[lb_rif->ul_vr_id]; - err = mlxsw_sp_rif_ipip_lb_op(lb_rif, ul_vr->id, 0, true); + err = mlxsw_sp_rif_ipip_lb_op(lb_rif, lb_rif->ul_vr_id, + lb_rif->ul_rif_id, true); if (err) goto out; lb_rif->common.mtu = ol_dev->mtu; @@ -7442,6 +7442,7 @@ mlxsw_sp1_rif_ipip_lb_configure(struct mlxsw_sp_rif *rif) goto err_loopback_op; lb_rif->ul_vr_id = ul_vr->id; + lb_rif->ul_rif_id = 0; ++ul_vr->rif_count; return 0;