From patchwork Tue May 14 08:41:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Loftus, Ciara" X-Patchwork-Id: 140048 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 185C44402A; Tue, 14 May 2024 10:43:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 091AE40608; Tue, 14 May 2024 10:43:06 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by mails.dpdk.org (Postfix) with ESMTP id 59A594064A; Tue, 14 May 2024 10:43:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715676185; x=1747212185; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YvJn7vabt7CQAezSkOHfaEJ3O9tcw+NwaJoFD+nb5qU=; b=EC23s8UspgUuIA4DqzJ+JebOkQRa08Pxmk0diDyvGqzCKjtNPe8o5Pct YnmbTnhBfmk3ozcbInqr2kbuywOHw5Ku+TomwZ8FAKtjDeG3hlRzAqCkK h/IrxaTLCrNBEHiaoOv9fUu5j00Roff8bbK6ggnvDOhYV8nR3v35HOJzx iQaA/rDeRjBXWIDKDBIjWRhdR4DPkQ2yk9LcCUuk2igSnLkmTh0qMJSH8 X730UyMpwtndlt9C5BQp0itK5hg0vsU+QwrOMQqwh235XN9P9q7XAIyl9 YJCwSpg22w770aQdUAYdc3Amo6zKuvW+jWQxEbYEPpzQyk/kvU41s0Asx w==; X-CSE-ConnectionGUID: gTkbBwCRRGKSr3zHsFc1lw== X-CSE-MsgGUID: tJHtmaXbQOOu7nJFmCRF3w== X-IronPort-AV: E=McAfee;i="6600,9927,11072"; a="11513808" X-IronPort-AV: E=Sophos;i="6.08,159,1712646000"; d="scan'208";a="11513808" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2024 01:43:03 -0700 X-CSE-ConnectionGUID: iqhuCoDoRcKs3rXBhFkKFw== X-CSE-MsgGUID: cKEnqo8TSyqYL+1XDWd4Ag== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,159,1712646000"; d="scan'208";a="30657430" Received: from silpixa00401177.ir.intel.com (HELO vm177..) ([10.55.128.139]) by fmviesa006.fm.intel.com with ESMTP; 14 May 2024 01:43:02 -0700 From: Ciara Loftus To: dev@dpdk.org Cc: Ciara Loftus , stable@dpdk.org, Stephen Hemminger , Maryam Tahhan Subject: [PATCH v2 1/4] net/af_xdp: fix port ID not set in Rx mbuf Date: Tue, 14 May 2024 08:41:52 +0000 Message-Id: <20240514084155.50673-2-ciara.loftus@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240514084155.50673-1-ciara.loftus@intel.com> References: <20240514084155.50673-1-ciara.loftus@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Record the port id in the af_xdp rx queue structure and use it to set the port id of the mbuf of a received packed. Bugzilla ID: 1428 Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD") cc: stable@dpdk.org Reported-by: Stephen Hemminger Signed-off-by: Ciara Loftus Acked-by: Maryam Tahhan --- v2: * Fixed typo in commit message drivers/net/af_xdp/rte_eth_af_xdp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c index 268a130c49..fee0d5d5f3 100644 --- a/drivers/net/af_xdp/rte_eth_af_xdp.c +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c @@ -131,6 +131,7 @@ struct pkt_rx_queue { struct xsk_umem_info *umem; struct xsk_socket *xsk; struct rte_mempool *mb_pool; + uint16_t port; struct rx_stats stats; @@ -360,6 +361,7 @@ af_xdp_rx_zc(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) bufs[i]->data_off = offset - sizeof(struct rte_mbuf) - rte_pktmbuf_priv_size(umem->mb_pool) - umem->mb_pool->header_size; + bufs[i]->port = rxq->port; rte_pktmbuf_pkt_len(bufs[i]) = len; rte_pktmbuf_data_len(bufs[i]) = len; @@ -426,6 +428,7 @@ af_xdp_rx_cp(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) rte_pktmbuf_data_len(mbufs[i]) = len; rx_bytes += len; bufs[i] = mbufs[i]; + bufs[i]->port = rxq->port; } xsk_ring_cons__release(rx, nb_pkts); @@ -1779,6 +1782,8 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, process_private->rxq_xsk_fds[rx_queue_id] = rxq->fds[0].fd; + rxq->port = dev->data->port_id; + dev->data->rx_queues[rx_queue_id] = rxq; return 0;