patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
To: Alvin Zhang <alvinx.zhang@intel.com>
Cc: Lingli Chen <linglix.chen@intel.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/i40e: fix input set field mask' has been queued to stable release 19.11.9
Date: Mon, 17 May 2021 18:08:10 +0200
Message-ID: <20210517161039.3132619-61-christian.ehrhardt@canonical.com> (raw)
In-Reply-To: <20210517161039.3132619-1-christian.ehrhardt@canonical.com>

Hi,

FYI, your patch has been queued to stable release 19.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 05/19/21. 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/cpaelzer/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/ce1c16ab2255d945f6f493539b7d3e71128d0e76

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ce1c16ab2255d945f6f493539b7d3e71128d0e76 Mon Sep 17 00:00:00 2001
From: Alvin Zhang <alvinx.zhang@intel.com>
Date: Mon, 1 Mar 2021 15:06:07 +0800
Subject: [PATCH] net/i40e: fix input set field mask

[ upstream commit 2a2fd19d46e598a6816be8f81aa62ec372fd495d ]

The absolute field offsets of IPv4 or IPv6 header are related to
hardware configuration. The X710 and X722 have different hardware
configurations, and users can even modify the hardware configuration.
Therefore, The default values cannot be used when calculating mask
offset.

The following flows can be created on X722 NIC, but the packet will
not enter the queue 3:
  flow create 0 ingress pattern eth / ipv4 proto is 255  / end
  actions queue index 3 / end
  pkt = Ether()/IP(ttl=63, proto=255)/Raw('X'*40)

  flow create 0 ingress pattern eth / ipv4 tos is 50 / udp / end
  actions queue index 3 / end
  pkt = Ether()/IP(tos=50)/UDP()/Raw('X'*40)

  flow create 0 ingress pattern eth / ipv6 tc is 12 / udp / end
  actions queue index 3 / end
  pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/UDP()/Raw('X'*40)

  flow create 0 ingress pattern eth / ipv6 hop is 34 / end actions
  queue index 3 / end
  pkt = Ether()/IPv6(tc=12,hlim=34,fl=0x98765)/Raw('X'*40)

This patch read the field offsets from the NIC and return the mask
register value.

Fixes: 98f055707685 ("i40e: configure input fields for RSS or flow director")
Fixes: 92cf7f8ec082 ("i40e: allow filtering on more IP header fields")

Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
Tested-by: Lingli Chen <linglix.chen@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 158 +++++++++++++++++++++++++--------
 drivers/net/i40e/i40e_ethdev.h |   4 +-
 drivers/net/i40e/i40e_flow.c   |   2 +-
 3 files changed, 125 insertions(+), 39 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 2e23631211..79558c8aad 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -201,12 +201,12 @@
 #define I40E_TRANSLATE_INSET 0
 #define I40E_TRANSLATE_REG   1
 
-#define I40E_INSET_IPV4_TOS_MASK        0x0009FF00UL
-#define I40E_INSET_IPv4_TTL_MASK        0x000D00FFUL
-#define I40E_INSET_IPV4_PROTO_MASK      0x000DFF00UL
-#define I40E_INSET_IPV6_TC_MASK         0x0009F00FUL
-#define I40E_INSET_IPV6_HOP_LIMIT_MASK  0x000CFF00UL
-#define I40E_INSET_IPV6_NEXT_HDR_MASK   0x000C00FFUL
+#define I40E_INSET_IPV4_TOS_MASK        0x0000FF00UL
+#define I40E_INSET_IPV4_TTL_MASK        0x000000FFUL
+#define I40E_INSET_IPV4_PROTO_MASK      0x0000FF00UL
+#define I40E_INSET_IPV6_TC_MASK         0x0000F00FUL
+#define I40E_INSET_IPV6_HOP_LIMIT_MASK  0x0000FF00UL
+#define I40E_INSET_IPV6_NEXT_HDR_MASK   0x000000FFUL
 
 /* PCI offset for querying capability */
 #define PCI_DEV_CAP_REG            0xA4
@@ -219,6 +219,25 @@
 /* Bit mask of Extended Tag enable/disable */
 #define PCI_DEV_CTRL_EXT_TAG_MASK  (1 << PCI_DEV_CTRL_EXT_TAG_SHIFT)
 
+#define I40E_GLQF_PIT_IPV4_START	2
+#define I40E_GLQF_PIT_IPV4_COUNT	2
+#define I40E_GLQF_PIT_IPV6_START	4
+#define I40E_GLQF_PIT_IPV6_COUNT	2
+
+#define I40E_GLQF_PIT_SOURCE_OFF_GET(a)	\
+				(((a) & I40E_GLQF_PIT_SOURCE_OFF_MASK) >> \
+				 I40E_GLQF_PIT_SOURCE_OFF_SHIFT)
+
+#define I40E_GLQF_PIT_DEST_OFF_GET(a) \
+				(((a) & I40E_GLQF_PIT_DEST_OFF_MASK) >> \
+				 I40E_GLQF_PIT_DEST_OFF_SHIFT)
+
+#define I40E_GLQF_PIT_FSIZE_GET(a)	(((a) & I40E_GLQF_PIT_FSIZE_MASK) >> \
+					 I40E_GLQF_PIT_FSIZE_SHIFT)
+
+#define I40E_GLQF_PIT_BUILD(off, mask)	(((off) << 16) | (mask))
+#define I40E_FDIR_FIELD_OFFSET(a)	((a) >> 1)
+
 static int eth_i40e_dev_init(struct rte_eth_dev *eth_dev, void *init_params);
 static int eth_i40e_dev_uninit(struct rte_eth_dev *eth_dev);
 static int i40e_dev_configure(struct rte_eth_dev *dev);
@@ -9628,49 +9647,116 @@ i40e_translate_input_set_reg(enum i40e_mac_type type, uint64_t input)
 	return val;
 }
 
+static int
+i40e_get_inset_field_offset(struct i40e_hw *hw, uint32_t pit_reg_start,
+			    uint32_t pit_reg_count, uint32_t hdr_off)
+{
+	const uint32_t pit_reg_end = pit_reg_start + pit_reg_count;
+	uint32_t field_off = I40E_FDIR_FIELD_OFFSET(hdr_off);
+	uint32_t i, reg_val, src_off, count;
+
+	for (i = pit_reg_start; i < pit_reg_end; i++) {
+		reg_val = i40e_read_rx_ctl(hw, I40E_GLQF_PIT(i));
+
+		src_off = I40E_GLQF_PIT_SOURCE_OFF_GET(reg_val);
+		count = I40E_GLQF_PIT_FSIZE_GET(reg_val);
+
+		if (src_off <= field_off && (src_off + count) > field_off)
+			break;
+	}
+
+	if (i >= pit_reg_end) {
+		PMD_DRV_LOG(ERR,
+			    "Hardware GLQF_PIT configuration does not support this field mask");
+		return -1;
+	}
+
+	return I40E_GLQF_PIT_DEST_OFF_GET(reg_val) + field_off - src_off;
+}
+
 int
-i40e_generate_inset_mask_reg(uint64_t inset, uint32_t *mask, uint8_t nb_elem)
+i40e_generate_inset_mask_reg(struct i40e_hw *hw, uint64_t inset,
+			     uint32_t *mask, uint8_t nb_elem)
 {
-	uint8_t i, idx = 0;
-	uint64_t inset_need_mask = inset;
+	static const uint64_t mask_inset[] = {
+		I40E_INSET_IPV4_PROTO | I40E_INSET_IPV4_TTL,
+		I40E_INSET_IPV6_NEXT_HDR | I40E_INSET_IPV6_HOP_LIMIT };
 
 	static const struct {
 		uint64_t inset;
 		uint32_t mask;
-	} inset_mask_map[] = {
-		{I40E_INSET_IPV4_TOS, I40E_INSET_IPV4_TOS_MASK},
-		{I40E_INSET_IPV4_PROTO | I40E_INSET_IPV4_TTL, 0},
-		{I40E_INSET_IPV4_PROTO, I40E_INSET_IPV4_PROTO_MASK},
-		{I40E_INSET_IPV4_TTL, I40E_INSET_IPv4_TTL_MASK},
-		{I40E_INSET_IPV6_TC, I40E_INSET_IPV6_TC_MASK},
-		{I40E_INSET_IPV6_NEXT_HDR | I40E_INSET_IPV6_HOP_LIMIT, 0},
-		{I40E_INSET_IPV6_NEXT_HDR, I40E_INSET_IPV6_NEXT_HDR_MASK},
-		{I40E_INSET_IPV6_HOP_LIMIT, I40E_INSET_IPV6_HOP_LIMIT_MASK},
+		uint32_t offset;
+	} inset_mask_offset_map[] = {
+		{ I40E_INSET_IPV4_TOS, I40E_INSET_IPV4_TOS_MASK,
+		  offsetof(struct rte_ipv4_hdr, type_of_service) },
+
+		{ I40E_INSET_IPV4_PROTO, I40E_INSET_IPV4_PROTO_MASK,
+		  offsetof(struct rte_ipv4_hdr, next_proto_id) },
+
+		{ I40E_INSET_IPV4_TTL, I40E_INSET_IPV4_TTL_MASK,
+		  offsetof(struct rte_ipv4_hdr, time_to_live) },
+
+		{ I40E_INSET_IPV6_TC, I40E_INSET_IPV6_TC_MASK,
+		  offsetof(struct rte_ipv6_hdr, vtc_flow) },
+
+		{ I40E_INSET_IPV6_NEXT_HDR, I40E_INSET_IPV6_NEXT_HDR_MASK,
+		  offsetof(struct rte_ipv6_hdr, proto) },
+
+		{ I40E_INSET_IPV6_HOP_LIMIT, I40E_INSET_IPV6_HOP_LIMIT_MASK,
+		  offsetof(struct rte_ipv6_hdr, hop_limits) },
 	};
 
-	if (!inset || !mask || !nb_elem)
+	uint32_t i;
+	int idx = 0;
+
+	assert(mask);
+	if (!inset)
 		return 0;
 
-	for (i = 0, idx = 0; i < RTE_DIM(inset_mask_map); i++) {
+	for (i = 0; i < RTE_DIM(mask_inset); i++) {
 		/* Clear the inset bit, if no MASK is required,
 		 * for example proto + ttl
 		 */
-		if ((inset & inset_mask_map[i].inset) ==
-		     inset_mask_map[i].inset && inset_mask_map[i].mask == 0)
-			inset_need_mask &= ~inset_mask_map[i].inset;
-		if (!inset_need_mask)
-			return 0;
+		if ((mask_inset[i] & inset) == mask_inset[i]) {
+			inset &= ~mask_inset[i];
+			if (!inset)
+				return 0;
+		}
 	}
-	for (i = 0, idx = 0; i < RTE_DIM(inset_mask_map); i++) {
-		if ((inset_need_mask & inset_mask_map[i].inset) ==
-		    inset_mask_map[i].inset) {
-			if (idx >= nb_elem) {
-				PMD_DRV_LOG(ERR, "exceed maximal number of bitmasks");
-				return -EINVAL;
-			}
-			mask[idx] = inset_mask_map[i].mask;
-			idx++;
+
+	for (i = 0; i < RTE_DIM(inset_mask_offset_map); i++) {
+		uint32_t pit_start, pit_count;
+		int offset;
+
+		if (!(inset_mask_offset_map[i].inset & inset))
+			continue;
+
+		if (inset_mask_offset_map[i].inset &
+		    (I40E_INSET_IPV4_TOS | I40E_INSET_IPV4_PROTO |
+		     I40E_INSET_IPV4_TTL)) {
+			pit_start = I40E_GLQF_PIT_IPV4_START;
+			pit_count = I40E_GLQF_PIT_IPV4_COUNT;
+		} else {
+			pit_start = I40E_GLQF_PIT_IPV6_START;
+			pit_count = I40E_GLQF_PIT_IPV6_COUNT;
+		}
+
+		offset = i40e_get_inset_field_offset(hw, pit_start, pit_count,
+				inset_mask_offset_map[i].offset);
+
+		if (offset < 0)
+			return -EINVAL;
+
+		if (idx >= nb_elem) {
+			PMD_DRV_LOG(ERR,
+				    "Configuration of inset mask out of range %u",
+				    nb_elem);
+			return -ERANGE;
 		}
+
+		mask[idx] = I40E_GLQF_PIT_BUILD((uint32_t)offset,
+						inset_mask_offset_map[i].mask);
+		idx++;
 	}
 
 	return idx;
@@ -9724,7 +9810,7 @@ i40e_filter_input_set_init(struct i40e_pf *pf)
 
 		input_set = i40e_get_default_input_set(pctype);
 
-		num = i40e_generate_inset_mask_reg(input_set, mask_reg,
+		num = i40e_generate_inset_mask_reg(hw, input_set, mask_reg,
 						   I40E_INSET_MASK_NUM_REG);
 		if (num < 0)
 			return;
@@ -9829,7 +9915,7 @@ i40e_hash_filter_inset_select(struct i40e_hw *hw,
 		inset_reg |= i40e_read_rx_ctl(hw, I40E_GLQF_HASH_INSET(0, pctype));
 		input_set |= pf->hash_input_set[pctype];
 	}
-	num = i40e_generate_inset_mask_reg(input_set, mask_reg,
+	num = i40e_generate_inset_mask_reg(hw, input_set, mask_reg,
 					   I40E_INSET_MASK_NUM_REG);
 	if (num < 0)
 		return -EINVAL;
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 91d6830a3c..7c97c609f3 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -1276,8 +1276,8 @@ bool is_i40evf_supported(struct rte_eth_dev *dev);
 
 int i40e_validate_input_set(enum i40e_filter_pctype pctype,
 			    enum rte_filter_type filter, uint64_t inset);
-int i40e_generate_inset_mask_reg(uint64_t inset, uint32_t *mask,
-				 uint8_t nb_elem);
+int i40e_generate_inset_mask_reg(struct i40e_hw *hw, uint64_t inset,
+				 uint32_t *mask, uint8_t nb_elem);
 uint64_t i40e_translate_input_set_reg(enum i40e_mac_type type, uint64_t input);
 void i40e_check_write_reg(struct i40e_hw *hw, uint32_t addr, uint32_t val);
 void i40e_check_write_global_reg(struct i40e_hw *hw,
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index ed2565e88f..e8a52bdb76 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -2201,7 +2201,7 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,
 	    !memcmp(&pf->fdir.input_set[pctype], &input_set, sizeof(uint64_t)))
 		return 0;
 
-	num = i40e_generate_inset_mask_reg(input_set, mask_reg,
+	num = i40e_generate_inset_mask_reg(hw, input_set, mask_reg,
 					   I40E_INSET_MASK_NUM_REG);
 	if (num < 0)
 		return -EINVAL;
-- 
2.31.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-05-17 17:40:31.913775418 +0200
+++ 0061-net-i40e-fix-input-set-field-mask.patch	2021-05-17 17:40:29.211809791 +0200
@@ -1 +1 @@
-From 2a2fd19d46e598a6816be8f81aa62ec372fd495d Mon Sep 17 00:00:00 2001
+From ce1c16ab2255d945f6f493539b7d3e71128d0e76 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2a2fd19d46e598a6816be8f81aa62ec372fd495d ]
+
@@ -35 +36,0 @@
-Cc: stable@dpdk.org
@@ -46 +47 @@
-index 9b86bcdc69..09a1402a3f 100644
+index 2e23631211..79558c8aad 100644
@@ -49 +50 @@
-@@ -202,12 +202,12 @@
+@@ -201,12 +201,12 @@
@@ -68 +69 @@
-@@ -220,6 +220,25 @@
+@@ -219,6 +219,25 @@
@@ -94 +95 @@
-@@ -9424,49 +9443,116 @@ i40e_translate_input_set_reg(enum i40e_mac_type type, uint64_t input)
+@@ -9628,49 +9647,116 @@ i40e_translate_input_set_reg(enum i40e_mac_type type, uint64_t input)
@@ -239 +240 @@
-@@ -9520,7 +9606,7 @@ i40e_filter_input_set_init(struct i40e_pf *pf)
+@@ -9724,7 +9810,7 @@ i40e_filter_input_set_init(struct i40e_pf *pf)
@@ -248 +249 @@
-@@ -9600,7 +9686,7 @@ i40e_set_hash_inset(struct i40e_hw *hw, uint64_t input_set,
+@@ -9829,7 +9915,7 @@ i40e_hash_filter_inset_select(struct i40e_hw *hw,
@@ -258 +259 @@
-index 1e8f5d3a87..faf6896fbc 100644
+index 91d6830a3c..7c97c609f3 100644
@@ -261,2 +262,2 @@
-@@ -1458,8 +1458,8 @@ void i40e_set_symmetric_hash_enable_per_port(struct i40e_hw *hw,
- 					     uint8_t enable);
+@@ -1276,8 +1276,8 @@ bool is_i40evf_supported(struct rte_eth_dev *dev);
+ 
@@ -273 +274 @@
-index 3e514d5f38..1ee8959e56 100644
+index ed2565e88f..e8a52bdb76 100644
@@ -276 +277 @@
-@@ -2269,7 +2269,7 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,
+@@ -2201,7 +2201,7 @@ i40e_flow_set_fdir_inset(struct i40e_pf *pf,

  parent reply	other threads:[~2021-05-17 16:13 UTC|newest]

Thread overview: 190+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 16:07 [dpdk-stable] patch 'vfio: do not merge contiguous areas' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'vfio: fix DMA mapping granularity for IOVA as VA' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'test/mem: fix page size for external memory' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'power: remove duplicated symbols from map file' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'vfio: fix API description' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'fbarray: fix log message on truncation error' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/failsafe: fix RSS hash offload reporting' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/failsafe: report minimum and maximum MTU' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/mlx5: fix metadata item validation for ingress flows' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'bus/fslmc: fix random portal hangs with qbman 5.0' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'bus/dpaa: fix statistics reading' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/dpaa2: fix getting link status' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'app/testpmd: remove unnecessary UDP tunnel check' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/af_xdp: fix error handling during Rx queue setup' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/pcap: fix format string' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Rx queue count' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bonding: fix LACP system address check' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ice: fix VLAN filter with PF' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/e1000: remove MTU setting limitation' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ice/base: fix payload indicator on ptype' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ice/base: cleanup filter list on error' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/i40evf: fix packet loss for X722' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/i40e: fix IPv4 fragment offload' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/mlx5: fix Rx segmented packets on mbuf starvation' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/octeontx2: fix VLAN filter' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'build: exclude meson files from examples installation' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'log/linux: make default output stderr' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net: fix comment in IPv6 header' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: remove unused macro' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix VNIC configuration' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix queues per VNIC' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix FW readiness check during recovery' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix device readiness check' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix HWRM and FW incompatibility handling' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Rx and Tx timestamps' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ice: check some functions return' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/mlx5: fix Rx metadata leftovers' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'eal: fix comment of OS-specific header files' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'buildtools: fix build with busybox' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'build: detect execinfo library on Linux' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'common/dpaax/caamflib: fix build with musl' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'bus/dpaa: fix 64-bit arch detection' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'bus/dpaa: fix build with musl' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/cxgbe: remove use of uint type' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'app/testpmd: fix build with musl' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'examples/bbdev: fix header include for " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'examples/packet_ordering: fix port configuration' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'test: fix autotest handling of skipped tests' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ark: update packet director initial state' " Christian Ehrhardt
2021-05-17 16:07 ` [dpdk-stable] patch 'net/ark: refactor Rx buffer recovery' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'app/testpmd: fix NVGRE encap configuration' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix Tx timestamp init' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix PCI write check' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix RSS context cleanup' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix link state operations' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix Rx buffer posting' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix Tx length hint threshold' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix handling of null flow mask' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/qede: reduce log verbosity' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/qede: accept bigger RSS table' " Christian Ehrhardt
2021-05-17 16:08 ` Christian Ehrhardt [this message]
2021-05-17 16:08 ` [dpdk-stable] patch 'net/ice/base: fix memory allocation for MAC addresses' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/mlx5: support RSS expansion for IPv6 GRE' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix reporting undefined speed' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hinic: fix crash in secondary process' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'app/testpmd: fix Tx/Rx descriptor query error log' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/i40e: fix parsing packet type for NEON' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/i40e: announce request queue capability in PF' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/iavf: fix TSO max segment size' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/ixgbe: fix RSS RETA being reset after port start' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'vdpa/ifc: check PCI config read' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'examples/vhost: check memory table query' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'vhost: fix split ring potential buffer overflow' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'vhost: fix packed " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'vhost: fix batch dequeue " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'examples/vhost_crypto: remove unused short option' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'doc: fix sphinx rtd theme import in GHA' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'power: do not skip saving original P-state governor' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'mem: fix freeing segments in --huge-unlink mode' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'service: clean references to removed symbol' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'test: proceed if timer subsystem already initialized' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'app: fix exit messages' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix MTU config complexity' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: update HiSilicon copyright syntax' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/ena: fix releasing Tx ring mbufs' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/e1000: fix Rx error counter for bad length' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/bnxt: fix configuring LRO' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'vhost: fix initialization of temporary header' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'ethdev: validate input in module EEPROM dump' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'ethdev: validate input in register info' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'ethdev: validate input in EEPROM " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix FLR miss detection' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix rollback after setting PVID failure' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix flow control exception' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix flow counter value' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: fix VF mailbox head field' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: support get device version when dump register' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/hns3: delete redundant blank line' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'test/event: fix timeout accuracy' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'app/eventdev: " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'event/octeontx2: fix device reconfigure for single slot' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'license: fix typos' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'devargs: fix memory leak on parsing failure' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'eal: add C++ include guard for reciprocal header' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'examples/l2fwd-crypto: skip masked devices' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix packet length while decryption' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'crypto/qat: fix offset for out-of-place scatter-gather' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'test: fix TCP header initialization' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/e1000: fix max Rx packet size' " Christian Ehrhardt
2021-05-17 16:08 ` [dpdk-stable] patch 'net/ice: fix illegal access when removing MAC filter' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/mlx4: fix RSS action with null hash key' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/ixgbe: fix Rx errors statistics for UDP checksum' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'app/testpmd: fix bitmap of link speeds when force speed' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'ethdev: update flow item GTP QFI definition' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix VF handling LSC event in secondary process' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix flow control mode' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/i40e: fix lack of MAC type when set MAC address' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/iavf: " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'eventdev: fix case to initiate crypto adapter service' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'vfio: fix duplicated user mem map' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'examples/ptpclient: remove wrong comment' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'examples/l3fwd: fix LPM IPv6 subnets' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/cmdline: fix inputs array' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test: check thread creation' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'common/dpaax: fix possible null pointer access' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/bpf: fix error message' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/power: add delay before checking CPU frequency' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/power: round CPU frequency to check' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'examples: add eal cleanup to examples' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'examples/ethtool: remove unused parsing' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'doc: fix HiSilicon copyright syntax' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: remove unused macros' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix DCB mode check' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix VMDq " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix flow director lock' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/bonding: fix adding itself as its slave' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/bnxt: fix health check alarm cancellation' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: remove unused macro' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/ice: fix disabling promiscuous mode' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/e1000/base: fix timeout for shadow RAM write' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'doc: fix names of UIO drivers' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'stack: allow lock-free only on relevant architectures' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'config/ppc: reduce number of cores and NUMA nodes' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'eal/arm64: fix platform register bit' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'mbuf: check shared memory before dumping dynamic space' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/mempool: fix object initializer' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'app/eventdev: fix overflow in lcore list parsing' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'eventdev: remove redundant thread name setting' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'eventdev: fix memory leakage on thread creation failure' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'bpf: fix JSLT validation' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'power: save original ACPI governor always' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'doc: fix multiport syntax in nfp guide' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/kni: check init result' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix mailbox error message' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix processing link status message on PF' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: remove unused mailbox macro and struct' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/bonding: fix leak on remove' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/kni: fix a comment' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'test/kni: check init result' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'app/testpmd: fix max queue number for Tx offloads' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/tap: fix interrupt vector array size' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/hns3: fix typos on comments' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'app/testpmd: fix segment number check' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/bonding: fix socket ID " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/i40e: fix negative VEB index' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/i40e: remove redundant VSI check in Tx queue setup' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/ice: fix fast mbuf freeing' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/iavf: fix VF to PF command failure handling' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'net/e1000: fix flow error message object' " Christian Ehrhardt
2021-05-17 16:09 ` [dpdk-stable] patch 'vhost: fix queue initialization' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/bnxt: remove unnecessary forward declarations' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/bnxt: remove unused function parameters' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/bnxt: use prefix on global function' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/mlx5: remove drop queue function prototypes' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/mlx4: fix buffer leakage on device close' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/mlx5: fix probing device in legacy bonding mode' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/tap: check ioctl on restore' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/softnic: fix meter policies initialization' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'app/testpmd: fix forward lcores number for DCB' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'app/testpmd: fix DCB forwarding configuration' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'app/testpmd: fix DCB re-configuration' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'app/testpmd: verify DCB config during forward config' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/hns3: log time delta in decimal format' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/hns3: remove unused macros' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/iavf: fix primary MAC type when starting port' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/i40e: " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'net/hns3: remove unused VMDq code' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'ethdev: add missing buses in device iterator' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'test/distributor: fix worker notification in burst mode' " Christian Ehrhardt
2021-05-17 16:10 ` [dpdk-stable] patch 'test/distributor: fix burst flush on worker quit' " Christian Ehrhardt

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=20210517161039.3132619-61-christian.ehrhardt@canonical.com \
    --to=christian.ehrhardt@canonical.com \
    --cc=alvinx.zhang@intel.com \
    --cc=linglix.chen@intel.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

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git