From patchwork Fri May 10 10:03:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Loftus, Ciara" X-Patchwork-Id: 140020 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 33A6543FEF; Fri, 10 May 2024 12:04:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BCF48402C4; Fri, 10 May 2024 12:04:20 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by mails.dpdk.org (Postfix) with ESMTP id 40DF1402BB for ; Fri, 10 May 2024 12:04:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715335458; x=1746871458; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=E4B5U2k7cJJG692hZ8buyA5Y4lWFTV21PReSg1R8Saw=; b=nrgmY7u3Z4/YV3eU6A8d8bOQ5qKx+rBxwXX2S/nAnMBVZyneHxo22vpF XNECD8MLvdpLZn1nmnApvNqNhAqb/PiJENz0e2vXsxkm8dEYIg+KFMgW+ uGlc50E6gOJdZAKFGZyVyrVKH8gs+pYv+XyV9TVJkMPMmMSdDnu3blshU HdFVE25pnefCYzLqZpWfT8yi9E1a22q1f57hcTJlUf8vsKGa4cy4RDwIz pgah98ik4EhQJMM9EzXQ5ZFM9owoTUn/eMeRk64yNlROScCsjePF6KPUe oL4QD8idIWhlUBUGx0ghgwi95/d9yVJqSrr5Edi2T7E2JkovJmPeImDdV w==; X-CSE-ConnectionGUID: or8Vt6r+Qj+6XsGyhehk4A== X-CSE-MsgGUID: AtJNffU6RD6z1CCqA6j5OQ== X-IronPort-AV: E=McAfee;i="6600,9927,11068"; a="22460626" X-IronPort-AV: E=Sophos;i="6.08,150,1712646000"; d="scan'208";a="22460626" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 May 2024 03:04:17 -0700 X-CSE-ConnectionGUID: BbwgdqRkSlSHxnycdrVcFA== X-CSE-MsgGUID: o9stdmBATzyf8sz6ZZY1mA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,150,1712646000"; d="scan'208";a="29672596" Received: from silpixa00401177.ir.intel.com (HELO vm177..) ([10.55.128.139]) by orviesa009.jf.intel.com with ESMTP; 10 May 2024 03:04:16 -0700 From: Ciara Loftus To: dev@dpdk.org Cc: stephen@networkplumber.org, Ciara Loftus , stable@dpdk.og Subject: [PATCH 1/3] net/af_xdp: Fix port id not set in rx mbuf Date: Fri, 10 May 2024 10:03:56 +0000 Message-Id: <20240510100358.18815-1-ciara.loftus@intel.com> X-Mailer: git-send-email 2.34.1 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.og Reported-by: Stephen Hemminger Signed-off-by: Ciara Loftus Acked-by:Maryam Tahhan Acked-by: Stephen Hemminger --- 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;