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_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE,
81  IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ,
82  IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP,
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  IB_USER_VERBS_EX_CMD_MODIFY_QP = IB_USER_VERBS_CMD_MODIFY_QP,
85  IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD,
86  IB_USER_VERBS_EX_CMD_DESTROY_FLOW,
87  IB_USER_VERBS_EX_CMD_CREATE_WQ,
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  IB_USER_VERBS_EX_CMD_MODIFY_WQ,
90  IB_USER_VERBS_EX_CMD_DESTROY_WQ,
91  IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL,
92  IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94};
95struct ib_uverbs_async_event_desc {
96  __u64 element;
97  __u32 event_type;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u32 reserved;
100};
101struct ib_uverbs_comp_event_desc {
102  __u64 cq_handle;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104};
105#define IB_USER_VERBS_CMD_COMMAND_MASK 0xff
106#define IB_USER_VERBS_CMD_FLAGS_MASK 0xff000000u
107#define IB_USER_VERBS_CMD_FLAGS_SHIFT 24
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80
110struct ib_uverbs_cmd_hdr {
111  __u32 command;
112  __u16 in_words;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __u16 out_words;
115};
116struct ib_uverbs_ex_cmd_hdr {
117  __u64 response;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __u16 provider_in_words;
120  __u16 provider_out_words;
121  __u32 cmd_hdr_reserved;
122};
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124struct ib_uverbs_get_context {
125  __u64 response;
126  __u64 driver_data[0];
127};
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129struct ib_uverbs_get_context_resp {
130  __u32 async_fd;
131  __u32 num_comp_vectors;
132};
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134struct ib_uverbs_query_device {
135  __u64 response;
136  __u64 driver_data[0];
137};
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139struct ib_uverbs_query_device_resp {
140  __u64 fw_ver;
141  __be64 node_guid;
142  __be64 sys_image_guid;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  __u64 max_mr_size;
145  __u64 page_size_cap;
146  __u32 vendor_id;
147  __u32 vendor_part_id;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  __u32 hw_ver;
150  __u32 max_qp;
151  __u32 max_qp_wr;
152  __u32 device_cap_flags;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  __u32 max_sge;
155  __u32 max_sge_rd;
156  __u32 max_cq;
157  __u32 max_cqe;
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  __u32 max_mr;
160  __u32 max_pd;
161  __u32 max_qp_rd_atom;
162  __u32 max_ee_rd_atom;
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  __u32 max_res_rd_atom;
165  __u32 max_qp_init_rd_atom;
166  __u32 max_ee_init_rd_atom;
167  __u32 atomic_cap;
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  __u32 max_ee;
170  __u32 max_rdd;
171  __u32 max_mw;
172  __u32 max_raw_ipv6_qp;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  __u32 max_raw_ethy_qp;
175  __u32 max_mcast_grp;
176  __u32 max_mcast_qp_attach;
177  __u32 max_total_mcast_qp_attach;
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __u32 max_ah;
180  __u32 max_fmr;
181  __u32 max_map_per_fmr;
182  __u32 max_srq;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  __u32 max_srq_wr;
185  __u32 max_srq_sge;
186  __u16 max_pkeys;
187  __u8 local_ca_ack_delay;
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  __u8 phys_port_cnt;
190  __u8 reserved[4];
191};
192struct ib_uverbs_ex_query_device {
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  __u32 comp_mask;
195  __u32 reserved;
196};
197struct ib_uverbs_odp_caps {
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  __u64 general_caps;
200  struct {
201    __u32 rc_odp_caps;
202    __u32 uc_odp_caps;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204    __u32 ud_odp_caps;
205  } per_transport_caps;
206  __u32 reserved;
207};
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209struct ib_uverbs_rss_caps {
210  __u32 supported_qpts;
211  __u32 max_rwq_indirection_tables;
212  __u32 max_rwq_indirection_table_size;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  __u32 reserved;
215};
216struct ib_uverbs_ex_query_device_resp {
217  struct ib_uverbs_query_device_resp base;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  __u32 comp_mask;
220  __u32 response_length;
221  struct ib_uverbs_odp_caps odp_caps;
222  __u64 timestamp_mask;
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  __u64 hca_core_clock;
225  __u64 device_cap_flags_ex;
226  struct ib_uverbs_rss_caps rss_caps;
227  __u32 max_wq_type_rq;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  __u32 reserved;
230};
231struct ib_uverbs_query_port {
232  __u64 response;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  __u8 port_num;
235  __u8 reserved[7];
236  __u64 driver_data[0];
237};
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239struct ib_uverbs_query_port_resp {
240  __u32 port_cap_flags;
241  __u32 max_msg_sz;
242  __u32 bad_pkey_cntr;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  __u32 qkey_viol_cntr;
245  __u32 gid_tbl_len;
246  __u16 pkey_tbl_len;
247  __u16 lid;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __u16 sm_lid;
250  __u8 state;
251  __u8 max_mtu;
252  __u8 active_mtu;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  __u8 lmc;
255  __u8 max_vl_num;
256  __u8 sm_sl;
257  __u8 subnet_timeout;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __u8 init_type_reply;
260  __u8 active_width;
261  __u8 active_speed;
262  __u8 phys_state;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  __u8 link_layer;
265  __u8 reserved[2];
266};
267struct ib_uverbs_alloc_pd {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  __u64 response;
270  __u64 driver_data[0];
271};
272struct ib_uverbs_alloc_pd_resp {
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __u32 pd_handle;
275};
276struct ib_uverbs_dealloc_pd {
277  __u32 pd_handle;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279};
280struct ib_uverbs_open_xrcd {
281  __u64 response;
282  __u32 fd;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  __u32 oflags;
285  __u64 driver_data[0];
286};
287struct ib_uverbs_open_xrcd_resp {
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  __u32 xrcd_handle;
290};
291struct ib_uverbs_close_xrcd {
292  __u32 xrcd_handle;
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294};
295struct ib_uverbs_reg_mr {
296  __u64 response;
297  __u64 start;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __u64 length;
300  __u64 hca_va;
301  __u32 pd_handle;
302  __u32 access_flags;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  __u64 driver_data[0];
305};
306struct ib_uverbs_reg_mr_resp {
307  __u32 mr_handle;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  __u32 lkey;
310  __u32 rkey;
311};
312struct ib_uverbs_rereg_mr {
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  __u64 response;
315  __u32 mr_handle;
316  __u32 flags;
317  __u64 start;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  __u64 length;
320  __u64 hca_va;
321  __u32 pd_handle;
322  __u32 access_flags;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324};
325struct ib_uverbs_rereg_mr_resp {
326  __u32 lkey;
327  __u32 rkey;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329};
330struct ib_uverbs_dereg_mr {
331  __u32 mr_handle;
332};
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334struct ib_uverbs_alloc_mw {
335  __u64 response;
336  __u32 pd_handle;
337  __u8 mw_type;
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  __u8 reserved[3];
340};
341struct ib_uverbs_alloc_mw_resp {
342  __u32 mw_handle;
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  __u32 rkey;
345};
346struct ib_uverbs_dealloc_mw {
347  __u32 mw_handle;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349};
350struct ib_uverbs_create_comp_channel {
351  __u64 response;
352};
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354struct ib_uverbs_create_comp_channel_resp {
355  __u32 fd;
356};
357struct ib_uverbs_create_cq {
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  __u64 response;
360  __u64 user_handle;
361  __u32 cqe;
362  __u32 comp_vector;
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  __s32 comp_channel;
365  __u32 reserved;
366  __u64 driver_data[0];
367};
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369struct ib_uverbs_ex_create_cq {
370  __u64 user_handle;
371  __u32 cqe;
372  __u32 comp_vector;
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  __s32 comp_channel;
375  __u32 comp_mask;
376  __u32 flags;
377  __u32 reserved;
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379};
380struct ib_uverbs_create_cq_resp {
381  __u32 cq_handle;
382  __u32 cqe;
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384};
385struct ib_uverbs_ex_create_cq_resp {
386  struct ib_uverbs_create_cq_resp base;
387  __u32 comp_mask;
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  __u32 response_length;
390};
391struct ib_uverbs_resize_cq {
392  __u64 response;
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  __u32 cq_handle;
395  __u32 cqe;
396  __u64 driver_data[0];
397};
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399struct ib_uverbs_resize_cq_resp {
400  __u32 cqe;
401  __u32 reserved;
402  __u64 driver_data[0];
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404};
405struct ib_uverbs_poll_cq {
406  __u64 response;
407  __u32 cq_handle;
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  __u32 ne;
410};
411struct ib_uverbs_wc {
412  __u64 wr_id;
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  __u32 status;
415  __u32 opcode;
416  __u32 vendor_err;
417  __u32 byte_len;
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  union {
420    __u32 imm_data;
421    __u32 invalidate_rkey;
422  } ex;
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  __u32 qp_num;
425  __u32 src_qp;
426  __u32 wc_flags;
427  __u16 pkey_index;
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  __u16 slid;
430  __u8 sl;
431  __u8 dlid_path_bits;
432  __u8 port_num;
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  __u8 reserved;
435};
436struct ib_uverbs_poll_cq_resp {
437  __u32 count;
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439  __u32 reserved;
440  struct ib_uverbs_wc wc[0];
441};
442struct ib_uverbs_req_notify_cq {
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  __u32 cq_handle;
445  __u32 solicited_only;
446};
447struct ib_uverbs_destroy_cq {
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  __u64 response;
450  __u32 cq_handle;
451  __u32 reserved;
452};
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454struct ib_uverbs_destroy_cq_resp {
455  __u32 comp_events_reported;
456  __u32 async_events_reported;
457};
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459struct ib_uverbs_global_route {
460  __u8 dgid[16];
461  __u32 flow_label;
462  __u8 sgid_index;
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464  __u8 hop_limit;
465  __u8 traffic_class;
466  __u8 reserved;
467};
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469struct ib_uverbs_ah_attr {
470  struct ib_uverbs_global_route grh;
471  __u16 dlid;
472  __u8 sl;
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474  __u8 src_path_bits;
475  __u8 static_rate;
476  __u8 is_global;
477  __u8 port_num;
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479  __u8 reserved;
480};
481struct ib_uverbs_qp_attr {
482  __u32 qp_attr_mask;
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484  __u32 qp_state;
485  __u32 cur_qp_state;
486  __u32 path_mtu;
487  __u32 path_mig_state;
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  __u32 qkey;
490  __u32 rq_psn;
491  __u32 sq_psn;
492  __u32 dest_qp_num;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494  __u32 qp_access_flags;
495  struct ib_uverbs_ah_attr ah_attr;
496  struct ib_uverbs_ah_attr alt_ah_attr;
497  __u32 max_send_wr;
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  __u32 max_recv_wr;
500  __u32 max_send_sge;
501  __u32 max_recv_sge;
502  __u32 max_inline_data;
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504  __u16 pkey_index;
505  __u16 alt_pkey_index;
506  __u8 en_sqd_async_notify;
507  __u8 sq_draining;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509  __u8 max_rd_atomic;
510  __u8 max_dest_rd_atomic;
511  __u8 min_rnr_timer;
512  __u8 port_num;
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514  __u8 timeout;
515  __u8 retry_cnt;
516  __u8 rnr_retry;
517  __u8 alt_port_num;
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519  __u8 alt_timeout;
520  __u8 reserved[5];
521};
522struct ib_uverbs_create_qp {
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  __u64 response;
525  __u64 user_handle;
526  __u32 pd_handle;
527  __u32 send_cq_handle;
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529  __u32 recv_cq_handle;
530  __u32 srq_handle;
531  __u32 max_send_wr;
532  __u32 max_recv_wr;
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534  __u32 max_send_sge;
535  __u32 max_recv_sge;
536  __u32 max_inline_data;
537  __u8 sq_sig_all;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539  __u8 qp_type;
540  __u8 is_srq;
541  __u8 reserved;
542  __u64 driver_data[0];
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544};
545enum ib_uverbs_create_qp_mask {
546  IB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1UL << 0,
547};
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549enum {
550  IB_UVERBS_CREATE_QP_SUP_COMP_MASK = IB_UVERBS_CREATE_QP_MASK_IND_TABLE,
551};
552enum {
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554  IB_USER_LEGACY_LAST_QP_ATTR_MASK = 1ULL << 20,
555};
556enum {
557  IB_USER_LAST_QP_ATTR_MASK = 1ULL << 25,
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559};
560struct ib_uverbs_ex_create_qp {
561  __u64 user_handle;
562  __u32 pd_handle;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564  __u32 send_cq_handle;
565  __u32 recv_cq_handle;
566  __u32 srq_handle;
567  __u32 max_send_wr;
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569  __u32 max_recv_wr;
570  __u32 max_send_sge;
571  __u32 max_recv_sge;
572  __u32 max_inline_data;
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574  __u8 sq_sig_all;
575  __u8 qp_type;
576  __u8 is_srq;
577  __u8 reserved;
578/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579  __u32 comp_mask;
580  __u32 create_flags;
581  __u32 rwq_ind_tbl_handle;
582  __u32 reserved1;
583/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584};
585struct ib_uverbs_open_qp {
586  __u64 response;
587  __u64 user_handle;
588/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589  __u32 pd_handle;
590  __u32 qpn;
591  __u8 qp_type;
592  __u8 reserved[7];
593/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594  __u64 driver_data[0];
595};
596struct ib_uverbs_create_qp_resp {
597  __u32 qp_handle;
598/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599  __u32 qpn;
600  __u32 max_send_wr;
601  __u32 max_recv_wr;
602  __u32 max_send_sge;
603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604  __u32 max_recv_sge;
605  __u32 max_inline_data;
606  __u32 reserved;
607};
608/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609struct ib_uverbs_ex_create_qp_resp {
610  struct ib_uverbs_create_qp_resp base;
611  __u32 comp_mask;
612  __u32 response_length;
613/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614};
615struct ib_uverbs_qp_dest {
616  __u8 dgid[16];
617  __u32 flow_label;
618/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619  __u16 dlid;
620  __u16 reserved;
621  __u8 sgid_index;
622  __u8 hop_limit;
623/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624  __u8 traffic_class;
625  __u8 sl;
626  __u8 src_path_bits;
627  __u8 static_rate;
628/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629  __u8 is_global;
630  __u8 port_num;
631};
632struct ib_uverbs_query_qp {
633/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634  __u64 response;
635  __u32 qp_handle;
636  __u32 attr_mask;
637  __u64 driver_data[0];
638/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639};
640struct ib_uverbs_query_qp_resp {
641  struct ib_uverbs_qp_dest dest;
642  struct ib_uverbs_qp_dest alt_dest;
643/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644  __u32 max_send_wr;
645  __u32 max_recv_wr;
646  __u32 max_send_sge;
647  __u32 max_recv_sge;
648/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649  __u32 max_inline_data;
650  __u32 qkey;
651  __u32 rq_psn;
652  __u32 sq_psn;
653/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654  __u32 dest_qp_num;
655  __u32 qp_access_flags;
656  __u16 pkey_index;
657  __u16 alt_pkey_index;
658/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659  __u8 qp_state;
660  __u8 cur_qp_state;
661  __u8 path_mtu;
662  __u8 path_mig_state;
663/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664  __u8 sq_draining;
665  __u8 max_rd_atomic;
666  __u8 max_dest_rd_atomic;
667  __u8 min_rnr_timer;
668/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669  __u8 port_num;
670  __u8 timeout;
671  __u8 retry_cnt;
672  __u8 rnr_retry;
673/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674  __u8 alt_port_num;
675  __u8 alt_timeout;
676  __u8 sq_sig_all;
677  __u8 reserved[5];
678/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679  __u64 driver_data[0];
680};
681struct ib_uverbs_modify_qp {
682  struct ib_uverbs_qp_dest dest;
683/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684  struct ib_uverbs_qp_dest alt_dest;
685  __u32 qp_handle;
686  __u32 attr_mask;
687  __u32 qkey;
688/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689  __u32 rq_psn;
690  __u32 sq_psn;
691  __u32 dest_qp_num;
692  __u32 qp_access_flags;
693/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694  __u16 pkey_index;
695  __u16 alt_pkey_index;
696  __u8 qp_state;
697  __u8 cur_qp_state;
698/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699  __u8 path_mtu;
700  __u8 path_mig_state;
701  __u8 en_sqd_async_notify;
702  __u8 max_rd_atomic;
703/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704  __u8 max_dest_rd_atomic;
705  __u8 min_rnr_timer;
706  __u8 port_num;
707  __u8 timeout;
708/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709  __u8 retry_cnt;
710  __u8 rnr_retry;
711  __u8 alt_port_num;
712  __u8 alt_timeout;
713/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714  __u8 reserved[2];
715  __u64 driver_data[0];
716};
717struct ib_uverbs_ex_modify_qp {
718/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719  struct ib_uverbs_modify_qp base;
720  __u32 rate_limit;
721  __u32 reserved;
722};
723/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724struct ib_uverbs_modify_qp_resp {
725};
726struct ib_uverbs_ex_modify_qp_resp {
727  __u32 comp_mask;
728/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729  __u32 response_length;
730};
731struct ib_uverbs_destroy_qp {
732  __u64 response;
733/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734  __u32 qp_handle;
735  __u32 reserved;
736};
737struct ib_uverbs_destroy_qp_resp {
738/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739  __u32 events_reported;
740};
741struct ib_uverbs_sge {
742  __u64 addr;
743/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744  __u32 length;
745  __u32 lkey;
746};
747struct ib_uverbs_send_wr {
748/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749  __u64 wr_id;
750  __u32 num_sge;
751  __u32 opcode;
752  __u32 send_flags;
753/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754  union {
755    __u32 imm_data;
756    __u32 invalidate_rkey;
757  } ex;
758/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759  union {
760    struct {
761      __u64 remote_addr;
762      __u32 rkey;
763/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764      __u32 reserved;
765    } rdma;
766    struct {
767      __u64 remote_addr;
768/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769      __u64 compare_add;
770      __u64 swap;
771      __u32 rkey;
772      __u32 reserved;
773/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774    } atomic;
775    struct {
776      __u32 ah;
777      __u32 remote_qpn;
778/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779      __u32 remote_qkey;
780      __u32 reserved;
781    } ud;
782  } wr;
783/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784};
785struct ib_uverbs_post_send {
786  __u64 response;
787  __u32 qp_handle;
788/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789  __u32 wr_count;
790  __u32 sge_count;
791  __u32 wqe_size;
792  struct ib_uverbs_send_wr send_wr[0];
793/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794};
795struct ib_uverbs_post_send_resp {
796  __u32 bad_wr;
797};
798/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799struct ib_uverbs_recv_wr {
800  __u64 wr_id;
801  __u32 num_sge;
802  __u32 reserved;
803/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804};
805struct ib_uverbs_post_recv {
806  __u64 response;
807  __u32 qp_handle;
808/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809  __u32 wr_count;
810  __u32 sge_count;
811  __u32 wqe_size;
812  struct ib_uverbs_recv_wr recv_wr[0];
813/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814};
815struct ib_uverbs_post_recv_resp {
816  __u32 bad_wr;
817};
818/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819struct ib_uverbs_post_srq_recv {
820  __u64 response;
821  __u32 srq_handle;
822  __u32 wr_count;
823/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824  __u32 sge_count;
825  __u32 wqe_size;
826  struct ib_uverbs_recv_wr recv[0];
827};
828/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829struct ib_uverbs_post_srq_recv_resp {
830  __u32 bad_wr;
831};
832struct ib_uverbs_create_ah {
833/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834  __u64 response;
835  __u64 user_handle;
836  __u32 pd_handle;
837  __u32 reserved;
838/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839  struct ib_uverbs_ah_attr attr;
840};
841struct ib_uverbs_create_ah_resp {
842  __u32 ah_handle;
843/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844};
845struct ib_uverbs_destroy_ah {
846  __u32 ah_handle;
847};
848/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849struct ib_uverbs_attach_mcast {
850  __u8 gid[16];
851  __u32 qp_handle;
852  __u16 mlid;
853/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854  __u16 reserved;
855  __u64 driver_data[0];
856};
857struct ib_uverbs_detach_mcast {
858/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859  __u8 gid[16];
860  __u32 qp_handle;
861  __u16 mlid;
862  __u16 reserved;
863/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864  __u64 driver_data[0];
865};
866struct ib_uverbs_flow_spec_hdr {
867  __u32 type;
868/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869  __u16 size;
870  __u16 reserved;
871  __u64 flow_spec_data[0];
872};
873/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874struct ib_uverbs_flow_eth_filter {
875  __u8 dst_mac[6];
876  __u8 src_mac[6];
877  __be16 ether_type;
878/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879  __be16 vlan_tag;
880};
881struct ib_uverbs_flow_spec_eth {
882  union {
883/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884    struct ib_uverbs_flow_spec_hdr hdr;
885    struct {
886      __u32 type;
887      __u16 size;
888/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889      __u16 reserved;
890    };
891  };
892  struct ib_uverbs_flow_eth_filter val;
893/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894  struct ib_uverbs_flow_eth_filter mask;
895};
896struct ib_uverbs_flow_ipv4_filter {
897  __be32 src_ip;
898/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899  __be32 dst_ip;
900  __u8 proto;
901  __u8 tos;
902  __u8 ttl;
903/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904  __u8 flags;
905};
906struct ib_uverbs_flow_spec_ipv4 {
907  union {
908/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909    struct ib_uverbs_flow_spec_hdr hdr;
910    struct {
911      __u32 type;
912      __u16 size;
913/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914      __u16 reserved;
915    };
916  };
917  struct ib_uverbs_flow_ipv4_filter val;
918/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919  struct ib_uverbs_flow_ipv4_filter mask;
920};
921struct ib_uverbs_flow_tcp_udp_filter {
922  __be16 dst_port;
923/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924  __be16 src_port;
925};
926struct ib_uverbs_flow_spec_tcp_udp {
927  union {
928/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929    struct ib_uverbs_flow_spec_hdr hdr;
930    struct {
931      __u32 type;
932      __u16 size;
933/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934      __u16 reserved;
935    };
936  };
937  struct ib_uverbs_flow_tcp_udp_filter val;
938/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939  struct ib_uverbs_flow_tcp_udp_filter mask;
940};
941struct ib_uverbs_flow_ipv6_filter {
942  __u8 src_ip[16];
943/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944  __u8 dst_ip[16];
945  __be32 flow_label;
946  __u8 next_hdr;
947  __u8 traffic_class;
948/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
949  __u8 hop_limit;
950  __u8 reserved;
951};
952struct ib_uverbs_flow_spec_ipv6 {
953/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
954  union {
955    struct ib_uverbs_flow_spec_hdr hdr;
956    struct {
957      __u32 type;
958/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
959      __u16 size;
960      __u16 reserved;
961    };
962  };
963/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
964  struct ib_uverbs_flow_ipv6_filter val;
965  struct ib_uverbs_flow_ipv6_filter mask;
966};
967struct ib_uverbs_flow_tunnel_filter {
968/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
969  __be32 tunnel_id;
970};
971struct ib_uverbs_flow_spec_tunnel {
972  union {
973/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
974    struct ib_uverbs_flow_spec_hdr hdr;
975    struct {
976      __u32 type;
977      __u16 size;
978/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
979      __u16 reserved;
980    };
981  };
982  struct ib_uverbs_flow_tunnel_filter val;
983/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
984  struct ib_uverbs_flow_tunnel_filter mask;
985};
986struct ib_uverbs_flow_attr {
987  __u32 type;
988/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
989  __u16 size;
990  __u16 priority;
991  __u8 num_of_specs;
992  __u8 reserved[2];
993/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994  __u8 port;
995  __u32 flags;
996  struct ib_uverbs_flow_spec_hdr flow_specs[0];
997};
998/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
999struct ib_uverbs_create_flow {
1000  __u32 comp_mask;
1001  __u32 qp_handle;
1002  struct ib_uverbs_flow_attr flow_attr;
1003/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1004};
1005struct ib_uverbs_create_flow_resp {
1006  __u32 comp_mask;
1007  __u32 flow_handle;
1008/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1009};
1010struct ib_uverbs_destroy_flow {
1011  __u32 comp_mask;
1012  __u32 flow_handle;
1013/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1014};
1015struct ib_uverbs_create_srq {
1016  __u64 response;
1017  __u64 user_handle;
1018/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1019  __u32 pd_handle;
1020  __u32 max_wr;
1021  __u32 max_sge;
1022  __u32 srq_limit;
1023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1024  __u64 driver_data[0];
1025};
1026struct ib_uverbs_create_xsrq {
1027  __u64 response;
1028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1029  __u64 user_handle;
1030  __u32 srq_type;
1031  __u32 pd_handle;
1032  __u32 max_wr;
1033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1034  __u32 max_sge;
1035  __u32 srq_limit;
1036  __u32 reserved;
1037  __u32 xrcd_handle;
1038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1039  __u32 cq_handle;
1040  __u64 driver_data[0];
1041};
1042struct ib_uverbs_create_srq_resp {
1043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044  __u32 srq_handle;
1045  __u32 max_wr;
1046  __u32 max_sge;
1047  __u32 srqn;
1048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1049};
1050struct ib_uverbs_modify_srq {
1051  __u32 srq_handle;
1052  __u32 attr_mask;
1053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1054  __u32 max_wr;
1055  __u32 srq_limit;
1056  __u64 driver_data[0];
1057};
1058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1059struct ib_uverbs_query_srq {
1060  __u64 response;
1061  __u32 srq_handle;
1062  __u32 reserved;
1063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1064  __u64 driver_data[0];
1065};
1066struct ib_uverbs_query_srq_resp {
1067  __u32 max_wr;
1068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1069  __u32 max_sge;
1070  __u32 srq_limit;
1071  __u32 reserved;
1072};
1073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1074struct ib_uverbs_destroy_srq {
1075  __u64 response;
1076  __u32 srq_handle;
1077  __u32 reserved;
1078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1079};
1080struct ib_uverbs_destroy_srq_resp {
1081  __u32 events_reported;
1082};
1083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1084struct ib_uverbs_ex_create_wq {
1085  __u32 comp_mask;
1086  __u32 wq_type;
1087  __u64 user_handle;
1088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1089  __u32 pd_handle;
1090  __u32 cq_handle;
1091  __u32 max_wr;
1092  __u32 max_sge;
1093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094};
1095struct ib_uverbs_ex_create_wq_resp {
1096  __u32 comp_mask;
1097  __u32 response_length;
1098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1099  __u32 wq_handle;
1100  __u32 max_wr;
1101  __u32 max_sge;
1102  __u32 wqn;
1103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1104};
1105struct ib_uverbs_ex_destroy_wq {
1106  __u32 comp_mask;
1107  __u32 wq_handle;
1108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1109};
1110struct ib_uverbs_ex_destroy_wq_resp {
1111  __u32 comp_mask;
1112  __u32 response_length;
1113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1114  __u32 events_reported;
1115  __u32 reserved;
1116};
1117struct ib_uverbs_ex_modify_wq {
1118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1119  __u32 attr_mask;
1120  __u32 wq_handle;
1121  __u32 wq_state;
1122  __u32 curr_wq_state;
1123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1124};
1125#define IB_USER_VERBS_MAX_LOG_IND_TBL_SIZE 0x0d
1126struct ib_uverbs_ex_create_rwq_ind_table {
1127  __u32 comp_mask;
1128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1129  __u32 log_ind_tbl_size;
1130  __u32 wq_handles[0];
1131};
1132struct ib_uverbs_ex_create_rwq_ind_table_resp {
1133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1134  __u32 comp_mask;
1135  __u32 response_length;
1136  __u32 ind_tbl_handle;
1137  __u32 ind_tbl_num;
1138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1139};
1140struct ib_uverbs_ex_destroy_rwq_ind_table {
1141  __u32 comp_mask;
1142  __u32 ind_tbl_handle;
1143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1144};
1145#endif
1146