From patchwork Fri Jun 17 14:43:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saeed Mahameed X-Patchwork-Id: 637098 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rWNQf4J0tz9rvt for ; Sat, 18 Jun 2016 00:47:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933505AbcFQOrs (ORCPT ); Fri, 17 Jun 2016 10:47:48 -0400 Received: from [193.47.165.129] ([193.47.165.129]:57481 "EHLO mellanox.co.il" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S933457AbcFQOrp (ORCPT ); Fri, 17 Jun 2016 10:47:45 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from saeedm@mellanox.com) with ESMTPS (AES256-SHA encrypted); 17 Jun 2016 17:46:41 +0300 Received: from reg-l-vrt-045-010.mtl.labs.mlnx. (reg-l-vrt-045-010.mtl.labs.mlnx [10.135.45.10]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id u5HEkev5015935; Fri, 17 Jun 2016 17:46:41 +0300 From: Saeed Mahameed To: "David S. Miller" Cc: netdev@vger.kernel.org, Doug Ledford , Or Gerlitz , Maor Gottlieb , Huy Nguyen , Tal Alon , Saeed Mahameed Subject: [PATCH net-next 10/18] net/mlx5: Introduce get flow rule match API Date: Fri, 17 Jun 2016 17:43:51 +0300 Message-Id: <1466174639-14576-11-git-send-email-saeedm@mellanox.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1466174639-14576-1-git-send-email-saeedm@mellanox.com> References: <1466174639-14576-1-git-send-email-saeedm@mellanox.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maor Gottlieb Introduce API to get mlx5_flow_match which contains: 1. match_criteria_enable 2. match_criteria 3. match_value Signed-off-by: Maor Gottlieb Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 19 +++++++++++++++++++ include/linux/mlx5/fs.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index d60d578..b7ddcd2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -2077,3 +2077,22 @@ unlock: return 0; } + +void mlx5_get_rule_flow_match(struct mlx5_flow_match *flow_match, + struct mlx5_flow_rule *rule) +{ + struct mlx5_flow_group *fg; + struct fs_node *pnode; + struct fs_fte *fte; + + pnode = rule->node.parent; + WARN_ON(!pnode); + fs_get_obj(fte, pnode); + pnode = pnode->parent; + WARN_ON(!pnode); + fs_get_obj(fg, pnode); + + flow_match->match_value = fte->val; + flow_match->match_criteria = fg->mask.match_criteria; + flow_match->match_criteria_enable = fg->mask.match_criteria_enable; +} diff --git a/include/linux/mlx5/fs.h b/include/linux/mlx5/fs.h index ae82e00..db1f06e 100644 --- a/include/linux/mlx5/fs.h +++ b/include/linux/mlx5/fs.h @@ -173,4 +173,7 @@ struct mlx5_event_data { struct mlx5_flow_table *ft; struct mlx5_flow_rule *rule; }; + +void mlx5_get_rule_flow_match(struct mlx5_flow_match *flow_match, + struct mlx5_flow_rule *rule); #endif