From patchwork Wed Aug 30 15:59:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 130913 X-Patchwork-Delegate: thomas@monjalon.net 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 6829841FD1; Wed, 30 Aug 2023 18:06:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B9BEE427DE; Wed, 30 Aug 2023 18:00:14 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id C27DB402BB; Wed, 30 Aug 2023 17:59:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693411185; x=1724947185; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=82J2yt48GRNjIYEQ/H5nj7iVeoV8VOdSOMgaQN8UVbs=; b=XqIRCA6EOc0k2fR1UqE0WhpORRlOUH/w71dBL0u0BFwEYCb6FW3aI/b8 zuhrLlYKmWyU5KUvucmhd0+8ZmPX0p9Pz/LiBPd1Ft0FjOQ8Ng4rQbLve akz5VDG1/b8bwmUZExEK+L5DRwDEzbBlPfgHWRk399lwkfvA8LJXG+0QS 4Diru36p8UasD/7noO7HUG22F+Y+nzDV/ZSyv++ZlRSwyQU0uPKSuPCfk 8xeVg4swEVarVwkqDREXx7+QtjX21Q9kWIko1VUTE96eA46yegAbIQxWO vBAYxqztSLKNpOCNfXyobzI2M8OkcByeG/QcE1yttUT/+ClOZrhDkq86X w==; X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="360674181" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="360674181" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 08:59:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="739142701" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="739142701" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga002.jf.intel.com with ESMTP; 30 Aug 2023 08:59:42 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Yuying Zhang , Beilei Xing , Jingjing Wu , Bruce Richardson , qi.z.zhang@intel.com, stable@dpdk.org Subject: [PATCH 1/4] net/i40e: fix buffer leak on Rx reconfiguration Date: Wed, 30 Aug 2023 16:59:16 +0100 Message-Id: <20230830155919.592390-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230830155919.592390-1-bruce.richardson@intel.com> References: <20230830155919.592390-1-bruce.richardson@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 When reconfiguring a single queue on a device, the mbuf initializer value was not getting set, and remained at zero. This lead to mbuf leaks as the refcount was incorrect (0), so on free it wrapped around to UINT16_MAX. When setting up the mbuf initializer, also ensure that the queue is explicitly marked as using a vector function by setting the "rx_using_sse" flag. Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup") Cc: qi.z.zhang@intel.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson --- drivers/net/i40e/i40e_rxtx.c | 6 ++++++ drivers/net/i40e/i40e_rxtx_vec_common.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index b4f65b58fa..d96bbbb677 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -1918,6 +1918,12 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev, if (use_def_burst_func) ad->rx_bulk_alloc_allowed = false; i40e_set_rx_function(dev); + + if (ad->rx_vec_allowed && i40e_rxq_vec_setup(rxq)) { + PMD_DRV_LOG(ERR, "Failed vector rx setup."); + return -EINVAL; + } + return 0; } else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) { PMD_DRV_LOG(ERR, "Vector mode is allowed, but descriptor" diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h index fe1a6ec75e..8b745630e4 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_common.h +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h @@ -201,6 +201,7 @@ i40e_rxq_vec_setup_default(struct i40e_rx_queue *rxq) rte_compiler_barrier(); p = (uintptr_t)&mb_def.rearm_data; rxq->mbuf_initializer = *(uint64_t *)p; + rxq->rx_using_sse = 1; return 0; } From patchwork Wed Aug 30 15:59:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 130917 X-Patchwork-Delegate: thomas@monjalon.net 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 27C4141FD1; Wed, 30 Aug 2023 18:07:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BEA7242D2A; Wed, 30 Aug 2023 18:00:18 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 14376402D4; Wed, 30 Aug 2023 17:59:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693411190; x=1724947190; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dNHN+xna00zMIdi2cuOsslBvvYiBON4ybUk45AVelSs=; b=Mt/gfu5twvcErBYAoGfXRuQ/T0faTsbCiaI/ff8WHrJ4q0/ilxz3W6Yt /PAdeE4EIt0eJA7/fnDEyCbjzE850jKxdMZgBD2HDwdnLDdoCzhtjwboy juvEN3b8oUhjokjgVkd6Xl3OSIYl4MMhvpQr1AFN47duEuEqapDQBYF3F o/XXs3gX820gBWBsVcdsbNXwTwol1n0bZ2nD9bFAvGjRm0FaCiazbhPb4 IdNZQvPP65xU02DgsQpwOBn0xMJxDFLyNssisUJi1phI3U9EXyQnijmYv hTvW9ZhXwsnA/G2V53AAeUWl+LZ7U6If6CpRxeadjKB2a4s5nXpg7LPQi w==; X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="360674194" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="360674194" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 08:59:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="739142711" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="739142711" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga002.jf.intel.com with ESMTP; 30 Aug 2023 08:59:47 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Yuying Zhang , Beilei Xing , Jingjing Wu , Bruce Richardson , wenzhuo.lu@intel.com, stable@dpdk.org Subject: [PATCH 2/4] net/iavf: fix buffer leak on Tx queue stop Date: Wed, 30 Aug 2023 16:59:17 +0100 Message-Id: <20230830155919.592390-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230830155919.592390-1-bruce.richardson@intel.com> References: <20230830155919.592390-1-bruce.richardson@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 When a queue is stopped all buffers are meant to released from it, and then a new set of buffers reallocated on start. For the iavf code when using vector Tx, some buffers were left in the ring, and so those buffers were leaked. The buffers were missed as the release code only handled one side of a wrap-around case in the ring. Fix the issue by doing a single iteration of the ring freeing all buffers in it, handling wraparound through a simple post-increment check. Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Fixes: 9ab9514c150e ("net/iavf: enable AVX512 for Tx") Cc: wenzhuo.lu@intel.com Cc: jingjing.wu@intel.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson --- drivers/net/iavf/iavf_rxtx_vec_avx512.c | 17 ++++++++--------- drivers/net/iavf/iavf_rxtx_vec_common.h | 11 +++++------ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c index 3e66df5341..48337d5e03 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c +++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c @@ -2460,20 +2460,19 @@ iavf_tx_queue_release_mbufs_avx512(struct iavf_tx_queue *txq) { unsigned int i; const uint16_t max_desc = (uint16_t)(txq->nb_tx_desc - 1); + const uint16_t end_desc = txq->tx_tail >> txq->use_ctx; /* next empty slot */ + const uint16_t wrap_point = txq->nb_tx_desc >> txq->use_ctx; /* end of SW ring */ struct iavf_tx_vec_entry *swr = (void *)txq->sw_ring; if (!txq->sw_ring || txq->nb_free == max_desc) return; - i = (txq->next_dd >> txq->use_ctx) + 1 - - (txq->rs_thresh >> txq->use_ctx); - - if (txq->tx_tail < i) { - for (; i < (unsigned int)(txq->nb_tx_desc >> txq->use_ctx); i++) { - rte_pktmbuf_free_seg(swr[i].mbuf); - swr[i].mbuf = NULL; - } - i = 0; + i = (txq->next_dd - txq->rs_thresh + 1) >> txq->use_ctx; + while (i != end_desc) { + rte_pktmbuf_free_seg(swr[i].mbuf); + swr[i].mbuf = NULL; + if (++i == wrap_point) + i = 0; } } diff --git a/drivers/net/iavf/iavf_rxtx_vec_common.h b/drivers/net/iavf/iavf_rxtx_vec_common.h index ddb13ce8c3..1fac957fe1 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_common.h +++ b/drivers/net/iavf/iavf_rxtx_vec_common.h @@ -186,12 +186,11 @@ _iavf_tx_queue_release_mbufs_vec(struct iavf_tx_queue *txq) return; i = txq->next_dd - txq->rs_thresh + 1; - if (txq->tx_tail < i) { - for (; i < txq->nb_tx_desc; i++) { - rte_pktmbuf_free_seg(txq->sw_ring[i].mbuf); - txq->sw_ring[i].mbuf = NULL; - } - i = 0; + while (i != txq->tx_tail) { + rte_pktmbuf_free_seg(txq->sw_ring[i].mbuf); + txq->sw_ring[i].mbuf = NULL; + if (++i == txq->nb_tx_desc) + i = 0; } } From patchwork Wed Aug 30 15:59:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 130918 X-Patchwork-Delegate: thomas@monjalon.net 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 0DAFD41FD1; Wed, 30 Aug 2023 18:07:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB9DA42D6A; Wed, 30 Aug 2023 18:00:19 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 94187402E2; Wed, 30 Aug 2023 17:59:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693411195; x=1724947195; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Vaef2TE5CsJjJO1uxXTElcfWslXvx4sL2mIjJl2a884=; b=OsgSR5YxUBMEp5zq+WZah+Cx2xzST/SK+ItGhYdQsUsNEFw/xAf4z76W nzowNjzvCLLbokWislBjXL4DIytnNNfRdD0J8ljXf/2MwScpskkxLeEd7 F16YwVYLGxgkg7OWDu69b/rBcHH6o2iRYBFVF5WalWbcSbnENJSIsdc5+ /XU2RtoAWMumqA1OkQkbQS/Wjo2U+/oXIZr3nNLgsCdmfOoZgG/D9+Sgf O5c1IzBIkA/PhoUn0OTMsZ7R9hDmYZxHcOZ1f9CksgZ7xEua8qi4rWoE3 7tiJB4TinxijmJH8gsPbEPnuEB0Lx0F4NcRei5TsAveCET8+1fR0kg0Re Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="360674204" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="360674204" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 08:59:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="739142740" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="739142740" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga002.jf.intel.com with ESMTP; 30 Aug 2023 08:59:53 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Yuying Zhang , Beilei Xing , Jingjing Wu , Bruce Richardson , stable@dpdk.org Subject: [PATCH 3/4] net/iavf: fix restart of Rx queue on reconfigure Date: Wed, 30 Aug 2023 16:59:18 +0100 Message-Id: <20230830155919.592390-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230830155919.592390-1-bruce.richardson@intel.com> References: <20230830155919.592390-1-bruce.richardson@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 After reconfiguring an RX queue the mbuf_initializer value was not being correctly set. Fix this by calling the appropriate function if vector processing is enabled. This mirrors the behaviour by the i40e driver. Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Cc: jingjing.wu@intel.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson --- drivers/net/iavf/iavf_rxtx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index f7df4665d1..347f686831 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -755,6 +755,12 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, if (check_rx_vec_allow(rxq) == false) ad->rx_vec_allowed = false; + /* check vector conflict */ + if (ad->rx_vec_allowed && iavf_rxq_vec_setup(rxq)) { + PMD_DRV_LOG(ERR, "Failed vector rx setup."); + return -EINVAL; + } + return 0; } From patchwork Wed Aug 30 15:59:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 130919 X-Patchwork-Delegate: thomas@monjalon.net 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 E834E41FD1; Wed, 30 Aug 2023 18:07:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB47442DC4; Wed, 30 Aug 2023 18:00:22 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 0D07840DDB for ; Wed, 30 Aug 2023 18:00:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693411201; x=1724947201; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3XBqPQgVvJQNy2LvCY+Yep7093VsgR9okFBo7HfWajg=; b=K6zhFHZo48JU8O1H6fuFm30uB1AI3p8roONnXKhsDF2mubgJhqJ7Pry4 6C6Nx5/vix0qmb87Dnx4TgRM2uM3gGCgP4EoQUMDtjBd/xzDh0hzCr3iL DjwJRSeZyXZ4F++V0v0KjySBhNw2cANDE5GssRyv2ehB31ZqLBewbdd5i k9vdrp7dqtl2tb1U1U8L/pQpZPelB7S5j5JylTA68YUxP+tPk76TdBU62 /PYKJp6v0MCaNLARX924KCojpknh+0qbxuZTUMuHnaa9ODjD2EUw1d3G7 Y3piiTfbQOq8RSPd4Gxzhk75mLtzLs4di6FhufZ6/kXOCrLKfVAlO8xh4 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="360674212" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="360674212" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 09:00:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10818"; a="739142754" X-IronPort-AV: E=Sophos;i="6.02,214,1688454000"; d="scan'208";a="739142754" Received: from silpixa00401385.ir.intel.com ([10.237.214.14]) by orsmga002.jf.intel.com with ESMTP; 30 Aug 2023 08:59:59 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Yuying Zhang , Beilei Xing , Jingjing Wu , Bruce Richardson Subject: [PATCH 4/4] net/iavf: add support for runtime queue reconfiguration Date: Wed, 30 Aug 2023 16:59:19 +0100 Message-Id: <20230830155919.592390-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230830155919.592390-1-bruce.richardson@intel.com> References: <20230830155919.592390-1-bruce.richardson@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 Unlike the i40e driver, the iavf driver does not advertise support for runtime reconfiguration, meaning that application using the same hardware may get different behaviour when using a PF vs a VF. On testing with a 40G NIC, the only blocker to reconfiguring an RX queue on the fly is the fact that this support is not advertised by the driver. Add support for runtime reconfig by reporting it in the device info flags. Signed-off-by: Bruce Richardson --- doc/guides/nics/features/iavf.ini | 2 ++ drivers/net/iavf/iavf_ethdev.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/features/iavf.ini b/doc/guides/nics/features/iavf.ini index b72cd98484..db4f92ce71 100644 --- a/doc/guides/nics/features/iavf.ini +++ b/doc/guides/nics/features/iavf.ini @@ -11,6 +11,8 @@ Speed capabilities = Y Link status = Y Rx interrupt = Y Queue start/stop = Y +Runtime Rx queue setup = Y +Runtime Tx queue setup = Y Power mgmt address monitor = Y MTU update = Y Scattered Rx = Y diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index f2fc5a5621..22fbd7d6b2 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -1127,7 +1127,9 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->reta_size = vf->vf_res->rss_lut_size; dev_info->flow_type_rss_offloads = IAVF_RSS_OFFLOAD_ALL; dev_info->max_mac_addrs = IAVF_NUM_MACADDR_MAX; - dev_info->dev_capa &= ~RTE_ETH_DEV_CAPA_FLOW_RULE_KEEP; + dev_info->dev_capa = + RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | + RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP; dev_info->rx_offload_capa = RTE_ETH_RX_OFFLOAD_VLAN_STRIP | RTE_ETH_RX_OFFLOAD_QINQ_STRIP |