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 89EE9A0032 for ; Wed, 16 Mar 2022 16:15:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8105A41158; Wed, 16 Mar 2022 16:15:53 +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 DE60F41143 for ; Wed, 16 Mar 2022 16:15:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647443751; 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=A9YTMxxSX9aYgHLC9m6us949M9KsAezFvaCZ42uSOaQ=; b=av6V3Agai6r42gZMmR/uqNFWCR3mpJC6B8CrDN0MITRhEJ/j5h4gXhj3u4WAqnrBWXggEL LqvuwAWjzaJ+OF4376FUOHrOwD+R4Bae/OH5mRd2d8Qs1xDkjvk5VW04NsPUp/wTF3ZN+9 JEEBJiLMsecPY3UQskVlC8F3H/EU7S0= 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-607-Mcf7s-o2MBiM6B8wHkCEPg-1; Wed, 16 Mar 2022 11:15:48 -0400 X-MC-Unique: Mcf7s-o2MBiM6B8wHkCEPg-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A7011811E75; Wed, 16 Mar 2022 15:15:47 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.195.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id D4710401E24; Wed, 16 Mar 2022 15:15:46 +0000 (UTC) From: Kevin Traynor To: Junxiao Shi Cc: dpdk stable Subject: patch 'net/af_xdp: fix custom program loading with multiple queues' has been queued to stable release 21.11.1 Date: Wed, 16 Mar 2022 15:15:10 +0000 Message-Id: <20220316151524.1242199-9-ktraynor@redhat.com> In-Reply-To: <20220316151524.1242199-1-ktraynor@redhat.com> References: <20220316151524.1242199-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" 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.1 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/21/22. 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/8fc808eaa3027b2d69c4e6ff76c9e19ed98f72fe Thanks. Kevin --- >From 8fc808eaa3027b2d69c4e6ff76c9e19ed98f72fe Mon Sep 17 00:00:00 2001 From: Junxiao Shi Date: Wed, 9 Mar 2022 21:18:43 +0000 Subject: [PATCH] net/af_xdp: fix custom program loading with multiple queues [ upstream commit 6f6134c35e3d2340e07f86414c75413e3ac7a0bc ] When the PMD is configured to load a custom XDP program, it sets XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD flag to prevent libbpf from loading its default XDP program. However, when queue_count is set to greater than 1, this flag is only set for the first XSK socket but not for subsequent XSK sockets. This causes XSK socket creation failure. This commit ensures that XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD flag is set for all XSK socket creations when custom XDP program is being used. Fixes: 01fa83c94d7e ("net/af_xdp: workaround custom program loading") Signed-off-by: Junxiao Shi --- drivers/net/af_xdp/rte_eth_af_xdp.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 958f18e6d5..80aa55fb22 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -1269,16 +1269,17 @@ xsk_configure(struct pmd_internals *internals, struct pkt_rx_queue *rxq, #endif - if (strnlen(internals->prog_path, PATH_MAX) && - !internals->custom_prog_configured) { - ret = load_custom_xdp_prog(internals->prog_path, - internals->if_index, - &internals->map); - if (ret) { - AF_XDP_LOG(ERR, "Failed to load custom XDP program %s\n", - internals->prog_path); - goto out_umem; + if (strnlen(internals->prog_path, PATH_MAX)) { + if (!internals->custom_prog_configured) { + ret = load_custom_xdp_prog(internals->prog_path, + internals->if_index, + &internals->map); + if (ret) { + AF_XDP_LOG(ERR, "Failed to load custom XDP program %s\n", + internals->prog_path); + goto out_umem; + } + internals->custom_prog_configured = 1; } - internals->custom_prog_configured = 1; - cfg.libbpf_flags = XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD; + cfg.libbpf_flags |= XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD; } -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-03-16 15:14:12.372322524 +0000 +++ 0009-net-af_xdp-fix-custom-program-loading-with-multiple-.patch 2022-03-16 15:14:12.108847604 +0000 @@ -1 +1 @@ -From 6f6134c35e3d2340e07f86414c75413e3ac7a0bc Mon Sep 17 00:00:00 2001 +From 8fc808eaa3027b2d69c4e6ff76c9e19ed98f72fe Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6f6134c35e3d2340e07f86414c75413e3ac7a0bc ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 65479138d3..9920f49870 100644 +index 958f18e6d5..80aa55fb22 100644 @@ -27 +28 @@ -@@ -1308,16 +1308,17 @@ xsk_configure(struct pmd_internals *internals, struct pkt_rx_queue *rxq, +@@ -1269,16 +1269,17 @@ xsk_configure(struct pmd_internals *internals, struct pkt_rx_queue *rxq,