[LTP] [PATCH 1/2] lapi: Add fallback rdma_user_cm.h definitions
Andrea Cervesato
andrea.cervesato@suse.de
Wed Mar 25 16:25:34 CET 2026
From: Andrea Cervesato <andrea.cervesato@suse.com>
Add LAPI header with fallback definitions for RDMA user CM structures
and command enums, used when <rdma/rdma_user_cm.h> is not available.
Add the corresponding configure check for rdma/rdma_user_cm.h.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
configure.ac | 1 +
include/lapi/rdma_user_cm.h | 72 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 73 insertions(+)
diff --git a/configure.ac b/configure.ac
index 9d6ec7f13ad421aa35840ebc65745c962b11e1db..8f67018dc692685d88acfb51232446659c1eeb3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,6 +85,7 @@ AC_CHECK_HEADERS_ONCE([ \
linux/userfaultfd.h \
netinet/sctp.h \
pthread.h \
+ rdma/rdma_user_cm.h \
sys/epoll.h \
sys/fanotify.h \
sys/inotify.h \
diff --git a/include/lapi/rdma_user_cm.h b/include/lapi/rdma_user_cm.h
new file mode 100644
index 0000000000000000000000000000000000000000..801dd83ec0df215901a86855bc51ad2b416d9855
--- /dev/null
+++ b/include/lapi/rdma_user_cm.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (c) 2026 Linux Test Project
+ */
+
+#ifndef LAPI_RDMA_USER_CM_H__
+#define LAPI_RDMA_USER_CM_H__
+
+#include "config.h"
+
+#ifdef HAVE_RDMA_RDMA_USER_CM_H
+# include <rdma/rdma_user_cm.h>
+#endif
+
+#include <netinet/in.h>
+#include <stdint.h>
+
+#ifndef RDMA_USER_CM_ABI_VERSION
+
+enum {
+ RDMA_USER_CM_CMD_CREATE_ID,
+ RDMA_USER_CM_CMD_DESTROY_ID,
+ RDMA_USER_CM_CMD_BIND_IP,
+ RDMA_USER_CM_CMD_RESOLVE_IP,
+ RDMA_USER_CM_CMD_RESOLVE_ROUTE,
+ RDMA_USER_CM_CMD_QUERY_ROUTE,
+ RDMA_USER_CM_CMD_CONNECT,
+ RDMA_USER_CM_CMD_LISTEN,
+};
+
+enum rdma_ucm_port_space {
+ RDMA_PS_IPOIB = 0x0002,
+};
+
+struct rdma_ucm_cmd_hdr {
+ uint32_t cmd;
+ uint16_t in;
+ uint16_t out;
+};
+
+struct rdma_ucm_create_id {
+ uint64_t uid;
+ uint64_t response;
+ uint16_t ps;
+ uint8_t qp_type;
+ uint8_t reserved[5];
+};
+
+struct rdma_ucm_create_id_resp {
+ uint32_t id;
+};
+
+struct rdma_ucm_destroy_id {
+ uint64_t response;
+ uint32_t id;
+ uint32_t reserved;
+};
+
+struct rdma_ucm_bind_ip {
+ uint64_t response;
+ struct sockaddr_in6 addr;
+ uint32_t id;
+};
+
+struct rdma_ucm_listen {
+ uint32_t id;
+ uint32_t backlog;
+};
+
+#endif /* RDMA_USER_CM_ABI_VERSION */
+
+#endif /* LAPI_RDMA_USER_CM_H__ */
--
2.51.0
More information about the ltp
mailing list