From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 57E0B427EF for ; Wed, 22 Mar 2023 11:32:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 52F0342BDA; Wed, 22 Mar 2023 11:32:45 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 8BD5140E09 for ; Wed, 22 Mar 2023 11:32:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679481163; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N5cFS8xbEfP0Lwz25ZTmHJgiwk7IINYqT09+4LmymFM=; b=IWaM3w0M0BcHse1YRWq8o1xABUM2ttFHa7O9/Mc+zKvQPZHAMRdp/iBcG091/SihCO7f7u p/XmD8QORo7cHhkCt3SLALj3x2j8sN605+kNDGksEslnn3JgL2zm2qEzmx5U4Y03yGf5sy mzJwaZjJCY3DWg5K0JKhHQwv+PyQKCc= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-443--4GK99wHP5aJSZrSvA4ziw-1; Wed, 22 Mar 2023 06:32:41 -0400 X-MC-Unique: -4GK99wHP5aJSZrSvA4ziw-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 792FC801206; Wed, 22 Mar 2023 10:32:41 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.69]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8CE99492C1B; Wed, 22 Mar 2023 10:32:40 +0000 (UTC) From: Kevin Traynor To: Wenjing Qiao Cc: Dukai Yuan , dpdk stable Subject: patch 'net/i40e: fix MAC loopback on X722' has been queued to stable release 21.11.4 Date: Wed, 22 Mar 2023 10:32:03 +0000 Message-Id: <20230322103209.456098-16-ktraynor@redhat.com> In-Reply-To: <20230322103209.456098-1-ktraynor@redhat.com> References: <20230322103209.456098-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 Hi, FYI, your patch has been queued to stable release 21.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/24/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/e71d71bc0cb12c85616ccb24ff24a507b5344371 Thanks. Kevin --- >From e71d71bc0cb12c85616ccb24ff24a507b5344371 Mon Sep 17 00:00:00 2001 From: Wenjing Qiao Date: Mon, 13 Mar 2023 23:16:19 -0400 Subject: [PATCH] net/i40e: fix MAC loopback on X722 [ upstream commit 6355ff768b0b5871cc82a69194b376db39ee6e9c ] If enabling MAC loopback mode on X722 NIC, transmitted packets are not seen in the receive queue. The root cause is using wrong loopback mode bits. Correct it according to the X722 datasheet. Fixes: 3a838ab649df ("net/i40e: support MAC loopback") Fixes: 5712e6407089 ("net/i40e: revert enhancing loopback AQ command") Signed-off-by: Wenjing Qiao Tested-by: Dukai Yuan --- drivers/net/i40e/i40e_ethdev.c | 17 ++++++++++++++--- drivers/net/i40e/i40e_ethdev.h | 3 +++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 1d417dbf8a..07deb272c3 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2448,8 +2448,19 @@ i40e_dev_start(struct rte_eth_dev *dev) } + /* Disable mac loopback mode */ + if (dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_MODE_NONE) { + ret = i40e_aq_set_lb_modes(hw, I40E_AQ_LB_MODE_NONE, NULL); + if (ret != I40E_SUCCESS) { + PMD_DRV_LOG(ERR, "fail to set loopback link"); + goto tx_err; + } + } + /* Enable mac loopback mode */ - if (dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_MODE_NONE || - dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_PHY_LOCAL) { - ret = i40e_aq_set_lb_modes(hw, dev->data->dev_conf.lpbk_mode, NULL); + if (dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_MODE_EN) { + if (hw->mac.type == I40E_MAC_X722) + ret = i40e_aq_set_lb_modes(hw, I40E_AQ_LB_MAC_LOCAL_X722, NULL); + else + ret = i40e_aq_set_lb_modes(hw, I40E_AQ_LB_MAC, NULL); if (ret != I40E_SUCCESS) { PMD_DRV_LOG(ERR, "fail to set loopback link"); diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h index e918771256..c4abbae6c3 100644 --- a/drivers/net/i40e/i40e_ethdev.h +++ b/drivers/net/i40e/i40e_ethdev.h @@ -49,4 +49,7 @@ /*flag of no loopback*/ #define I40E_AQ_LB_MODE_NONE 0x0 +#define I40E_AQ_LB_MODE_EN 0x01 +#define I40E_AQ_LB_MAC 0x01 +#define I40E_AQ_LB_MAC_LOCAL_X722 0x04 /* * vlan_id is a 12 bit number. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-03-22 10:30:08.319221247 +0000 +++ 0016-net-i40e-fix-MAC-loopback-on-X722.patch 2023-03-22 10:30:07.929866581 +0000 @@ -1 +1 @@ -From 6355ff768b0b5871cc82a69194b376db39ee6e9c Mon Sep 17 00:00:00 2001 +From e71d71bc0cb12c85616ccb24ff24a507b5344371 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6355ff768b0b5871cc82a69194b376db39ee6e9c ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 371f42233e..cb0070f94b 100644 +index 1d417dbf8a..07deb272c3 100644 @@ -25 +26 @@ -@@ -2412,8 +2412,19 @@ i40e_dev_start(struct rte_eth_dev *dev) +@@ -2448,8 +2448,19 @@ i40e_dev_start(struct rte_eth_dev *dev) @@ -49 +50 @@ -index 7c4cc44a27..9b806d130e 100644 +index e918771256..c4abbae6c3 100644