patch 'net/mana: check vendor ID when probing RDMA device' has been queued to stable release 24.11.3
Kevin Traynor
ktraynor at redhat.com
Fri Jul 18 21:29:53 CEST 2025
Hi,
FYI, your patch has been queued to stable release 24.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/23/25. 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/90b684d7a0fbe29a8aa5b91c39bb8729ed5d5c24
Thanks.
Kevin
---
>From 90b684d7a0fbe29a8aa5b91c39bb8729ed5d5c24 Mon Sep 17 00:00:00 2001
From: Long Li <longli at microsoft.com>
Date: Mon, 12 May 2025 14:52:02 -0700
Subject: [PATCH] net/mana: check vendor ID when probing RDMA device
[ upstream commit be4ed96378811e572860cac558bff54b5c361992 ]
The RDMA kernel driver may expose two MANA RDMA devices, for RC and RAW
QP types. The purpose is to support fast service mode at SOC. Depending
on kernel version, the probe may fail if DPDK picks up the wrong device.
Add check for vendor_part_id and RAW QP capability when probing the MANA
device. This check is compatible with all kernel versions.
Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment")
Signed-off-by: Long Li <longli at microsoft.com>
---
drivers/net/mana/mana.c | 14 ++++++++++++++
drivers/net/mana/mana.h | 4 ++++
2 files changed, 18 insertions(+)
diff --git a/drivers/net/mana/mana.c b/drivers/net/mana/mana.c
index 2934da29f7..c42a987a30 100644
--- a/drivers/net/mana/mana.c
+++ b/drivers/net/mana/mana.c
@@ -1491,4 +1491,18 @@ mana_pci_probe_mac(struct rte_pci_device *pci_dev,
}
+ if (dev_attr.orig_attr.vendor_part_id) {
+ if (dev_attr.orig_attr.vendor_part_id !=
+ GDMA_DEVICE_MANA) {
+ DRV_LOG(INFO, "Skip device vendor part id %x",
+ dev_attr.orig_attr.vendor_part_id);
+ continue;
+ }
+ if (!dev_attr.raw_packet_caps) {
+ DRV_LOG(INFO,
+ "Skip device without RAW support");
+ continue;
+ }
+ }
+
for (port = 1; port <= dev_attr.orig_attr.phys_port_cnt;
port++) {
diff --git a/drivers/net/mana/mana.h b/drivers/net/mana/mana.h
index 855d98911b..6309cae76b 100644
--- a/drivers/net/mana/mana.h
+++ b/drivers/net/mana/mana.h
@@ -13,4 +13,8 @@ struct mana_shared_data {
};
+/* vendor_part_id returned from ibv_query_device */
+#define GDMA_DEVICE_MANA 2
+#define GDMA_DEVICE_MANA_IB 3
+
#define MANA_MAX_MTU 9000
#define MIN_RX_BUF_SIZE 1024
--
2.50.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-07-18 20:29:13.131148102 +0100
+++ 0059-net-mana-check-vendor-ID-when-probing-RDMA-device.patch 2025-07-18 20:29:10.955907408 +0100
@@ -1 +1 @@
-From be4ed96378811e572860cac558bff54b5c361992 Mon Sep 17 00:00:00 2001
+From 90b684d7a0fbe29a8aa5b91c39bb8729ed5d5c24 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit be4ed96378811e572860cac558bff54b5c361992 ]
+
@@ -14 +15,0 @@
-Cc: stable at dpdk.org
More information about the stable
mailing list