ib_user_verbs.h revision 38062f954c637861348dd8078cefb73554e6f12c
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_dereg_mr {
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 __u32 mr_handle;
265};
266struct ib_uverbs_alloc_mw {
267 __u64 response;
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 __u32 pd_handle;
270 __u8 mw_type;
271 __u8 reserved[3];
272};
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274struct ib_uverbs_alloc_mw_resp {
275 __u32 mw_handle;
276 __u32 rkey;
277};
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279struct ib_uverbs_dealloc_mw {
280 __u32 mw_handle;
281};
282struct ib_uverbs_create_comp_channel {
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 __u64 response;
285};
286struct ib_uverbs_create_comp_channel_resp {
287 __u32 fd;
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289};
290struct ib_uverbs_create_cq {
291 __u64 response;
292 __u64 user_handle;
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 __u32 cqe;
295 __u32 comp_vector;
296 __s32 comp_channel;
297 __u32 reserved;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 __u64 driver_data[0];
300};
301struct ib_uverbs_create_cq_resp {
302 __u32 cq_handle;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 __u32 cqe;
305};
306struct ib_uverbs_resize_cq {
307 __u64 response;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 __u32 cq_handle;
310 __u32 cqe;
311 __u64 driver_data[0];
312};
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314struct ib_uverbs_resize_cq_resp {
315 __u32 cqe;
316 __u32 reserved;
317 __u64 driver_data[0];
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319};
320struct ib_uverbs_poll_cq {
321 __u64 response;
322 __u32 cq_handle;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 __u32 ne;
325};
326struct ib_uverbs_wc {
327 __u64 wr_id;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 __u32 status;
330 __u32 opcode;
331 __u32 vendor_err;
332 __u32 byte_len;
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 union {
335 __u32 imm_data;
336 __u32 invalidate_rkey;
337 } ex;
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 __u32 qp_num;
340 __u32 src_qp;
341 __u32 wc_flags;
342 __u16 pkey_index;
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344 __u16 slid;
345 __u8 sl;
346 __u8 dlid_path_bits;
347 __u8 port_num;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 __u8 reserved;
350};
351struct ib_uverbs_poll_cq_resp {
352 __u32 count;
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 __u32 reserved;
355 struct ib_uverbs_wc wc[0];
356};
357struct ib_uverbs_req_notify_cq {
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 __u32 cq_handle;
360 __u32 solicited_only;
361};
362struct ib_uverbs_destroy_cq {
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 __u64 response;
365 __u32 cq_handle;
366 __u32 reserved;
367};
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369struct ib_uverbs_destroy_cq_resp {
370 __u32 comp_events_reported;
371 __u32 async_events_reported;
372};
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374struct ib_uverbs_global_route {
375 __u8 dgid[16];
376 __u32 flow_label;
377 __u8 sgid_index;
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 __u8 hop_limit;
380 __u8 traffic_class;
381 __u8 reserved;
382};
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384struct ib_uverbs_ah_attr {
385 struct ib_uverbs_global_route grh;
386 __u16 dlid;
387 __u8 sl;
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 __u8 src_path_bits;
390 __u8 static_rate;
391 __u8 is_global;
392 __u8 port_num;
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 __u8 reserved;
395};
396struct ib_uverbs_qp_attr {
397 __u32 qp_attr_mask;
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 __u32 qp_state;
400 __u32 cur_qp_state;
401 __u32 path_mtu;
402 __u32 path_mig_state;
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 __u32 qkey;
405 __u32 rq_psn;
406 __u32 sq_psn;
407 __u32 dest_qp_num;
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 __u32 qp_access_flags;
410 struct ib_uverbs_ah_attr ah_attr;
411 struct ib_uverbs_ah_attr alt_ah_attr;
412 __u32 max_send_wr;
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414 __u32 max_recv_wr;
415 __u32 max_send_sge;
416 __u32 max_recv_sge;
417 __u32 max_inline_data;
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419 __u16 pkey_index;
420 __u16 alt_pkey_index;
421 __u8 en_sqd_async_notify;
422 __u8 sq_draining;
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 __u8 max_rd_atomic;
425 __u8 max_dest_rd_atomic;
426 __u8 min_rnr_timer;
427 __u8 port_num;
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 __u8 timeout;
430 __u8 retry_cnt;
431 __u8 rnr_retry;
432 __u8 alt_port_num;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 __u8 alt_timeout;
435 __u8 reserved[5];
436};
437struct ib_uverbs_create_qp {
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 __u64 response;
440 __u64 user_handle;
441 __u32 pd_handle;
442 __u32 send_cq_handle;
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 __u32 recv_cq_handle;
445 __u32 srq_handle;
446 __u32 max_send_wr;
447 __u32 max_recv_wr;
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 __u32 max_send_sge;
450 __u32 max_recv_sge;
451 __u32 max_inline_data;
452 __u8 sq_sig_all;
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 __u8 qp_type;
455 __u8 is_srq;
456 __u8 reserved;
457 __u64 driver_data[0];
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459};
460struct ib_uverbs_open_qp {
461 __u64 response;
462 __u64 user_handle;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 __u32 pd_handle;
465 __u32 qpn;
466 __u8 qp_type;
467 __u8 reserved[7];
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 __u64 driver_data[0];
470};
471struct ib_uverbs_create_qp_resp {
472 __u32 qp_handle;
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 __u32 qpn;
475 __u32 max_send_wr;
476 __u32 max_recv_wr;
477 __u32 max_send_sge;
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 __u32 max_recv_sge;
480 __u32 max_inline_data;
481 __u32 reserved;
482};
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484struct ib_uverbs_qp_dest {
485 __u8 dgid[16];
486 __u32 flow_label;
487 __u16 dlid;
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 __u16 reserved;
490 __u8 sgid_index;
491 __u8 hop_limit;
492 __u8 traffic_class;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 __u8 sl;
495 __u8 src_path_bits;
496 __u8 static_rate;
497 __u8 is_global;
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 __u8 port_num;
500};
501struct ib_uverbs_query_qp {
502 __u64 response;
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 __u32 qp_handle;
505 __u32 attr_mask;
506 __u64 driver_data[0];
507};
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509struct ib_uverbs_query_qp_resp {
510 struct ib_uverbs_qp_dest dest;
511 struct ib_uverbs_qp_dest alt_dest;
512 __u32 max_send_wr;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514 __u32 max_recv_wr;
515 __u32 max_send_sge;
516 __u32 max_recv_sge;
517 __u32 max_inline_data;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 __u32 qkey;
520 __u32 rq_psn;
521 __u32 sq_psn;
522 __u32 dest_qp_num;
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 __u32 qp_access_flags;
525 __u16 pkey_index;
526 __u16 alt_pkey_index;
527 __u8 qp_state;
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 __u8 cur_qp_state;
530 __u8 path_mtu;
531 __u8 path_mig_state;
532 __u8 sq_draining;
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 __u8 max_rd_atomic;
535 __u8 max_dest_rd_atomic;
536 __u8 min_rnr_timer;
537 __u8 port_num;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 __u8 timeout;
540 __u8 retry_cnt;
541 __u8 rnr_retry;
542 __u8 alt_port_num;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 __u8 alt_timeout;
545 __u8 sq_sig_all;
546 __u8 reserved[5];
547 __u64 driver_data[0];
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549};
550struct ib_uverbs_modify_qp {
551 struct ib_uverbs_qp_dest dest;
552 struct ib_uverbs_qp_dest alt_dest;
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554 __u32 qp_handle;
555 __u32 attr_mask;
556 __u32 qkey;
557 __u32 rq_psn;
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559 __u32 sq_psn;
560 __u32 dest_qp_num;
561 __u32 qp_access_flags;
562 __u16 pkey_index;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564 __u16 alt_pkey_index;
565 __u8 qp_state;
566 __u8 cur_qp_state;
567 __u8 path_mtu;
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569 __u8 path_mig_state;
570 __u8 en_sqd_async_notify;
571 __u8 max_rd_atomic;
572 __u8 max_dest_rd_atomic;
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574 __u8 min_rnr_timer;
575 __u8 port_num;
576 __u8 timeout;
577 __u8 retry_cnt;
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579 __u8 rnr_retry;
580 __u8 alt_port_num;
581 __u8 alt_timeout;
582 __u8 reserved[2];
583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584 __u64 driver_data[0];
585};
586struct ib_uverbs_modify_qp_resp {
587};
588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589struct ib_uverbs_destroy_qp {
590 __u64 response;
591 __u32 qp_handle;
592 __u32 reserved;
593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594};
595struct ib_uverbs_destroy_qp_resp {
596 __u32 events_reported;
597};
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599struct ib_uverbs_sge {
600 __u64 addr;
601 __u32 length;
602 __u32 lkey;
603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604};
605struct ib_uverbs_send_wr {
606 __u64 wr_id;
607 __u32 num_sge;
608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609 __u32 opcode;
610 __u32 send_flags;
611 union {
612 __u32 imm_data;
613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614 __u32 invalidate_rkey;
615 } ex;
616 union {
617 struct {
618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619 __u64 remote_addr;
620 __u32 rkey;
621 __u32 reserved;
622 } rdma;
623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624 struct {
625 __u64 remote_addr;
626 __u64 compare_add;
627 __u64 swap;
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629 __u32 rkey;
630 __u32 reserved;
631 } atomic;
632 struct {
633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634 __u32 ah;
635 __u32 remote_qpn;
636 __u32 remote_qkey;
637 __u32 reserved;
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639 } ud;
640 } wr;
641};
642struct ib_uverbs_post_send {
643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644 __u64 response;
645 __u32 qp_handle;
646 __u32 wr_count;
647 __u32 sge_count;
648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649 __u32 wqe_size;
650 struct ib_uverbs_send_wr send_wr[0];
651};
652struct ib_uverbs_post_send_resp {
653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654 __u32 bad_wr;
655};
656struct ib_uverbs_recv_wr {
657 __u64 wr_id;
658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659 __u32 num_sge;
660 __u32 reserved;
661};
662struct ib_uverbs_post_recv {
663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664 __u64 response;
665 __u32 qp_handle;
666 __u32 wr_count;
667 __u32 sge_count;
668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669 __u32 wqe_size;
670 struct ib_uverbs_recv_wr recv_wr[0];
671};
672struct ib_uverbs_post_recv_resp {
673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674 __u32 bad_wr;
675};
676struct ib_uverbs_post_srq_recv {
677 __u64 response;
678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679 __u32 srq_handle;
680 __u32 wr_count;
681 __u32 sge_count;
682 __u32 wqe_size;
683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684 struct ib_uverbs_recv_wr recv[0];
685};
686struct ib_uverbs_post_srq_recv_resp {
687 __u32 bad_wr;
688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689};
690struct ib_uverbs_create_ah {
691 __u64 response;
692 __u64 user_handle;
693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694 __u32 pd_handle;
695 __u32 reserved;
696 struct ib_uverbs_ah_attr attr;
697};
698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699struct ib_uverbs_create_ah_resp {
700 __u32 ah_handle;
701};
702struct ib_uverbs_destroy_ah {
703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704 __u32 ah_handle;
705};
706struct ib_uverbs_attach_mcast {
707 __u8 gid[16];
708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709 __u32 qp_handle;
710 __u16 mlid;
711 __u16 reserved;
712 __u64 driver_data[0];
713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714};
715struct ib_uverbs_detach_mcast {
716 __u8 gid[16];
717 __u32 qp_handle;
718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719 __u16 mlid;
720 __u16 reserved;
721 __u64 driver_data[0];
722};
723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724struct ib_uverbs_flow_spec_hdr {
725 __u32 type;
726 __u16 size;
727 __u16 reserved;
728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729 __u64 flow_spec_data[0];
730};
731struct ib_uverbs_flow_eth_filter {
732 __u8 dst_mac[6];
733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734 __u8 src_mac[6];
735 __be16 ether_type;
736 __be16 vlan_tag;
737};
738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739struct ib_uverbs_flow_spec_eth {
740 union {
741 struct ib_uverbs_flow_spec_hdr hdr;
742 struct {
743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744 __u32 type;
745 __u16 size;
746 __u16 reserved;
747 };
748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749 };
750 struct ib_uverbs_flow_eth_filter val;
751 struct ib_uverbs_flow_eth_filter mask;
752};
753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754struct ib_uverbs_flow_ipv4_filter {
755 __be32 src_ip;
756 __be32 dst_ip;
757};
758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759struct ib_uverbs_flow_spec_ipv4 {
760 union {
761 struct ib_uverbs_flow_spec_hdr hdr;
762 struct {
763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764 __u32 type;
765 __u16 size;
766 __u16 reserved;
767 };
768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769 };
770 struct ib_uverbs_flow_ipv4_filter val;
771 struct ib_uverbs_flow_ipv4_filter mask;
772};
773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774struct ib_uverbs_flow_tcp_udp_filter {
775 __be16 dst_port;
776 __be16 src_port;
777};
778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779struct ib_uverbs_flow_spec_tcp_udp {
780 union {
781 struct ib_uverbs_flow_spec_hdr hdr;
782 struct {
783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784 __u32 type;
785 __u16 size;
786 __u16 reserved;
787 };
788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789 };
790 struct ib_uverbs_flow_tcp_udp_filter val;
791 struct ib_uverbs_flow_tcp_udp_filter mask;
792};
793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794struct ib_uverbs_flow_attr {
795 __u32 type;
796 __u16 size;
797 __u16 priority;
798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799 __u8 num_of_specs;
800 __u8 reserved[2];
801 __u8 port;
802 __u32 flags;
803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804 struct ib_uverbs_flow_spec_hdr flow_specs[0];
805};
806struct ib_uverbs_create_flow {
807 __u32 comp_mask;
808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809 __u32 qp_handle;
810 struct ib_uverbs_flow_attr flow_attr;
811};
812struct ib_uverbs_create_flow_resp {
813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814 __u32 comp_mask;
815 __u32 flow_handle;
816};
817struct ib_uverbs_destroy_flow {
818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819 __u32 comp_mask;
820 __u32 flow_handle;
821};
822struct ib_uverbs_create_srq {
823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824 __u64 response;
825 __u64 user_handle;
826 __u32 pd_handle;
827 __u32 max_wr;
828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829 __u32 max_sge;
830 __u32 srq_limit;
831 __u64 driver_data[0];
832};
833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834struct ib_uverbs_create_xsrq {
835 __u64 response;
836 __u64 user_handle;
837 __u32 srq_type;
838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839 __u32 pd_handle;
840 __u32 max_wr;
841 __u32 max_sge;
842 __u32 srq_limit;
843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844 __u32 reserved;
845 __u32 xrcd_handle;
846 __u32 cq_handle;
847 __u64 driver_data[0];
848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849};
850struct ib_uverbs_create_srq_resp {
851 __u32 srq_handle;
852 __u32 max_wr;
853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854 __u32 max_sge;
855 __u32 srqn;
856};
857struct ib_uverbs_modify_srq {
858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859 __u32 srq_handle;
860 __u32 attr_mask;
861 __u32 max_wr;
862 __u32 srq_limit;
863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864 __u64 driver_data[0];
865};
866struct ib_uverbs_query_srq {
867 __u64 response;
868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869 __u32 srq_handle;
870 __u32 reserved;
871 __u64 driver_data[0];
872};
873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874struct ib_uverbs_query_srq_resp {
875 __u32 max_wr;
876 __u32 max_sge;
877 __u32 srq_limit;
878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879 __u32 reserved;
880};
881struct ib_uverbs_destroy_srq {
882 __u64 response;
883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884 __u32 srq_handle;
885 __u32 reserved;
886};
887struct ib_uverbs_destroy_srq_resp {
888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889 __u32 events_reported;
890};
891#endif
892