ib_user_verbs.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
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 IB_USER_VERBS_H
20#define IB_USER_VERBS_H
21#include <linux/types.h>
22#define IB_USER_VERBS_ABI_VERSION 6
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24enum {
25 IB_USER_VERBS_CMD_GET_CONTEXT,
26 IB_USER_VERBS_CMD_QUERY_DEVICE,
27 IB_USER_VERBS_CMD_QUERY_PORT,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 IB_USER_VERBS_CMD_ALLOC_PD,
30 IB_USER_VERBS_CMD_DEALLOC_PD,
31 IB_USER_VERBS_CMD_CREATE_AH,
32 IB_USER_VERBS_CMD_MODIFY_AH,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 IB_USER_VERBS_CMD_QUERY_AH,
35 IB_USER_VERBS_CMD_DESTROY_AH,
36 IB_USER_VERBS_CMD_REG_MR,
37 IB_USER_VERBS_CMD_REG_SMR,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 IB_USER_VERBS_CMD_REREG_MR,
40 IB_USER_VERBS_CMD_QUERY_MR,
41 IB_USER_VERBS_CMD_DEREG_MR,
42 IB_USER_VERBS_CMD_ALLOC_MW,
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 IB_USER_VERBS_CMD_BIND_MW,
45 IB_USER_VERBS_CMD_DEALLOC_MW,
46 IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL,
47 IB_USER_VERBS_CMD_CREATE_CQ,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 IB_USER_VERBS_CMD_RESIZE_CQ,
50 IB_USER_VERBS_CMD_DESTROY_CQ,
51 IB_USER_VERBS_CMD_POLL_CQ,
52 IB_USER_VERBS_CMD_PEEK_CQ,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 IB_USER_VERBS_CMD_REQ_NOTIFY_CQ,
55 IB_USER_VERBS_CMD_CREATE_QP,
56 IB_USER_VERBS_CMD_QUERY_QP,
57 IB_USER_VERBS_CMD_MODIFY_QP,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 IB_USER_VERBS_CMD_DESTROY_QP,
60 IB_USER_VERBS_CMD_POST_SEND,
61 IB_USER_VERBS_CMD_POST_RECV,
62 IB_USER_VERBS_CMD_ATTACH_MCAST,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 IB_USER_VERBS_CMD_DETACH_MCAST,
65 IB_USER_VERBS_CMD_CREATE_SRQ,
66 IB_USER_VERBS_CMD_MODIFY_SRQ,
67 IB_USER_VERBS_CMD_QUERY_SRQ,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 IB_USER_VERBS_CMD_DESTROY_SRQ,
70 IB_USER_VERBS_CMD_POST_SRQ_RECV,
71 IB_USER_VERBS_CMD_OPEN_XRCD,
72 IB_USER_VERBS_CMD_CLOSE_XRCD,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 IB_USER_VERBS_CMD_CREATE_XSRQ,
75 IB_USER_VERBS_CMD_OPEN_QP
76};
77struct ib_uverbs_async_event_desc {
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 __u64 element;
80 __u32 event_type;
81 __u32 reserved;
82};
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84struct ib_uverbs_comp_event_desc {
85 __u64 cq_handle;
86};
87struct ib_uverbs_cmd_hdr {
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 __u32 command;
90 __u16 in_words;
91 __u16 out_words;
92};
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94struct ib_uverbs_get_context {
95 __u64 response;
96 __u64 driver_data[0];
97};
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99struct ib_uverbs_get_context_resp {
100 __u32 async_fd;
101 __u32 num_comp_vectors;
102};
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104struct ib_uverbs_query_device {
105 __u64 response;
106 __u64 driver_data[0];
107};
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109struct ib_uverbs_query_device_resp {
110 __u64 fw_ver;
111 __be64 node_guid;
112 __be64 sys_image_guid;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 __u64 max_mr_size;
115 __u64 page_size_cap;
116 __u32 vendor_id;
117 __u32 vendor_part_id;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 __u32 hw_ver;
120 __u32 max_qp;
121 __u32 max_qp_wr;
122 __u32 device_cap_flags;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 __u32 max_sge;
125 __u32 max_sge_rd;
126 __u32 max_cq;
127 __u32 max_cqe;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 __u32 max_mr;
130 __u32 max_pd;
131 __u32 max_qp_rd_atom;
132 __u32 max_ee_rd_atom;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 __u32 max_res_rd_atom;
135 __u32 max_qp_init_rd_atom;
136 __u32 max_ee_init_rd_atom;
137 __u32 atomic_cap;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 __u32 max_ee;
140 __u32 max_rdd;
141 __u32 max_mw;
142 __u32 max_raw_ipv6_qp;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 __u32 max_raw_ethy_qp;
145 __u32 max_mcast_grp;
146 __u32 max_mcast_qp_attach;
147 __u32 max_total_mcast_qp_attach;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 __u32 max_ah;
150 __u32 max_fmr;
151 __u32 max_map_per_fmr;
152 __u32 max_srq;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 __u32 max_srq_wr;
155 __u32 max_srq_sge;
156 __u16 max_pkeys;
157 __u8 local_ca_ack_delay;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 __u8 phys_port_cnt;
160 __u8 reserved[4];
161};
162struct ib_uverbs_query_port {
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 __u64 response;
165 __u8 port_num;
166 __u8 reserved[7];
167 __u64 driver_data[0];
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169};
170struct ib_uverbs_query_port_resp {
171 __u32 port_cap_flags;
172 __u32 max_msg_sz;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 __u32 bad_pkey_cntr;
175 __u32 qkey_viol_cntr;
176 __u32 gid_tbl_len;
177 __u16 pkey_tbl_len;
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 __u16 lid;
180 __u16 sm_lid;
181 __u8 state;
182 __u8 max_mtu;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 __u8 active_mtu;
185 __u8 lmc;
186 __u8 max_vl_num;
187 __u8 sm_sl;
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 __u8 subnet_timeout;
190 __u8 init_type_reply;
191 __u8 active_width;
192 __u8 active_speed;
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 __u8 phys_state;
195 __u8 link_layer;
196 __u8 reserved[2];
197};
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199struct ib_uverbs_alloc_pd {
200 __u64 response;
201 __u64 driver_data[0];
202};
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204struct ib_uverbs_alloc_pd_resp {
205 __u32 pd_handle;
206};
207struct ib_uverbs_dealloc_pd {
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 __u32 pd_handle;
210};
211struct ib_uverbs_open_xrcd {
212 __u64 response;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 __u32 fd;
215 __u32 oflags;
216 __u64 driver_data[0];
217};
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219struct ib_uverbs_open_xrcd_resp {
220 __u32 xrcd_handle;
221};
222struct ib_uverbs_close_xrcd {
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 __u32 xrcd_handle;
225};
226struct ib_uverbs_reg_mr {
227 __u64 response;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 __u64 start;
230 __u64 length;
231 __u64 hca_va;
232 __u32 pd_handle;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 __u32 access_flags;
235 __u64 driver_data[0];
236};
237struct ib_uverbs_reg_mr_resp {
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 __u32 mr_handle;
240 __u32 lkey;
241 __u32 rkey;
242};
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244struct ib_uverbs_dereg_mr {
245 __u32 mr_handle;
246};
247struct ib_uverbs_alloc_mw {
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 __u64 response;
250 __u32 pd_handle;
251 __u8 mw_type;
252 __u8 reserved[3];
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254};
255struct ib_uverbs_alloc_mw_resp {
256 __u32 mw_handle;
257 __u32 rkey;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259};
260struct ib_uverbs_dealloc_mw {
261 __u32 mw_handle;
262};
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264struct ib_uverbs_create_comp_channel {
265 __u64 response;
266};
267struct ib_uverbs_create_comp_channel_resp {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 __u32 fd;
270};
271struct ib_uverbs_create_cq {
272 __u64 response;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 __u64 user_handle;
275 __u32 cqe;
276 __u32 comp_vector;
277 __s32 comp_channel;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 __u32 reserved;
280 __u64 driver_data[0];
281};
282struct ib_uverbs_create_cq_resp {
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 __u32 cq_handle;
285 __u32 cqe;
286};
287struct ib_uverbs_resize_cq {
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 __u64 response;
290 __u32 cq_handle;
291 __u32 cqe;
292 __u64 driver_data[0];
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294};
295struct ib_uverbs_resize_cq_resp {
296 __u32 cqe;
297 __u32 reserved;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 __u64 driver_data[0];
300};
301struct ib_uverbs_poll_cq {
302 __u64 response;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 __u32 cq_handle;
305 __u32 ne;
306};
307struct ib_uverbs_wc {
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 __u64 wr_id;
310 __u32 status;
311 __u32 opcode;
312 __u32 vendor_err;
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 __u32 byte_len;
315 union {
316 __u32 imm_data;
317 __u32 invalidate_rkey;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 } ex;
320 __u32 qp_num;
321 __u32 src_qp;
322 __u32 wc_flags;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 __u16 pkey_index;
325 __u16 slid;
326 __u8 sl;
327 __u8 dlid_path_bits;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 __u8 port_num;
330 __u8 reserved;
331};
332struct ib_uverbs_poll_cq_resp {
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 __u32 count;
335 __u32 reserved;
336 struct ib_uverbs_wc wc[0];
337};
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339struct ib_uverbs_req_notify_cq {
340 __u32 cq_handle;
341 __u32 solicited_only;
342};
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344struct ib_uverbs_destroy_cq {
345 __u64 response;
346 __u32 cq_handle;
347 __u32 reserved;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349};
350struct ib_uverbs_destroy_cq_resp {
351 __u32 comp_events_reported;
352 __u32 async_events_reported;
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354};
355struct ib_uverbs_global_route {
356 __u8 dgid[16];
357 __u32 flow_label;
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 __u8 sgid_index;
360 __u8 hop_limit;
361 __u8 traffic_class;
362 __u8 reserved;
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364};
365struct ib_uverbs_ah_attr {
366 struct ib_uverbs_global_route grh;
367 __u16 dlid;
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 __u8 sl;
370 __u8 src_path_bits;
371 __u8 static_rate;
372 __u8 is_global;
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 __u8 port_num;
375 __u8 reserved;
376};
377struct ib_uverbs_qp_attr {
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 __u32 qp_attr_mask;
380 __u32 qp_state;
381 __u32 cur_qp_state;
382 __u32 path_mtu;
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 __u32 path_mig_state;
385 __u32 qkey;
386 __u32 rq_psn;
387 __u32 sq_psn;
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 __u32 dest_qp_num;
390 __u32 qp_access_flags;
391 struct ib_uverbs_ah_attr ah_attr;
392 struct ib_uverbs_ah_attr alt_ah_attr;
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 __u32 max_send_wr;
395 __u32 max_recv_wr;
396 __u32 max_send_sge;
397 __u32 max_recv_sge;
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 __u32 max_inline_data;
400 __u16 pkey_index;
401 __u16 alt_pkey_index;
402 __u8 en_sqd_async_notify;
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 __u8 sq_draining;
405 __u8 max_rd_atomic;
406 __u8 max_dest_rd_atomic;
407 __u8 min_rnr_timer;
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 __u8 port_num;
410 __u8 timeout;
411 __u8 retry_cnt;
412 __u8 rnr_retry;
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 __u8 alt_port_num;
415 __u8 alt_timeout;
416 __u8 reserved[5];
417};
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419struct ib_uverbs_create_qp {
420 __u64 response;
421 __u64 user_handle;
422 __u32 pd_handle;
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 __u32 send_cq_handle;
425 __u32 recv_cq_handle;
426 __u32 srq_handle;
427 __u32 max_send_wr;
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 __u32 max_recv_wr;
430 __u32 max_send_sge;
431 __u32 max_recv_sge;
432 __u32 max_inline_data;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 __u8 sq_sig_all;
435 __u8 qp_type;
436 __u8 is_srq;
437 __u8 reserved;
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 __u64 driver_data[0];
440};
441struct ib_uverbs_open_qp {
442 __u64 response;
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 __u64 user_handle;
445 __u32 pd_handle;
446 __u32 qpn;
447 __u8 qp_type;
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 __u8 reserved[7];
450 __u64 driver_data[0];
451};
452struct ib_uverbs_create_qp_resp {
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 __u32 qp_handle;
455 __u32 qpn;
456 __u32 max_send_wr;
457 __u32 max_recv_wr;
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 __u32 max_send_sge;
460 __u32 max_recv_sge;
461 __u32 max_inline_data;
462 __u32 reserved;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464};
465struct ib_uverbs_qp_dest {
466 __u8 dgid[16];
467 __u32 flow_label;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 __u16 dlid;
470 __u16 reserved;
471 __u8 sgid_index;
472 __u8 hop_limit;
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 __u8 traffic_class;
475 __u8 sl;
476 __u8 src_path_bits;
477 __u8 static_rate;
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 __u8 is_global;
480 __u8 port_num;
481};
482struct ib_uverbs_query_qp {
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 __u64 response;
485 __u32 qp_handle;
486 __u32 attr_mask;
487 __u64 driver_data[0];
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489};
490struct ib_uverbs_query_qp_resp {
491 struct ib_uverbs_qp_dest dest;
492 struct ib_uverbs_qp_dest alt_dest;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 __u32 max_send_wr;
495 __u32 max_recv_wr;
496 __u32 max_send_sge;
497 __u32 max_recv_sge;
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 __u32 max_inline_data;
500 __u32 qkey;
501 __u32 rq_psn;
502 __u32 sq_psn;
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 __u32 dest_qp_num;
505 __u32 qp_access_flags;
506 __u16 pkey_index;
507 __u16 alt_pkey_index;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 __u8 qp_state;
510 __u8 cur_qp_state;
511 __u8 path_mtu;
512 __u8 path_mig_state;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 __u8 sq_draining;
515 __u8 max_rd_atomic;
516 __u8 max_dest_rd_atomic;
517 __u8 min_rnr_timer;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 __u8 port_num;
520 __u8 timeout;
521 __u8 retry_cnt;
522 __u8 rnr_retry;
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 __u8 alt_port_num;
525 __u8 alt_timeout;
526 __u8 sq_sig_all;
527 __u8 reserved[5];
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 __u64 driver_data[0];
530};
531struct ib_uverbs_modify_qp {
532 struct ib_uverbs_qp_dest dest;
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 struct ib_uverbs_qp_dest alt_dest;
535 __u32 qp_handle;
536 __u32 attr_mask;
537 __u32 qkey;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 __u32 rq_psn;
540 __u32 sq_psn;
541 __u32 dest_qp_num;
542 __u32 qp_access_flags;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 __u16 pkey_index;
545 __u16 alt_pkey_index;
546 __u8 qp_state;
547 __u8 cur_qp_state;
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549 __u8 path_mtu;
550 __u8 path_mig_state;
551 __u8 en_sqd_async_notify;
552 __u8 max_rd_atomic;
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 __u8 max_dest_rd_atomic;
555 __u8 min_rnr_timer;
556 __u8 port_num;
557 __u8 timeout;
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 __u8 retry_cnt;
560 __u8 rnr_retry;
561 __u8 alt_port_num;
562 __u8 alt_timeout;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 __u8 reserved[2];
565 __u64 driver_data[0];
566};
567struct ib_uverbs_modify_qp_resp {
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569};
570struct ib_uverbs_destroy_qp {
571 __u64 response;
572 __u32 qp_handle;
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574 __u32 reserved;
575};
576struct ib_uverbs_destroy_qp_resp {
577 __u32 events_reported;
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579};
580struct ib_uverbs_sge {
581 __u64 addr;
582 __u32 length;
583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584 __u32 lkey;
585};
586struct ib_uverbs_send_wr {
587 __u64 wr_id;
588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589 __u32 num_sge;
590 __u32 opcode;
591 __u32 send_flags;
592 union {
593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594 __u32 imm_data;
595 __u32 invalidate_rkey;
596 } ex;
597 union {
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599 struct {
600 __u64 remote_addr;
601 __u32 rkey;
602 __u32 reserved;
603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604 } rdma;
605 struct {
606 __u64 remote_addr;
607 __u64 compare_add;
608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609 __u64 swap;
610 __u32 rkey;
611 __u32 reserved;
612 } atomic;
613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614 struct {
615 __u32 ah;
616 __u32 remote_qpn;
617 __u32 remote_qkey;
618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619 __u32 reserved;
620 } ud;
621 } wr;
622};
623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624struct ib_uverbs_post_send {
625 __u64 response;
626 __u32 qp_handle;
627 __u32 wr_count;
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629 __u32 sge_count;
630 __u32 wqe_size;
631 struct ib_uverbs_send_wr send_wr[0];
632};
633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634struct ib_uverbs_post_send_resp {
635 __u32 bad_wr;
636};
637struct ib_uverbs_recv_wr {
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639 __u64 wr_id;
640 __u32 num_sge;
641 __u32 reserved;
642};
643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644struct ib_uverbs_post_recv {
645 __u64 response;
646 __u32 qp_handle;
647 __u32 wr_count;
648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649 __u32 sge_count;
650 __u32 wqe_size;
651 struct ib_uverbs_recv_wr recv_wr[0];
652};
653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654struct ib_uverbs_post_recv_resp {
655 __u32 bad_wr;
656};
657struct ib_uverbs_post_srq_recv {
658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659 __u64 response;
660 __u32 srq_handle;
661 __u32 wr_count;
662 __u32 sge_count;
663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664 __u32 wqe_size;
665 struct ib_uverbs_recv_wr recv[0];
666};
667struct ib_uverbs_post_srq_recv_resp {
668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669 __u32 bad_wr;
670};
671struct ib_uverbs_create_ah {
672 __u64 response;
673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674 __u64 user_handle;
675 __u32 pd_handle;
676 __u32 reserved;
677 struct ib_uverbs_ah_attr attr;
678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679};
680struct ib_uverbs_create_ah_resp {
681 __u32 ah_handle;
682};
683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684struct ib_uverbs_destroy_ah {
685 __u32 ah_handle;
686};
687struct ib_uverbs_attach_mcast {
688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689 __u8 gid[16];
690 __u32 qp_handle;
691 __u16 mlid;
692 __u16 reserved;
693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694 __u64 driver_data[0];
695};
696struct ib_uverbs_detach_mcast {
697 __u8 gid[16];
698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699 __u32 qp_handle;
700 __u16 mlid;
701 __u16 reserved;
702 __u64 driver_data[0];
703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704};
705struct ib_uverbs_create_srq {
706 __u64 response;
707 __u64 user_handle;
708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709 __u32 pd_handle;
710 __u32 max_wr;
711 __u32 max_sge;
712 __u32 srq_limit;
713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714 __u64 driver_data[0];
715};
716struct ib_uverbs_create_xsrq {
717 __u64 response;
718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719 __u64 user_handle;
720 __u32 srq_type;
721 __u32 pd_handle;
722 __u32 max_wr;
723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724 __u32 max_sge;
725 __u32 srq_limit;
726 __u32 reserved;
727 __u32 xrcd_handle;
728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729 __u32 cq_handle;
730 __u64 driver_data[0];
731};
732struct ib_uverbs_create_srq_resp {
733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734 __u32 srq_handle;
735 __u32 max_wr;
736 __u32 max_sge;
737 __u32 srqn;
738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739};
740struct ib_uverbs_modify_srq {
741 __u32 srq_handle;
742 __u32 attr_mask;
743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744 __u32 max_wr;
745 __u32 srq_limit;
746 __u64 driver_data[0];
747};
748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749struct ib_uverbs_query_srq {
750 __u64 response;
751 __u32 srq_handle;
752 __u32 reserved;
753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754 __u64 driver_data[0];
755};
756struct ib_uverbs_query_srq_resp {
757 __u32 max_wr;
758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759 __u32 max_sge;
760 __u32 srq_limit;
761 __u32 reserved;
762};
763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764struct ib_uverbs_destroy_srq {
765 __u64 response;
766 __u32 srq_handle;
767 __u32 reserved;
768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769};
770struct ib_uverbs_destroy_srq_resp {
771 __u32 events_reported;
772};
773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774#endif
775