From patchwork Sun Dec 16 08:49:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 1014063 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="W6QPBd1y"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43HdK92hZCz9s1c for ; Sun, 16 Dec 2018 19:50:21 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730237AbeLPIuQ (ORCPT ); Sun, 16 Dec 2018 03:50:16 -0500 Received: from mail-eopbgr60049.outbound.protection.outlook.com ([40.107.6.49]:51904 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729991AbeLPIuL (ORCPT ); Sun, 16 Dec 2018 03:50:11 -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=iG5A28LwLx/sKzQ+4/yw8vPHkfCIpYZPIGKZEYGY53A=; b=W6QPBd1yQQPQtbCNeHc3mQ9mF3eQEWB1WeaVeh6Iy3kVJkqkyeQ7E8XARmpjT5hIGZKwJHIAP6mP/M/zu+Ir78iUS7ZlFixBzlqk7NAXyOspkEiljiJnyWboUf5bfxKoTTgJJ4j8LsNr6ki1DOBBhfZBueJ3ZXSOn31psXZtB3Y= Received: from VI1PR05MB5630.eurprd05.prod.outlook.com (20.178.120.87) by VI1PR05MB3342.eurprd05.prod.outlook.com (10.170.238.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1425.22; Sun, 16 Dec 2018 08:49:30 +0000 Received: from VI1PR05MB5630.eurprd05.prod.outlook.com ([fe80::70a6:66a5:1421:bbcf]) by VI1PR05MB5630.eurprd05.prod.outlook.com ([fe80::70a6:66a5:1421:bbcf%4]) with mapi id 15.20.1425.021; Sun, 16 Dec 2018 08:49:30 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , Nir Dotan , mlxsw , Ido Schimmel Subject: [PATCH net-next 06/12] mlxsw: spectrum_acl: Set A-TCAM rules in Bloom filter Thread-Topic: [PATCH net-next 06/12] mlxsw: spectrum_acl: Set A-TCAM rules in Bloom filter Thread-Index: AQHUlRxCgFEnu73h+kmbyLU7SNnDtw== Date: Sun, 16 Dec 2018 08:49:30 +0000 Message-ID: <20181216084851.4967-7-idosch@mellanox.com> References: <20181216084851.4967-1-idosch@mellanox.com> In-Reply-To: <20181216084851.4967-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM5P190CA0019.EURP190.PROD.OUTLOOK.COM (2603:10a6:206:14::32) To VI1PR05MB5630.eurprd05.prod.outlook.com (2603:10a6:803:c9::23) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB3342; 6:2KEa5x1+IBJ8nQo0NPE1iD2IHApAB17BYqvbhdCQ40kSmpxEZBWY86zx5LDmJ0g2bsNs7xDSpA7+FALiDimgWBARiJACD0K0jY9CmEkBhzyJmgbxa2PoNzMjwk2Gey0N1gzl/smjXKPe1zJS00bL3pDkaGnizkbblNY2sN9lvcD/g8lCoWVKi1DARmpZ6zV8WK42v/FGkv02kRm8aXpzQbIXtUoIBeHoI+1xcaayj5vBnD/2UjBcVu1InhTD42Um7O2Yph9mOndgSsbluEBHtLk/sSU5oW83TzDb4u4h2aMDelc17hBrE73bvU/xLojwbSDmZuuG27ehFbSojMbVNpf1GoPC7AcqADJnBcCm5vXVl2zGxJ19etjG0CZGU6WfHCDPeBsmrfKhUaGh50DbYJZHzS1BqgSOqsQVhm4ipZapRL4WMexGYN7VTbx9mkkGmB/se47RgRekZ+CTxeyguA==; 5:7KcsLZnincLfNQlbJdLTTK24C5VJSn7LT98eoocsVClnEo4iVL+4EyAQr76T088Q3FmUr6Eca69M6eBGMV+b1Eo2XuniFIL7rvkm44U9W36oWYZ7rakimSFbGss+hi45yQ+DIKH9UEKDaEDhOGH3z0Tt2xwQtAs8Gf729V5yzSY=; 7:+O3G0M0MmC9qmu9XaRgcUQLA5rbirhJNDRwjQa1WOYDBJB7929BkJ3VOn0AhPP4m379Ta3I2AIZmWaejKNQI9DQ+qlQRFI/jfa7I7NYwlPHABCcu9kfAILL4XWQPk82+2R/IfaS1GKc6ukpE1BKqXg== x-ms-office365-filtering-correlation-id: c9360474-b344-4fa5-ecf1-08d6633364a7 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB3342; x-ms-traffictypediagnostic: VI1PR05MB3342: x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(999002)(5005020)(6040522)(2401047)(8121501046)(93006095)(93001095)(3231475)(944501520)(52105112)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:VI1PR05MB3342; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB3342; x-forefront-prvs: 0888B1D284 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(346002)(376002)(39850400004)(136003)(396003)(199004)(189003)(7736002)(316002)(6506007)(86362001)(105586002)(2501003)(25786009)(305945005)(2351001)(5660300001)(106356001)(6916009)(6486002)(2906002)(107886003)(6116002)(3846002)(8936002)(53936002)(97736004)(6436002)(4326008)(66066001)(81166006)(81156014)(8676002)(1730700003)(5640700003)(68736007)(2616005)(1076002)(76176011)(52116002)(36756003)(478600001)(6512007)(71200400001)(71190400001)(256004)(14444005)(99286004)(476003)(486006)(186003)(446003)(11346002)(26005)(102836004)(386003)(14454004)(54906003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB3342; H:VI1PR05MB5630.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-microsoft-antispam-message-info: Zij9hM41/UI3OssrSWc6iJLoaKi+Mt//5yjpcYmeYZXwEJdEniS7zKbZHU8xP0hHnq+LGrGiIBS1F7BZj7p1qFjSkuhM6xiaN/jYD9kFjGvLDvkbwzUdWIRjy3tCt56G6DPAjlgClLcHmVqW9M4bgaqjMdVEynJW7HUl8ZKCtixHgbBCxWmFwsZRxK8PPKu/LQLNOLflUuqx5UzmN14bAX3PK/NXxhplVV1Ln1lNiQqRGI9BeN+jKnJZ4EtxC5RkYfig9eGZ051BHHY9DR3m7HVXE+GMBKHHbl4c7IfouFT0Z7LWx4XgD486l7ee9x6P spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9360474-b344-4fa5-ecf1-08d6633364a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2018 08:49:30.6225 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3342 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Nir Dotan Add calls to eRP module for updating Bloom filter when a rule is added or removed from the A-TCAM. eRP module will update the Bloom filter only for cases in which the region has an active eRP table. Signed-off-by: Nir Dotan Signed-off-by: Ido Schimmel --- .../net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c index 75f11c2d7b97..aedfece86121 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c @@ -508,6 +508,13 @@ __mlxsw_sp_acl_atcam_entry_add(struct mlxsw_sp *mlxsw_sp, if (err) goto err_rhashtable_insert; + /* Bloom filter must be updated here, before inserting the rule into + * the A-TCAM. + */ + err = mlxsw_sp_acl_erp_bf_insert(mlxsw_sp, aregion, erp_mask, aentry); + if (err) + goto err_bf_insert; + err = mlxsw_sp_acl_atcam_region_entry_insert(mlxsw_sp, aregion, aentry, rulei); if (err) @@ -516,6 +523,8 @@ __mlxsw_sp_acl_atcam_entry_add(struct mlxsw_sp *mlxsw_sp, return 0; err_rule_insert: + mlxsw_sp_acl_erp_bf_remove(mlxsw_sp, aregion, erp_mask, aentry); +err_bf_insert: rhashtable_remove_fast(&aregion->entries_ht, &aentry->ht_node, mlxsw_sp_acl_atcam_entries_ht_params); err_rhashtable_insert: @@ -529,6 +538,7 @@ __mlxsw_sp_acl_atcam_entry_del(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_acl_atcam_entry *aentry) { mlxsw_sp_acl_atcam_region_entry_remove(mlxsw_sp, aregion, aentry); + mlxsw_sp_acl_erp_bf_remove(mlxsw_sp, aregion, aentry->erp_mask, aentry); rhashtable_remove_fast(&aregion->entries_ht, &aentry->ht_node, mlxsw_sp_acl_atcam_entries_ht_params); mlxsw_sp_acl_erp_mask_put(aregion, aentry->erp_mask);