From: liujie5@linkdatatechnology.com
To: stephen@networkplumber.org
Cc: dev@dpdk.org, Jie Liu <liujie5@linkdatatechnology.com>
Subject: [PATCH v4 7/9] common/sxe2: add ioctl interface for DMA map and unmap
Date: Fri, 1 May 2026 09:59:22 +0800 [thread overview]
Message-ID: <20260501015925.263486-8-liujie5@linkdatatechnology.com> (raw)
In-Reply-To: <20260501015925.263486-1-liujie5@linkdatatechnology.com>
From: Jie Liu <liujie5@linkdatatechnology.com>
Implement DMA mapping and unmapping functionality using ioctl
calls. This allows the driver to configure the hardware's IOMMU/DMA
tables, ensuring the device can safely access memory buffers
allocated by the userspace.
The mapping is established during device initialization or queue
setup and is revoked during device closure to prevent memory
leaks and ensure hardware security.
Signed-off-by: Jie Liu <liujie5@linkdatatechnology.com>
---
drivers/common/sxe2/sxe2_common.c | 48 ++++++++++
drivers/common/sxe2/sxe2_ioctl_chnl.c | 104 +++++++++++++++++++++
drivers/common/sxe2/sxe2_ioctl_chnl_func.h | 9 ++
3 files changed, 161 insertions(+)
diff --git a/drivers/common/sxe2/sxe2_common.c b/drivers/common/sxe2/sxe2_common.c
index dfdefb8b78..537d4e9f6a 100644
--- a/drivers/common/sxe2/sxe2_common.c
+++ b/drivers/common/sxe2/sxe2_common.c
@@ -466,12 +466,60 @@ static s32 sxe2_common_pci_remove(struct rte_pci_device *pci_dev)
return ret;
}
+static s32 sxe2_common_pci_dma_map(struct rte_pci_device *pci_dev,
+ void *addr, u64 iova, size_t len)
+{
+ struct sxe2_common_device *cdev;
+ s32 ret = SXE2_ERROR;
+
+ cdev = sxe2_rtedev_to_cdev(&pci_dev->device);
+ if (cdev == NULL) {
+ ret = SXE2_ERR_NODEV;
+ PMD_LOG_ERR(COM, "Fail to get remove device.");
+ goto l_end;
+ }
+
+ ret = sxe2_drv_dev_dma_map(cdev, (u64)(uintptr_t)addr, iova, len);
+ if (ret) {
+ PMD_LOG_ERR(COM, "Fail to dma map, ret=%d", ret);
+ goto l_end;
+ }
+
+l_end:
+ return ret;
+}
+
+static s32 sxe2_common_pci_dma_unmap(struct rte_pci_device *pci_dev,
+ void *addr __rte_unused, u64 iova, size_t len __rte_unused)
+{
+ struct sxe2_common_device *cdev;
+ s32 ret = SXE2_ERROR;
+
+ cdev = sxe2_rtedev_to_cdev(&pci_dev->device);
+ if (cdev == NULL) {
+ ret = SXE2_ERR_NODEV;
+ PMD_LOG_ERR(COM, "Fail to get remove device.");
+ goto l_end;
+ }
+
+ ret = sxe2_drv_dev_dma_unmap(cdev, iova);
+ if (ret) {
+ PMD_LOG_ERR(COM, "Fail to dma map, ret=%d", ret);
+ goto l_end;
+ }
+
+l_end:
+ return ret;
+}
+
static struct rte_pci_driver sxe2_common_pci_driver = {
.driver = {
.name = SXE2_COMMON_PCI_DRIVER_NAME,
},
.probe = sxe2_common_pci_probe,
.remove = sxe2_common_pci_remove,
+ .dma_map = sxe2_common_pci_dma_map,
+ .dma_unmap = sxe2_common_pci_dma_unmap,
};
static u32 sxe2_common_pci_id_table_size_get(const struct rte_pci_id *id_table)
diff --git a/drivers/common/sxe2/sxe2_ioctl_chnl.c b/drivers/common/sxe2/sxe2_ioctl_chnl.c
index 2bd7c2b2eb..1a14d401e7 100644
--- a/drivers/common/sxe2/sxe2_ioctl_chnl.c
+++ b/drivers/common/sxe2/sxe2_ioctl_chnl.c
@@ -220,3 +220,107 @@ sxe2_drv_dev_munmap(struct sxe2_common_device *cdev, void *virt, u64 len)
l_end:
return ret;
}
+
+RTE_EXPORT_INTERNAL_SYMBOL(sxe2_drv_dev_dma_map)
+s32
+sxe2_drv_dev_dma_map(struct sxe2_common_device *cdev, u64 vaddr,
+ u64 iova, u64 size)
+{
+ struct sxe2_ioctl_iommu_dma_map cmd_params;
+ enum rte_iova_mode iova_mode;
+ s32 ret = SXE2_SUCCESS;
+ s32 cmd_fd = 0;
+
+ if (cdev->config.kernel_reset) {
+ ret = SXE2_ERR_PERM;
+ PMD_LOG_WARN(COM, "kernel reseted, need restart app.");
+ goto l_end;
+ }
+
+ iova_mode = rte_eal_iova_mode();
+ if (iova_mode == RTE_IOVA_PA) {
+ if (cdev->config.support_iommu) {
+ PMD_LOG_ERR(COM, "iommu not support pa mode");
+ ret = SXE2_ERR_IO;
+ }
+ goto l_end;
+ } else if (iova_mode == RTE_IOVA_VA) {
+ if (!cdev->config.support_iommu) {
+ PMD_LOG_ERR(COM, "no iommu not support va mode, plese use pa mode.");
+ ret = SXE2_ERR_IO;
+ goto l_end;
+ }
+ }
+
+ cmd_fd = SXE2_CDEV_TO_CMD_FD(cdev);
+ if (cmd_fd < 0) {
+ ret = SXE2_ERR_BADF;
+ PMD_LOG_ERR(COM, "Failed to exec cmd, fd=%d", cmd_fd);
+ goto l_end;
+ }
+
+ memset(&cmd_params, 0, sizeof(struct sxe2_ioctl_iommu_dma_map));
+ cmd_params.vaddr = vaddr;
+ cmd_params.iova = iova;
+ cmd_params.size = size;
+
+ rte_ticketlock_lock(&cdev->config.lock);
+ ret = ioctl(cmd_fd, SXE2_COM_CMD_DMA_MAP, &cmd_params);
+ if (ret < 0) {
+ PMD_LOG_ERR(COM, "Failed to dma map, fd=%d, ret=%d, err:%s",
+ cmd_fd, ret, strerror(errno));
+ ret = SXE2_ERR_IO;
+ rte_ticketlock_unlock(&cdev->config.lock);
+ goto l_end;
+ }
+ rte_ticketlock_unlock(&cdev->config.lock);
+
+l_end:
+ return ret;
+}
+
+RTE_EXPORT_INTERNAL_SYMBOL(sxe2_drv_dev_dma_unmap)
+s32
+sxe2_drv_dev_dma_unmap(struct sxe2_common_device *cdev, u64 iova)
+{
+ s32 ret = SXE2_SUCCESS;
+ s32 cmd_fd = 0;
+ struct sxe2_ioctl_iommu_dma_unmap cmd_params;
+
+ if (cdev->config.kernel_reset) {
+ ret = SXE2_ERR_PERM;
+ PMD_LOG_WARN(COM, "kernel reseted, need restart app.");
+ goto l_end;
+ }
+
+ if (!cdev->config.support_iommu)
+ return SXE2_SUCCESS;
+
+ cmd_fd = SXE2_CDEV_TO_CMD_FD(cdev);
+ if (cmd_fd < 0) {
+ ret = SXE2_ERR_BADF;
+ PMD_LOG_ERR(COM, "Failed to exec cmd, fd=%d", cmd_fd);
+ goto l_end;
+ }
+
+ PMD_LOG_DEBUG(COM, "fd %d dma unmap iova=0x%"PRIX64"",
+ cmd_fd, iova);
+
+ memset(&cmd_params, 0, sizeof(struct sxe2_ioctl_iommu_dma_unmap));
+ cmd_params.iova = iova;
+
+ rte_ticketlock_lock(&cdev->config.lock);
+ ret = ioctl(cmd_fd, SXE2_COM_CMD_DMA_UNMAP, &cmd_params);
+ if (ret < 0) {
+ PMD_LOG_INFO(COM, "Failed to dma unmap, fd=%d, ret=%d, err:%s",
+ cmd_fd, ret, strerror(errno));
+ ret = SXE2_ERR_IO;
+ rte_ticketlock_unlock(&cdev->config.lock);
+ goto l_end;
+ }
+ rte_ticketlock_unlock(&cdev->config.lock);
+
+l_end:
+ return ret;
+}
+
diff --git a/drivers/common/sxe2/sxe2_ioctl_chnl_func.h b/drivers/common/sxe2/sxe2_ioctl_chnl_func.h
index 376c5e3ac7..e8f983e40e 100644
--- a/drivers/common/sxe2/sxe2_ioctl_chnl_func.h
+++ b/drivers/common/sxe2/sxe2_ioctl_chnl_func.h
@@ -47,6 +47,15 @@ __rte_internal
s32
sxe2_drv_dev_munmap(struct sxe2_common_device *cdev, void *virt, u64 len);
+__rte_internal
+s32
+sxe2_drv_dev_dma_map(struct sxe2_common_device *cdev, u64 vaddr,
+ u64 iova, u64 size);
+
+__rte_internal
+s32
+sxe2_drv_dev_dma_unmap(struct sxe2_common_device *cdev, u64 iova);
+
#ifdef __cplusplus
}
#endif
--
2.47.3
next prev parent reply other threads:[~2026-05-01 1:59 UTC|newest]
Thread overview: 143+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-30 7:01 [PATCH v1 0/9] common/sxe2: add common functions for sxe2 driver liujie5
2026-04-30 7:01 ` [PATCH v1 1/9] mailmap: add Jie Liu liujie5
2026-04-30 7:01 ` [PATCH v1 2/9] doc: add sxe2 guide and release notes liujie5
2026-04-30 7:01 ` [PATCH v1 3/9] drivers: add sxe2 basic structures liujie5
2026-04-30 7:01 ` [PATCH v1 4/9] common/sxe2: add base driver skeleton liujie5
2026-04-30 7:01 ` [PATCH v1 5/9] drivers: add base driver probe skeleton liujie5
2026-04-30 7:01 ` [PATCH v1 6/9] drivers: support PCI BAR mapping liujie5
2026-04-30 7:01 ` [PATCH v1 7/9] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-04-30 7:01 ` [PATCH v1 8/9] net/sxe2: support queue setup and control liujie5
2026-04-30 7:01 ` [PATCH v1 9/9] net/sxe2: add data path for Rx and Tx liujie5
2026-04-30 9:22 ` [PATCH v2 0/9] net/sxe2: added Linkdata sxe2 ethernet driver liujie5
2026-04-30 9:22 ` [PATCH v2 1/9] mailmap: add Jie Liu liujie5
2026-04-30 9:22 ` [PATCH v2 2/9] doc: add sxe2 guide and release notes liujie5
2026-04-30 9:22 ` [PATCH v2 3/9] drivers: add sxe2 basic structures liujie5
2026-04-30 9:22 ` [PATCH v2 4/9] common/sxe2: add base driver skeleton liujie5
2026-04-30 9:22 ` [PATCH v2 5/9] drivers: add base driver probe skeleton liujie5
2026-04-30 9:22 ` [PATCH v2 6/9] drivers: support PCI BAR mapping liujie5
2026-04-30 9:22 ` [PATCH v2 7/9] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-04-30 9:22 ` [PATCH v2 8/9] net/sxe2: support queue setup and control liujie5
2026-04-30 9:22 ` [PATCH v2 9/9] net/sxe2: add data path for Rx and Tx liujie5
2026-04-30 10:18 ` [PATCH v3 0/9] net/sxe2: added Linkdata sxe2 ethernet driver liujie5
2026-04-30 10:18 ` [PATCH v3 1/9] mailmap: add Jie Liu liujie5
2026-04-30 10:18 ` [PATCH v3 2/9] doc: add sxe2 guide and release notes liujie5
2026-04-30 10:18 ` [PATCH v3 3/9] drivers: add sxe2 basic structures liujie5
2026-04-30 10:18 ` [PATCH v3 4/9] common/sxe2: add base driver skeleton liujie5
2026-04-30 10:18 ` [PATCH v3 5/9] drivers: add base driver probe skeleton liujie5
2026-04-30 10:18 ` [PATCH v3 6/9] drivers: support PCI BAR mapping liujie5
2026-04-30 10:18 ` [PATCH v3 7/9] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-04-30 10:18 ` [PATCH v3 8/9] net/sxe2: support queue setup and control liujie5
2026-04-30 10:18 ` [PATCH v3 9/9] net/sxe2: add data path for Rx and Tx liujie5
2026-05-01 1:59 ` [PATCH v4 0/9] net/sxe2: added Linkdata sxe2 ethernet driver liujie5
2026-05-01 1:59 ` [PATCH v4 1/9] mailmap: add Jie Liu liujie5
2026-05-01 1:59 ` [PATCH v4 2/9] doc: add sxe2 guide and release notes liujie5
2026-05-01 1:59 ` [PATCH v4 3/9] drivers: add sxe2 basic structures liujie5
2026-05-01 3:05 ` Stephen Hemminger
2026-05-01 1:59 ` [PATCH v4 4/9] common/sxe2: add base driver skeleton liujie5
2026-05-01 1:59 ` [PATCH v4 5/9] drivers: add base driver probe skeleton liujie5
2026-05-01 1:59 ` [PATCH v4 6/9] drivers: support PCI BAR mapping liujie5
2026-05-01 1:59 ` liujie5 [this message]
2026-05-01 1:59 ` [PATCH v4 8/9] net/sxe2: support queue setup and control liujie5
2026-05-01 1:59 ` [PATCH v4 9/9] net/sxe2: add data path for Rx and Tx liujie5
2026-05-01 3:33 ` [PATCH v5 0/9] net/sxe2: added Linkdata sxe2 ethernet driver liujie5
2026-05-01 3:33 ` [PATCH v5 1/9] mailmap: add Jie Liu liujie5
2026-05-01 3:33 ` [PATCH v5 2/9] doc: add sxe2 guide and release notes liujie5
2026-05-01 3:33 ` [PATCH v5 3/9] drivers: add sxe2 basic structures liujie5
2026-05-01 14:46 ` Stephen Hemminger
2026-05-01 3:33 ` [PATCH v5 4/9] common/sxe2: add base driver skeleton liujie5
2026-05-01 3:33 ` [PATCH v5 5/9] drivers: add base driver probe skeleton liujie5
2026-05-01 3:33 ` [PATCH v5 6/9] drivers: support PCI BAR mapping liujie5
2026-05-01 3:33 ` [PATCH v5 7/9] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-01 3:33 ` [PATCH v5 8/9] net/sxe2: support queue setup and control liujie5
2026-05-01 3:33 ` [PATCH v5 9/9] net/sxe2: add data path for Rx and Tx liujie5
2026-05-06 2:12 ` [PATCH v6 00/10] Add sxe2 driver liujie5
2026-05-06 2:12 ` [PATCH v6 01/10] mailmap: add Jie Liu liujie5
2026-05-06 2:12 ` [PATCH v6 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-06 2:12 ` [PATCH v6 03/10] drivers: add sxe2 basic structures liujie5
2026-05-06 2:12 ` [PATCH v6 04/10] common/sxe2: add base driver skeleton liujie5
2026-05-06 2:12 ` [PATCH v6 05/10] drivers: add base driver probe skeleton liujie5
2026-05-06 2:12 ` [PATCH v6 06/10] drivers: support PCI BAR mapping liujie5
2026-05-06 2:12 ` [PATCH v6 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-06 2:12 ` [PATCH v6 08/10] net/sxe2: support queue setup and control liujie5
2026-05-06 2:12 ` [PATCH v6 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-06 2:12 ` [PATCH v6 10/10] net/sxe2: add vectorized " liujie5
2026-05-06 3:31 ` [PATCH v7 00/10] Add Linkdata sxe2 driver liujie5
2026-05-06 3:31 ` [PATCH v7 01/10] doc: add sxe2 guide and release notes liujie5
2026-05-06 3:31 ` [PATCH v7 02/10] drivers: add sxe2 basic structures liujie5
2026-05-06 3:31 ` [PATCH v7 03/10] common/sxe2: add base driver skeleton liujie5
2026-05-06 3:31 ` [PATCH v7 04/10] drivers: add base driver probe skeleton liujie5
2026-05-06 3:31 ` [PATCH v7 05/10] drivers: support PCI BAR mapping liujie5
2026-05-06 3:31 ` [PATCH v7 06/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-06 3:31 ` [PATCH v7 07/10] net/sxe2: support queue setup and control liujie5
2026-05-06 3:31 ` [PATCH v7 08/10] drivers: add data path for Rx and Tx liujie5
2026-05-06 3:31 ` [PATCH v7 09/10] net/sxe2: add vectorized " liujie5
2026-05-06 6:12 ` [PATCH v8 00/10] Add Linkdata sxe2 driver liujie5
2026-05-06 6:12 ` [PATCH v8 01/10] mailmap: add Jie Liu liujie5
2026-05-06 6:12 ` [PATCH v8 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-06 6:12 ` [PATCH v8 03/10] drivers: add sxe2 basic structures liujie5
2026-05-06 6:12 ` [PATCH v8 04/10] common/sxe2: add base driver skeleton liujie5
2026-05-06 6:12 ` [PATCH v8 05/10] drivers: add base driver probe skeleton liujie5
2026-05-06 6:12 ` [PATCH v8 06/10] drivers: support PCI BAR mapping liujie5
2026-05-06 6:12 ` [PATCH v8 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-06 6:12 ` [PATCH v8 08/10] net/sxe2: support queue setup and control liujie5
2026-05-06 6:12 ` [PATCH v8 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-06 6:12 ` [PATCH v8 10/10] net/sxe2: add vectorized " liujie5
2026-05-06 9:56 ` [PATCH v9 00/10] Add Linkdata sxe2 driver liujie5
2026-05-06 9:56 ` [PATCH v9 01/10] mailmap: add Jie Liu liujie5
2026-05-06 9:56 ` [PATCH v9 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-06 9:56 ` [PATCH v9 03/10] drivers: add sxe2 basic structures liujie5
2026-05-06 9:56 ` [PATCH v9 04/10] common/sxe2: add base driver skeleton liujie5
2026-05-06 9:56 ` [PATCH v9 05/10] drivers: add base driver probe skeleton liujie5
2026-05-06 9:56 ` [PATCH v9 06/10] drivers: support PCI BAR mapping liujie5
2026-05-06 9:56 ` [PATCH v9 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-06 9:57 ` [PATCH v9 08/10] net/sxe2: support queue setup and control liujie5
2026-05-06 9:57 ` [PATCH v9 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-06 9:57 ` [PATCH v9 10/10] net/sxe2: add vectorized " liujie5
2026-05-06 11:35 ` [PATCH v10 00/10] Add Linkdata sxe2 driver liujie5
2026-05-06 11:35 ` [PATCH v10 01/10] mailmap: add Jie Liu liujie5
2026-05-06 11:35 ` [PATCH v10 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-06 11:35 ` [PATCH v10 03/10] drivers: add sxe2 basic structures liujie5
2026-05-06 11:35 ` [PATCH v10 04/10] common/sxe2: add base driver skeleton liujie5
2026-05-06 11:35 ` [PATCH v10 05/10] drivers: add base driver probe skeleton liujie5
2026-05-06 11:35 ` [PATCH v10 06/10] drivers: support PCI BAR mapping liujie5
2026-05-06 11:35 ` [PATCH v10 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-06 11:35 ` [PATCH v10 08/10] net/sxe2: support queue setup and control liujie5
2026-05-06 11:35 ` [PATCH v10 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-06 11:35 ` [PATCH v10 10/10] net/sxe2: add vectorized " liujie5
2026-05-07 1:44 ` [PATCH v11 0/9] Add Linkdata sxe2 driver liujie5
2026-05-07 1:44 ` [PATCH v11 1/9] mailmap: add Jie Liu liujie5
2026-05-07 1:44 ` [PATCH v11 2/9] doc: add sxe2 guide and release notes liujie5
2026-05-07 1:44 ` [PATCH v11 3/9] drivers: add sxe2 basic structures liujie5
2026-05-07 1:44 ` [PATCH v11 4/9] common/sxe2: add base driver skeleton liujie5
2026-05-07 1:44 ` [PATCH v11 5/9] drivers: add base driver probe skeleton liujie5
2026-05-07 1:44 ` [PATCH v11 6/9] drivers: support PCI BAR mapping liujie5
2026-05-07 1:44 ` [PATCH v11 7/9] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-07 1:44 ` [PATCH v11 8/9] net/sxe2: support queue setup and control liujie5
2026-05-07 1:44 ` [PATCH v11 9/9] drivers: add data path for Rx and Tx liujie5
2026-05-07 2:40 ` [PATCH v11 0/9] Add Linkdata sxe2 driver Stephen Hemminger
2026-05-12 8:06 ` [PATCH v12 00/10] net/sxe2: fix logic errors and address feedback liujie5
2026-05-12 8:06 ` [PATCH v12 01/10] mailmap: add Jie Liu liujie5
2026-05-12 8:06 ` [PATCH v12 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-12 8:06 ` [PATCH v12 03/10] common/sxe2: add sxe2 basic structures liujie5
2026-05-12 8:06 ` [PATCH v12 04/10] drivers: add base driver skeleton liujie5
2026-05-12 8:06 ` [PATCH v12 05/10] drivers: add base driver probe skeleton liujie5
2026-05-12 8:06 ` [PATCH v12 06/10] drivers: support PCI BAR mapping liujie5
2026-05-12 8:06 ` [PATCH v12 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-12 8:06 ` [PATCH v12 08/10] net/sxe2: support queue setup and control liujie5
2026-05-12 8:06 ` [PATCH v12 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-12 8:06 ` [PATCH v12 10/10] net/sxe2: add vectorized " liujie5
2026-05-12 11:36 ` [PATCH v13 00/10] net/sxe2: fix logic errors and address feedback liujie5
2026-05-12 11:36 ` [PATCH v13 01/10] mailmap: add Jie Liu liujie5
2026-05-12 11:36 ` [PATCH v13 02/10] doc: add sxe2 guide and release notes liujie5
2026-05-12 11:36 ` [PATCH v13 03/10] common/sxe2: add sxe2 basic structures liujie5
2026-05-12 11:36 ` [PATCH v13 04/10] drivers: add base driver skeleton liujie5
2026-05-12 11:36 ` [PATCH v13 05/10] drivers: add base driver probe skeleton liujie5
2026-05-12 11:36 ` [PATCH v13 06/10] drivers: support PCI BAR mapping liujie5
2026-05-12 11:36 ` [PATCH v13 07/10] common/sxe2: add ioctl interface for DMA map and unmap liujie5
2026-05-12 11:36 ` [PATCH v13 08/10] net/sxe2: support queue setup and control liujie5
2026-05-12 11:36 ` [PATCH v13 09/10] drivers: add data path for Rx and Tx liujie5
2026-05-12 11:36 ` [PATCH v13 10/10] net/sxe2: add vectorized " liujie5
2026-05-13 14:45 ` [PATCH v13 00/10] net/sxe2: fix logic errors and address feedback Stephen Hemminger
2026-05-07 0:23 ` [PATCH v10 00/10] Add Linkdata sxe2 driver Stephen Hemminger
2026-04-30 16:21 ` [PATCH v3 0/9] net/sxe2: added Linkdata sxe2 ethernet driver Stephen Hemminger
2026-04-30 17:02 ` Stephen Hemminger
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=20260501015925.263486-8-liujie5@linkdatatechnology.com \
--to=liujie5@linkdatatechnology.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox