Home | History | Annotate | Download | only in rdma
      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
     25 enum {
     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 */
     79 enum {
     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 */
     84 struct 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 };
     90 struct 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 */
     99 struct 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 };
    105 struct 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 };
    112 struct 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 };
    117 struct 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 };
    122 struct 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 };
    127 struct 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 };
    181 struct 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 */
    189 struct 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 };
    217 struct 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 };
    222 struct ib_uverbs_alloc_pd_resp {
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  __u32 pd_handle;
    225 };
    226 struct ib_uverbs_dealloc_pd {
    227  __u32 pd_handle;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 };
    230 struct 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 };
    237 struct ib_uverbs_open_xrcd_resp {
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  __u32 xrcd_handle;
    240 };
    241 struct ib_uverbs_close_xrcd {
    242  __u32 xrcd_handle;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 };
    245 struct 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 };
    256 struct 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 };
    262 struct ib_uverbs_dereg_mr {
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264  __u32 mr_handle;
    265 };
    266 struct 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 */
    274 struct 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 */
    279 struct ib_uverbs_dealloc_mw {
    280  __u32 mw_handle;
    281 };
    282 struct ib_uverbs_create_comp_channel {
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  __u64 response;
    285 };
    286 struct ib_uverbs_create_comp_channel_resp {
    287  __u32 fd;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 };
    290 struct 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 };
    301 struct 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 };
    306 struct 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 */
    314 struct 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 };
    320 struct 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 };
    326 struct 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 };
    351 struct 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 };
    357 struct 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 };
    362 struct 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 */
    369 struct 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 */
    374 struct 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 */
    384 struct 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 };
    396 struct 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 };
    437 struct 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 };
    460 struct 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 };
    471 struct 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 */
    484 struct 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 };
    501 struct 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 */
    509 struct 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 };
    550 struct 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 };
    586 struct ib_uverbs_modify_qp_resp {
    587 };
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589 struct 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 };
    595 struct ib_uverbs_destroy_qp_resp {
    596  __u32 events_reported;
    597 };
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599 struct 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 };
    605 struct 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 };
    642 struct 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 };
    652 struct ib_uverbs_post_send_resp {
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654  __u32 bad_wr;
    655 };
    656 struct 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 };
    662 struct 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 };
    672 struct ib_uverbs_post_recv_resp {
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674  __u32 bad_wr;
    675 };
    676 struct 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 };
    686 struct ib_uverbs_post_srq_recv_resp {
    687  __u32 bad_wr;
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689 };
    690 struct 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 */
    699 struct ib_uverbs_create_ah_resp {
    700  __u32 ah_handle;
    701 };
    702 struct ib_uverbs_destroy_ah {
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704  __u32 ah_handle;
    705 };
    706 struct 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 };
    715 struct 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 */
    724 struct 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 };
    731 struct 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 */
    739 struct 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 */
    754 struct 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 */
    759 struct 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 */
    774 struct 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 */
    779 struct 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 */
    794 struct 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 };
    806 struct 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 };
    812 struct 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 };
    817 struct 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 };
    822 struct 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 */
    834 struct 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 };
    850 struct 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 };
    857 struct 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 };
    866 struct 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 */
    874 struct 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 };
    881 struct 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 };
    887 struct 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