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;