1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef MANA_ABI_USER_H 8 #define MANA_ABI_USER_H 9 #include <linux/types.h> 10 #include <rdma/ib_user_ioctl_verbs.h> 11 #define MANA_IB_UVERBS_ABI_VERSION 1 12 enum mana_ib_create_cq_flags { 13 MANA_IB_CREATE_RNIC_CQ = 1 << 0, 14 }; 15 struct mana_ib_create_cq { 16 __aligned_u64 buf_addr; 17 __u16 flags; 18 __u16 reserved0; 19 __u32 reserved1; 20 }; 21 struct mana_ib_create_cq_resp { 22 __u32 cqid; 23 __u32 reserved; 24 }; 25 struct mana_ib_create_qp { 26 __aligned_u64 sq_buf_addr; 27 __u32 sq_buf_size; 28 __u32 port; 29 }; 30 struct mana_ib_create_qp_resp { 31 __u32 sqid; 32 __u32 cqid; 33 __u32 tx_vp_offset; 34 __u32 reserved; 35 }; 36 struct mana_ib_create_rc_qp { 37 __aligned_u64 queue_buf[4]; 38 __u32 queue_size[4]; 39 }; 40 struct mana_ib_create_rc_qp_resp { 41 __u32 queue_id[4]; 42 }; 43 struct mana_ib_create_wq { 44 __aligned_u64 wq_buf_addr; 45 __u32 wq_buf_size; 46 __u32 reserved; 47 }; 48 enum mana_ib_rx_hash_function_flags { 49 MANA_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0, 50 }; 51 struct mana_ib_create_qp_rss { 52 __aligned_u64 rx_hash_fields_mask; 53 __u8 rx_hash_function; 54 __u8 reserved[7]; 55 __u32 rx_hash_key_len; 56 __u8 rx_hash_key[40]; 57 __u32 port; 58 }; 59 struct rss_resp_entry { 60 __u32 cqid; 61 __u32 wqid; 62 }; 63 struct mana_ib_create_qp_rss_resp { 64 __aligned_u64 num_entries; 65 struct rss_resp_entry entries[64]; 66 }; 67 #endif 68