Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1776870ybl; Sat, 11 Jan 2020 02:36:33 -0800 (PST) X-Google-Smtp-Source: APXvYqxDzRrzC9+7XyAjtiym4LhHH8pdLtnZx56s0haYEgPUVBrWkjOeh/9pooVpQLwQeeILl7aC X-Received: by 2002:aca:f1c6:: with SMTP id p189mr6040551oih.159.1578738993531; Sat, 11 Jan 2020 02:36:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578738993; cv=none; d=google.com; s=arc-20160816; b=RpAHl6xDn9K91Ko6vsl6o9OH7BihNIWmLLbdjoIEuZKSq8VsVe1+ap46L+0iCdcRg+ yyDMFFzI6XiMXM6XPxKx9yELFuQz9Rlo8+DEqbKZ9tHOOSPQPWjPaaf7e6vMJSXO0xTZ 9kaEmGLtB/i08bKDTNwde1jvai2o2Dn63dGLKhnytRDqB4HWhWGySmV8txfGvpKh2+gu pDfviYcNCvQWaxT/byhp2Npbpp0xWcVjOQ7GMj3ZFQZtSh3z7Jow8RPlgD9Sp9vW+yUv u9TXSBaBPgU7vJkJuNlwZwoNNw6pnR7sMU1Ba6gH67ofocuCFqYolmx5Riu0iaZTKSMr QYPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3AE50CFBjFVYrxGR1o9UhJpJiD1BrcWckVv9PUnN6BI=; b=RlZEF/oFu+iAPwcADj9Jp/9yD31xfoQONm8R2/I1eRT7/A3OBXisOmd8yq2IlJ2Cyu BUi92+8JtzeXidv1YCsUNnmk8n5UjFchajRxs8q9l4l8YKG6XtVbQ4cj/cFTAeWtpDkr Qv+9HEBpYDdGuEW2L+Kd8m+TX9hDHPDiVZ0/uLOTEIcqI0tJpfsBRnLuwTjSdjbpxBLx 98RPZ6yodH76MTYOu/W/pn8N/6pjthuS04HvWhkaHR3FkxhdGNVeFCNqx0tah9qLhDsM HH/afCV9e6XVk4SvcHA3BeaLJiUuh9n0oxJ8R1A+g1cWwm9DIaR3j9Yh2KYnUTPl29jg 8IIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2GXMk23j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e1si3445476otj.276.2020.01.11.02.36.22; Sat, 11 Jan 2020 02:36:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2GXMk23j; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729408AbgAKKeU (ORCPT + 99 others); Sat, 11 Jan 2020 05:34:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:50104 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731482AbgAKKeP (ORCPT ); Sat, 11 Jan 2020 05:34:15 -0500 Received: from localhost (unknown [62.119.166.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D985020882; Sat, 11 Jan 2020 10:34:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578738854; bh=LwYgJs1NDSNzQSImIZbDEYdnR/Lpt2lrbiiwqlrDCbs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2GXMk23j7aZDPwTGNj9W1mpmtXVOqshOGBjDJuo3kbaUECZUxDYLx+JTWzWt7WflN po15r1wpdmyWVUaTIMLt3jNw9aO95JImtwFOmWQTTBa9uA/vh0Yb3AQybVOGevwi+v hYuAtt8uiPfizpgLuNZFlkKbdr/Z133HmnK/l28E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eli Cohen , Mark Bloch , Saeed Mahameed Subject: [PATCH 5.4 160/165] net/mlx5e: Fix hairpin RSS table size Date: Sat, 11 Jan 2020 10:51:19 +0100 Message-Id: <20200111094942.748330852@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094921.347491861@linuxfoundation.org> References: <20200111094921.347491861@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eli Cohen [ Upstream commit 6412bb396a63f28de994b1480edf8e4caf4aa494 ] Set hairpin table size to the corret size, based on the groups that would be created in it. Groups are laid out on the table such that a group occupies a range of entries in the table. This implies that the group ranges should have correspondence to the table they are laid upon. The patch cited below made group 1's size to grow hence causing overflow of group range laid on the table. Fixes: a795d8db2a6d ("net/mlx5e: Support RSS for IP-in-IP and IPv6 tunneled packets") Signed-off-by: Eli Cohen Signed-off-by: Mark Bloch Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 16 ++++++++++++++++ drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 16 ---------------- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs.h @@ -122,6 +122,22 @@ enum { #endif }; +#define MLX5E_TTC_NUM_GROUPS 3 +#define MLX5E_TTC_GROUP1_SIZE (BIT(3) + MLX5E_NUM_TUNNEL_TT) +#define MLX5E_TTC_GROUP2_SIZE BIT(1) +#define MLX5E_TTC_GROUP3_SIZE BIT(0) +#define MLX5E_TTC_TABLE_SIZE (MLX5E_TTC_GROUP1_SIZE +\ + MLX5E_TTC_GROUP2_SIZE +\ + MLX5E_TTC_GROUP3_SIZE) + +#define MLX5E_INNER_TTC_NUM_GROUPS 3 +#define MLX5E_INNER_TTC_GROUP1_SIZE BIT(3) +#define MLX5E_INNER_TTC_GROUP2_SIZE BIT(1) +#define MLX5E_INNER_TTC_GROUP3_SIZE BIT(0) +#define MLX5E_INNER_TTC_TABLE_SIZE (MLX5E_INNER_TTC_GROUP1_SIZE +\ + MLX5E_INNER_TTC_GROUP2_SIZE +\ + MLX5E_INNER_TTC_GROUP3_SIZE) + #ifdef CONFIG_MLX5_EN_RXNFC struct mlx5e_ethtool_table { --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -904,22 +904,6 @@ del_rules: return err; } -#define MLX5E_TTC_NUM_GROUPS 3 -#define MLX5E_TTC_GROUP1_SIZE (BIT(3) + MLX5E_NUM_TUNNEL_TT) -#define MLX5E_TTC_GROUP2_SIZE BIT(1) -#define MLX5E_TTC_GROUP3_SIZE BIT(0) -#define MLX5E_TTC_TABLE_SIZE (MLX5E_TTC_GROUP1_SIZE +\ - MLX5E_TTC_GROUP2_SIZE +\ - MLX5E_TTC_GROUP3_SIZE) - -#define MLX5E_INNER_TTC_NUM_GROUPS 3 -#define MLX5E_INNER_TTC_GROUP1_SIZE BIT(3) -#define MLX5E_INNER_TTC_GROUP2_SIZE BIT(1) -#define MLX5E_INNER_TTC_GROUP3_SIZE BIT(0) -#define MLX5E_INNER_TTC_TABLE_SIZE (MLX5E_INNER_TTC_GROUP1_SIZE +\ - MLX5E_INNER_TTC_GROUP2_SIZE +\ - MLX5E_INNER_TTC_GROUP3_SIZE) - static int mlx5e_create_ttc_table_groups(struct mlx5e_ttc_table *ttc, bool use_ipv) { --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -586,7 +586,7 @@ static void mlx5e_hairpin_set_ttc_params for (tt = 0; tt < MLX5E_NUM_INDIR_TIRS; tt++) ttc_params->indir_tirn[tt] = hp->indir_tirn[tt]; - ft_attr->max_fte = MLX5E_NUM_TT; + ft_attr->max_fte = MLX5E_TTC_TABLE_SIZE; ft_attr->level = MLX5E_TC_TTC_FT_LEVEL; ft_attr->prio = MLX5E_TC_PRIO; }