From patchwork Tue Feb 12 03:39:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tonghao Zhang X-Patchwork-Id: 1042157 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=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uqChsBj3"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 440cMz4FvQz9rxp for ; Fri, 15 Feb 2019 00:15:59 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407016AbfBNNP5 (ORCPT ); Thu, 14 Feb 2019 08:15:57 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:42540 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729596AbfBNNP5 (ORCPT ); Thu, 14 Feb 2019 08:15:57 -0500 Received: by mail-pl1-f194.google.com with SMTP id s1so3147473plp.9 for ; Thu, 14 Feb 2019 05:15:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=SMYr5TJIhcIaw15j/9BER0Ubw4+gYIM1VszantRsotY=; b=uqChsBj3EM0BTY61PLH4D99JZTdzgGI46WznOAFodcCpJpR2M1rtxb2jgj4Eq1Bq6o 1iqTXCtaeoO9RwfCxrAoaUuPvLiMmdlb/dWZB/CokjOFl1laROEX8XfTVjX7R4uLqdvN DXKDmDiOOU5gXI2U70qtcgYePA0vCSNlBUhZnfhAeDBiVG57rT/Yn++0DvGyKYrE6Wiq Td7F9GI/dO4FXUeDhjdhJFYVHVADDT+8fO/BuFa85k0zZmDtgM0K1UKVFMjO5G4r0vpF I0GpTt9GyfuSuHlqePa6qxQ3+rJgCQJ+m+jPBJJTtx9wkpl95+IeOsaJ1mo9L1fFXtX5 DMZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=SMYr5TJIhcIaw15j/9BER0Ubw4+gYIM1VszantRsotY=; b=AxLEAR9Id9DJLwacm8bqVqTEkRUXdD9chkRacUWyvPBzH7sVrKW6UXrF5G0/9euqO2 YOP7QFMurp8sL/eGqCQM4T8mxeLEgCn9sbCIwcPhxemcZhvinfMdMrBZXOu/jJduEB6A 0RQp3XUjPE/f+3w3PWiczJsC+kKl9pQsv3ZsBeqEF8ioAYmEFgTeoQlN6zNwSOQP+BzL Qi2O1JOYdhAGF9NZvjTvKMy698YfDbl3nq37wb6QTRe2t95E1Jjmdq3bduNSWDeETDoQ A0hfZShJCPLjNlhtzqqiJiVjEEFBcDwkDMZcn80WrD7+lRg1JXd1wQCvkda1NTZGhKJq jYqg== X-Gm-Message-State: AHQUAub+Qt38VS1OZTwpUiVt9EsGxkLc8D7iNka6jd0mHgVZwyhY1hqe CzmjcwRtP7pi5Swq7e9F7w2n3aHI X-Google-Smtp-Source: AHgI3Ia6/ViZQ/5soe5Hj/S6h2qFZCAapTy4G72bQZ2WEediJkApUADk/+OMUcK95uJ6IoDi7CseFg== X-Received: by 2002:a17:902:f08b:: with SMTP id go11mr4086779plb.115.1550150156818; Thu, 14 Feb 2019 05:15:56 -0800 (PST) Received: from local.opencloud.tech.localdomain ([203.100.54.194]) by smtp.gmail.com with ESMTPSA id e86sm4240080pfb.6.2019.02.14.05.15.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 05:15:55 -0800 (PST) From: xiangxia.m.yue@gmail.com To: saeedm@mellanox.com, gerlitz.or@gmail.com Cc: netdev@vger.kernel.org, Tonghao Zhang Subject: [PATCH net-next 1/2] net/mlx5e: Introduce mlx5e_flow_esw_attr_init() helper Date: Mon, 11 Feb 2019 19:39:42 -0800 Message-Id: <1549942783-56833-1-git-send-email-xiangxia.m.yue@gmail.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Tonghao Zhang Introduce the mlx5e_flow_esw_attr_init() helper for simplifying codes. Signed-off-by: Tonghao Zhang --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 41 +++++++++++++++++-------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index e943775..98b002c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -2736,6 +2736,30 @@ static bool is_peer_flow_needed(struct mlx5e_tc_flow *flow) return err; } +static void +mlx5e_flow_esw_attr_init(struct mlx5_esw_flow_attr *esw_attr, + struct mlx5e_priv *priv, + struct mlx5e_tc_flow_parse_attr *parse_attr, + struct tc_cls_flower_offload *f, + struct mlx5_eswitch_rep *in_rep, + struct mlx5_core_dev *in_mdev) +{ + struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; + + esw_attr->parse_attr = parse_attr; + esw_attr->chain = f->common.chain_index; + esw_attr->prio = TC_H_MAJ(f->common.prio) >> 16; + + esw_attr->in_rep = in_rep; + esw_attr->in_mdev = in_mdev; + + if (MLX5_CAP_ESW(esw->dev, counter_eswitch_affinity) == + MLX5_COUNTER_SOURCE_ESWITCH) + esw_attr->counter_dev = in_mdev; + else + esw_attr->counter_dev = priv->mdev; +} + static struct mlx5e_tc_flow * __mlx5e_add_fdb_flow(struct mlx5e_priv *priv, struct tc_cls_flower_offload *f, @@ -2757,28 +2781,21 @@ static bool is_peer_flow_needed(struct mlx5e_tc_flow *flow) &parse_attr, &flow); if (err) goto out; + parse_attr->filter_dev = filter_dev; - flow->esw_attr->parse_attr = parse_attr; + mlx5e_flow_esw_attr_init(flow->esw_attr, + priv, parse_attr, + f, in_rep, in_mdev); + err = parse_cls_flower(flow->priv, flow, &parse_attr->spec, f, filter_dev); if (err) goto err_free; - flow->esw_attr->chain = f->common.chain_index; - flow->esw_attr->prio = TC_H_MAJ(f->common.prio) >> 16; err = parse_tc_fdb_actions(priv, &rule->action, parse_attr, flow, extack); if (err) goto err_free; - flow->esw_attr->in_rep = in_rep; - flow->esw_attr->in_mdev = in_mdev; - - if (MLX5_CAP_ESW(esw->dev, counter_eswitch_affinity) == - MLX5_COUNTER_SOURCE_ESWITCH) - flow->esw_attr->counter_dev = in_mdev; - else - flow->esw_attr->counter_dev = priv->mdev; - err = mlx5e_tc_add_fdb_flow(priv, parse_attr, flow, extack); if (err) goto err_free; From patchwork Tue Feb 12 03:39:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tonghao Zhang X-Patchwork-Id: 1042158 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=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ub4xEvLJ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 440cN20Ff7z9sN1 for ; Fri, 15 Feb 2019 00:16:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436965AbfBNNQB (ORCPT ); Thu, 14 Feb 2019 08:16:01 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37090 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729596AbfBNNQA (ORCPT ); Thu, 14 Feb 2019 08:16:00 -0500 Received: by mail-pg1-f195.google.com with SMTP id q206so3073713pgq.4 for ; Thu, 14 Feb 2019 05:15:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=aZyEfRXzKMb2nttQD46whjggcc6EmscbvbEQCBZQOUk=; b=Ub4xEvLJ+tP4kXWzU9jgMCCwJUXR6R511hTmhiYSjyaiaOOm9zLW7+lJmaG0r2W9wl UGb3SVH8m58uBUHCX925gGU4nxxYAVIikr5aqcGEw09yz8G84qabB5zfWA1KxyzDhbtK qr4b+5JcxirAz03VLXlsv9G5naXx25JRhhgBPvtW9lJ21czgWn7IhHQMoUqFvRuNaLIG ueU5Gk4VYTFd2VykTfgmsF2/9VoBYqWM0UkgGcRKTHI71UNKxXklSDvU6a+yCJIHvI+u 02nuGvBsnd80VhNMS8IRkQWgunkZbHwGaFXshE/CyPPLHG75Qd52yzYMKJGTmeERPcBS +fSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=aZyEfRXzKMb2nttQD46whjggcc6EmscbvbEQCBZQOUk=; b=F8kXZUfyDu9WYzjFWCm+0ta0Oyp3iiKc0Y+BuLlQlsqDwkgBSKk+uEZ1uVC0AZwXtK kmbnlefkpQ/YF8bormHg5tqqIK8gwKMy9Ir2ldyK8zySHCiaPNLtnWWgtQU9j3iw2qaf XvVxfapgxcCgvyk00bDg1fGkh4KhOh2rIYVGwHumEu+3o7yN4VAQvJAJJNAGL8RQO7ez lDyEfUDYgfizxmuTEdapPbuEis/6ml5IBf93+mo3sC+o89QY1naPY1WYyPEzibm8ht5R cBwkepQWIPbGpCa8tV7BsIzikor0G3g1XcHOuHmpQOEshhc16Z3PYpIL5Gwnp5+1v91L F4fA== X-Gm-Message-State: AHQUAuaWgPMFCN+8djOWPnhUWlpZKYKvo5zb5kWQJmHde2aStkSyMfdl Qpk7mWmm7aIIF6UwJ2fkCsQ= X-Google-Smtp-Source: AHgI3Ibhn+FOBzkM8DGyqfdjW6xh+GMDtgWsa2wPfYeUkrCGyJgL3AGYgUOvOgcrA95d4O+3IXYm7Q== X-Received: by 2002:a63:9144:: with SMTP id l65mr3774214pge.396.1550150159303; Thu, 14 Feb 2019 05:15:59 -0800 (PST) Received: from local.opencloud.tech.localdomain ([203.100.54.194]) by smtp.gmail.com with ESMTPSA id e86sm4240080pfb.6.2019.02.14.05.15.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Feb 2019 05:15:58 -0800 (PST) From: xiangxia.m.yue@gmail.com To: saeedm@mellanox.com, gerlitz.or@gmail.com Cc: netdev@vger.kernel.org, Tonghao Zhang Subject: [PATCH net-next 2/2] net/mlx5e: Remove 'parse_attr' argument in mlx5e_tc_add_fdb_flow() Date: Mon, 11 Feb 2019 19:39:43 -0800 Message-Id: <1549942783-56833-2-git-send-email-xiangxia.m.yue@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1549942783-56833-1-git-send-email-xiangxia.m.yue@gmail.com> References: <1549942783-56833-1-git-send-email-xiangxia.m.yue@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Tonghao Zhang This patch is a little improvement. Simplify the mlx5e_tc_add_fdb_flow(). Signed-off-by: Tonghao Zhang --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 98b002c..15cf26d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -929,13 +929,13 @@ static int mlx5e_attach_encap(struct mlx5e_priv *priv, static int mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, - struct mlx5e_tc_flow_parse_attr *parse_attr, struct mlx5e_tc_flow *flow, struct netlink_ext_ack *extack) { struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; u32 max_chain = mlx5_eswitch_get_chain_range(esw); struct mlx5_esw_flow_attr *attr = flow->esw_attr; + struct mlx5e_tc_flow_parse_attr *parse_attr = attr->parse_attr; u16 max_prio = mlx5_eswitch_get_prio_range(esw); struct net_device *out_dev, *encap_dev = NULL; struct mlx5_fc *counter = NULL; @@ -967,7 +967,7 @@ static int mlx5e_attach_encap(struct mlx5e_priv *priv, if (!(attr->dests[out_index].flags & MLX5_ESW_DEST_ENCAP)) continue; - mirred_ifindex = attr->parse_attr->mirred_ifindex[out_index]; + mirred_ifindex = parse_attr->mirred_ifindex[out_index]; out_dev = __dev_get_by_index(dev_net(priv->netdev), mirred_ifindex); err = mlx5e_attach_encap(priv, @@ -2796,7 +2796,7 @@ static bool is_peer_flow_needed(struct mlx5e_tc_flow *flow) if (err) goto err_free; - err = mlx5e_tc_add_fdb_flow(priv, parse_attr, flow, extack); + err = mlx5e_tc_add_fdb_flow(priv, flow, extack); if (err) goto err_free;