• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef RDMA_USER_CM_H
20 #define RDMA_USER_CM_H
21 #include <linux/types.h>
22 #include <linux/socket.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/in6.h>
25 #include <rdma/ib_user_verbs.h>
26 #include <rdma/ib_user_sa.h>
27 #define RDMA_USER_CM_ABI_VERSION 4
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define RDMA_MAX_PRIVATE_DATA 256
30 enum {
31   RDMA_USER_CM_CMD_CREATE_ID,
32   RDMA_USER_CM_CMD_DESTROY_ID,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   RDMA_USER_CM_CMD_BIND_IP,
35   RDMA_USER_CM_CMD_RESOLVE_IP,
36   RDMA_USER_CM_CMD_RESOLVE_ROUTE,
37   RDMA_USER_CM_CMD_QUERY_ROUTE,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   RDMA_USER_CM_CMD_CONNECT,
40   RDMA_USER_CM_CMD_LISTEN,
41   RDMA_USER_CM_CMD_ACCEPT,
42   RDMA_USER_CM_CMD_REJECT,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   RDMA_USER_CM_CMD_DISCONNECT,
45   RDMA_USER_CM_CMD_INIT_QP_ATTR,
46   RDMA_USER_CM_CMD_GET_EVENT,
47   RDMA_USER_CM_CMD_GET_OPTION,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   RDMA_USER_CM_CMD_SET_OPTION,
50   RDMA_USER_CM_CMD_NOTIFY,
51   RDMA_USER_CM_CMD_JOIN_IP_MCAST,
52   RDMA_USER_CM_CMD_LEAVE_MCAST,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   RDMA_USER_CM_CMD_MIGRATE_ID,
55   RDMA_USER_CM_CMD_QUERY,
56   RDMA_USER_CM_CMD_BIND,
57   RDMA_USER_CM_CMD_RESOLVE_ADDR,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   RDMA_USER_CM_CMD_JOIN_MCAST
60 };
61 struct rdma_ucm_cmd_hdr {
62   __u32 cmd;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   __u16 in;
65   __u16 out;
66 };
67 struct rdma_ucm_create_id {
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   __u64 uid;
70   __u64 response;
71   __u16 ps;
72   __u8 qp_type;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   __u8 reserved[5];
75 };
76 struct rdma_ucm_create_id_resp {
77   __u32 id;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 struct rdma_ucm_destroy_id {
81   __u64 response;
82   __u32 id;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   __u32 reserved;
85 };
86 struct rdma_ucm_destroy_id_resp {
87   __u32 events_reported;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 };
90 struct rdma_ucm_bind_ip {
91   __u64 response;
92   struct sockaddr_in6 addr;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   __u32 id;
95 };
96 struct rdma_ucm_bind {
97   __u32 id;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   __u16 addr_size;
100   __u16 reserved;
101   struct __kernel_sockaddr_storage addr;
102 };
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 struct rdma_ucm_resolve_ip {
105   struct sockaddr_in6 src_addr;
106   struct sockaddr_in6 dst_addr;
107   __u32 id;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   __u32 timeout_ms;
110 };
111 struct rdma_ucm_resolve_addr {
112   __u32 id;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   __u32 timeout_ms;
115   __u16 src_size;
116   __u16 dst_size;
117   __u32 reserved;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   struct __kernel_sockaddr_storage src_addr;
120   struct __kernel_sockaddr_storage dst_addr;
121 };
122 struct rdma_ucm_resolve_route {
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   __u32 id;
125   __u32 timeout_ms;
126 };
127 enum {
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   RDMA_USER_CM_QUERY_ADDR,
130   RDMA_USER_CM_QUERY_PATH,
131   RDMA_USER_CM_QUERY_GID
132 };
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 struct rdma_ucm_query {
135   __u64 response;
136   __u32 id;
137   __u32 option;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 struct rdma_ucm_query_route_resp {
141   __u64 node_guid;
142   struct ib_user_path_rec ib_route[2];
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   struct sockaddr_in6 src_addr;
145   struct sockaddr_in6 dst_addr;
146   __u32 num_paths;
147   __u8 port_num;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   __u8 reserved[3];
150 };
151 struct rdma_ucm_query_addr_resp {
152   __u64 node_guid;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   __u8 port_num;
155   __u8 reserved;
156   __u16 pkey;
157   __u16 src_size;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   __u16 dst_size;
160   struct __kernel_sockaddr_storage src_addr;
161   struct __kernel_sockaddr_storage dst_addr;
162 };
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 struct rdma_ucm_query_path_resp {
165   __u32 num_paths;
166   __u32 reserved;
167   struct ib_path_rec_data path_data[0];
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 };
170 struct rdma_ucm_conn_param {
171   __u32 qp_num;
172   __u32 qkey;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
175   __u8 private_data_len;
176   __u8 srq;
177   __u8 responder_resources;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   __u8 initiator_depth;
180   __u8 flow_control;
181   __u8 retry_count;
182   __u8 rnr_retry_count;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   __u8 valid;
185 };
186 struct rdma_ucm_ud_param {
187   __u32 qp_num;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   __u32 qkey;
190   struct ib_uverbs_ah_attr ah_attr;
191   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
192   __u8 private_data_len;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   __u8 reserved[7];
195 };
196 struct rdma_ucm_connect {
197   struct rdma_ucm_conn_param conn_param;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   __u32 id;
200   __u32 reserved;
201 };
202 struct rdma_ucm_listen {
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   __u32 id;
205   __u32 backlog;
206 };
207 struct rdma_ucm_accept {
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   __u64 uid;
210   struct rdma_ucm_conn_param conn_param;
211   __u32 id;
212   __u32 reserved;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 };
215 struct rdma_ucm_reject {
216   __u32 id;
217   __u8 private_data_len;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   __u8 reserved[3];
220   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
221 };
222 struct rdma_ucm_disconnect {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   __u32 id;
225 };
226 struct rdma_ucm_init_qp_attr {
227   __u64 response;
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229   __u32 id;
230   __u32 qp_state;
231 };
232 struct rdma_ucm_notify {
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   __u32 id;
235   __u32 event;
236 };
237 struct rdma_ucm_join_ip_mcast {
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   __u64 response;
240   __u64 uid;
241   struct sockaddr_in6 addr;
242   __u32 id;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 };
245 enum {
246   RDMA_MC_JOIN_FLAG_FULLMEMBER,
247   RDMA_MC_JOIN_FLAG_SENDONLY_FULLMEMBER,
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   RDMA_MC_JOIN_FLAG_RESERVED,
250 };
251 struct rdma_ucm_join_mcast {
252   __u64 response;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254   __u64 uid;
255   __u32 id;
256   __u16 addr_size;
257   __u16 join_flags;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259   struct __kernel_sockaddr_storage addr;
260 };
261 struct rdma_ucm_get_event {
262   __u64 response;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 };
265 struct rdma_ucm_event_resp {
266   __u64 uid;
267   __u32 id;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   __u32 event;
270   __u32 status;
271   union {
272     struct rdma_ucm_conn_param conn;
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274     struct rdma_ucm_ud_param ud;
275   } param;
276 };
277 enum {
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279   RDMA_OPTION_ID = 0,
280   RDMA_OPTION_IB = 1
281 };
282 enum {
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284   RDMA_OPTION_ID_TOS = 0,
285   RDMA_OPTION_ID_REUSEADDR = 1,
286   RDMA_OPTION_ID_AFONLY = 2,
287   RDMA_OPTION_IB_PATH = 1
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 };
290 struct rdma_ucm_set_option {
291   __u64 optval;
292   __u32 id;
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   __u32 level;
295   __u32 optname;
296   __u32 optlen;
297 };
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 struct rdma_ucm_migrate_id {
300   __u64 response;
301   __u32 id;
302   __u32 fd;
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 };
305 struct rdma_ucm_migrate_resp {
306   __u32 events_reported;
307 };
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 #endif
310