patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Raja Zidane <rzidane@nvidia.com>
Cc: Matan Azrad <matan@nvidia.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/mlx5: fix mark enabling for Rx' has been queued to stable release 20.11.5
Date: Fri, 18 Feb 2022 12:38:34 +0000	[thread overview]
Message-ID: <20220218123931.1749595-65-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20220218123931.1749595-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to stable release 20.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/20/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/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/a133cd9add74162b2efc09169b910f863a41a6c1

Thanks.

Luca Boccassi

---
From a133cd9add74162b2efc09169b910f863a41a6c1 Mon Sep 17 00:00:00 2001
From: Raja Zidane <rzidane@nvidia.com>
Date: Sun, 16 Jan 2022 15:23:47 +0000
Subject: [PATCH] net/mlx5: fix mark enabling for Rx

[ upstream commit 082becbf1f35bda03a9ad80fcd7fe4afe3aea7be ]

To optimize datapath, the mlx5 pmd checked for mark action on flow
creation, and flagged possible destination rxqs (through queue/RSS
actions), then it enabled the mark action logic only for flagged rxqs.

Mark action didn't work if no queue/rss action was in the same flow,
even when the user use multi-group logic to manage the flows.
So, if mark action is performed in group X and the packet is moved to
group Y > X when the packet is forwarded to Rx queues, SW did not get
the mark ID to the mbuf.

Flag Rx datapath to report mark action for any queue when the driver
detects the first mark action after dev_start operation.

Fixes: 8e61555657b2 ("net/mlx5: fix shared RSS and mark actions combination")

Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5.h            |  1 +
 drivers/net/mlx5/mlx5_flow.c       | 54 ++++++++++++++++--------------
 drivers/net/mlx5/mlx5_flow.h       |  2 +-
 drivers/net/mlx5/mlx5_flow_dv.c    |  6 ++--
 drivers/net/mlx5/mlx5_flow_verbs.c |  4 +--
 drivers/net/mlx5/mlx5_rxtx.h       |  1 -
 6 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index a4880d01d9..93d9ad5e64 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -947,6 +947,7 @@ struct mlx5_priv {
 	unsigned int mtr_reg_share:1; /* Whether support meter REG_C share. */
 	unsigned int sampler_en:1; /* Whether support sampler. */
 	unsigned int lb_used:1; /* Loopback queue is referred to. */
+	uint32_t mark_enabled:1; /* If mark action is enabled on rxqs. */
 	uint16_t domain_id; /* Switch domain identifier. */
 	uint16_t vport_id; /* Associated VF vport index (if any). */
 	uint32_t vport_meta_tag; /* Used for vport index match ove VF LAG. */
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 080731ca04..69f57605f8 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1171,7 +1171,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
 		       struct mlx5_flow_handle *dev_handle)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
-	const int mark = dev_handle->mark;
 	const int tunnel = !!(dev_handle->layers & MLX5_FLOW_LAYER_TUNNEL);
 	struct mlx5_ind_table_obj *ind_tbl = NULL;
 	unsigned int i;
@@ -1205,15 +1204,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
 		 * this must be always enabled (metadata may arive
 		 * from other port - not from local flows only.
 		 */
-		if (priv->config.dv_flow_en &&
-		    priv->config.dv_xmeta_en != MLX5_XMETA_MODE_LEGACY &&
-		    mlx5_flow_ext_mreg_supported(dev)) {
-			rxq_ctrl->rxq.mark = 1;
-			rxq_ctrl->flow_mark_n = 1;
-		} else if (mark) {
-			rxq_ctrl->rxq.mark = 1;
-			rxq_ctrl->flow_mark_n++;
-		}
 		if (tunnel) {
 			unsigned int j;
 
@@ -1231,6 +1221,20 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
 	}
 }
 
+static void
+flow_rxq_mark_flag_set(struct rte_eth_dev *dev)
+{
+	struct mlx5_priv *priv = dev->data->dev_private;
+	struct mlx5_rxq_ctrl *rxq_ctrl;
+
+	if (priv->mark_enabled)
+		return;
+	LIST_FOREACH(rxq_ctrl, &priv->rxqsctrl, next) {
+		rxq_ctrl->rxq.mark = 1;
+	}
+	priv->mark_enabled = 1;
+}
+
 /**
  * Set the Rx queue flags (Mark/Flag and Tunnel Ptypes) for a flow
  *
@@ -1245,7 +1249,11 @@ flow_rxq_flags_set(struct rte_eth_dev *dev, struct rte_flow *flow)
 	struct mlx5_priv *priv = dev->data->dev_private;
 	uint32_t handle_idx;
 	struct mlx5_flow_handle *dev_handle;
+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
 
+	MLX5_ASSERT(wks);
+	if (wks->mark)
+		flow_rxq_mark_flag_set(dev);
 	SILIST_FOREACH(priv->sh->ipool[MLX5_IPOOL_MLX5_FLOW], flow->dev_handles,
 		       handle_idx, dev_handle, next)
 		flow_drv_rxq_flags_set(dev, dev_handle);
@@ -1265,7 +1273,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
 			struct mlx5_flow_handle *dev_handle)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
-	const int mark = dev_handle->mark;
 	const int tunnel = !!(dev_handle->layers & MLX5_FLOW_LAYER_TUNNEL);
 	struct mlx5_ind_table_obj *ind_tbl = NULL;
 	unsigned int i;
@@ -1295,15 +1302,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
 			container_of((*priv->rxqs)[idx],
 				     struct mlx5_rxq_ctrl, rxq);
 
-		if (priv->config.dv_flow_en &&
-		    priv->config.dv_xmeta_en != MLX5_XMETA_MODE_LEGACY &&
-		    mlx5_flow_ext_mreg_supported(dev)) {
-			rxq_ctrl->rxq.mark = 1;
-			rxq_ctrl->flow_mark_n = 1;
-		} else if (mark) {
-			rxq_ctrl->flow_mark_n--;
-			rxq_ctrl->rxq.mark = !!rxq_ctrl->flow_mark_n;
-		}
 		if (tunnel) {
 			unsigned int j;
 
@@ -1362,12 +1360,12 @@ flow_rxq_flags_clear(struct rte_eth_dev *dev)
 			continue;
 		rxq_ctrl = container_of((*priv->rxqs)[i],
 					struct mlx5_rxq_ctrl, rxq);
-		rxq_ctrl->flow_mark_n = 0;
 		rxq_ctrl->rxq.mark = 0;
 		for (j = 0; j != MLX5_FLOW_TUNNEL; ++j)
 			rxq_ctrl->flow_tunnels_n[j] = 0;
 		rxq_ctrl->rxq.tunnel = 0;
 	}
+	priv->mark_enabled = 0;
 }
 
 /**
@@ -4272,6 +4270,7 @@ flow_create_split_inner(struct rte_eth_dev *dev,
 			struct rte_flow_error *error)
 {
 	struct mlx5_flow *dev_flow;
+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
 
 	dev_flow = flow_drv_prepare(dev, flow, attr, items, actions,
 				    flow_split_info->flow_idx, error);
@@ -4290,8 +4289,10 @@ flow_create_split_inner(struct rte_eth_dev *dev,
 	 */
 	if (flow_split_info->prefix_layers)
 		dev_flow->handle->layers = flow_split_info->prefix_layers;
-	if (flow_split_info->prefix_mark)
-		dev_flow->handle->mark = 1;
+	if (flow_split_info->prefix_mark) {
+		MLX5_ASSERT(wks);
+		wks->mark = 1;
+	}
 	if (sub_flow)
 		*sub_flow = dev_flow;
 	return flow_drv_translate(dev, dev_flow, attr, items, actions, error);
@@ -5091,6 +5092,7 @@ flow_create_split_meter(struct rte_eth_dev *dev,
 			struct mlx5_flow_split_info *flow_split_info,
 			struct rte_flow_error *error)
 {
+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct rte_flow_action *sfx_actions = NULL;
 	struct rte_flow_action *pre_actions = NULL;
@@ -5146,7 +5148,7 @@ flow_create_split_meter(struct rte_eth_dev *dev,
 				 MLX5_FLOW_TABLE_LEVEL_SUFFIX;
 		flow_split_info->prefix_layers =
 				flow_get_prefix_layer_flags(dev_flow);
-		flow_split_info->prefix_mark |= dev_flow->handle->mark;
+		flow_split_info->prefix_mark |= wks->mark;
 	}
 	/* Add the prefix subflow. */
 	ret = flow_create_split_metadata(dev, flow,
@@ -5212,6 +5214,7 @@ flow_create_split_sample(struct rte_eth_dev *dev,
 	struct mlx5_flow_tbl_data_entry *sfx_tbl_data;
 	struct mlx5_flow_tbl_resource *sfx_tbl;
 	union mlx5_flow_tbl_key sfx_table_key;
+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
 #endif
 	size_t act_size;
 	size_t item_size;
@@ -5277,7 +5280,8 @@ flow_create_split_sample(struct rte_eth_dev *dev,
 					 sfx_table_key.table_id;
 		flow_split_info->prefix_layers =
 				flow_get_prefix_layer_flags(dev_flow);
-		flow_split_info->prefix_mark |= dev_flow->handle->mark;
+		MLX5_ASSERT(wks);
+		flow_split_info->prefix_mark |= wks->mark;
 		/* Suffix group level already be scaled with factor, set
 		 * skip_scale to 1 to avoid scale again in translation.
 		 */
diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
index ed5f94a9a0..fb11ae6b40 100644
--- a/drivers/net/mlx5/mlx5_flow.h
+++ b/drivers/net/mlx5/mlx5_flow.h
@@ -632,7 +632,6 @@ struct mlx5_flow_handle {
 	/**< Bit-fields of present layers, see MLX5_FLOW_LAYER_*. */
 	void *drv_flow; /**< pointer to driver flow object. */
 	uint32_t split_flow_id:28; /**< Sub flow unique match flow id. */
-	uint32_t mark:1; /**< Metadata rxq mark flag. */
 	uint32_t fate_action:3; /**< Fate action type. */
 	union {
 		uint32_t rix_hrxq; /**< Hash Rx queue object index. */
@@ -1123,6 +1122,7 @@ struct mlx5_flow_workspace {
 	struct mlx5_flow_rss_desc rss_desc;
 	uint32_t rssq_num; /* Allocated queue num in rss_desc. */
 	uint32_t flow_idx; /* Intermediate device flow index. */
+	uint32_t mark:1; /* Indicates if flow contains mark action. */
 };
 
 struct mlx5_flow_split_info {
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index c134e24c0e..977072ba32 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -9200,7 +9200,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,
 				(((const struct rte_flow_action_mark *)
 				(sub_actions->conf))->id);
 
-			dev_flow->handle->mark = 1;
+			wks->mark = 1;
 			pre_rix = dev_flow->handle->dvh.rix_tag;
 			/* Save the mark resource before sample */
 			pre_r = dev_flow->dv.tag_resource;
@@ -9889,7 +9889,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			break;
 		case RTE_FLOW_ACTION_TYPE_FLAG:
 			action_flags |= MLX5_FLOW_ACTION_FLAG;
-			dev_flow->handle->mark = 1;
+			wks->mark = 1;
 			if (dev_conf->dv_xmeta_en != MLX5_XMETA_MODE_LEGACY) {
 				struct rte_flow_action_mark mark = {
 					.id = MLX5_FLOW_MARK_DEFAULT,
@@ -9918,7 +9918,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			action_flags |= MLX5_FLOW_ACTION_MARK;
-			dev_flow->handle->mark = 1;
+			wks->mark = 1;
 			if (dev_conf->dv_xmeta_en != MLX5_XMETA_MODE_LEGACY) {
 				const struct rte_flow_action_mark *mark =
 					(const struct rte_flow_action_mark *)
diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
index 9c2fc1b25e..fa7ba129fd 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -1736,12 +1736,12 @@ flow_verbs_translate(struct rte_eth_dev *dev,
 		case RTE_FLOW_ACTION_TYPE_FLAG:
 			flow_verbs_translate_action_flag(dev_flow, actions);
 			action_flags |= MLX5_FLOW_ACTION_FLAG;
-			dev_flow->handle->mark = 1;
+			wks->mark = 1;
 			break;
 		case RTE_FLOW_ACTION_TYPE_MARK:
 			flow_verbs_translate_action_mark(dev_flow, actions);
 			action_flags |= MLX5_FLOW_ACTION_MARK;
-			dev_flow->handle->mark = 1;
+			wks->mark = 1;
 			break;
 		case RTE_FLOW_ACTION_TYPE_DROP:
 			flow_verbs_translate_action_drop(dev_flow, actions);
diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index 630ab1d989..7157233e45 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -189,7 +189,6 @@ struct mlx5_rxq_ctrl {
 	enum mlx5_rxq_type type; /* Rxq type. */
 	unsigned int socket; /* CPU socket ID for allocations. */
 	unsigned int irq:1; /* Whether IRQ is enabled. */
-	uint32_t flow_mark_n; /* Number of Mark/Flag flows using this Queue. */
 	uint32_t flow_tunnels_n[MLX5_FLOW_TUNNEL]; /* Tunnels counters. */
 	uint32_t wqn; /* WQ number. */
 	uint16_t dump_file_n; /* Number of dump files. */
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-18 12:37:40.467434797 +0000
+++ 0065-net-mlx5-fix-mark-enabling-for-Rx.patch	2022-02-18 12:37:37.726792724 +0000
@@ -1 +1 @@
-From 082becbf1f35bda03a9ad80fcd7fe4afe3aea7be Mon Sep 17 00:00:00 2001
+From a133cd9add74162b2efc09169b910f863a41a6c1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 082becbf1f35bda03a9ad80fcd7fe4afe3aea7be ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
- drivers/net/mlx5/mlx5_flow.c       | 53 ++++++++++++++++--------------
+ drivers/net/mlx5/mlx5_flow.c       | 54 ++++++++++++++++--------------
@@ -28 +29 @@
- drivers/net/mlx5/mlx5_flow_dv.c    | 14 +++++---
+ drivers/net/mlx5/mlx5_flow_dv.c    |  6 ++--
@@ -30,2 +31,2 @@
- drivers/net/mlx5/mlx5_rx.h         |  1 -
- 6 files changed, 41 insertions(+), 34 deletions(-)
+ drivers/net/mlx5/mlx5_rxtx.h       |  1 -
+ 6 files changed, 36 insertions(+), 32 deletions(-)
@@ -34 +35 @@
-index 9413e3397c..737ad6895c 100644
+index a4880d01d9..93d9ad5e64 100644
@@ -37,2 +38 @@
-@@ -1413,6 +1413,7 @@ struct mlx5_priv {
- 	unsigned int mtr_en:1; /* Whether support meter. */
+@@ -947,6 +947,7 @@ struct mlx5_priv {
@@ -39,0 +40 @@
+ 	unsigned int sampler_en:1; /* Whether support sampler. */
@@ -46 +47 @@
-index 2cadf615ec..d7cb1eb89b 100644
+index 080731ca04..69f57605f8 100644
@@ -49 +50 @@
-@@ -1234,7 +1234,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
+@@ -1171,7 +1171,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
@@ -57 +58 @@
-@@ -1269,15 +1268,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
+@@ -1205,15 +1204,6 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
@@ -73 +74 @@
-@@ -1295,6 +1285,20 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
+@@ -1231,6 +1221,20 @@ flow_drv_rxq_flags_set(struct rte_eth_dev *dev,
@@ -94 +95 @@
-@@ -1309,7 +1313,11 @@ flow_rxq_flags_set(struct rte_eth_dev *dev, struct rte_flow *flow)
+@@ -1245,7 +1249,11 @@ flow_rxq_flags_set(struct rte_eth_dev *dev, struct rte_flow *flow)
@@ -106 +107 @@
-@@ -1329,7 +1337,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
+@@ -1265,7 +1273,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
@@ -114,4 +115,4 @@
-@@ -1360,15 +1367,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
- 		MLX5_ASSERT(rxq_ctrl != NULL);
- 		if (rxq_ctrl == NULL)
- 			continue;
+@@ -1295,15 +1302,6 @@ flow_drv_rxq_flags_trim(struct rte_eth_dev *dev,
+ 			container_of((*priv->rxqs)[idx],
+ 				     struct mlx5_rxq_ctrl, rxq);
+ 
@@ -130,3 +131 @@
-@@ -1425,12 +1423,12 @@ flow_rxq_flags_clear(struct rte_eth_dev *dev)
- 
- 		if (rxq == NULL || rxq->ctrl == NULL)
+@@ -1362,12 +1360,12 @@ flow_rxq_flags_clear(struct rte_eth_dev *dev)
@@ -134,2 +133,4 @@
--		rxq->ctrl->flow_mark_n = 0;
- 		rxq->ctrl->rxq.mark = 0;
+ 		rxq_ctrl = container_of((*priv->rxqs)[i],
+ 					struct mlx5_rxq_ctrl, rxq);
+-		rxq_ctrl->flow_mark_n = 0;
+ 		rxq_ctrl->rxq.mark = 0;
@@ -137,2 +138,2 @@
- 			rxq->ctrl->flow_tunnels_n[j] = 0;
- 		rxq->ctrl->rxq.tunnel = 0;
+ 			rxq_ctrl->flow_tunnels_n[j] = 0;
+ 		rxq_ctrl->rxq.tunnel = 0;
@@ -144 +145 @@
-@@ -4811,6 +4809,7 @@ flow_create_split_inner(struct rte_eth_dev *dev,
+@@ -4272,6 +4270,7 @@ flow_create_split_inner(struct rte_eth_dev *dev,
@@ -152 +153 @@
-@@ -4829,8 +4828,10 @@ flow_create_split_inner(struct rte_eth_dev *dev,
+@@ -4290,8 +4289,10 @@ flow_create_split_inner(struct rte_eth_dev *dev,
@@ -164,3 +165,11 @@
- #ifdef HAVE_IBV_FLOW_DV_SUPPORT
-@@ -6143,7 +6144,7 @@ flow_create_split_meter(struct rte_eth_dev *dev,
- 				 MLX5_FLOW_TABLE_LEVEL_METER;
+ 	return flow_drv_translate(dev, dev_flow, attr, items, actions, error);
+@@ -5091,6 +5092,7 @@ flow_create_split_meter(struct rte_eth_dev *dev,
+ 			struct mlx5_flow_split_info *flow_split_info,
+ 			struct rte_flow_error *error)
+ {
++	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
+ 	struct mlx5_priv *priv = dev->data->dev_private;
+ 	struct rte_flow_action *sfx_actions = NULL;
+ 	struct rte_flow_action *pre_actions = NULL;
+@@ -5146,7 +5148,7 @@ flow_create_split_meter(struct rte_eth_dev *dev,
+ 				 MLX5_FLOW_TABLE_LEVEL_SUFFIX;
@@ -171 +179,0 @@
- 		flow_split_info->table_id = MLX5_MTR_TABLE_ID_SUFFIX;
@@ -174,2 +182,2 @@
-@@ -6209,6 +6210,7 @@ flow_create_split_sample(struct rte_eth_dev *dev,
- 	struct mlx5_flow_dv_sample_resource *sample_res;
+ 	ret = flow_create_split_metadata(dev, flow,
+@@ -5212,6 +5214,7 @@ flow_create_split_sample(struct rte_eth_dev *dev,
@@ -177,0 +186 @@
+ 	union mlx5_flow_tbl_key sfx_table_key;
@@ -182,2 +191,2 @@
-@@ -6295,7 +6297,8 @@ flow_create_split_sample(struct rte_eth_dev *dev,
- 		}
+@@ -5277,7 +5280,8 @@ flow_create_split_sample(struct rte_eth_dev *dev,
+ 					 sfx_table_key.table_id;
@@ -190,2 +199,2 @@
- 		 * MLX5_SCALE_FLOW_GROUP_BIT of skip_scale to 1 to avoid scale
- 		 * again in translation.
+ 		 * skip_scale to 1 to avoid scale again in translation.
+ 		 */
@@ -193 +202 @@
-index 125d85899c..7fec79afb3 100644
+index ed5f94a9a0..fb11ae6b40 100644
@@ -196 +205,2 @@
-@@ -697,7 +697,6 @@ struct mlx5_flow_handle {
+@@ -632,7 +632,6 @@ struct mlx5_flow_handle {
+ 	/**< Bit-fields of present layers, see MLX5_FLOW_LAYER_*. */
@@ -198,2 +208 @@
- 	uint32_t split_flow_id:27; /**< Sub flow unique match flow id. */
- 	uint32_t is_meter_flow_id:1; /**< Indicate if flow_id is for meter. */
+ 	uint32_t split_flow_id:28; /**< Sub flow unique match flow id. */
@@ -202 +210,0 @@
- 	uint32_t flex_item; /**< referenced Flex Item bitmask. */
@@ -204,4 +212,5 @@
-@@ -1108,6 +1107,7 @@ struct mlx5_flow_workspace {
- 	/* The final policy when meter policy is hierarchy. */
- 	uint32_t skip_matcher_reg:1;
- 	/* Indicates if need to skip matcher register in translate. */
+ 		uint32_t rix_hrxq; /**< Hash Rx queue object index. */
+@@ -1123,6 +1122,7 @@ struct mlx5_flow_workspace {
+ 	struct mlx5_flow_rss_desc rss_desc;
+ 	uint32_t rssq_num; /* Allocated queue num in rss_desc. */
+ 	uint32_t flow_idx; /* Intermediate device flow index. */
@@ -213 +222 @@
-index 0383976883..18992b1e26 100644
+index c134e24c0e..977072ba32 100644
@@ -216 +225 @@
-@@ -11646,7 +11646,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,
+@@ -9200,7 +9200,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,
@@ -225 +234 @@
-@@ -12806,7 +12806,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
+@@ -9889,7 +9889,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -234 +243 @@
-@@ -12835,7 +12835,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
+@@ -9918,7 +9918,7 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -243,38 +251,0 @@
-@@ -15403,7 +15403,9 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
- 			    (MLX5_MAX_MODIFY_NUM + 1)];
- 	} mhdr_dummy;
- 	struct mlx5_flow_dv_modify_hdr_resource *mhdr_res = &mhdr_dummy.res;
-+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
- 
-+	MLX5_ASSERT(wks);
- 	egress = (domain == MLX5_MTR_DOMAIN_EGRESS) ? 1 : 0;
- 	transfer = (domain == MLX5_MTR_DOMAIN_TRANSFER) ? 1 : 0;
- 	memset(&dh, 0, sizeof(struct mlx5_flow_handle));
-@@ -15441,7 +15443,7 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
- 					  NULL,
- 					  "cannot create policy "
- 					  "mark action for this color");
--				dev_flow.handle->mark = 1;
-+				wks->mark = 1;
- 				if (flow_dv_tag_resource_register(dev, tag_be,
- 						  &dev_flow, &flow_err))
- 					return -rte_mtr_error_set(error,
-@@ -16866,7 +16868,9 @@ __flow_dv_meter_get_rss_sub_policy(struct rte_eth_dev *dev,
- 	struct mlx5_meter_policy_action_container *act_cnt;
- 	uint32_t domain = MLX5_MTR_DOMAIN_INGRESS;
- 	uint16_t sub_policy_num;
-+	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
- 
-+	MLX5_ASSERT(wks);
- 	rte_spinlock_lock(&mtr_policy->sl);
- 	for (i = 0; i < MLX5_MTR_RTE_COLORS; i++) {
- 		if (!rss_desc[i])
-@@ -16940,7 +16944,7 @@ __flow_dv_meter_get_rss_sub_policy(struct rte_eth_dev *dev,
- 			if (act_cnt->rix_mark || act_cnt->modify_hdr) {
- 				memset(&dh, 0, sizeof(struct mlx5_flow_handle));
- 				if (act_cnt->rix_mark)
--					dh.mark = 1;
-+					wks->mark = 1;
- 				dh.fate_action = MLX5_FLOW_FATE_QUEUE;
- 				dh.rix_hrxq = hrxq_idx[i];
- 				flow_drv_rxq_flags_set(dev, &dh);
@@ -282 +253 @@
-index 192a00d4fd..90ccb9aaff 100644
+index 9c2fc1b25e..fa7ba129fd 100644
@@ -285 +256 @@
-@@ -1693,12 +1693,12 @@ flow_verbs_translate(struct rte_eth_dev *dev,
+@@ -1736,12 +1736,12 @@ flow_verbs_translate(struct rte_eth_dev *dev,
@@ -300,7 +271,7 @@
-diff --git a/drivers/net/mlx5/mlx5_rx.h b/drivers/net/mlx5/mlx5_rx.h
-index c178f9a24b..cb5d51340d 100644
---- a/drivers/net/mlx5/mlx5_rx.h
-+++ b/drivers/net/mlx5/mlx5_rx.h
-@@ -161,7 +161,6 @@ struct mlx5_rxq_ctrl {
- 	uint16_t share_qid; /* Shared RxQ ID in group. */
- 	unsigned int started:1; /* Whether (shared) RXQ has been started. */
+diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
+index 630ab1d989..7157233e45 100644
+--- a/drivers/net/mlx5/mlx5_rxtx.h
++++ b/drivers/net/mlx5/mlx5_rxtx.h
+@@ -189,7 +189,6 @@ struct mlx5_rxq_ctrl {
+ 	enum mlx5_rxq_type type; /* Rxq type. */
+ 	unsigned int socket; /* CPU socket ID for allocations. */
@@ -311 +282 @@
- 	uint32_t rxseg_n; /* Number of split segment descriptions. */
+ 	uint16_t dump_file_n; /* Number of dump files. */

  parent reply	other threads:[~2022-02-18 12:42 UTC|newest]

Thread overview: 228+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220218123931.1749595-1-luca.boccassi@gmail.com>
2022-02-18 12:37 ` patch 'doc: replace deprecated distutils version parsing' " luca.boccassi
2022-02-18 12:37 ` patch 'maintainers: update for stable branches' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: remove dependency on findutils on FreeBSD' " luca.boccassi
2022-02-18 12:37 ` patch 'bus/ifpga: remove useless check while browsing devices' " luca.boccassi
2022-02-18 12:37 ` patch 'dma/idxd: fix paths to driver sysfs directory' " luca.boccassi
2022-02-18 12:37 ` patch 'eal/linux: log hugepage create errors with filename' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: fix dlb2 guide' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/l3fwd: fix Rx burst size for event mode' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix eventdev start sequence' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix default flow rule creation' " luca.boccassi
2022-02-18 12:37 ` patch 'devtools: fix comment detection in forbidden token check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/qede: fix redundant condition in debug code' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload capability' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: track DCF state of PF' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ixgbe: add vector Rx parameter check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix assertion on flags set in packet mbuf' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix RSS expansion with explicit next protocol' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix GRE protocol type translation for Verbs' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: relax headroom assertion' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix xstats names query overrun' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast address set' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast MAC restore during reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix queue stop operation' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: restore RSS configuration after reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix restoring VLAN filtering after " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: cap maximum number of unicast MAC addresses' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: add null check for mark table' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: get maximum supported multicast filters count' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix handling of VF configuration change' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix PAM4 mask setting' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix xstats query' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: check VF representor pointer before access' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix offloading configuration' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix Tx scheduling interval' " luca.boccassi
2022-02-18 12:38 ` patch 'net/axgbe: use PCI root complex device to distinguish device' " luca.boccassi
2022-02-18 12:38 ` patch 'net/af_xdp: fix build with -Wunused-function' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix mode type mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix external buffer allocation' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: fix dangling pointer by mailbox access rework' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix unregistering interrupt handler' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix timestamping for IEEE1588' " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: fix maximum packet headers size for TSO' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove duplicated check when setting MAC address' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove useless range checks' " luca.boccassi
2022-02-18 12:38 ` patch 'net/sfc: validate queue span when parsing flow action RSS' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix SPI transaction' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ice: fix link up when starting device' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga: fix thread closing' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix check for autoneg enablement' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: handle ring cleanup in case of error' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix memzone allocation per VNIC' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix VF resource allocation strategy' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix port feature ID' " luca.boccassi
2022-02-18 12:38 ` patch 'net/memif: remove unnecessary Rx interrupt stub' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix RSS with early configure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix using enum as boolean' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/mlx5: workaround queue stop with traffic' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio: fix Tx queue 0 overriden by queue 128' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/ifc: fix log info mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: fix resource leak on probing failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: check FD flags getting " luca.boccassi
2022-02-18 12:38 ` luca.boccassi [this message]
2022-02-18 12:38 ` patch 'net/mlx5: reject jump to root table' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: update matching versions in ice guide' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warnings when running external commands' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warning about using -Wextra flag' " luca.boccassi
2022-02-18 13:13   ` Richardson, Bruce
2022-02-18 12:38 ` patch 'build: remove deprecated Meson functions' " luca.boccassi
2022-02-18 13:16   ` Richardson, Bruce
2022-02-21 10:56     ` Luca Boccassi
2022-02-21 11:51       ` Richardson, Bruce
2022-02-18 12:38 ` patch 'kni: fix ioctl signature' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: fix KNI PMD name typo' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: optimize corner case for enqueue/dequeue' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix error code when creating ring' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix overflow in memory size calculation' " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: fix error code for not supported API' " luca.boccassi
2022-02-18 12:38 ` patch 'test/mem: fix error check' " luca.boccassi
2022-02-18 12:38 ` patch 'bus/dpaa: fix C++ include guard' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: remove useless " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: " luca.boccassi
2022-02-18 12:38 ` patch 'net/enic: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix max packet size rollback in PF' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix RSS key with null' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix insecure way to query MAC statistics' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix operating queue when TCAM table is invalid' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: delete duplicated RSS type' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ixgbe: check filter init failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix promiscuous and allmulticast state' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix reference count on mbufs' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix bonding mode set' " luca.boccassi
2022-02-18 12:39 ` patch 'ethdev: add internal function to device struct from name' " luca.boccassi
2022-02-18 12:39 ` patch 'net/tap: fix to populate FDs in secondary process' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix stack overflow for EEPROM display' " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: fix guest to host physical address mapping' " luca.boccassi
2022-02-18 12:39 ` patch 'regex/mlx5: fix memory allocation check' " luca.boccassi
2022-02-18 12:39 ` patch 'stack: fix stubs header export' " luca.boccassi
2022-02-18 12:39 ` patch 'eal: fix C++ include' " luca.boccassi
2022-02-18 12:39 ` patch 'eventdev: " luca.boccassi
2022-02-18 12:39 ` patch 'graph: " luca.boccassi
2022-02-18 12:39 ` patch 'ipsec: " luca.boccassi
2022-02-18 12:39 ` patch 'table: " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: " luca.boccassi
2022-02-18 12:39 ` patch 'mem: check allocation in dynamic hugepage init' " luca.boccassi
2022-02-18 12:39 ` patch 'app/fib: fix division by zero' " luca.boccassi
2022-02-18 12:39 ` patch 'test/mbuf: fix mbuf data content check' " luca.boccassi
2022-02-18 12:39 ` patch 'ipc: end multiprocess thread during cleanup' " luca.boccassi
2022-02-18 12:39 ` patch 'vfio: cleanup the multiprocess sync handle' " luca.boccassi
2022-02-18 12:39 ` patch 'net/memif: remove pointer deference before null check' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: do not push fast free offload to default TxQ config' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: demand Tx fast free offload on EF10 simple datapath' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm in flex Rx' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice/base: add profile validation on switch filter' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice: fix build with 16-byte Rx descriptor' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix committed bucket size' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix inline length for multi-segment TSO' " luca.boccassi
2022-02-18 12:39 ` patch 'net/bnxt: fix ring calculation for representors' " luca.boccassi
2022-02-18 12:39 ` patch 'compress/octeontx: fix null pointer dereference' " luca.boccassi
2022-02-18 12:39 ` patch 'crypto/dpaax_sec: fix auth/cipher xform chain checks' " luca.boccassi
2022-02-18 12:39 ` patch 'raw/ntb: clear all valid doorbell bits on init' " luca.boccassi
2022-02-18 12:39 ` patch 'kni: update kernel API to set random MAC address' " luca.boccassi
2022-02-28 21:19   ` patch 'eventdev/eth_tx: fix queue add error code' " luca.boccassi
2022-02-28 21:19     ` patch 'eal: add missing C++ guards' " luca.boccassi
2022-02-28 21:19     ` patch 'telemetry: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: " luca.boccassi
2022-02-28 21:20     ` patch 'metrics: " luca.boccassi
2022-02-28 21:20     ` patch 'acl: " luca.boccassi
2022-02-28 21:20     ` patch 'compressdev: " luca.boccassi
2022-02-28 21:20     ` patch 'eventdev: " luca.boccassi
2022-02-28 21:20     ` patch 'kni: " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: fix cast for C++ compatibility' " luca.boccassi
2022-02-28 21:20     ` patch 'dma/idxd: configure maximum batch size to high value' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/qos_sched: fix core mask overflow' " luca.boccassi
2022-03-01 18:29       ` Ajmera, Megha
2022-02-28 21:20     ` patch 'cryptodev: fix RSA key type name' " luca.boccassi
2022-03-16  8:06       ` David Marchand
2022-03-22  9:18         ` Ray Kinsella
2022-02-28 21:20     ` patch 'doc: fix FIPS guide' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/l2fwd-crypto: fix port mask overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'baseband/acc100: avoid out-of-bounds access' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/virtio: fix " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC authentication verify' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC operation overwrite' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix array indexes in deinit functions' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix multicast/promiscuous mode switching' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ixgbe: reset security context pointer on close' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: check starting port is not in bonding' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix field naming in guest page struct' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix unsafe vring addresses modifications' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: add missing trailing newline in logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: ensure socket is deleted on Rx queue setup error' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ice: fix overwriting of LSE bit by DCF' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: enable maximum frame size at port level' " luca.boccassi
2022-02-28 21:20     ` patch 'net/mlx5: fix ineffective metadata argument adjustment' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix GENEVE parsing in checksum mode' " luca.boccassi
2022-02-28 21:20     ` patch 'net/txgbe: fix debug logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused enumeration' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused offload variables' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: skip timer if reset is triggered' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix reset reason being overwritten' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix meta descriptor DF flag setup' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: check memory BAR before initializing LLQ' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix checksum flag for L4' " luca.boccassi
2022-02-28 21:20     ` patch 'common/mlx5: fix queue pair ack timeout configuration' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: remove obsolete vector Tx explanations from mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: replace broken links in mlx guides' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: correct name of BlueField-2 in mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: fix unintentional integer overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix build without drivers' " luca.boccassi
2022-02-28 21:20     ` patch 'test/efd: fix sockets mask size' " luca.boccassi
2022-02-28 21:20     ` patch 'efd: fix uninitialized structure' " luca.boccassi
2022-02-28 21:20     ` patch 'distributor: fix potential overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'eal/linux: fix illegal memory access in uevent handler' " luca.boccassi
2022-02-28 21:20     ` patch 'kni: fix freeing order in device release' " luca.boccassi
2022-03-09 16:30 ` patch 'app/compress-perf: fix cycle count operations allocation' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: optimize operations pool " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix socket ID type during init' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix number of queue pairs to setup' " luca.boccassi
2022-03-09 16:30   ` patch 'compressdev: fix socket ID type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: remove duplicate macro definition' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix RSS TC mode entry' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix VF " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: increase time waiting for PF reset completion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ixgbe: fix FSP check for X550EM devices' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix function pointer in multi-process' " luca.boccassi
2022-03-09 16:30   ` patch 'common/mlx5: add Netlink event helpers' " luca.boccassi
2022-03-09 16:30   ` patch 'net/txgbe: fix queue statistics mapping' " luca.boccassi
2022-03-09 16:30   ` patch 'net/kni: fix config initialization' " luca.boccassi
2022-03-09 16:30   ` patch 'doc: fix typos and punctuation in flow API guide' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix GRE item translation in Verbs' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix matcher priority with ICMP or ICMPv6' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ice: fix Tx offload path choice' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/vhost: fix launch with physical port' " luca.boccassi
2022-03-09 16:30   ` patch 'raw/ifpga: fix variable initialization in probing' " luca.boccassi
2022-03-09 16:30   ` patch 'raw/ifpga: fix monitor thread' " luca.boccassi
2022-03-09 16:30   ` patch 'app/pdump: abort on multi-core capture limit' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/distributor: reduce Tx queue number to 1' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/flow_classify: fix failure message' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/kni: add missing trailing newline in log' " luca.boccassi
2022-03-09 16:30   ` patch 'regexdev: fix section attribute of symbols' " luca.boccassi
2022-03-09 16:30   ` patch 'ethdev: fix doxygen comments for device info struct' " luca.boccassi
2022-03-09 16:30   ` patch 'net/bnxt: fix null dereference in session cleanup' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix inet IPIP protocol type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix next protocol RSS expansion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix shared RSS destroy' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix NIC egress flow mismatch in switchdev mode' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix modify port action validation' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: remove unused reference counter' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix potential out-of-bounds access' " luca.boccassi
2022-03-15 13:32 ` patch 'vhost: fix queue number check when setting inflight FD' " luca.boccassi
2022-03-15 13:32   ` patch 'vhost: fix FD leak with inflight messages' " luca.boccassi
2022-03-15 13:32   ` patch 'net/mlx5: fix sample flow action on trusted device' " luca.boccassi
2022-03-15 13:32   ` patch 'bpf: fix build with some libpcap version on FreeBSD' " luca.boccassi
2022-03-15 13:32   ` patch 'app/testpmd: fix show RSS RETA on Windows' " luca.boccassi
2022-03-15 13:32   ` patch 'examples/l3fwd: fix buffer overflow in Tx' " luca.boccassi
2022-03-15 13:32   ` patch 'eal/freebsd: add missing C++ include guards' " luca.boccassi
2022-03-15 13:32   ` patch 'compressdev: fix missing space in log macro' " luca.boccassi
2022-03-15 13:32   ` patch 'cryptodev: fix clang C++ include' " luca.boccassi
2022-03-17 12:06     ` patch 'net/mlx5: fix port matching in sample flow rule' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: replace characters for (R) symbol in Linux guide' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: fix missing note on UIO module " luca.boccassi
2022-03-17 12:06       ` patch 'raw/ifpga: fix build with optimization' " luca.boccassi

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=20220218123931.1749595-65-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=matan@nvidia.com \
    --cc=rzidane@nvidia.com \
    --cc=stable@dpdk.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;
as well as URLs for NNTP newsgroup(s).