patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Cc: Dariusz Sosnowski <dsosnowski@nvidia.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/mlx5: fix non full word sample fields in flex item' has been queued to stable release 21.11.9
Date: Wed, 27 Nov 2024 17:18:27 +0000	[thread overview]
Message-ID: <20241127171916.690404-80-ktraynor@redhat.com> (raw)
In-Reply-To: <20241127171916.690404-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to stable release 21.11.9

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

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

Thanks.

Kevin

---
From f07214079b7d6e07f9fbc40a5550599c1495263f Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Thu, 31 Oct 2024 14:44:33 +0200
Subject: [PATCH] net/mlx5: fix non full word sample fields in flex item

[ upstream commit 97e19f0762e5235d6914845a59823d4ea36925bb ]

If the sample field in flex item did not cover the entire
32-bit word (width was not verified 32 bits) or was not aligned
on the byte boundary the match on this sample in flows
happened to be ignored or wrongly missed. The field mask
"def" was build in wrong endianness, and non-byte aligned
shifts were wrongly performed for the pattern masks and values.

Fixes: 6dac7d7ff2bf ("net/mlx5: translate flex item pattern into matcher")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_flex.c | 32 ++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_flex.c b/drivers/net/mlx5/mlx5_flow_flex.c
index 3ef46db1f6..e696c0cd7b 100644
--- a/drivers/net/mlx5/mlx5_flow_flex.c
+++ b/drivers/net/mlx5/mlx5_flow_flex.c
@@ -119,5 +119,5 @@ mlx5_flex_get_bitfield(const struct rte_flow_item_flex *item,
 {
 	const uint8_t *ptr = item->pattern + pos / CHAR_BIT;
-	uint32_t val, vbits;
+	uint32_t val, vbits, skip = pos % CHAR_BIT;
 
 	/* Proceed the bitfield start byte. */
@@ -126,19 +126,23 @@ mlx5_flex_get_bitfield(const struct rte_flow_item_flex *item,
 	if (item->length <= pos / CHAR_BIT)
 		return 0;
-	val = *ptr++ >> (pos % CHAR_BIT);
+	/* Bits are enumerated in byte in network order: 01234567 */
+	val = *ptr++;
 	vbits = CHAR_BIT - pos % CHAR_BIT;
-	pos = (pos + vbits) / CHAR_BIT;
+	pos = RTE_ALIGN_CEIL(pos, CHAR_BIT) / CHAR_BIT;
 	vbits = RTE_MIN(vbits, width);
-	val &= RTE_BIT32(vbits) - 1;
+	/* Load bytes to cover the field width, checking pattern boundary */
 	while (vbits < width && pos < item->length) {
 		uint32_t part = RTE_MIN(width - vbits, (uint32_t)CHAR_BIT);
 		uint32_t tmp = *ptr++;
 
-		pos++;
-		tmp &= RTE_BIT32(part) - 1;
-		val |= tmp << vbits;
+		val |= tmp << RTE_ALIGN_CEIL(vbits, CHAR_BIT);
 		vbits += part;
+		pos++;
 	}
-	return rte_bswap32(val <<= shift);
+	val = rte_cpu_to_be_32(val);
+	val <<= skip;
+	val >>= shift;
+	val &= (RTE_BIT64(width) - 1) << (sizeof(uint32_t) * CHAR_BIT - shift - width);
+	return val;
 }
 
@@ -236,9 +240,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
 	tp = (struct mlx5_flex_item *)spec->handle;
 	MLX5_ASSERT(mlx5_flex_index(dev->data->dev_private, tp) >= 0);
-	for (i = 0; i < tp->mapnum; i++) {
+	for (i = 0; i < tp->mapnum && pos < (spec->length * CHAR_BIT); i++) {
 		struct mlx5_flex_pattern_field *map = tp->map + i;
 		uint32_t id = map->reg_id;
-		uint32_t def = (RTE_BIT64(map->width) - 1) << map->shift;
-		uint32_t val, msk;
+		uint32_t val, msk, def;
 
 		/* Skip placeholders for DUMMY fields. */
@@ -247,6 +250,9 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
 			continue;
 		}
+		def = (uint32_t)(RTE_BIT64(map->width) - 1);
+		def <<= (sizeof(uint32_t) * CHAR_BIT - map->shift - map->width);
 		val = mlx5_flex_get_bitfield(spec, pos, map->width, map->shift);
-		msk = mlx5_flex_get_bitfield(mask, pos, map->width, map->shift);
+		msk = pos < (mask->length * CHAR_BIT) ?
+		      mlx5_flex_get_bitfield(mask, pos, map->width, map->shift) : def;
 		MLX5_ASSERT(map->width);
 		MLX5_ASSERT(id < tp->devx_fp->num_samples);
@@ -259,5 +265,5 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
 		}
 		mlx5_flex_set_match_sample(misc4_m, misc4_v,
-					   def, msk & def, val & msk & def,
+					   def, msk, val & msk,
 					   tp->devx_fp->sample_ids[id], id);
 		pos += map->width;
-- 
2.47.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-11-27 17:17:40.781662155 +0000
+++ 0080-net-mlx5-fix-non-full-word-sample-fields-in-flex-ite.patch	2024-11-27 17:17:38.283269674 +0000
@@ -1 +1 @@
-From 97e19f0762e5235d6914845a59823d4ea36925bb Mon Sep 17 00:00:00 2001
+From f07214079b7d6e07f9fbc40a5550599c1495263f Mon Sep 17 00:00:00 2001
@@ -3 +3 @@
-Date: Wed, 18 Sep 2024 16:46:22 +0300
+Date: Thu, 31 Oct 2024 14:44:33 +0200
@@ -5,0 +6,2 @@
+[ upstream commit 97e19f0762e5235d6914845a59823d4ea36925bb ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19,5 +20,2 @@
- drivers/net/mlx5/hws/mlx5dr_definer.c |  4 +--
- drivers/net/mlx5/mlx5.h               |  5 ++-
- drivers/net/mlx5/mlx5_flow_dv.c       |  5 ++-
- drivers/net/mlx5/mlx5_flow_flex.c     | 47 +++++++++++++--------------
- 4 files changed, 29 insertions(+), 32 deletions(-)
+ drivers/net/mlx5/mlx5_flow_flex.c | 32 ++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
@@ -25,58 +22,0 @@
-diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c
-index 2dfcc5eba6..10b986d66b 100644
---- a/drivers/net/mlx5/hws/mlx5dr_definer.c
-+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c
-@@ -575,5 +575,5 @@ mlx5dr_definer_flex_parser_set(struct mlx5dr_definer_fc *fc,
- 	byte_off -= idx * sizeof(uint32_t);
- 	ret = mlx5_flex_get_parser_value_per_byte_off(flex, flex->handle, byte_off,
--						      false, is_inner, &val);
-+						      is_inner, &val);
- 	if (ret == -1 || !val)
- 		return;
-@@ -2826,5 +2826,5 @@ mlx5dr_definer_conv_item_flex_parser(struct mlx5dr_definer_conv_data *cd,
- 		byte_off = base_off - i * sizeof(uint32_t);
- 		ret = mlx5_flex_get_parser_value_per_byte_off(m, v->handle, byte_off,
--							      true, is_inner, &mask);
-+							      is_inner, &mask);
- 		if (ret == -1) {
- 			rte_errno = EINVAL;
-diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
-index 399923b443..18b4c15a26 100644
---- a/drivers/net/mlx5/mlx5.h
-+++ b/drivers/net/mlx5/mlx5.h
-@@ -2603,9 +2603,8 @@ void mlx5_flex_flow_translate_item(struct rte_eth_dev *dev, void *matcher,
- 				   bool is_inner);
- int mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
--			    uint32_t idx, uint32_t *pos,
--			    bool is_inner, uint32_t *def);
-+			    uint32_t idx, uint32_t *pos, bool is_inner);
- int mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- 					    void *flex, uint32_t byte_off,
--					    bool is_mask, bool tunnel, uint32_t *value);
-+					    bool tunnel, uint32_t *value);
- int mlx5_flex_get_tunnel_mode(const struct rte_flow_item *item,
- 			      enum rte_flow_item_flex_tunnel_mode *tunnel_mode);
-diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
-index 4451b114ae..5f71573a86 100644
---- a/drivers/net/mlx5/mlx5_flow_dv.c
-+++ b/drivers/net/mlx5/mlx5_flow_dv.c
-@@ -1527,5 +1527,4 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- 	uint32_t offset = data->offset;
- 	uint32_t width_left = width;
--	uint32_t def;
- 	uint32_t cur_width = 0;
- 	uint32_t tmp_ofs;
-@@ -1552,5 +1551,5 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- 	for (j = i; i < flex->mapnum && width_left > 0; ) {
- 		map = flex->map + i;
--		id = mlx5_flex_get_sample_id(flex, i, &pos, false, &def);
-+		id = mlx5_flex_get_sample_id(flex, i, &pos, false);
- 		if (id == -1) {
- 			i++;
-@@ -1571,5 +1570,5 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- 			 */
- 			for (j = i + 1; j < flex->mapnum; j++) {
--				tmp_id = mlx5_flex_get_sample_id(flex, j, &pos, false, &def);
-+				tmp_id = mlx5_flex_get_sample_id(flex, j, &pos, false);
- 				if (tmp_id == -1) {
- 					i = j;
@@ -84 +24 @@
-index 0c41b956b0..bf38643a23 100644
+index 3ef46db1f6..e696c0cd7b 100644
@@ -125,55 +65 @@
-@@ -212,6 +216,4 @@ mlx5_flex_set_match_sample(void *misc4_m, void *misc4_v,
-  * @param[in] is_inner
-  *   For inner matching or not.
-- * @param[in, def] def
-- *   Mask generated by mapping shift and width.
-  *
-  * @return
-@@ -220,11 +222,9 @@ mlx5_flex_set_match_sample(void *misc4_m, void *misc4_v,
- int
- mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
--			uint32_t idx, uint32_t *pos,
--			bool is_inner, uint32_t *def)
-+			uint32_t idx, uint32_t *pos, bool is_inner)
- {
- 	const struct mlx5_flex_pattern_field *map = tp->map + idx;
- 	uint32_t id = map->reg_id;
- 
--	*def = (RTE_BIT64(map->width) - 1) << map->shift;
- 	/* Skip placeholders for DUMMY fields. */
- 	if (id == MLX5_INVALID_SAMPLE_REG_ID) {
-@@ -253,6 +253,4 @@ mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
-  * @param[in] byte_off
-  *   Mlx5 flex item format_select_dw.
-- * @param[in] is_mask
-- *   Spec or mask.
-  * @param[in] tunnel
-  *   Tunnel mode or not.
-@@ -266,9 +264,9 @@ int
- mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- 					void *flex, uint32_t byte_off,
--					bool is_mask, bool tunnel, uint32_t *value)
-+					bool tunnel, uint32_t *value)
- {
- 	struct mlx5_flex_pattern_field *map;
- 	struct mlx5_flex_item *tp = flex;
--	uint32_t def, i, pos, val;
-+	uint32_t i, pos, val;
- 	int id;
- 
-@@ -276,5 +274,5 @@ mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- 	for (i = 0, pos = 0; i < tp->mapnum && pos < item->length * CHAR_BIT; i++) {
- 		map = tp->map + i;
--		id = mlx5_flex_get_sample_id(tp, i, &pos, tunnel, &def);
-+		id = mlx5_flex_get_sample_id(tp, i, &pos, tunnel);
- 		if (id == -1)
- 			continue;
-@@ -283,6 +281,4 @@ mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- 		if (byte_off == tp->devx_fp->sample_info[id].sample_dw_data * sizeof(uint32_t)) {
- 			val = mlx5_flex_get_bitfield(item, pos, map->width, map->shift);
--			if (is_mask)
--				val &= RTE_BE32(def);
- 			*value |= val;
- 		}
-@@ -356,8 +352,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
- 	mask = item->mask;
+@@ -236,9 +240,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
@@ -180,0 +67 @@
+ 	MLX5_ASSERT(mlx5_flex_index(dev->data->dev_private, tp) >= 0);
@@ -184,3 +71,4 @@
- 		uint32_t val, msk, def;
--		int id = mlx5_flex_get_sample_id(tp, i, &pos, is_inner, &def);
-+		int id = mlx5_flex_get_sample_id(tp, i, &pos, is_inner);
+ 		uint32_t id = map->reg_id;
+-		uint32_t def = (RTE_BIT64(map->width) - 1) << map->shift;
+-		uint32_t val, msk;
++		uint32_t val, msk, def;
@@ -188,4 +76,4 @@
- 		if (id == -1)
-@@ -367,9 +363,12 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
- 		    id >= MLX5_GRAPH_NODE_SAMPLE_NUM)
- 			return;
+ 		/* Skip placeholders for DUMMY fields. */
+@@ -247,6 +250,9 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
+ 			continue;
+ 		}
@@ -198 +86,4 @@
- 		sample_id = tp->devx_fp->sample_ids[id];
+ 		MLX5_ASSERT(map->width);
+ 		MLX5_ASSERT(id < tp->devx_fp->num_samples);
+@@ -259,5 +265,5 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
+ 		}
@@ -202 +93 @@
- 					   sample_id, id);
+ 					   tp->devx_fp->sample_ids[id], id);


  parent reply	other threads:[~2024-11-27 17:22 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' " Kevin Traynor
2024-11-27 17:17 ` patch 'eal/x86: fix 32-bit write combining store' " Kevin Traynor
2024-11-27 17:17 ` patch 'examples/eventdev: fix queue crash with generic pipeline' " Kevin Traynor
2024-11-27 17:17 ` patch 'crypto/dpaa2_sec: fix memory leak' " Kevin Traynor
2024-11-27 17:17 ` patch 'common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog' " Kevin Traynor
2024-11-27 17:17 ` patch 'dev: fix callback lookup when unregistering device' " Kevin Traynor
2024-11-27 17:17 ` patch 'bpf: fix free function mismatch if convert fails' " Kevin Traynor
2024-11-27 17:17 ` patch 'baseband/la12xx: fix use after free in modem config' " Kevin Traynor
2024-11-27 17:17 ` patch 'crypto/bcmfs: fix free function mismatch' " Kevin Traynor
2024-11-27 17:17 ` patch 'dma/idxd: fix free function mismatch in device probe' " Kevin Traynor
2024-11-27 17:17 ` patch 'event/cnxk: fix free function mismatch in port config' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/e1000: fix use after free in filter flush' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/sfc: fix use after free in debug logs' " Kevin Traynor
2024-11-27 17:17 ` patch 'raw/ifpga/base: fix use after free' " Kevin Traynor
2024-11-27 17:17 ` patch 'raw/ifpga: fix free function mismatch in interrupt config' " Kevin Traynor
2024-11-27 17:17 ` patch 'examples/vhost: fix free function mismatch' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/nfb: fix use after free' " Kevin Traynor
2024-11-27 17:17 ` patch 'power: enable CPPC' " Kevin Traynor
2024-11-27 17:17 ` patch 'fib6: add runtime checks in AVX512 lookup' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx timestamp handling for VF' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx offloads to handle timestamp' " Kevin Traynor
2024-11-27 17:17 ` patch 'common/cnxk: fix base log level' " Kevin Traynor
2024-11-27 17:17 ` patch 'vhost: fix offset while mapping log base address' " Kevin Traynor
2024-11-27 17:17 ` patch 'vdpa: update used flags in used ring relay' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/virtio-user: reset used index counter' " Kevin Traynor
2024-11-27 17:17 ` patch 'fib: fix AVX512 lookup' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/e1000: fix link status crash in secondary process' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/iavf: fix crash when link is unstable' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice/base: fix link speed for 200G' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice/base: fix iteration of TLVs in Preserved Fields Area' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/ixgbe/base: fix unchecked return value' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix setting flags in init function' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix misleading debug logs and comments' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix blinking X722 with X557 PHY' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix DDP loading with reserved track ID' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix repeated register dumps' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix unchecked return value' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix loop bounds' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e: fix AVX-512 pointer copy on 32-bit' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice: " Kevin Traynor
2024-11-27 17:17 ` patch 'net/iavf: " Kevin Traynor
2024-11-27 17:17 ` patch 'net/tap: avoid memcpy with null argument' " Kevin Traynor
2024-11-27 17:17 ` patch 'app/testpmd: remove unnecessary cast' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/pcap: set live interface as non-blocking' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/ena: revert redefining memcpy' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/hns3: remove some basic address dump' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/hns3: fix dump counter of registers' " Kevin Traynor
2024-11-27 17:17 ` patch 'ethdev: fix overflow in descriptor count' " Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix PFDRs leaks due to FQRNIs' " Kevin Traynor
2024-11-27 17:17 ` patch 'net/dpaa: fix typecasting channel ID' " Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix VSP for 1G fm1-mac9 and 10' " Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix the fman details status' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/dpaa: fix reallocate mbuf handling' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/memif: fix buffer overflow in zero copy Rx' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/tap: restrict maximum number of MP FDs' " Kevin Traynor
2024-11-27 17:18 ` patch 'ethdev: verify queue ID in Tx done cleanup' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: verify reset type from firmware' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/pcap: fix blocking Rx' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice/base: add bounds check' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice/base: fix VLAN replay after reset' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/iavf: preserve MAC address with i40e PF Linux driver' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: workaround list management of Rx queue control' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix number of supported flex parsers' " Kevin Traynor
2024-11-27 17:18 ` patch 'app/testpmd: remove flex item init command leftover' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix next protocol validation after flex item' " Kevin Traynor
2024-11-27 17:18 ` patch 'build: remove version check on compiler links function' " Kevin Traynor
2024-11-27 17:18 ` patch 'hash: fix thash LFSR initialization' " Kevin Traynor
2024-11-27 17:18 ` patch 'dmadev: fix potential null pointer access' " Kevin Traynor
2024-11-27 17:18 ` patch 'power: fix mapped lcore ID' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/netvsc: fix using Tx queue higher than Rx queues' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: restrict tunnel flow rule to one header' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice: detect stopping a flow director queue twice' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ixgbe: fix link status delay on FreeBSD' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mvneta: fix possible out-of-bounds write' " Kevin Traynor
2024-11-27 17:18 ` patch 'crypto/openssl: fix 3DES-CTR with big endian CPUs' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix memory leak in metering' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix reported Rx/Tx descriptor limits' " Kevin Traynor
2024-11-27 17:18 ` patch 'app/dumpcap: remove unused struct array' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/nfp: fix link change return value' " Kevin Traynor
2024-11-27 17:18 ` Kevin Traynor [this message]
2024-11-27 17:18 ` patch 'bus/fslmc: fix Coverity warnings in QBMAN' " Kevin Traynor
2024-11-27 17:18 ` patch 'test/bonding: remove redundant info query' " Kevin Traynor
2024-11-27 17:18 ` patch 'examples/ntb: check info query return' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/netvsc: force Tx VLAN offload on 801.2Q packet' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/vmxnet3: fix crash after configuration failure' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix SWFW mbox' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix VF-PF mbox interrupt' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: remove outer UDP checksum capability' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix driver load bit to inform firmware' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: reconfigure more MAC Rx registers' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: fix interrupt lost in legacy or MSI mode' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: restrict configuration of VLAN strip offload' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: fix error code for repeatedly create counter' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: fix fully use hardware flow director table' " Kevin Traynor
2024-11-27 17:18 ` patch 'event/octeontx: fix possible integer overflow' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt/tf_core: fix Thor TF EM key size check' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix reading SFF-8436 SFP EEPROMs' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix TCP and UDP checksum flags' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix bad action offset in Tx BD' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: remove dead conditional' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix always true expression' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix possible infinite loop at startup' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix duplicate branch' " Kevin Traynor
2024-11-27 17:18 ` patch 'common/cnxk: fix build on Ubuntu 24.04' " Kevin Traynor
2024-11-27 17:18 ` patch 'examples/l2fwd-event: fix spinlock handling' " Kevin Traynor
2024-11-27 17:18 ` patch 'eventdev: fix possible array underflow/overflow' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix shared queue port number in vector Rx' " Kevin Traynor
2024-11-27 17:18 ` patch 'common/mlx5: fix misalignment' " Kevin Traynor
2024-11-27 17:18 ` patch 'bus/dpaa: fix lock condition during error handling' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/iavf: add segment-length check to Tx prep' " Kevin Traynor
2024-11-27 17:18 ` patch 'net/i40e: check register read for outer VLAN' " Kevin Traynor
2024-11-27 17:19 ` patch 'app/procinfo: fix leak on exit' " Kevin Traynor
2024-11-27 17:19 ` patch 'member: fix choice of bucket for displacement' " Kevin Traynor
2024-11-27 17:19 ` patch 'app/testpmd: fix aged flow destroy' " Kevin Traynor
2024-11-27 17:19 ` patch 'test/bonding: fix loop on members' " Kevin Traynor
2024-11-27 17:19 ` patch 'test/bonding: fix MAC address comparison' " Kevin Traynor
2024-11-27 17:19 ` patch 'test/event: avoid duplicate initialization' " Kevin Traynor
2024-11-27 17:19 ` patch 'test/eal: fix loop coverage for alignment macros' " Kevin Traynor
2024-11-27 17:19 ` patch 'test/eal: fix lcore check' " Kevin Traynor
2024-11-27 17:19 ` patch 'app/testpmd: remove redundant policy action condition' " Kevin Traynor
2024-11-27 17:19 ` patch 'doc: correct definition of stats per queue feature' " Kevin Traynor

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=20241127171916.690404-80-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=dsosnowski@nvidia.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@nvidia.com \
    /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).