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