patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Mingjin Ye <mingjinx.ye@intel.com>
Cc: Qi Zhang <qi.z.zhang@intel.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/iavf: fix abnormal disable HW interrupt' has been queued to stable release 20.11.9
Date: Wed, 28 Jun 2023 15:10:41 +0100	[thread overview]
Message-ID: <20230628141046.2145871-17-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20230628141046.2145871-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to stable release 20.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 06/30/23. 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/790a74ad5ed97175068d171b8a8d973f7deb2c4c

Thanks.

Luca Boccassi

---
From 790a74ad5ed97175068d171b8a8d973f7deb2c4c Mon Sep 17 00:00:00 2001
From: Mingjin Ye <mingjinx.ye@intel.com>
Date: Wed, 14 Jun 2023 09:53:03 +0000
Subject: [PATCH] net/iavf: fix abnormal disable HW interrupt

[ upstream commit 675a104e2e940ec476e8b469725e8465d01c0098 ]

For command VIRTCHNL_OP_REQUEST_QUEUES, polling access to the admin
queue has the issue of access overruns after disabling interrupt. That
results in FW disabling HW interrupt for protection purposes.

The updates/changes in this patch:
1. Remove the polling admin queue processing and use the generic interrupt
processing instead.
2. Release redundant queue resource before stopping processing interrupt
events.

Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: ef807926e148 ("net/iavf: support requesting additional queues from PF")
Fixes: 84108425054a ("net/iavf: support asynchronous virtual channel message")

Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_ethdev.c | 24 ++++++++---------
 drivers/net/iavf/iavf_vchnl.c  | 49 +++++++---------------------------
 2 files changed, 22 insertions(+), 51 deletions(-)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 40f5693d28..ddd877724a 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -2077,6 +2077,18 @@ iavf_dev_close(struct rte_eth_dev *dev)
 
 	ret = iavf_dev_stop(dev);
 
+	/*
+	 * Release redundant queue resource when close the dev
+	 * so that other vfs can re-use the queues.
+	 */
+	if (vf->lv_enabled) {
+		ret = iavf_request_queues(dev, IAVF_MAX_NUM_QUEUES_DFLT);
+		if (ret)
+			PMD_DRV_LOG(ERR, "Reset the num of queues failed");
+
+		vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT;
+	}
+
 	iavf_flow_flush(dev, NULL);
 	iavf_flow_uninit(adapter);
 
@@ -2088,18 +2100,6 @@ iavf_dev_close(struct rte_eth_dev *dev)
 	if (vf->promisc_unicast_enabled || vf->promisc_multicast_enabled)
 		iavf_config_promisc(adapter, false, false);
 
-	/*
-	 * Release redundant queue resource when close the dev
-	 * so that other vfs can re-use the queues.
-	 */
-	if (vf->lv_enabled) {
-		ret = iavf_request_queues(dev, IAVF_MAX_NUM_QUEUES_DFLT);
-		if (ret)
-			PMD_DRV_LOG(ERR, "Reset the num of queues failed");
-
-		vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT;
-	}
-
 	iavf_shutdown_adminq(hw);
 	/* disable uio intr before callback unregister */
 	rte_intr_disable(intr_handle);
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 1a09acafb1..b9dfcd62eb 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -309,6 +309,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
 
 	switch (args->ops) {
 	case VIRTCHNL_OP_RESET_VF:
+	case VIRTCHNL_OP_REQUEST_QUEUES:
 		/*no need to wait for response */
 		_clear_cmd(vf);
 		break;
@@ -331,33 +332,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
 		}
 		_clear_cmd(vf);
 		break;
-	case VIRTCHNL_OP_REQUEST_QUEUES:
-		/*
-		 * ignore async reply, only wait for system message,
-		 * vf_reset = true if get VIRTCHNL_EVENT_RESET_IMPENDING,
-		 * if not, means request queues failed.
-		 */
-		do {
-			result = iavf_read_msg_from_pf(adapter, args->out_size,
-						   args->out_buffer);
-			if (result == IAVF_MSG_SYS && vf->vf_reset) {
-				break;
-			} else if (result == IAVF_MSG_CMD ||
-				result == IAVF_MSG_ERR) {
-				err = -1;
-				break;
-			}
-			iavf_msec_delay(ASQ_DELAY_MS);
-			/* If don't read msg or read sys event, continue */
-		} while (i++ < MAX_TRY_TIMES);
-		if (i >= MAX_TRY_TIMES ||
-			vf->cmd_retval != VIRTCHNL_STATUS_SUCCESS) {
-			err = -1;
-			PMD_DRV_LOG(ERR, "No response or return failure (%d)"
-				    " for cmd %d", vf->cmd_retval, args->ops);
-		}
-		_clear_cmd(vf);
-		break;
 	default:
 		if (rte_thread_is_intr()) {
 			/* For virtchnl ops were executed in eal_intr_thread,
@@ -1594,11 +1568,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_info *vf =  IAVF_DEV_PRIVATE_TO_VF(adapter);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct virtchnl_vf_res_request vfres;
 	struct iavf_cmd_info args;
 	uint16_t num_queue_pairs;
 	int err;
+	int i = 0;
 
 	if (!(vf->vf_res->vf_cap_flags &
 		VIRTCHNL_VF_OFFLOAD_REQ_QUEUES)) {
@@ -1618,22 +1592,19 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
 	args.out_buffer = vf->aq_resp;
 	args.out_size = IAVF_AQ_BUF_SZ;
 
-	/*
-	 * disable interrupt to avoid the admin queue message to be read
-	 * before iavf_read_msg_from_pf.
-	 *
-	 * don't disable interrupt handler until ready to execute vf cmd.
-	 */
-	rte_spinlock_lock(&vf->aq_lock);
-	rte_intr_disable(&pci_dev->intr_handle);
-	err = iavf_execute_vf_cmd(adapter, &args);
-	rte_intr_enable(&pci_dev->intr_handle);
-	rte_spinlock_unlock(&vf->aq_lock);
+	err = iavf_execute_vf_cmd_safe(adapter, &args);
 	if (err) {
 		PMD_DRV_LOG(ERR, "fail to execute command OP_REQUEST_QUEUES");
 		return err;
 	}
 
+	/* wait for interrupt notification vf is resetting */
+	while (i++ < MAX_TRY_TIMES) {
+		if (vf->vf_reset)
+			break;
+		iavf_msec_delay(ASQ_DELAY_MS);
+	}
+
 	/* request queues succeeded, vf is resetting */
 	if (vf->vf_reset) {
 		PMD_DRV_LOG(INFO, "vf is resetting");
-- 
2.39.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-06-28 11:40:08.792691715 +0100
+++ 0017-net-iavf-fix-abnormal-disable-HW-interrupt.patch	2023-06-28 11:40:08.080028000 +0100
@@ -1 +1 @@
-From 675a104e2e940ec476e8b469725e8465d01c0098 Mon Sep 17 00:00:00 2001
+From 790a74ad5ed97175068d171b8a8d973f7deb2c4c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 675a104e2e940ec476e8b469725e8465d01c0098 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -24,3 +25,3 @@
- drivers/net/iavf/iavf_ethdev.c | 25 +++++++++---------
- drivers/net/iavf/iavf_vchnl.c  | 48 +++++++---------------------------
- 2 files changed, 23 insertions(+), 50 deletions(-)
+ drivers/net/iavf/iavf_ethdev.c | 24 ++++++++---------
+ drivers/net/iavf/iavf_vchnl.c  | 49 +++++++---------------------------
+ 2 files changed, 22 insertions(+), 51 deletions(-)
@@ -29 +30 @@
-index b72dbc8ceb..00b963128b 100644
+index 40f5693d28..ddd877724a 100644
@@ -32,2 +33 @@
-@@ -2757,6 +2757,19 @@ iavf_dev_close(struct rte_eth_dev *dev)
- 	}
+@@ -2077,6 +2077,18 @@ iavf_dev_close(struct rte_eth_dev *dev)
@@ -36 +36 @@
-+
+ 
@@ -49 +49,2 @@
- 	adapter->closed = true;
+ 	iavf_flow_flush(dev, NULL);
+ 	iavf_flow_uninit(adapter);
@@ -51,2 +52 @@
- 	/* free iAVF security device context all related resources */
-@@ -2773,18 +2786,6 @@ iavf_dev_close(struct rte_eth_dev *dev)
+@@ -2088,18 +2100,6 @@ iavf_dev_close(struct rte_eth_dev *dev)
@@ -69,2 +69,2 @@
- 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
- 		/* disable uio intr before callback unregister */
+ 	/* disable uio intr before callback unregister */
+ 	rte_intr_disable(intr_handle);
@@ -72 +72 @@
-index 07eb358824..524732f67d 100644
+index 1a09acafb1..b9dfcd62eb 100644
@@ -75 +75 @@
-@@ -324,6 +324,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args,
+@@ -309,6 +309,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
@@ -83 +83 @@
-@@ -347,33 +348,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args,
+@@ -331,33 +332,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
@@ -117 +117 @@
-@@ -2082,11 +2056,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
+@@ -1594,11 +1568,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
@@ -130 +130,2 @@
-@@ -2107,16 +2081,7 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
+@@ -1618,22 +1592,19 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
+ 	args.out_buffer = vf->aq_resp;
@@ -133,16 +134,14 @@
- 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
--		/* disable interrupt to avoid the admin queue message to be read
--		 * before iavf_read_msg_from_pf.
--		 *
--		 * don't disable interrupt handler until ready to execute vf cmd.
--		 */
--		rte_spinlock_lock(&vf->aq_lock);
--		rte_intr_disable(pci_dev->intr_handle);
--		err = iavf_execute_vf_cmd(adapter, &args, 0);
--		rte_intr_enable(pci_dev->intr_handle);
--		rte_spinlock_unlock(&vf->aq_lock);
-+		err = iavf_execute_vf_cmd_safe(adapter, &args, 0);
- 	} else {
- 		rte_eal_alarm_cancel(iavf_dev_alarm_handler, dev);
- 		err = iavf_execute_vf_cmd_safe(adapter, &args, 0);
-@@ -2129,6 +2094,13 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num)
+-	/*
+-	 * disable interrupt to avoid the admin queue message to be read
+-	 * before iavf_read_msg_from_pf.
+-	 *
+-	 * don't disable interrupt handler until ready to execute vf cmd.
+-	 */
+-	rte_spinlock_lock(&vf->aq_lock);
+-	rte_intr_disable(&pci_dev->intr_handle);
+-	err = iavf_execute_vf_cmd(adapter, &args);
+-	rte_intr_enable(&pci_dev->intr_handle);
+-	rte_spinlock_unlock(&vf->aq_lock);
++	err = iavf_execute_vf_cmd_safe(adapter, &args);
+ 	if (err) {
+ 		PMD_DRV_LOG(ERR, "fail to execute command OP_REQUEST_QUEUES");

  parent reply	other threads:[~2023-06-28 14:11 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-15  1:31 patch 'kni: fix build with Linux 6.3' " luca.boccassi
2023-06-15  1:31 ` patch 'examples/ip_pipeline: fix build with GCC 13' " luca.boccassi
2023-06-15  1:31 ` patch 'examples/ntb: " luca.boccassi
2023-06-15  1:31 ` patch 'ring: fix use after free' " luca.boccassi
2023-06-15  1:32 ` patch 'vfio: fix include with musl runtime' " luca.boccassi
2023-06-15  1:32 ` patch 'kernel/freebsd: fix function parameter list' " luca.boccassi
2023-06-15  1:32 ` patch 'build: fix case of project language name' " luca.boccassi
2023-06-15  1:32 ` patch 'telemetry: fix autotest on Alpine' " luca.boccassi
2023-06-15  1:32 ` patch 'test/malloc: fix missing free' " luca.boccassi
2023-06-15  1:32 ` patch 'test/malloc: fix statistics checks' " luca.boccassi
2023-06-15  1:32 ` patch 'eal: avoid calling cleanup twice' " luca.boccassi
2023-06-15  1:32 ` patch 'pci: fix comment referencing renamed function' " luca.boccassi
2023-06-15  1:32 ` patch 'eal/x86: improve multiple of 64 bytes memcpy performance' " luca.boccassi
2023-06-15  1:32 ` patch 'eventdev/timer: fix timeout event wait behavior' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: fix event timer adapter guide' " luca.boccassi
2023-06-15  1:32 ` patch 'event/dsw: free rings on close' " luca.boccassi
2023-06-15  1:32 ` patch 'eventdev/timer: fix buffer flush' " luca.boccassi
2023-06-15  1:32 ` patch 'eal/linux: fix secondary process crash for mp hotplug' " luca.boccassi
2023-06-15  1:32 ` patch 'eal/linux: fix legacy mem init with many segments' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix build warning' " luca.boccassi
2023-06-15  1:32 ` patch 'net/tap: set locally administered bit for fixed MAC address' " luca.boccassi
2023-06-15  1:32 ` patch 'net/dpaa2: fix checksum good flags' " luca.boccassi
2023-06-15  1:32 ` patch 'app/testpmd: fix GTP L2 length in checksum engine' " luca.boccassi
2023-06-15  1:32 ` patch 'net/vmxnet3: fix drop of empty segments in Tx' " luca.boccassi
2023-06-15  1:32 ` patch 'net/txgbe: fix use-after-free on remove' " luca.boccassi
2023-06-15  1:32 ` patch 'ethdev: fix MAC address occupies two entries' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix variable type mismatch' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix Rx multiple firmware reset interrupts' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix FEC mode for 200G ports' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix FEC mode check' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: fix format in flow API guide' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started during reset' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started after " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix device start return value' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix uninitialized variable' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix inaccurate log' " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix redundant line break in " luca.boccassi
2023-06-15  1:32 ` patch 'net/hns3: fix IMP reset trigger' " luca.boccassi
2023-06-15  1:32 ` patch 'net/nfp: fix offloading flows' " luca.boccassi
2023-06-15  1:32 ` patch 'net/vmxnet3: fix return code in initializing' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: fix auth algos in cryptoperf app' " luca.boccassi
2023-06-15  1:32 ` patch 'crypto/scheduler: fix last element for valid args' " luca.boccassi
2023-06-15  1:32 ` patch 'test/crypto: fix session creation check' " luca.boccassi
2023-06-15  1:32 ` patch 'vhost: fix invalid call FD handling' " luca.boccassi
2023-06-15  1:32 ` patch 'net/virtio: fix initialization to return negative errno' " luca.boccassi
2023-06-15  1:32 ` patch 'net/virtio-user: fix leak when initialisation fails' " luca.boccassi
2023-06-15  1:32 ` patch 'net/mlx5: enhance error log for tunnel offloading' " luca.boccassi
2023-06-15  1:32 ` patch 'net/mlx5: fix duplicated tag index matching in SWS' " luca.boccassi
2023-06-15  1:32 ` patch 'net/qede: fix RSS indirection table initialization' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: fix typo in cnxk platform guide' " luca.boccassi
2023-06-15  1:32 ` patch 'net/i40e: fix Rx data buffer size' " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice: " luca.boccassi
2023-06-15  1:32 ` patch 'net/iavf: " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice: fix statistics' " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice: fix DCF RSS initialization' " luca.boccassi
2023-06-15  1:32 ` patch 'net/iavf: release large VF when closing device' " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice: fix DCF control thread crash' " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice/base: remove unreachable code' " luca.boccassi
2023-06-15  1:32 ` patch 'net/ice: fix outer UDP checksum offload' " luca.boccassi
2023-06-15  1:32 ` patch 'net/iavf: fix virtchnl command called in interrupt' " luca.boccassi
2023-06-15  1:32 ` patch 'test/mbuf: fix crash in a forked process' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: fix typo in graph guide' " luca.boccassi
2023-06-15  1:32 ` patch 'doc: remove warning with Doxygen 1.9.7' " luca.boccassi
2023-06-28 14:10   ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi
2023-06-28 14:10     ` patch 'test: add graph tests' " luca.boccassi
2023-06-28 14:55       ` David Marchand
2023-06-28 14:10     ` patch 'mbuf: fix Doxygen comment of distributor metadata' " luca.boccassi
2023-06-28 14:10     ` patch 'crypto/openssl: skip workaround at compilation time' " luca.boccassi
2023-06-28 14:10     ` patch 'ethdev: update documentation for API to set FEC' " luca.boccassi
2023-06-28 14:10     ` patch 'ethdev: check that at least one FEC mode is specified' " luca.boccassi
2023-06-28 14:10     ` patch 'ethdev: update documentation for API to get FEC' " luca.boccassi
2023-06-28 14:10     ` patch 'net/bonding: fix startup when NUMA is not supported' " luca.boccassi
2023-06-28 14:10     ` patch 'net/bonding: fix destroy dedicated queues flow' " luca.boccassi
2023-06-28 14:10     ` patch 'net/txgbe/base: fix Tx with fiber hotplug' " luca.boccassi
2023-06-28 14:10     ` patch 'net/txgbe: fix to set autoneg for 1G speed' " luca.boccassi
2023-06-28 14:10     ` patch 'net/txgbe: fix extended statistics' " luca.boccassi
2023-06-28 14:10     ` patch 'net/nfp: fix address always related with PF ID 0' " luca.boccassi
2023-06-28 14:10     ` patch 'common/sfc_efx/base: fix Rx queue without RSS hash prefix' " luca.boccassi
2023-06-28 14:10     ` patch 'net/ice: fix tunnel packet Tx descriptor' " luca.boccassi
2023-06-28 14:10     ` patch 'net/ixgbe: add proper memory barriers in Rx' " luca.boccassi
2023-06-28 14:10     ` luca.boccassi [this message]
2023-06-28 14:10     ` patch 'net/i40e: fix tunnel packet Tx descriptor' " luca.boccassi
2023-06-28 14:10     ` patch 'net/e1000: fix queue number initialization' " luca.boccassi
2023-06-28 14:10     ` patch 'net/mlx5: fix risk in NEON Rx descriptor read' " luca.boccassi
2023-06-28 14:10     ` patch 'net/mlx5: fix device removal event handling' " luca.boccassi
2023-06-28 14:10     ` patch 'common/mlx5: adjust fork call with new kernel API' " luca.boccassi
2023-07-14 22:34       ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi
2023-07-14 22:34         ` patch 'fib: fix adding default route' " luca.boccassi
2023-07-14 22:34         ` patch 'mem: fix memsegs exhausted message' " luca.boccassi
2023-07-14 22:34         ` patch 'net/netvsc: fix sizeof calculation' " luca.boccassi
2023-07-14 22:34         ` patch 'app/testpmd: fix checksum engine with GTP on 32-bit' " luca.boccassi
2023-07-14 22:34         ` patch 'net/hns3: fix non-zero weight for disabled TC' " luca.boccassi
2023-07-14 22:34         ` patch 'net/hns3: fix index to look up table in NEON Rx' " luca.boccassi
2023-07-14 22:34         ` patch 'ethdev: fix potential leak in PCI probing helper' " luca.boccassi
2023-07-14 22:34         ` patch 'net/mlx5: forbid MPRQ restart' " luca.boccassi
2023-07-14 22:34         ` patch 'net/ice: fix 32-bit build' " luca.boccassi
2023-07-14 22:34         ` patch 'net/ice: fix RSS hash key generation' " luca.boccassi
2023-07-14 22:34         ` patch 'baseband/fpga_5gnr_fec: fix possible division by zero' " luca.boccassi
2023-07-14 22:34         ` patch 'baseband/fpga_5gnr_fec: fix starting unconfigured queue' " luca.boccassi
2023-07-14 22:34         ` patch 'test/crypto: fix PDCP-SDAP test vectors' " luca.boccassi
2023-07-14 22:34         ` patch 'examples/fips_validation: fix digest length in AES-GCM' " luca.boccassi
2023-07-14 22:34         ` patch 'app/crypto-perf: fix socket ID default value' " luca.boccassi
2023-07-14 22:34         ` patch 'examples/ipsec-secgw: fix TAP default MAC address' " luca.boccassi
2023-07-14 22:34         ` patch 'kni: fix build with Linux 6.5' " luca.boccassi
2023-07-20 10:58           ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi
2023-07-20 10:58             ` patch 'net/i40e: fix comments' " luca.boccassi
2023-07-20 10:58             ` patch 'net/iavf: fix stop ordering' " luca.boccassi
2023-07-20 10:58             ` patch 'common/iavf: fix MAC type for 710 NIC' " luca.boccassi
2023-07-20 10:58             ` patch 'net/ixgbe: fix Rx and Tx queue status' " luca.boccassi
2023-07-20 10:58             ` patch 'net/igc: " luca.boccassi
2023-07-20 10:58             ` patch 'net/e1000: " luca.boccassi
2023-07-20 10:58             ` patch 'net/mlx5: fix LRO TCP checksum' " luca.boccassi
2023-07-20 10:58             ` patch 'doc: update BIOS settings and supported HW for NTB' " 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=20230628141046.2145871-17-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=mingjinx.ye@intel.com \
    --cc=qi.z.zhang@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
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).