DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Prashant Gupta <prashant.gupta_3@nxp.com>
To: stephen@networkplumber.org, dev@dpdk.org
Cc: Jun Yang <jun.yang@nxp.com>
Subject: [PATCH 26/45] net/dpaa2: remove unused soft parser driver
Date: Thu,  3 Sep 2026 19:23:34 +0530	[thread overview]
Message-ID: <20260903135353.3358303-27-prashant.gupta_3@nxp.com> (raw)
In-Reply-To: <20260903135353.3358303-1-prashant.gupta_3@nxp.com>

From: Jun Yang <jun.yang@nxp.com>

Softparser only supports to be loaded before Linux starts.

Signed-off-by: Jun Yang <jun.yang@nxp.com>
---
 drivers/net/dpaa2/dpaa2_ethdev.c  |  28 -----
 drivers/net/dpaa2/dpaa2_recycle.c |   1 -
 drivers/net/dpaa2/dpaa2_sparser.c | 137 --------------------
 drivers/net/dpaa2/dpaa2_sparser.h | 202 ------------------------------
 drivers/net/dpaa2/meson.build     |   1 -
 5 files changed, 369 deletions(-)
 delete mode 100644 drivers/net/dpaa2/dpaa2_sparser.c
 delete mode 100644 drivers/net/dpaa2/dpaa2_sparser.h

diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 387a153036..1df84e1316 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -29,7 +29,6 @@
 #include <mc/fsl_dpmng.h>
 #include <mc/fsl_dpcon.h>
 #include "dpaa2_ethdev.h"
-#include "dpaa2_sparser.h"
 #include <fsl_qbman_debug.h>
 
 #define DRIVER_LOOPBACK_MODE "drv_loopback"
@@ -3738,33 +3737,6 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
 	}
 	eth_dev->data->mtu = RTE_ETHER_MTU;
 
-	/*TODO To enable soft parser support DPAA2 driver needs to integrate
-	 * with external entity to receive byte code for software sequence
-	 * and same will be offload to the H/W using MC interface.
-	 * Currently it is assumed that DPAA2 driver has byte code by some
-	 * mean and same if offloaded to H/W.
-	 */
-	if (getenv("DPAA2_ENABLE_SOFT_PARSER")) {
-		WRIOP_SS_INITIALIZER(priv);
-		ret = dpaa2_eth_load_wriop_soft_parser(priv, DPNI_SS_INGRESS);
-		if (ret < 0) {
-			DPAA2_PMD_ERR(" Error(%d) in loading softparser",
-				      ret);
-			goto init_err;
-		}
-
-		ret = dpaa2_eth_enable_wriop_soft_parser(priv,
-							 DPNI_SS_INGRESS);
-		if (ret < 0) {
-			DPAA2_PMD_ERR(" Error(%d) in enabling softparser",
-				      ret);
-			goto init_err;
-		}
-	}
-
-	ret = dpaa2_soft_parser_loaded();
-	if (ret > 0)
-		DPAA2_PMD_INFO("soft parser is loaded");
 	DPAA2_PMD_INFO("%s: netdev created, connected to %s",
 		eth_dev->data->name, dpaa2_dev->ep_name);
 
diff --git a/drivers/net/dpaa2/dpaa2_recycle.c b/drivers/net/dpaa2/dpaa2_recycle.c
index 80c20272ce..ed038c204b 100644
--- a/drivers/net/dpaa2/dpaa2_recycle.c
+++ b/drivers/net/dpaa2/dpaa2_recycle.c
@@ -23,7 +23,6 @@
 #include <dpaa2_hw_dpio.h>
 #include <mc/fsl_dpmng.h>
 #include "dpaa2_ethdev.h"
-#include "dpaa2_sparser.h"
 #include <fsl_qbman_debug.h>
 
 #include <rte_io.h>
diff --git a/drivers/net/dpaa2/dpaa2_sparser.c b/drivers/net/dpaa2/dpaa2_sparser.c
deleted file mode 100644
index 6c3e6eb573..0000000000
--- a/drivers/net/dpaa2/dpaa2_sparser.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018-2023 NXP
- */
-
-#include <rte_mbuf.h>
-#include <rte_ethdev.h>
-#include <rte_malloc.h>
-#include <rte_memcpy.h>
-#include <rte_string_fns.h>
-#include <dev_driver.h>
-
-#include <fslmc_logs.h>
-#include <fslmc_vfio.h>
-#include <dpaa2_hw_pvt.h>
-#include <dpaa2_hw_dpio.h>
-#include <dpaa2_hw_mempool.h>
-#include <dpaa2_pmd_logs.h>
-
-#include "dpaa2_ethdev.h"
-#include "dpaa2_sparser.h"
-#include "base/dpaa2_hw_dpni_annot.h"
-#define __STDC_FORMAT_MACROS
-#include <stdint.h>
-#include <inttypes.h>
-
-static uint8_t wriop_bytecode[] = {
-	0x00, 0x04, 0x29, 0x42, 0x03, 0xe0, 0x12, 0x00, 0x29, 0x02,
-	0x18, 0x00, 0x87, 0x3c, 0x00, 0x02, 0x18, 0x00, 0x00, 0x00
-};
-
-int dpaa2_eth_load_wriop_soft_parser(struct dpaa2_dev_priv *priv,
-				     enum dpni_soft_sequence_dest dest)
-{
-	struct fsl_mc_io *dpni = priv->hw;
-	struct dpni_load_ss_cfg     cfg;
-	struct dpni_drv_sparser_param	sp_param;
-	uint8_t *addr;
-	int ret;
-
-	memset(&sp_param, 0, sizeof(sp_param));
-	sp_param.start_pc = priv->ss_offset;
-	sp_param.byte_code = &wriop_bytecode[0];
-	sp_param.size = sizeof(wriop_bytecode);
-
-	cfg.dest = dest;
-	cfg.ss_offset = sp_param.start_pc;
-	cfg.ss_size = sp_param.size;
-
-	addr = rte_malloc(NULL, sp_param.size, 64);
-	if (!addr) {
-		DPAA2_PMD_ERR("Memory unavailable for soft parser param");
-		return -1;
-	}
-
-	memcpy(addr, sp_param.byte_code, sp_param.size);
-	cfg.ss_iova = DPAA2_VADDR_TO_IOVA_AND_CHECK(addr, sp_param.size);
-	if (cfg.ss_iova == RTE_BAD_IOVA) {
-		DPAA2_PMD_ERR("No IOMMU map for soft sequence(%p), size=%d",
-			addr, sp_param.size);
-		rte_free(addr);
-
-		return -ENOBUFS;
-	}
-
-	ret = dpni_load_sw_sequence(dpni, CMD_PRI_LOW, priv->token, &cfg);
-	if (ret) {
-		DPAA2_PMD_ERR("dpni_load_sw_sequence failed");
-		rte_free(addr);
-		return ret;
-	}
-
-	priv->ss_iova = cfg.ss_iova;
-	priv->ss_offset += sp_param.size;
-	DPAA2_PMD_INFO("Soft parser loaded for dpni@%d", priv->hw_id);
-
-	rte_free(addr);
-	return 0;
-}
-
-int dpaa2_eth_enable_wriop_soft_parser(struct dpaa2_dev_priv *priv,
-				       enum dpni_soft_sequence_dest dest)
-{
-	struct fsl_mc_io *dpni = priv->hw;
-	struct dpni_enable_ss_cfg cfg;
-	uint8_t pa[3];
-	struct dpni_drv_sparser_param sp_param;
-	uint8_t *param_addr = NULL;
-	int ret;
-
-	memset(&sp_param, 0, sizeof(sp_param));
-	pa[0] = 32;	/* Custom Header Length in bytes */
-	sp_param.custom_header_first = 1;
-	sp_param.param_offset = 32;
-	sp_param.param_size = 1;
-	sp_param.start_pc = priv->ss_offset;
-	sp_param.param_array = (uint8_t *)&pa[0];
-
-	cfg.dest = dest;
-	cfg.ss_offset = sp_param.start_pc;
-	cfg.set_start = sp_param.custom_header_first;
-	cfg.hxs = (uint16_t)sp_param.link_to_hard_hxs;
-	cfg.param_offset = sp_param.param_offset;
-	cfg.param_size = sp_param.param_size;
-	if (cfg.param_size) {
-		param_addr = rte_malloc(NULL, cfg.param_size, 64);
-		if (!param_addr) {
-			DPAA2_PMD_ERR("Memory unavailable for soft parser param");
-			return -1;
-		}
-
-		memcpy(param_addr, sp_param.param_array, cfg.param_size);
-		cfg.param_iova = DPAA2_VADDR_TO_IOVA_AND_CHECK(param_addr,
-			cfg.param_size);
-		if (cfg.param_iova == RTE_BAD_IOVA) {
-			DPAA2_PMD_ERR("%s: No IOMMU map for %p, size=%d",
-				__func__, param_addr, cfg.param_size);
-			rte_free(param_addr);
-
-			return -ENOBUFS;
-		}
-		priv->ss_param_iova = cfg.param_iova;
-	} else {
-		cfg.param_iova = 0;
-	}
-
-	ret = dpni_enable_sw_sequence(dpni, CMD_PRI_LOW, priv->token, &cfg);
-	if (ret) {
-		DPAA2_PMD_ERR("Soft parser enabled for dpni@%d failed",
-			priv->hw_id);
-		rte_free(param_addr);
-		return ret;
-	}
-
-	rte_free(param_addr);
-	DPAA2_PMD_INFO("Soft parser enabled for dpni@%d", priv->hw_id);
-	return 0;
-}
diff --git a/drivers/net/dpaa2/dpaa2_sparser.h b/drivers/net/dpaa2/dpaa2_sparser.h
deleted file mode 100644
index 0187cde113..0000000000
--- a/drivers/net/dpaa2/dpaa2_sparser.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018-2019 NXP
- */
-
-/**
- * @file	dpaa2_sparser.h
- *
- * @brief	Soft parser related macros & functions support for DPAA2 device
- *	framework based applications.
- *
- */
-
-#ifndef _DPAA2_SPARSER_H
-#define _DPAA2_SPARSER_H
-
-#define WRIOP_SS_INITIALIZER(priv)				\
-do {								\
-	/* Base offset of parse profile memory in WRIOP */	\
-	(priv)->ss_offset = 0x20;				\
-	(priv)->ss_iova	= (size_t)NULL;			\
-	(priv)->ss_param_iova = (size_t)NULL;			\
-} while (0)
-
-/**************************************************************************/
-/*
- * @enum   parser_starting_hxs_code
- * @Description PARSER Starting HXS code
- */
-/***************************************************************************/
-enum parser_starting_hxs_code {
-	/** Ethernet Starting HXS coding */
-	PARSER_ETH_STARTING_HXS = 0x0000,
-	/** LLC+SNAP Starting HXS coding */
-	PARSER_LLC_SNAP_STARTING_HXS = 0x0001,
-	/** VLAN Starting HXS coding */
-	PARSER_VLAN_STARTING_HXS = 0x0002,
-	/** PPPoE+PPP Starting HXS coding */
-	PARSER_PPPOE_PPP_STARTING_HXS = 0x0003,
-	/** MPLS Starting HXS coding */
-	PARSER_MPLS_STARTING_HXS = 0x0004,
-	/** ARP Starting HXS coding */
-	PARSER_ARP_STARTING_HXS = 0x0005,
-	/** IP Starting HXS coding */
-	PARSER_IP_STARTING_HXS  = 0x0006,
-	/** IPv4 Starting HXS coding */
-	PARSER_IPV4_STARTING_HXS = 0x0007,
-	/** IPv6 Starting HXS coding */
-	PARSER_IPV6_STARTING_HXS = 0x0008,
-	/** GRE Starting HXS coding */
-	PARSER_GRE_STARTING_HXS = 0x0009,
-	/** MinEncap Starting HXS coding */
-	PARSER_MINENCAP_STARTING_HXS = 0x000A,
-	/** Other L3 Shell Starting HXS coding */
-	PARSER_OTHER_L3_SHELL_STARTING_HXS = 0x000B,
-	/** TCP Starting HXS coding */
-	PARSER_TCP_STARTING_HXS = 0x000C,
-	/** UDP Starting HXS coding */
-	PARSER_UDP_STARTING_HXS = 0x000D,
-	/** IPSec Starting HXS coding */
-	PARSER_IPSEC_STARTING_HXS = 0x000E,
-	/** SCTP Starting HXS coding */
-	PARSER_SCTP_STARTING_HXS = 0x000F,
-	/** DCCP Starting HXS coding */
-	PARSER_DCCP_STARTING_HXS = 0x0010,
-	/** Other L4 Shell Starting HXS coding */
-	PARSER_OTHER_L4_SHELL_STARTING_HXS = 0x0011,
-	/** GTP Starting HXS coding */
-	PARSER_GTP_STARTING_HXS = 0x0012,
-	/** ESP Starting HXS coding */
-	PARSER_ESP_STARTING_HXS = 0x0013,
-	/** VXLAN Starting HXS coding */
-	PARSER_VXLAN_STARTING_HXS = 0x0014,
-	/** L5 (and above) Shell Starting HXS coding */
-	PARSER_L5_SHELL_STARTING_HXS = 0x001E,
-	/** Final Shell Starting HXS coding */
-	PARSER_FINAL_SHELL_STARTING_HXS = 0x001F
-};
-
-/**************************************************************************/
-/*
- * @Description    struct dpni_drv_sparser_param - Structure representing the
- *			information needed to activate(enable) a Soft Parser.
- */
-/***************************************************************************/
-
-struct dpni_drv_sparser_param {
-	/* The "custom_header_first" must be set if the custom header to parse
-	 * is the first header in the packet, otherwise "custom_header_first"
-	 * must be cleared.
-	 */
-	uint8_t             custom_header_first;
-	/* Hard HXS on which a soft parser is activated. This must be
-	 * configured.
-	 * if the header to parse is not the first header in the packet.
-	 */
-	enum parser_starting_hxs_code   link_to_hard_hxs;
-	/* Soft Sequence Start PC */
-	uint16_t            start_pc;
-	/* Soft Sequence byte-code */
-	uint8_t             *byte_code;
-	/* Soft Sequence size */
-	uint16_t            size;
-	/* Pointer to the Parameters Array of the SP */
-	uint8_t             *param_array;
-	/* Parameters offset */
-	uint8_t             param_offset;
-	/* Parameters size */
-	uint8_t             param_size;
-};
-
-struct sp_parse_result {
-	/* Next header */
-	uint16_t    nxt_hdr;
-	/* Frame Attribute Flags Extension */
-	uint16_t    frame_attribute_flags_extension;
-	/* Frame Attribute Flags (part 1) */
-	uint32_t    frame_attribute_flags_1;
-	/* Frame Attribute Flags (part 2) */
-	uint32_t    frame_attribute_flags_2;
-	/* Frame Attribute Flags (part 3) */
-	uint32_t    frame_attribute_flags_3;
-	/* Shim Offset 1 */
-	uint8_t     shim_offset_1;
-	/* Shim Offset 2 */
-	uint8_t     shim_offset_2;
-	/* Outer IP protocol field offset */
-	uint8_t     ip_1_pid_offset;
-	/* Ethernet offset */
-	uint8_t     eth_offset;
-	/* LLC+SNAP offset */
-	uint8_t     llc_snap_offset;
-	/* First VLAN's TCI field offset*/
-	uint8_t     vlan_tci1_offset;
-	/* Last VLAN's TCI field offset*/
-	uint8_t     vlan_tcin_offset;
-	/* Last Ethertype offset*/
-	uint8_t     last_etype_offset;
-	/* PPPoE offset */
-	uint8_t     pppoe_offset;
-	/* First MPLS offset */
-	uint8_t     mpls_offset_1;
-	/* Last MPLS offset */
-	uint8_t     mpls_offset_n;
-	/* Layer 3 (Outer IP, ARP, FCoE or FIP) offset */
-	uint8_t     l3_offset;
-	/* Inner IP or MinEncap offset*/
-	uint8_t     ipn_or_minencap_offset;
-	/* GRE offset */
-	uint8_t     gre_offset;
-	/* Layer 4 offset*/
-	uint8_t     l4_offset;
-	/* Layer 5 offset */
-	uint8_t     l5_offset;
-	/* Routing header offset of 1st IPv6 header */
-	uint8_t     routing_hdr_offset1;
-	/* Routing header offset of 2nd IPv6 header */
-	uint8_t     routing_hdr_offset2;
-	/* Next header offset */
-	uint8_t     nxt_hdr_offset;
-	/* IPv6 fragmentable part offset */
-	uint8_t     ipv6_frag_offset;
-	/* Frame's untouched running sum, input to parser */
-	uint16_t    gross_running_sum;
-	/* Running Sum */
-	uint16_t    running_sum;
-	/* Parse Error code */
-	uint8_t     parse_error_code;
-	/* Offset to the next header field before IPv6 fragment extension */
-	uint8_t     nxt_hdr_before_ipv6_frag_ext;
-	/* Inner IP Protocol field offset */
-	uint8_t     ip_n_pid_offset;
-	/* Reserved for Soft parsing context*/
-	uint8_t     soft_parsing_context[21];
-};
-
-struct frame_attr {
-	const char *fld_name;
-	uint8_t     faf_offset;
-	uint32_t    fld_mask;
-};
-
-struct frame_attr_ext {
-	const char *fld_name;
-	uint8_t     faf_ext_offset;
-	uint16_t    fld_mask;
-};
-
-
-struct parse_err {
-	uint16_t    code;
-	const char *err_name;
-};
-
-/* Macro definitions */
-#define IS_ONE_BIT_FIELD(_mask)                 \
-(!((_mask) & ((_mask) - 1)) || (_mask == 1))
-
-int dpaa2_eth_load_wriop_soft_parser(struct dpaa2_dev_priv *priv,
-		enum dpni_soft_sequence_dest dest);
-int dpaa2_eth_enable_wriop_soft_parser(struct dpaa2_dev_priv *priv,
-		enum dpni_soft_sequence_dest dest);
-#endif /* _DPAA2_SPARSER_H_ */
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index 808dad8112..4f774f7c82 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -17,7 +17,6 @@ sources = files(
         'dpaa2_flow.c',
         'dpaa2_recycle.c',
         'dpaa2_rxtx.c',
-        'dpaa2_sparser.c',
         'dpaa2_ptp.c',
         'mc/dprtc.c',
         'mc/dpkg.c',
-- 
2.43.0


  parent reply	other threads:[~2026-09-03 13:56 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-03 13:53 [PATCH 00/45] net/dpaa2: features and fixes for NXP DPAA2 drivers Prashant Gupta
2026-09-03 13:53 ` [PATCH 01/45] crypto/dpaa2_sec: fix buffer overflow in GCM decrypt Prashant Gupta
2026-09-03 13:53 ` [PATCH 02/45] crypto/dpaa2_sec: fix FLE pool leak on sec FD build failure Prashant Gupta
2026-09-03 13:53 ` [PATCH 03/45] crypto/dpaa2_sec: support AES-GMAC Prashant Gupta
2026-09-03 13:53 ` [PATCH 04/45] crypto/dpaa2_sec: increase ivsize range for AES-CTR Prashant Gupta
2026-09-03 13:53 ` [PATCH 05/45] crypto/dpaa2_sec: add missing ECN capability Prashant Gupta
2026-09-03 13:53 ` [PATCH 06/45] crypto/dpaa2_sec: add support for env variables Prashant Gupta
2026-09-03 13:53 ` [PATCH 07/45] drivers: fix double free of dpaa2 device on uninit Prashant Gupta
2026-09-03 14:05   ` David Marchand
2026-09-03 13:53 ` [PATCH 08/45] net/dpaa2: fix integer overflow in CCSR region mapping Prashant Gupta
2026-09-03 13:53 ` [PATCH 09/45] dma/dpaa2: fix array-bounds warning in dequeue path Prashant Gupta
2026-09-03 13:53 ` [PATCH 10/45] bus/fslmc: defer bus initialization to probe Prashant Gupta
2026-09-03 13:53 ` [PATCH 11/45] dma/dpaa2: validate IOVA in pre-populate helpers Prashant Gupta
2026-09-03 13:53 ` [PATCH 12/45] dma/dpaa2: optimize context index ring enqueue Prashant Gupta
2026-09-03 13:53 ` [PATCH 13/45] drivers: add dpaa2 DMA bypass memory translation option Prashant Gupta
2026-09-03 13:53 ` [PATCH 14/45] mempool/dpaa2: support ops index from primary in secondary Prashant Gupta
2026-09-03 13:53 ` [PATCH 15/45] net/dpaa2: set Tx confirmation on device init Prashant Gupta
2026-09-03 13:53 ` [PATCH 16/45] drivers: optimize dpaa2 Tx queue and channel mapping Prashant Gupta
2026-09-03 13:53 ` [PATCH 17/45] net/dpaa2: support larger burst size Prashant Gupta
2026-09-03 13:53 ` [PATCH 18/45] net/dpaa2: support MPLS and PPPoE flow distribution Prashant Gupta
2026-09-03 13:53 ` [PATCH 19/45] net/dpaa2: support meter and policing Prashant Gupta
2026-09-03 13:53 ` [PATCH 20/45] net/dpaa2: support flow drop action Prashant Gupta
2026-09-03 13:53 ` [PATCH 21/45] net/dpaa2: set default flow miss action per device Prashant Gupta
2026-09-03 13:53 ` [PATCH 22/45] net/dpaa2: identify Rx mbuf hash information by FLC Prashant Gupta
2026-09-03 13:53 ` [PATCH 23/45] net/dpaa2: add minimum key size support Prashant Gupta
2026-09-03 13:53 ` [PATCH 24/45] net/dpaa2: restructure dpaa2 parser processing Prashant Gupta
2026-09-03 13:53 ` [PATCH 25/45] net/dpaa2: parse tunnel and fragmented packet types Prashant Gupta
2026-09-03 13:53 ` Prashant Gupta [this message]
2026-09-03 13:53 ` [PATCH 27/45] drivers: refresh dpaa2 MC and SoC version info Prashant Gupta
2026-09-03 13:53 ` [PATCH 28/45] drivers: identify dpaa2 soft parser protocol Prashant Gupta
2026-09-03 13:53 ` [PATCH 29/45] drivers: assign dpaa2 Rx CGID per traffic class Prashant Gupta
2026-09-03 13:53 ` [PATCH 30/45] drivers: inherit dpaa2 rxq config for event queue Prashant Gupta
2026-09-03 13:53 ` [PATCH 31/45] net/dpaa2: rename Rx queue flags Prashant Gupta
2026-09-03 13:53 ` [PATCH 32/45] drivers: rework dpaa2 Tx confirmation Prashant Gupta
2026-09-03 13:53 ` [PATCH 33/45] net/dpaa2: ptp enhancements Prashant Gupta
2026-09-03 13:53 ` [PATCH 34/45] net/dpaa2: remove unused soft parser Tx code Prashant Gupta
2026-09-03 13:53 ` [PATCH 35/45] net/dpaa2: update MC dpni QoS and flow steering API Prashant Gupta
2026-09-03 13:53 ` [PATCH 36/45] net/dpaa2: enhance xstat implementation Prashant Gupta
2026-09-03 13:53 ` [PATCH 37/45] net/dpaa2: rework flow engine Prashant Gupta
2026-09-03 13:53 ` [PATCH 38/45] net/dpaa2: support Rx mempool per traffic class Prashant Gupta
2026-09-03 13:53 ` [PATCH 39/45] drivers: consume dpaa2 DQRR entries in batches Prashant Gupta
2026-09-03 13:53 ` [PATCH 40/45] drivers: resolve dpaa2 endpoint in the net driver Prashant Gupta
2026-09-03 13:53 ` [PATCH 41/45] drivers: align dpaa2 event port depths with hardware rings Prashant Gupta
2026-09-03 13:53 ` [PATCH 42/45] net/dpaa2: read MC version from device private data Prashant Gupta
2026-09-03 13:53 ` [PATCH 43/45] net/dpaa2: do not overwrite mbuf hash with drop priority Prashant Gupta
2026-09-03 13:53 ` [PATCH 44/45] bus/fslmc: reduce probe-time logging and MC traffic Prashant Gupta
2026-09-03 13:53 ` [PATCH 45/45] net/dpaa2: reject Rx queue deferred start Prashant Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260903135353.3358303-27-prashant.gupta_3@nxp.com \
    --to=prashant.gupta_3@nxp.com \
    --cc=dev@dpdk.org \
    --cc=jun.yang@nxp.com \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox