From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3C07EA0546 for ; Thu, 16 Jul 2020 12:43:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F300A2C30; Thu, 16 Jul 2020 12:43:29 +0200 (CEST) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 7E6002C30 for ; Thu, 16 Jul 2020 12:43:28 +0200 (CEST) Received: by mail-wr1-f66.google.com with SMTP id f2so6533357wrp.7 for ; Thu, 16 Jul 2020 03:43:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PLtZNl7kMIAoxkAu87W1jkK+NiR6OnySYFG00+JvgzI=; b=Vni2HlBPMZ2pvJY0H64vhWvqZtTieSHwuDPdd9Ed+oQUV/SPnH+gpoHV6bco66enkm ABiQp45xb1ZQEfOn0kIwvVF89OyPW9FYg7e1UBYpMpDYLnFu8fxygNh43SDAdyHz96LI LXPKhCFRpk7viSp80lUH5tPLb9+4Bmx3Ape8gFg5q09GKeWQ70wipJRG+/oSwKcEfHQO 6YrYRYSE38V9rXJPvmb80Pl3t86qXrXjlhRaFjSBNnLX7ysz6/PjY3q0AsLJ2k3AHxLA 6DiFP/A2eXFYOZHXNuXYeW8TwgJS6RDmGWjCPgzJLJug6e1tEqt107hxsOjRFm3tHqnz tZOw== 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:mime-version :content-transfer-encoding; bh=PLtZNl7kMIAoxkAu87W1jkK+NiR6OnySYFG00+JvgzI=; b=GKZdfLpkwq/jgV5VPJsuOus+CfNGm+HXlYWKAa4xmyimhSobde3Yr5dBWGRBUzTe/o iM5FOQuWXI453UkBjzdEkzY809xRQKzNbngRWV7kiNNbMoYDvLxb6uQFbcBAKVl0cgF/ FngrQevmEMzPldmk9433Cqyk2JAZoYKc63e6e9IVX1kUrmfneeoJGHIAu1eAEuxrX/nH qT1dHU7QuPgXQypUcJJ0NMjwZ6HY0vP59YthVCvkvpmrsyo7q4v+eVVix97AvGHcRqp/ pTn3/AfdQ6Up0X+pt0cNjHjW1u7dRY4YYhblEqTH2EjKZTz1bh4DkjWz6/pQIdRYChZa fM3A== X-Gm-Message-State: AOAM532ivZZISdD5Bi3Afu9Yh2wRWnHpzFhDjRlhWSX6iHsmKWM2xW7W GIW3CT4429DWT+zDgpKCxrfKhQ== X-Google-Smtp-Source: ABdhPJxK/8rDibhfESxsHIp+U+M1f79Ef+3iMMCrhw8IB1pfDDkb5EoLN+8xOetV3bwRZIAN5/i2YQ== X-Received: by 2002:adf:8024:: with SMTP id 33mr4780590wrk.117.1594896208189; Thu, 16 Jul 2020 03:43:28 -0700 (PDT) Received: from bolet.dev.6wind.com. (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id b186sm8534247wme.1.2020.07.16.03.43.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jul 2020 03:43:27 -0700 (PDT) From: Maxime Leroy To: dev@dpdk.org Cc: stable@dpdk.org, Raslan Darawsheh Date: Thu, 16 Jul 2020 12:43:20 +0200 Message-Id: <20200716104320.10582-1-maxime.leroy@6wind.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH] net/mlx5: fix rss reta is reset when device is started X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" The following sequences was working fine on mlx5: rte_eth_dev_configure(portid, ...); for (queueid = 0; queueid < nb_txq; queueid++) rte_eth_tx_queue_setup(portid, queueid, ...); for (queueid = 0; queueid < nb_rxq; queueid++) rte_eth_rx_queue_setup(portid, queueid, ...); // use a custom reta configuration rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size); rte_eth_dev_start(portid); We were able to configure a custom reta before starting the port. The commit "net/mlx5: support RSS on hairpin" breaks this logic by moving the code initializing the RSS reta from rte_eth_dev_configure into rte_eth_dev_start. To fix the issue, the skip_default_rss_reta is always set to 1 in rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device is started. Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin") Signed-off-by: Maxime Leroy --- drivers/net/mlx5/mlx5_rss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c index 653b0691..6f75ece2 100644 --- a/drivers/net/mlx5/mlx5_rss.c +++ b/drivers/net/mlx5/mlx5_rss.c @@ -220,9 +220,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev, MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n); (*priv->reta_idx)[i] = reta_conf[idx].reta[pos]; } + + priv->skip_default_rss_reta = 1; + if (dev->data->dev_started) { mlx5_dev_stop(dev); - priv->skip_default_rss_reta = 1; return mlx5_dev_start(dev); } return 0; -- 2.27.0