From patchwork Wed Jul 25 08:37:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nir Dotan X-Patchwork-Id: 10543699 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5D0AB139A for ; Wed, 25 Jul 2018 08:38:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4B91129B86 for ; Wed, 25 Jul 2018 08:38:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3EEDE29B8A; Wed, 25 Jul 2018 08:38:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7FDDE29B86 for ; Wed, 25 Jul 2018 08:38:24 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41b7sn74LvzDrVM for ; Wed, 25 Jul 2018 18:38:21 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com X-Original-To: linux-mlxsw@lists.ozlabs.org Delivered-To: linux-mlxsw@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mellanox.com (client-ip=193.47.165.129; helo=mellanox.co.il; envelope-from=nird@mellanox.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by lists.ozlabs.org (Postfix) with ESMTP id 41b7sg6mfwzDrHF for ; Wed, 25 Jul 2018 18:38:12 +1000 (AEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from nird@mellanox.com) with ESMTPS (AES256-SHA encrypted); 25 Jul 2018 11:41:19 +0300 Received: from r-vnc13.mtr.labs.mlnx (r-vnc13.mtr.labs.mlnx [10.208.0.13]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id w6P8c4Lf006676; Wed, 25 Jul 2018 11:38:04 +0300 Received: from r-vnc13.mtr.labs.mlnx (r-vnc13.mtr.labs.mlnx [127.0.0.1]) by r-vnc13.mtr.labs.mlnx (8.14.4/8.14.4) with ESMTP id w6P8c453001184; Wed, 25 Jul 2018 11:38:04 +0300 Received: (from nird@localhost) by r-vnc13.mtr.labs.mlnx (8.14.4/8.14.4/Submit) id w6P8c4Ov001181; Wed, 25 Jul 2018 11:38:04 +0300 From: Nir Dotan To: linux-internal@mellanox.com Subject: [PATCH net-next mlxsw 0/2] mlxsw: Fix ACL actions error condition handling Date: Wed, 25 Jul 2018 11:37:42 +0300 Message-Id: <20180725083744.994-1-nird@mellanox.com> X-Mailer: git-send-email 2.8.4 X-BeenThere: linux-mlxsw@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: mlxsw driver development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linux-mlxsw-bounces+patchwork-linux-mlxsw=patchwork.kernel.org@lists.ozlabs.org X-Virus-Scanned: ClamAV using ClamSMTP Two issues were lately noticed within mlxsw ACL actions error condition handling. The first patch deals with conflicting actions such as : - tc filter add dev swp49 parent ffff: protocol ip pref 10 flower skip_sw dst_ip 192.168.101.1 action goto chain 100 action mirred egress mirror dev swp4i The second action will never execute, however SW model allows this configuration, while the mlxsw driver marked terminating actions and tried to disallow it. The marking led to an undesired warning as the same marking was used to notice the end of an action block, so the elegant solution would be to remove the marking and behave like the SW model does. The second patch fixes a duplicate destruction of resources. Some actions require allocation of specific resource prior to setting the action. On error condition this resource was destroyed twice, leading to a crash for mirror action, and a redundant destruction in other cases, as for error condition the rule destruction also takes care of resource destruction. Nir Dotan (2): mlxsw: core_acl_flex_actions: Avoid WARN_ON for conflicting actions mlxsw: core_acl_flex_actions: Remove redundant resource destruction .../mellanox/mlxsw/core_acl_flex_actions.c | 29 +++------------------- 1 file changed, 3 insertions(+), 26 deletions(-)