diff --git a/0000-use-e-para-to-make-transferred-meaning-take-effect.patch b/0000-use-e-para-to-make-transferred-meaning-take-effect.patch new file mode 100644 index 0000000000000000000000000000000000000000..d04c65cd3d17dee7f7856ef9a0f1bd2fd3990e92 --- /dev/null +++ b/0000-use-e-para-to-make-transferred-meaning-take-effect.patch @@ -0,0 +1,95 @@ +From cfac7d4cadbc93f20c0b4e6badfcabb9f55f0ad5 Mon Sep 17 00:00:00 2001 +From: seuzw <930zhaowei@163.com> +Date: Sun, 26 Sep 2021 15:38:49 +0800 +Subject: [PATCH] use -e para to make transferred meaning take effect + +--- + infiniband-diags/scripts/ibcheckerrs.in | 2 +- + infiniband-diags/scripts/ibchecknode.in | 2 +- + infiniband-diags/scripts/ibcheckport.in | 2 +- + infiniband-diags/scripts/ibcheckportstate.in | 2 +- + infiniband-diags/scripts/ibcheckportwidth.in | 2 +- + infiniband-diags/scripts/ibdatacounts.in | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/infiniband-diags/scripts/ibcheckerrs.in b/infiniband-diags/scripts/ibcheckerrs.in +index 1edd1eb..4902f55 100644 +--- a/infiniband-diags/scripts/ibcheckerrs.in ++++ b/infiniband-diags/scripts/ibcheckerrs.in +@@ -140,7 +140,7 @@ else + fi + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated; Please use \"ibqueryerrors\"\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated; Please use \"ibqueryerrors\"\n\n" 1>&2 + fi + + if [ "$guid_addr" ]; then +diff --git a/infiniband-diags/scripts/ibchecknode.in b/infiniband-diags/scripts/ibchecknode.in +index d70d5c8..9555513 100644 +--- a/infiniband-diags/scripts/ibchecknode.in ++++ b/infiniband-diags/scripts/ibchecknode.in +@@ -75,7 +75,7 @@ if [ -z "$1" ]; then + fi + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated; Please use \"smpquery nodeinfo\"\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated; Please use \"smpquery nodeinfo\"\n\n" 1>&2 + fi + + if [ "$guid_addr" ]; then +diff --git a/infiniband-diags/scripts/ibcheckport.in b/infiniband-diags/scripts/ibcheckport.in +index 16a8c24..a504c97 100644 +--- a/infiniband-diags/scripts/ibcheckport.in ++++ b/infiniband-diags/scripts/ibcheckport.in +@@ -77,7 +77,7 @@ fi + portnum=$2 + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated\n\n" 1>&2 + fi + + if [ "$guid_addr" ]; then +diff --git a/infiniband-diags/scripts/ibcheckportstate.in b/infiniband-diags/scripts/ibcheckportstate.in +index c5fb948..5482075 100644 +--- a/infiniband-diags/scripts/ibcheckportstate.in ++++ b/infiniband-diags/scripts/ibcheckportstate.in +@@ -77,7 +77,7 @@ fi + portnum=$2 + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated\n\n" 1>&2 + fi + + if [ "$guid_addr" ]; then +diff --git a/infiniband-diags/scripts/ibcheckportwidth.in b/infiniband-diags/scripts/ibcheckportwidth.in +index 9cfca11..eb79944 100644 +--- a/infiniband-diags/scripts/ibcheckportwidth.in ++++ b/infiniband-diags/scripts/ibcheckportwidth.in +@@ -77,7 +77,7 @@ fi + portnum=$2 + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated\n\n" 1>&2 + fi + + if [ "$guid_addr" ]; then +diff --git a/infiniband-diags/scripts/ibdatacounts.in b/infiniband-diags/scripts/ibdatacounts.in +index ac5f8c4..772b47f 100644 +--- a/infiniband-diags/scripts/ibdatacounts.in ++++ b/infiniband-diags/scripts/ibdatacounts.in +@@ -113,7 +113,7 @@ fi + nodename=`$IBPATH/smpquery $ca_info nodedesc $lid | sed -e "s/^Node Description:\.*\(.*\)/\1/"` + + if [ "$suppress_deprecated" = "no" ]; then +-echo "*** WARNING ***: this command is deprecated; Please use \"ibqueryerrors --counters\"\n\n" 1>&2 ++echo -e "*** WARNING ***: this command is deprecated; Please use \"ibqueryerrors --counters\"\n\n" 1>&2 + fi + + text="`eval $IBPATH/perfquery $ca_info $lid $portnum`" +-- +2.27.0 + diff --git a/0001-libhns-Bugfix-for-calculation-of-extended-sge.patch b/0001-libhns-Bugfix-for-calculation-of-extended-sge.patch new file mode 100644 index 0000000000000000000000000000000000000000..ae707dd7510039b3503412cb121097192587ea37 --- /dev/null +++ b/0001-libhns-Bugfix-for-calculation-of-extended-sge.patch @@ -0,0 +1,37 @@ +From d72ae701214aa8318604192ac48c31c920bba593 Mon Sep 17 00:00:00 2001 +From: Yangyang Li +Date: Thu, 23 Dec 2021 14:52:13 +0800 +Subject: [PATCH] libhns: Bugfix for calculation of extended sge + +Page alignment is required when setting the number of extended sge +according to the hardware's achivement. If the space of needed extended sge +is greater than one page, the roundup_pow_of_two() can ensure that. But if +the needed extended sge isn't 0 and can not be filled in a whole page, the +driver should align it specifically. + +Signed-off-by: Guofeng Yue +--- + providers/hns/hns_roce_u_verbs.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c +index abff0921..30ab072a 100644 +--- a/providers/hns/hns_roce_u_verbs.c ++++ b/providers/hns/hns_roce_u_verbs.c +@@ -939,7 +939,12 @@ static void set_extend_sge_param(struct hns_roce_device *hr_dev, + } + + qp->ex_sge.sge_shift = HNS_ROCE_SGE_SHIFT; +- qp->ex_sge.sge_cnt = cnt; ++ ++ /* If the number of extended sge is not zero, they MUST use the ++ * space of HNS_HW_PAGE_SIZE at least. ++ */ ++ qp->ex_sge.sge_cnt = cnt ? ++ max(cnt, HNS_HW_PAGE_SIZE / HNS_ROCE_SGE_SIZE) : 0; + } + + static void hns_roce_set_qp_params(struct ibv_qp_init_attr_ex *attr, +-- +2.33.0 + diff --git a/0001-libhns-Use-a-constant-instead-of-sizeof-operation.patch b/0001-libhns-Use-a-constant-instead-of-sizeof-operation.patch deleted file mode 100644 index 1c34c3be5f3896809cbe03a4e05c9fb4318db78e..0000000000000000000000000000000000000000 --- a/0001-libhns-Use-a-constant-instead-of-sizeof-operation.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0de1678211e710c2cd33e3aea98b1271cae9bd98 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Tue, 20 Sep 2022 11:47:45 +0800 -Subject: [PATCH v4 01/10] libhns: Use a constant instead of sizeof operation - -The sge size is known to be constant, so it's unnecessary to use sizeof to -calculate. - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u_hw_v2.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 0169250..d9ea18e 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -847,13 +847,12 @@ static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - uint32_t num_buf, - enum hns_roce_wr_buf_type buf_type) - { -- unsigned int sge_sz = sizeof(struct hns_roce_v2_wqe_data_seg); - unsigned int sge_mask = qp->ex_sge.sge_cnt - 1; - void *dst_addr, *src_addr, *tail_bound_addr; - uint32_t src_len, tail_len; - int i; - -- if (sge_info->total_len > qp->sq.max_gs * sge_sz) -+ if (sge_info->total_len > qp->sq.max_gs * HNS_ROCE_SGE_SIZE) - return EINVAL; - - dst_addr = get_send_sge_ex(qp, sge_info->start_idx & sge_mask); -@@ -880,7 +879,7 @@ static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - } - } - -- sge_info->valid_num = DIV_ROUND_UP(sge_info->total_len, sge_sz); -+ sge_info->valid_num = DIV_ROUND_UP(sge_info->total_len, HNS_ROCE_SGE_SIZE); - sge_info->start_idx += sge_info->valid_num; - - return 0; --- -2.30.0 - diff --git a/0002-libhns-Fix-ext_sge-num-error-when-post-send.patch b/0002-libhns-Fix-ext_sge-num-error-when-post-send.patch deleted file mode 100644 index a7ca2c8af2955078c527ef76ef7e2380f754a431..0000000000000000000000000000000000000000 --- a/0002-libhns-Fix-ext_sge-num-error-when-post-send.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a57d5dfbc2701b9d0c47eb70a1bb82b16170a7d2 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Tue, 20 Sep 2022 11:53:18 +0800 -Subject: [PATCH v4 02/10] libhns: Fix ext_sge num error when post send - -The max_gs is the sum of extended sge and standard sge. In function -fill_ext_sge_inl_data, max_gs does not subtract the number of extended -sges, but is directly used to calculate the size of extended sges. - -Fixes:b7814b7b9715("libhns: Support inline data in extented sge space for RC") - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u_hw_v2.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index d9ea18e..bb4298f 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -841,6 +841,14 @@ static void get_src_buf_info(void **src_addr, uint32_t *src_len, - } - } - -+static unsigned int get_std_sge_num(struct hns_roce_qp *qp) -+{ -+ if (qp->verbs_qp.qp.qp_type == IBV_QPT_UD) -+ return 0; -+ -+ return HNS_ROCE_SGE_IN_WQE; -+} -+ - static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - struct hns_roce_sge_info *sge_info, - const void *buf_list, -@@ -850,9 +858,12 @@ static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - unsigned int sge_mask = qp->ex_sge.sge_cnt - 1; - void *dst_addr, *src_addr, *tail_bound_addr; - uint32_t src_len, tail_len; -+ unsigned int std_sge_num; - int i; - -- if (sge_info->total_len > qp->sq.max_gs * HNS_ROCE_SGE_SIZE) -+ std_sge_num = get_std_sge_num(qp); -+ if (sge_info->total_len > -+ (qp->sq.max_gs - std_sge_num) * HNS_ROCE_SGE_SIZE) - return EINVAL; - - dst_addr = get_send_sge_ex(qp, sge_info->start_idx & sge_mask); --- -2.30.0 - diff --git a/0003-Update-kernel-headers.patch b/0003-Update-kernel-headers.patch deleted file mode 100644 index 616b58c528661a028c35063145a36822f1dddee2..0000000000000000000000000000000000000000 --- a/0003-Update-kernel-headers.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f20816984da80e2fe9a82b3b330f85150763243e Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Mon, 26 Sep 2022 11:14:05 +0800 -Subject: [PATCH v4 03/10] Update kernel headers - -To commit ?? ("RDMA/hns: Fix the problem of sge nums"). - -Signed-off-by: Luoyouming ---- - kernel-headers/rdma/hns-abi.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index f6fde06..fc83dfb 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -85,11 +85,26 @@ struct hns_roce_ib_create_qp_resp { - __aligned_u64 dwqe_mmap_key; - }; - -+enum { -+ HNS_ROCE_EXSGE_FLAGS = 1 << 0, -+}; -+ -+enum { -+ HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0, -+}; -+ - struct hns_roce_ib_alloc_ucontext_resp { - __u32 qp_tab_size; - __u32 cqe_size; - __u32 srq_tab_size; - __u32 reserved; -+ __u32 config; -+ __u32 max_inline_data; -+}; -+ -+struct hns_roce_ib_alloc_ucontext { -+ __u32 config; -+ __u32 reserved; - }; - - struct hns_roce_ib_alloc_pd_resp { --- -2.30.0 - diff --git a/0004-libhns-Fix-the-problem-of-sge-nums.patch b/0004-libhns-Fix-the-problem-of-sge-nums.patch deleted file mode 100644 index ada5774864aaafcc117ca10bddabf84ccb59dd68..0000000000000000000000000000000000000000 --- a/0004-libhns-Fix-the-problem-of-sge-nums.patch +++ /dev/null @@ -1,254 +0,0 @@ -From 448d82b2c62f09f1dd9c8045d34623dedef1c111 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Fri, 19 Nov 2021 20:21:21 +0800 -Subject: [PATCH v4 04/10] libhns: Fix the problem of sge nums - -Currently, the driver only uses max_send_sge to initialize sge num -when creating_qp. So, in the sq inline scenario, the driver may not -has enough sge to send data. For example, if max_send_sge is 16 and -max_inline_data is 1024, the driver needs 1024/16=64 sge to send data. -Therefore, the calculation method of sge num is modified to take the -maximum value of max_send_sge and max_inline_data/16 to solve this -problem. - -Fixes:11c81d0e3a98("libhns: Refactor process of setting extended sge") -Fixes:b7814b7b9715("libhns: Support inline data in extented sge space for RC") - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 9 +++- - providers/hns/hns_roce_u.h | 3 ++ - providers/hns/hns_roce_u_abi.h | 2 +- - providers/hns/hns_roce_u_hw_v2.c | 13 +---- - providers/hns/hns_roce_u_verbs.c | 84 ++++++++++++++++++++++++-------- - 5 files changed, 77 insertions(+), 34 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index a46ceb9..1bd5bb1 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -103,9 +103,9 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - { - struct hns_roce_device *hr_dev = to_hr_dev(ibdev); - struct hns_roce_alloc_ucontext_resp resp = {}; -+ struct hns_roce_alloc_ucontext cmd = {}; - struct ibv_device_attr dev_attrs; - struct hns_roce_context *context; -- struct ibv_get_context cmd; - int i; - - context = verbs_init_and_alloc_context(ibdev, cmd_fd, context, ibv_ctx, -@@ -113,7 +113,8 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - if (!context) - return NULL; - -- if (ibv_cmd_get_context(&context->ibv_ctx, &cmd, sizeof(cmd), -+ cmd.config |= HNS_ROCE_EXSGE_FLAGS; -+ if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; - -@@ -124,6 +125,10 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - else - context->cqe_size = HNS_ROCE_V3_CQE_SIZE; - -+ context->config = resp.config; -+ if (resp.config & HNS_ROCE_RSP_EXSGE_FLAGS) -+ context->max_inline_data = resp.max_inline_data; -+ - context->qp_table_shift = calc_table_shift(resp.qp_tab_size, - HNS_ROCE_QP_TABLE_BITS); - context->qp_table_mask = (1 << context->qp_table_shift) - 1; -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 5d90634..5388f9c 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -213,6 +213,8 @@ struct hns_roce_context { - unsigned int max_srq_sge; - int max_cqe; - unsigned int cqe_size; -+ uint32_t config; -+ unsigned int max_inline_data; - }; - - struct hns_roce_pd { -@@ -267,6 +269,7 @@ struct hns_roce_wq { - unsigned int head; - unsigned int tail; - unsigned int max_gs; -+ unsigned int ext_sge_cnt; - unsigned int rsv_sge; - unsigned int wqe_shift; - unsigned int shift; /* wq size is 2^shift */ -diff --git a/providers/hns/hns_roce_u_abi.h b/providers/hns/hns_roce_u_abi.h -index 333f977..2753d30 100644 ---- a/providers/hns/hns_roce_u_abi.h -+++ b/providers/hns/hns_roce_u_abi.h -@@ -47,7 +47,7 @@ DECLARE_DRV_CMD(hns_roce_create_cq_ex, IB_USER_VERBS_EX_CMD_CREATE_CQ, - hns_roce_ib_create_cq, hns_roce_ib_create_cq_resp); - - DECLARE_DRV_CMD(hns_roce_alloc_ucontext, IB_USER_VERBS_CMD_GET_CONTEXT, -- empty, hns_roce_ib_alloc_ucontext_resp); -+ hns_roce_ib_alloc_ucontext, hns_roce_ib_alloc_ucontext_resp); - - DECLARE_DRV_CMD(hns_roce_create_qp, IB_USER_VERBS_CMD_CREATE_QP, - hns_roce_ib_create_qp, hns_roce_ib_create_qp_resp); -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index bb4298f..ebe68bc 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -841,14 +841,6 @@ static void get_src_buf_info(void **src_addr, uint32_t *src_len, - } - } - --static unsigned int get_std_sge_num(struct hns_roce_qp *qp) --{ -- if (qp->verbs_qp.qp.qp_type == IBV_QPT_UD) -- return 0; -- -- return HNS_ROCE_SGE_IN_WQE; --} -- - static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - struct hns_roce_sge_info *sge_info, - const void *buf_list, -@@ -858,12 +850,9 @@ static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - unsigned int sge_mask = qp->ex_sge.sge_cnt - 1; - void *dst_addr, *src_addr, *tail_bound_addr; - uint32_t src_len, tail_len; -- unsigned int std_sge_num; - int i; - -- std_sge_num = get_std_sge_num(qp); -- if (sge_info->total_len > -- (qp->sq.max_gs - std_sge_num) * HNS_ROCE_SGE_SIZE) -+ if (sge_info->total_len > qp->sq.ext_sge_cnt * HNS_ROCE_SGE_SIZE) - return EINVAL; - - dst_addr = get_send_sge_ex(qp, sge_info->start_idx & sge_mask); -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index ba7f2ae..851b145 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -978,41 +978,88 @@ err_alloc: - return -ENOMEM; - } - --static unsigned int get_wqe_ext_sge_cnt(struct hns_roce_qp *qp) -+/** -+ * Calculated sge num according to attr's max_send_sge -+ */ -+static unsigned int get_sge_num_from_max_send_sge(bool is_ud, -+ uint32_t max_send_sge) - { -- if (qp->verbs_qp.qp.qp_type == IBV_QPT_UD) -- return qp->sq.max_gs; -+ unsigned int std_sge_num; -+ unsigned int min_sge; - -- if (qp->sq.max_gs > HNS_ROCE_SGE_IN_WQE) -- return qp->sq.max_gs - HNS_ROCE_SGE_IN_WQE; -+ std_sge_num = is_ud ? 0 : HNS_ROCE_SGE_IN_WQE; -+ min_sge = is_ud ? 1 : 0; -+ return max_send_sge > std_sge_num ? (max_send_sge - std_sge_num) : -+ min_sge; -+} - -- return 0; -+/** -+ * Calculated sge num according to attr's max_inline_data -+ */ -+static unsigned int get_sge_num_from_max_inl_data(bool is_ud, -+ uint32_t max_inline_data) -+{ -+ unsigned int inline_sge = 0; -+ -+ inline_sge = max_inline_data / HNS_ROCE_SGE_SIZE; -+ /* -+ * if max_inline_data less than -+ * HNS_ROCE_SGE_IN_WQE * HNS_ROCE_SGE_SIZE, -+ * In addition to ud's mode, no need to extend sge. -+ */ -+ if (!is_ud && (inline_sge <= HNS_ROCE_SGE_IN_WQE)) -+ inline_sge = 0; -+ -+ return inline_sge; - } - --static void set_ext_sge_param(struct hns_roce_device *hr_dev, -+static void set_ext_sge_param(struct hns_roce_context *ctx, - struct ibv_qp_init_attr_ex *attr, - struct hns_roce_qp *qp, unsigned int wr_cnt) - { -+ bool is_ud = (qp->verbs_qp.qp.qp_type == IBV_QPT_UD); -+ unsigned int ext_wqe_sge_cnt; -+ unsigned int inline_ext_sge; - unsigned int total_sge_cnt; -- unsigned int wqe_sge_cnt; -+ unsigned int std_sge_num; - - qp->ex_sge.sge_shift = HNS_ROCE_SGE_SHIFT; -- -- qp->sq.max_gs = attr->cap.max_send_sge; -- -- wqe_sge_cnt = get_wqe_ext_sge_cnt(qp); -+ std_sge_num = is_ud ? 0 : HNS_ROCE_SGE_IN_WQE; -+ ext_wqe_sge_cnt = get_sge_num_from_max_send_sge(is_ud, -+ attr->cap.max_send_sge); -+ -+ if (ctx->config & HNS_ROCE_RSP_EXSGE_FLAGS) { -+ attr->cap.max_inline_data = min_t(uint32_t, roundup_pow_of_two( -+ attr->cap.max_inline_data), -+ ctx->max_inline_data); -+ -+ inline_ext_sge = max(ext_wqe_sge_cnt, -+ get_sge_num_from_max_inl_data(is_ud, -+ attr->cap.max_inline_data)); -+ qp->sq.ext_sge_cnt = inline_ext_sge ? -+ roundup_pow_of_two(inline_ext_sge) : 0; -+ qp->sq.max_gs = min((qp->sq.ext_sge_cnt + std_sge_num), -+ ctx->max_sge); -+ -+ ext_wqe_sge_cnt = qp->sq.ext_sge_cnt; -+ } else { -+ qp->sq.max_gs = max(1U, attr->cap.max_send_sge); -+ qp->sq.max_gs = min(qp->sq.max_gs, ctx->max_sge); -+ qp->sq.ext_sge_cnt = qp->sq.max_gs; -+ } - - /* If the number of extended sge is not zero, they MUST use the - * space of HNS_HW_PAGE_SIZE at least. - */ -- if (wqe_sge_cnt) { -- total_sge_cnt = roundup_pow_of_two(wr_cnt * wqe_sge_cnt); -- qp->ex_sge.sge_cnt = -- max(total_sge_cnt, -- (unsigned int)HNS_HW_PAGE_SIZE / HNS_ROCE_SGE_SIZE); -+ if (ext_wqe_sge_cnt) { -+ total_sge_cnt = roundup_pow_of_two(wr_cnt * ext_wqe_sge_cnt); -+ qp->ex_sge.sge_cnt = max(total_sge_cnt, -+ (unsigned int)HNS_HW_PAGE_SIZE / -+ HNS_ROCE_SGE_SIZE); - } - } - -+ - static void hns_roce_set_qp_params(struct ibv_qp_init_attr_ex *attr, - struct hns_roce_qp *qp, - struct hns_roce_context *ctx) -@@ -1044,10 +1091,9 @@ static void hns_roce_set_qp_params(struct ibv_qp_init_attr_ex *attr, - qp->sq.wqe_cnt = cnt; - qp->sq.shift = hr_ilog32(cnt); - -- set_ext_sge_param(hr_dev, attr, qp, cnt); -+ set_ext_sge_param(ctx, attr, qp, cnt); - - qp->sq.max_post = min(ctx->max_qp_wr, cnt); -- qp->sq.max_gs = min(ctx->max_sge, qp->sq.max_gs); - - qp->sq_signal_bits = attr->sq_sig_all ? 0 : 1; - --- -2.30.0 - diff --git a/0005-Update-kernel-headers.patch b/0005-Update-kernel-headers.patch deleted file mode 100644 index 7d68e63af12aceaee23f6a5956408394dd696a64..0000000000000000000000000000000000000000 --- a/0005-Update-kernel-headers.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 542b54285dbaebbe0b5eb3279134b02484d7329d Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Mon, 10 Oct 2022 21:21:55 +0800 -Subject: [PATCH v4 05/10] Update kernel headers - -To commit ?? ("RDMA/hns: Remove enable rq inline in kernel and add -compatibility handling"). - -Signed-off-by: Luoyouming ---- - kernel-headers/rdma/hns-abi.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index fc83dfb..c70465d 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -87,10 +87,12 @@ struct hns_roce_ib_create_qp_resp { - - enum { - HNS_ROCE_EXSGE_FLAGS = 1 << 0, -+ HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1, - }; - - enum { - HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0, -+ HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1, - }; - - struct hns_roce_ib_alloc_ucontext_resp { --- -2.30.0 - diff --git a/0006-libhns-Add-compatibility-handling-for-rq-inline.patch b/0006-libhns-Add-compatibility-handling-for-rq-inline.patch deleted file mode 100644 index 9854b872a9ec05c9f8aa145aae26e9ecac758aa4..0000000000000000000000000000000000000000 --- a/0006-libhns-Add-compatibility-handling-for-rq-inline.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 996bca51e2063dc790286cbc894e2c438f499441 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Mon, 10 Oct 2022 21:49:35 +0800 -Subject: [PATCH v4 06/10] libhns: Add compatibility handling for rq inline - -Add compatibility processing between different user space -and kernel space. - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 2 +- - providers/hns/hns_roce_u_verbs.c | 4 +++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 1bd5bb1..6c9aefa 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -113,7 +113,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - if (!context) - return NULL; - -- cmd.config |= HNS_ROCE_EXSGE_FLAGS; -+ cmd.config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS; - if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 851b145..3e9a306 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -1079,7 +1079,9 @@ static void hns_roce_set_qp_params(struct ibv_qp_init_attr_ex *attr, - cnt = roundup_pow_of_two(attr->cap.max_recv_wr); - qp->rq.wqe_cnt = cnt; - qp->rq.shift = hr_ilog32(cnt); -- qp->rq_rinl_buf.wqe_cnt = cnt; -+ qp->rq_rinl_buf.wqe_cnt = 0; -+ if (ctx->config & HNS_ROCE_RSP_RQ_INLINE_FLAGS) -+ qp->rq_rinl_buf.wqe_cnt = cnt; - - attr->cap.max_recv_wr = qp->rq.wqe_cnt; - attr->cap.max_recv_sge = qp->rq.max_gs; --- -2.30.0 - diff --git a/0007-libhns-Refactor-rq-inline.patch b/0007-libhns-Refactor-rq-inline.patch deleted file mode 100644 index 00de21ff263d3017a452b9aae4482afa47e401ae..0000000000000000000000000000000000000000 --- a/0007-libhns-Refactor-rq-inline.patch +++ /dev/null @@ -1,301 +0,0 @@ -From 9e5f5d39757a5479a1a4e1170978d2e09acb995b Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Fri, 9 Sep 2022 17:42:38 +0800 -Subject: [PATCH v4 07/10] libhns: Refactor rq inline - -The ibv_sge struct is enough, there is no need to customize the -hns_roce_rinl_sge struct. Refactored structures and functions -for reuse in cqe inline (rq, srq scenarios). - -Signed-off-by: Luoyouming ---- - providers/hns/hns_roce_u.h | 7 +-- - providers/hns/hns_roce_u_hw_v2.c | 103 +++++++++++++++---------------- - providers/hns/hns_roce_u_verbs.c | 46 +++++++------- - 3 files changed, 75 insertions(+), 81 deletions(-) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 5388f9c..57ebe55 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -290,13 +290,8 @@ struct hns_roce_sge_ex { - unsigned int sge_shift; - }; - --struct hns_roce_rinl_sge { -- void *addr; -- unsigned int len; --}; -- - struct hns_roce_rinl_wqe { -- struct hns_roce_rinl_sge *sg_list; -+ struct ibv_sge *sg_list; - unsigned int sge_cnt; - }; - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index ebe68bc..73acc9e 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #include "hns_roce_u.h" - #include "hns_roce_u_db.h" - #include "hns_roce_u_hw_v2.h" -@@ -417,46 +418,42 @@ static void get_opcode_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - wc->opcode = wc_rcv_op_map[opcode]; - } - --static int handle_recv_inl_wqe(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, -- struct hns_roce_qp **cur_qp, uint32_t opcode) -+static void handle_recv_inl_data(struct hns_roce_v2_cqe *cqe, -+ struct hns_roce_rinl_buf *rinl_buf, -+ uint32_t wr_cnt, uint8_t *buf) - { -- if (((*cur_qp)->verbs_qp.qp.qp_type == IBV_QPT_RC) && -- (opcode == HNS_ROCE_RECV_OP_SEND || -- opcode == HNS_ROCE_RECV_OP_SEND_WITH_IMM || -- opcode == HNS_ROCE_RECV_OP_SEND_WITH_INV) && -- hr_reg_read(cqe, CQE_RQ_INLINE)) { -- struct hns_roce_rinl_sge *sge_list; -- uint32_t wr_num, wr_cnt, sge_num, data_len; -- uint8_t *wqe_buf; -- uint32_t sge_cnt, size; -+ struct ibv_sge *sge_list; -+ uint32_t sge_num, data_len; -+ uint32_t sge_cnt, size; - -- wr_num = hr_reg_read(cqe, CQE_WQE_IDX); -- wr_cnt = wr_num & ((*cur_qp)->rq.wqe_cnt - 1); -+ sge_list = rinl_buf->wqe_list[wr_cnt].sg_list; -+ sge_num = rinl_buf->wqe_list[wr_cnt].sge_cnt; - -- sge_list = (*cur_qp)->rq_rinl_buf.wqe_list[wr_cnt].sg_list; -- sge_num = (*cur_qp)->rq_rinl_buf.wqe_list[wr_cnt].sge_cnt; -- wqe_buf = (uint8_t *)get_recv_wqe_v2(*cur_qp, wr_cnt); -+ data_len = le32toh(cqe->byte_cnt); - -- data_len = wc->byte_len; -+ for (sge_cnt = 0; (sge_cnt < sge_num) && (data_len); sge_cnt++) { -+ size = min(sge_list[sge_cnt].length, data_len); - -- for (sge_cnt = 0; (sge_cnt < sge_num) && (data_len); -- sge_cnt++) { -- size = sge_list[sge_cnt].len < data_len ? -- sge_list[sge_cnt].len : data_len; -+ memcpy((void *)(uintptr_t)sge_list[sge_cnt].addr, (void *)buf, size); -+ data_len -= size; -+ buf += size; -+ } - -- memcpy((void *)sge_list[sge_cnt].addr, -- (void *)wqe_buf, size); -- data_len -= size; -- wqe_buf += size; -- } -+ if (data_len) -+ hr_reg_write(cqe, CQE_STATUS, HNS_ROCE_V2_CQE_LOCAL_LENGTH_ERR); - -- if (data_len) { -- wc->status = IBV_WC_LOC_LEN_ERR; -- return V2_CQ_POLL_ERR; -- } -- } -+} - -- return V2_CQ_OK; -+static void handle_recv_rq_inl(struct hns_roce_v2_cqe *cqe, -+ struct hns_roce_qp *cur_qp) -+{ -+ uint8_t *wqe_buf; -+ uint32_t wr_num; -+ -+ wr_num = hr_reg_read(cqe, CQE_WQE_IDX) & (cur_qp->rq.wqe_cnt - 1); -+ -+ wqe_buf = (uint8_t *)get_recv_wqe_v2(cur_qp, wr_num); -+ handle_recv_inl_data(cqe, &(cur_qp->rq_rinl_buf), wr_num, wqe_buf); - } - - static void parse_for_ud_qp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc) -@@ -479,10 +476,9 @@ static void parse_cqe_for_srq(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - } - - static int parse_cqe_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, -- struct hns_roce_qp *hr_qp, uint8_t opcode) -+ struct hns_roce_qp *hr_qp) - { - struct hns_roce_wq *wq; -- int ret; - - wq = &hr_qp->rq; - wc->wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; -@@ -491,12 +487,8 @@ static int parse_cqe_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - if (hr_qp->verbs_qp.qp.qp_type == IBV_QPT_UD) - parse_for_ud_qp(cqe, wc); - -- ret = handle_recv_inl_wqe(cqe, wc, &hr_qp, opcode); -- if (ret) { -- verbs_err(verbs_get_ctx(hr_qp->verbs_qp.qp.context), -- PFX "failed to handle recv inline wqe!\n"); -- return ret; -- } -+ if (hr_reg_read(cqe, CQE_RQ_INLINE)) -+ handle_recv_rq_inl(cqe, hr_qp); - - return 0; - } -@@ -626,7 +618,7 @@ static int parse_cqe_for_cq(struct hns_roce_context *ctx, struct hns_roce_cq *cq - if (srq) - parse_cqe_for_srq(cqe, wc, srq); - else -- parse_cqe_for_resp(cqe, wc, cur_qp, opcode); -+ parse_cqe_for_resp(cqe, wc, cur_qp); - } - - return 0; -@@ -1355,26 +1347,31 @@ static void fill_recv_sge_to_wqe(struct ibv_recv_wr *wr, void *wqe, - } - } - -+static void fill_recv_inl_buf(struct hns_roce_rinl_buf *rinl_buf, -+ unsigned int wqe_idx, struct ibv_recv_wr *wr) -+{ -+ struct ibv_sge *sge_list; -+ unsigned int i; -+ -+ if (!rinl_buf->wqe_cnt) -+ return; -+ -+ sge_list = rinl_buf->wqe_list[wqe_idx].sg_list; -+ rinl_buf->wqe_list[wqe_idx].sge_cnt = (unsigned int)wr->num_sge; -+ for (i = 0; i < wr->num_sge; i++) -+ memcpy((void *)&sge_list[i], (void *)&wr->sg_list[i], -+ sizeof(struct ibv_sge)); -+} -+ - static void fill_rq_wqe(struct hns_roce_qp *qp, struct ibv_recv_wr *wr, - unsigned int wqe_idx, unsigned int max_sge) - { -- struct hns_roce_rinl_sge *sge_list; -- unsigned int i; - void *wqe; - - wqe = get_recv_wqe_v2(qp, wqe_idx); - fill_recv_sge_to_wqe(wr, wqe, max_sge, qp->rq.rsv_sge); - -- if (!qp->rq_rinl_buf.wqe_cnt) -- return; -- -- /* QP support receive inline wqe */ -- sge_list = qp->rq_rinl_buf.wqe_list[wqe_idx].sg_list; -- qp->rq_rinl_buf.wqe_list[wqe_idx].sge_cnt = (unsigned int)wr->num_sge; -- for (i = 0; i < wr->num_sge; i++) { -- sge_list[i].addr = (void *)(uintptr_t)wr->sg_list[i].addr; -- sge_list[i].len = wr->sg_list[i].length; -- } -+ fill_recv_inl_buf(&qp->rq_rinl_buf, wqe_idx, wr); - } - - static int hns_roce_u_v2_post_recv(struct ibv_qp *ibvqp, struct ibv_recv_wr *wr, -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 3e9a306..1d661dd 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -855,43 +855,45 @@ static int verify_qp_create_attr(struct hns_roce_context *ctx, - return verify_qp_create_cap(ctx, attr); - } - --static int qp_alloc_recv_inl_buf(struct ibv_qp_cap *cap, -- struct hns_roce_qp *qp) -+static int alloc_recv_rinl_buf(uint32_t max_sge, -+ struct hns_roce_rinl_buf *rinl_buf) - { - unsigned int cnt; - int i; - -- cnt = qp->rq_rinl_buf.wqe_cnt; -- qp->rq_rinl_buf.wqe_list = calloc(cnt, -- sizeof(struct hns_roce_rinl_wqe)); -- if (!qp->rq_rinl_buf.wqe_list) -+ cnt = rinl_buf->wqe_cnt; -+ rinl_buf->wqe_list = calloc(cnt, -+ sizeof(struct hns_roce_rinl_wqe)); -+ if (!rinl_buf->wqe_list) - return ENOMEM; - -- qp->rq_rinl_buf.wqe_list[0].sg_list = calloc(cnt * cap->max_recv_sge, -- sizeof(struct hns_roce_rinl_sge)); -- if (!qp->rq_rinl_buf.wqe_list[0].sg_list) -+ rinl_buf->wqe_list[0].sg_list = calloc(cnt * max_sge, -+ sizeof(struct ibv_sge)); -+ if (!rinl_buf->wqe_list[0].sg_list) { -+ free(rinl_buf->wqe_list); - return ENOMEM; -+ } - - for (i = 0; i < cnt; i++) { -- int wqe_size = i * cap->max_recv_sge; -+ int wqe_size = i * max_sge; - -- qp->rq_rinl_buf.wqe_list[i].sg_list = -- &(qp->rq_rinl_buf.wqe_list[0].sg_list[wqe_size]); -+ rinl_buf->wqe_list[i].sg_list = -+ &(rinl_buf->wqe_list[0].sg_list[wqe_size]); - } - - return 0; - } - --static void qp_free_recv_inl_buf(struct hns_roce_qp *qp) -+static void free_recv_rinl_buf(struct hns_roce_rinl_buf *rinl_buf) - { -- if (qp->rq_rinl_buf.wqe_list) { -- if (qp->rq_rinl_buf.wqe_list[0].sg_list) { -- free(qp->rq_rinl_buf.wqe_list[0].sg_list); -- qp->rq_rinl_buf.wqe_list[0].sg_list = NULL; -+ if (rinl_buf->wqe_list) { -+ if (rinl_buf->wqe_list[0].sg_list) { -+ free(rinl_buf->wqe_list[0].sg_list); -+ rinl_buf->wqe_list[0].sg_list = NULL; - } - -- free(qp->rq_rinl_buf.wqe_list); -- qp->rq_rinl_buf.wqe_list = NULL; -+ free(rinl_buf->wqe_list); -+ rinl_buf->wqe_list = NULL; - } - } - -@@ -930,7 +932,7 @@ static int calc_qp_buff_size(struct hns_roce_device *hr_dev, - - static void qp_free_wqe(struct hns_roce_qp *qp) - { -- qp_free_recv_inl_buf(qp); -+ free_recv_rinl_buf(&qp->rq_rinl_buf); - if (qp->sq.wqe_cnt) - free(qp->sq.wrid); - -@@ -958,7 +960,7 @@ static int qp_alloc_wqe(struct ibv_qp_cap *cap, struct hns_roce_qp *qp, - } - - if (qp->rq_rinl_buf.wqe_cnt) { -- if (qp_alloc_recv_inl_buf(cap, qp)) -+ if (alloc_recv_rinl_buf(cap->max_recv_sge, &qp->rq_rinl_buf)) - goto err_alloc; - } - -@@ -968,7 +970,7 @@ static int qp_alloc_wqe(struct ibv_qp_cap *cap, struct hns_roce_qp *qp, - return 0; - - err_alloc: -- qp_free_recv_inl_buf(qp); -+ free_recv_rinl_buf(&qp->rq_rinl_buf); - if (qp->rq.wrid) - free(qp->rq.wrid); - --- -2.30.0 - diff --git a/0008-libhns-RQ-inline-support-wc_x_poll_cq-interface.patch b/0008-libhns-RQ-inline-support-wc_x_poll_cq-interface.patch deleted file mode 100644 index aa9e57eb79b45cdf724a2b5b97fecb58582be9fb..0000000000000000000000000000000000000000 --- a/0008-libhns-RQ-inline-support-wc_x_poll_cq-interface.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 22beeec9a0d8272fc4db60275ee4eee890068102 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Tue, 11 Oct 2022 10:21:24 +0800 -Subject: [PATCH v4 08/10] libhns: RQ inline support wc_x_poll_cq interface - -RQ inline support user use wc_x_poll_cq get data. - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u_hw_v2.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index b37ea92..25d8861 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -561,10 +561,15 @@ static void cqe_proc_srq(struct hns_roce_srq *srq, uint32_t wqe_idx, - hns_roce_free_srq_wqe(srq, wqe_idx); - } - --static void cqe_proc_rq(struct hns_roce_wq *wq, struct hns_roce_cq *cq) -+static void cqe_proc_rq(struct hns_roce_qp *hr_qp, struct hns_roce_cq *cq) - { -+ struct hns_roce_wq *wq = &hr_qp->rq; -+ - cq->verbs_cq.cq_ex.wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; - ++wq->tail; -+ -+ if (hr_reg_read(cq->cqe, CQE_RQ_INLINE)) -+ handle_recv_rq_inl(cq->cqe, hr_qp); - } - - static int cqe_proc_wq(struct hns_roce_context *ctx, struct hns_roce_qp *qp, -@@ -584,7 +589,7 @@ static int cqe_proc_wq(struct hns_roce_context *ctx, struct hns_roce_qp *qp, - if (srq) - cqe_proc_srq(srq, wqe_idx, cq); - else -- cqe_proc_rq(&qp->rq, cq); -+ cqe_proc_rq(qp, cq); - } - - return 0; --- -2.30.0 - diff --git a/0009-Update-kernel-headers.patch b/0009-Update-kernel-headers.patch deleted file mode 100644 index 0f02221a6e2d4080a232de8e633e5e22f7459705..0000000000000000000000000000000000000000 --- a/0009-Update-kernel-headers.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 14cee9bd8ab06104b9f9a0326b8d17a5bf8ee647 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Tue, 11 Oct 2022 10:50:36 +0800 -Subject: [PATCH v4 09/10] Update kernel headers - -To commit ?? ("RDMA/hns: Support cqe inline in user space"). - -Signed-off-by: Luoyouming ---- - kernel-headers/rdma/hns-abi.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index c70465d..41738b8 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -88,11 +88,13 @@ struct hns_roce_ib_create_qp_resp { - enum { - HNS_ROCE_EXSGE_FLAGS = 1 << 0, - HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1, -+ HNS_ROCE_CQE_INLINE_FLAGS = 1 << 2, - }; - - enum { - HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0, - HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1, -+ HNS_ROCE_RSP_CQE_INLINE_FLAGS = 1 << 2, - }; - - struct hns_roce_ib_alloc_ucontext_resp { --- -2.30.0 - diff --git a/0010-libhns-Support-cqe-inline.patch b/0010-libhns-Support-cqe-inline.patch deleted file mode 100644 index 56982340e48d316f574b8ca5fb1a25eb5b25adf8..0000000000000000000000000000000000000000 --- a/0010-libhns-Support-cqe-inline.patch +++ /dev/null @@ -1,263 +0,0 @@ -From 71eb90581a338242a26123790e5f24df90327465 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Thu, 11 Aug 2022 20:50:54 +0800 -Subject: [PATCH v4 10/10] libhns: Support cqe inline - -When rq or srq recv data less than or equal to 32 byte in size, roce driver -support get data from cqe. - -Signed-off-by: Luoyouming -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 3 ++- - providers/hns/hns_roce_u.h | 21 +++++++++-------- - providers/hns/hns_roce_u_hw_v2.c | 39 ++++++++++++++++++++++++++++++-- - providers/hns/hns_roce_u_hw_v2.h | 4 ++-- - providers/hns/hns_roce_u_verbs.c | 25 ++++++++++++++++++-- - 5 files changed, 75 insertions(+), 17 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 6c9aefa..266e73e 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -113,7 +113,8 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - if (!context) - return NULL; - -- cmd.config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS; -+ cmd.config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS | -+ HNS_ROCE_CQE_INLINE_FLAGS; - if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 57ebe55..6b64cd0 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -246,10 +246,21 @@ struct hns_roce_idx_que { - unsigned int tail; - }; - -+struct hns_roce_rinl_wqe { -+ struct ibv_sge *sg_list; -+ unsigned int sge_cnt; -+}; -+ -+struct hns_roce_rinl_buf { -+ struct hns_roce_rinl_wqe *wqe_list; -+ unsigned int wqe_cnt; -+}; -+ - struct hns_roce_srq { - struct verbs_srq verbs_srq; - struct hns_roce_idx_que idx_que; - struct hns_roce_buf wqe_buf; -+ struct hns_roce_rinl_buf srq_rinl_buf; - pthread_spinlock_t lock; - unsigned long *wrid; - unsigned int srqn; -@@ -290,16 +301,6 @@ struct hns_roce_sge_ex { - unsigned int sge_shift; - }; - --struct hns_roce_rinl_wqe { -- struct ibv_sge *sg_list; -- unsigned int sge_cnt; --}; -- --struct hns_roce_rinl_buf { -- struct hns_roce_rinl_wqe *wqe_list; -- unsigned int wqe_cnt; --}; -- - struct hns_roce_qp { - struct verbs_qp verbs_qp; - struct hns_roce_buf buf; -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 25d8861..7063b26 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -444,6 +444,28 @@ static void handle_recv_inl_data(struct hns_roce_v2_cqe *cqe, - - } - -+static void handle_recv_cqe_inl_from_rq(struct hns_roce_v2_cqe *cqe, -+ struct hns_roce_qp *cur_qp) -+{ -+ uint32_t wr_num; -+ -+ wr_num = hr_reg_read(cqe, CQE_WQE_IDX) & (cur_qp->rq.wqe_cnt - 1); -+ -+ handle_recv_inl_data(cqe, &(cur_qp->rq_rinl_buf), wr_num, -+ (uint8_t *)cqe->payload); -+} -+ -+static void handle_recv_cqe_inl_from_srq(struct hns_roce_v2_cqe *cqe, -+ struct hns_roce_srq *srq) -+{ -+ uint32_t wr_num; -+ -+ wr_num = hr_reg_read(cqe, CQE_WQE_IDX) & (srq->wqe_cnt - 1); -+ -+ handle_recv_inl_data(cqe, &(srq->srq_rinl_buf), wr_num, -+ (uint8_t *)cqe->payload); -+} -+ - static void handle_recv_rq_inl(struct hns_roce_v2_cqe *cqe, - struct hns_roce_qp *cur_qp) - { -@@ -473,6 +495,9 @@ static void parse_cqe_for_srq(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - wqe_idx = hr_reg_read(cqe, CQE_WQE_IDX); - wc->wr_id = srq->wrid[wqe_idx & (srq->wqe_cnt - 1)]; - hns_roce_free_srq_wqe(srq, wqe_idx); -+ -+ if (hr_reg_read(cqe, CQE_CQE_INLINE)) -+ handle_recv_cqe_inl_from_srq(cqe, srq); - } - - static int parse_cqe_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, -@@ -487,7 +512,9 @@ static int parse_cqe_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - if (hr_qp->verbs_qp.qp.qp_type == IBV_QPT_UD) - parse_for_ud_qp(cqe, wc); - -- if (hr_reg_read(cqe, CQE_RQ_INLINE)) -+ if (hr_reg_read(cqe, CQE_CQE_INLINE)) -+ handle_recv_cqe_inl_from_rq(cqe, hr_qp); -+ else if (hr_reg_read(cqe, CQE_RQ_INLINE)) - handle_recv_rq_inl(cqe, hr_qp); - - return 0; -@@ -559,6 +586,9 @@ static void cqe_proc_srq(struct hns_roce_srq *srq, uint32_t wqe_idx, - { - cq->verbs_cq.cq_ex.wr_id = srq->wrid[wqe_idx & (srq->wqe_cnt - 1)]; - hns_roce_free_srq_wqe(srq, wqe_idx); -+ -+ if (hr_reg_read(cq->cqe, CQE_CQE_INLINE)) -+ handle_recv_cqe_inl_from_srq(cq->cqe, srq); - } - - static void cqe_proc_rq(struct hns_roce_qp *hr_qp, struct hns_roce_cq *cq) -@@ -568,7 +598,9 @@ static void cqe_proc_rq(struct hns_roce_qp *hr_qp, struct hns_roce_cq *cq) - cq->verbs_cq.cq_ex.wr_id = wq->wrid[wq->tail & (wq->wqe_cnt - 1)]; - ++wq->tail; - -- if (hr_reg_read(cq->cqe, CQE_RQ_INLINE)) -+ if (hr_reg_read(cq->cqe, CQE_CQE_INLINE)) -+ handle_recv_cqe_inl_from_rq(cq->cqe, hr_qp); -+ else if (hr_reg_read(cq->cqe, CQE_RQ_INLINE)) - handle_recv_rq_inl(cq->cqe, hr_qp); - } - -@@ -1725,6 +1757,9 @@ static int hns_roce_u_v2_post_srq_recv(struct ibv_srq *ib_srq, - - wqe = get_srq_wqe(srq, wqe_idx); - fill_recv_sge_to_wqe(wr, wqe, max_sge, srq->rsv_sge); -+ -+ fill_recv_inl_buf(&srq->srq_rinl_buf, wqe_idx, wr); -+ - fill_wqe_idx(srq, wqe_idx); - - srq->wrid[wqe_idx] = wr->wr_id; -diff --git a/providers/hns/hns_roce_u_hw_v2.h b/providers/hns/hns_roce_u_hw_v2.h -index 098dbdf..d71c695 100644 ---- a/providers/hns/hns_roce_u_hw_v2.h -+++ b/providers/hns/hns_roce_u_hw_v2.h -@@ -157,7 +157,7 @@ struct hns_roce_v2_cqe { - __le32 smac; - __le32 byte_28; - __le32 byte_32; -- __le32 rsv[8]; -+ __le32 payload[8]; - }; - - #define CQE_FIELD_LOC(h, l) FIELD_LOC(struct hns_roce_v2_cqe, h, l) -@@ -170,7 +170,7 @@ struct hns_roce_v2_cqe { - #define CQE_WQE_IDX CQE_FIELD_LOC(31, 16) - #define CQE_RKEY_IMMTDATA CQE_FIELD_LOC(63, 32) - #define CQE_XRC_SRQN CQE_FIELD_LOC(87, 64) --#define CQE_RSV0 CQE_FIELD_LOC(95, 88) -+#define CQE_CQE_INLINE CQE_FIELD_LOC(89, 88) - #define CQE_LCL_QPN CQE_FIELD_LOC(119, 96) - #define CQE_SUB_STATUS CQE_FIELD_LOC(127, 120) - #define CQE_BYTE_CNT CQE_FIELD_LOC(159, 128) -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 1d661dd..cff9d1d 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -522,6 +522,8 @@ static int verify_srq_create_attr(struct hns_roce_context *context, - static void set_srq_param(struct ibv_context *context, struct hns_roce_srq *srq, - struct ibv_srq_init_attr_ex *attr) - { -+ struct hns_roce_context *ctx = to_hr_ctx(context); -+ - if (to_hr_dev(context->device)->hw_version == HNS_ROCE_HW_VER2) - srq->rsv_sge = 1; - -@@ -531,6 +533,10 @@ static void set_srq_param(struct ibv_context *context, struct hns_roce_srq *srq, - srq->max_gs)); - attr->attr.max_sge = srq->max_gs; - attr->attr.srq_limit = 0; -+ -+ srq->srq_rinl_buf.wqe_cnt = 0; -+ if (ctx->config & HNS_ROCE_RSP_CQE_INLINE_FLAGS) -+ srq->srq_rinl_buf.wqe_cnt = srq->wqe_cnt; - } - - static int alloc_srq_idx_que(struct hns_roce_srq *srq) -@@ -570,6 +576,11 @@ static int alloc_srq_wqe_buf(struct hns_roce_srq *srq) - return hns_roce_alloc_buf(&srq->wqe_buf, buf_size, HNS_HW_PAGE_SIZE); - } - -+static int alloc_recv_rinl_buf(uint32_t max_sge, -+ struct hns_roce_rinl_buf *rinl_buf); -+ -+static void free_recv_rinl_buf(struct hns_roce_rinl_buf *rinl_buf); -+ - static int alloc_srq_buf(struct hns_roce_srq *srq) - { - int ret; -@@ -582,14 +593,22 @@ static int alloc_srq_buf(struct hns_roce_srq *srq) - if (ret) - goto err_idx_que; - -+ if (srq->srq_rinl_buf.wqe_cnt) { -+ ret = alloc_recv_rinl_buf(srq->max_gs, &srq->srq_rinl_buf); -+ if (ret) -+ goto err_wqe_buf; -+ } -+ - srq->wrid = calloc(srq->wqe_cnt, sizeof(*srq->wrid)); - if (!srq->wrid) { - ret = -ENOMEM; -- goto err_wqe_buf; -+ goto err_inl_buf; - } - - return 0; - -+err_inl_buf: -+ free_recv_rinl_buf(&srq->srq_rinl_buf); - err_wqe_buf: - hns_roce_free_buf(&srq->wqe_buf); - err_idx_que: -@@ -603,6 +622,7 @@ static void free_srq_buf(struct hns_roce_srq *srq) - { - free(srq->wrid); - hns_roce_free_buf(&srq->wqe_buf); -+ free_recv_rinl_buf(&srq->srq_rinl_buf); - hns_roce_free_buf(&srq->idx_que.buf); - free(srq->idx_que.bitmap); - } -@@ -1082,7 +1102,8 @@ static void hns_roce_set_qp_params(struct ibv_qp_init_attr_ex *attr, - qp->rq.wqe_cnt = cnt; - qp->rq.shift = hr_ilog32(cnt); - qp->rq_rinl_buf.wqe_cnt = 0; -- if (ctx->config & HNS_ROCE_RSP_RQ_INLINE_FLAGS) -+ if (ctx->config & (HNS_ROCE_RSP_RQ_INLINE_FLAGS | -+ HNS_ROCE_RSP_CQE_INLINE_FLAGS)) - qp->rq_rinl_buf.wqe_cnt = cnt; - - attr->cap.max_recv_wr = qp->rq.wqe_cnt; --- -2.30.0 - diff --git a/0011-Update-kernel-headers.patch b/0011-Update-kernel-headers.patch deleted file mode 100644 index 7a86e1957fa707c6f8252bf53b338f9f45382b4b..0000000000000000000000000000000000000000 --- a/0011-Update-kernel-headers.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 12d2a17d404e3d5ba76863f64307ea52a7d15d15 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Sat, 29 Oct 2022 10:44:17 +0800 -Subject: [PATCH 11/12] Update kernel headers - -To commit ?? ("RDMA/hns: Support DSCP of userspace"). - -Signed-off-by: Yixing Liu ---- - kernel-headers/rdma/hns-abi.h | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index 41738b8..542be5e 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -85,6 +85,18 @@ struct hns_roce_ib_create_qp_resp { - __aligned_u64 dwqe_mmap_key; - }; - -+struct hns_roce_ib_create_ah_resp { -+ __u8 priority; -+ __u8 tc_mode; -+ __u8 reserved[6]; -+}; -+ -+struct hns_roce_ib_modify_qp_resp { -+ __u8 tc_mode; -+ __u8 priority; -+ __u8 reserved[6]; -+}; -+ - enum { - HNS_ROCE_EXSGE_FLAGS = 1 << 0, - HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1, --- -2.30.0 - diff --git a/0012-libhns-Support-DSCP.patch b/0012-libhns-Support-DSCP.patch deleted file mode 100644 index 6433809e6e64555207f17e5282ce053d79184c99..0000000000000000000000000000000000000000 --- a/0012-libhns-Support-DSCP.patch +++ /dev/null @@ -1,150 +0,0 @@ -From b88e6ae3e144651092bce923123ca20361cdacab Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Tue, 27 Sep 2022 19:06:00 +0800 -Subject: [PATCH 12/12] libhns: Support DSCP - -This patch adds user mode DSCP function through -the mapping of dscp-tc configured in kernel mode. - -Signed-off-by: Yixing Liu ---- - providers/hns/hns_roce_u.h | 7 +++++++ - providers/hns/hns_roce_u_abi.h | 6 ++++++ - providers/hns/hns_roce_u_hw_v2.c | 19 +++++++++++++++---- - providers/hns/hns_roce_u_verbs.c | 7 +++++-- - 4 files changed, 33 insertions(+), 6 deletions(-) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 6b64cd0..8c1cb1e 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -175,6 +175,11 @@ enum hns_roce_db_type { - HNS_ROCE_DB_TYPE_NUM - }; - -+enum hns_roce_tc_map_mode { -+ HNS_ROCE_TC_MAP_MODE_PRIO, -+ HNS_ROCE_TC_MAP_MODE_DSCP, -+}; -+ - struct hns_roce_db_page { - struct hns_roce_db_page *prev, *next; - struct hns_roce_buf buf; -@@ -315,6 +320,8 @@ struct hns_roce_qp { - unsigned int next_sge; - int port_num; - uint8_t sl; -+ uint8_t tc_mode; -+ uint8_t priority; - unsigned int qkey; - enum ibv_mtu path_mtu; - -diff --git a/providers/hns/hns_roce_u_abi.h b/providers/hns/hns_roce_u_abi.h -index 2753d30..0519ac7 100644 ---- a/providers/hns/hns_roce_u_abi.h -+++ b/providers/hns/hns_roce_u_abi.h -@@ -49,6 +49,9 @@ DECLARE_DRV_CMD(hns_roce_create_cq_ex, IB_USER_VERBS_EX_CMD_CREATE_CQ, - DECLARE_DRV_CMD(hns_roce_alloc_ucontext, IB_USER_VERBS_CMD_GET_CONTEXT, - hns_roce_ib_alloc_ucontext, hns_roce_ib_alloc_ucontext_resp); - -+DECLARE_DRV_CMD(hns_roce_create_ah, IB_USER_VERBS_CMD_CREATE_AH, empty, -+ hns_roce_ib_create_ah_resp); -+ - DECLARE_DRV_CMD(hns_roce_create_qp, IB_USER_VERBS_CMD_CREATE_QP, - hns_roce_ib_create_qp, hns_roce_ib_create_qp_resp); - -@@ -61,4 +64,7 @@ DECLARE_DRV_CMD(hns_roce_create_srq, IB_USER_VERBS_CMD_CREATE_SRQ, - DECLARE_DRV_CMD(hns_roce_create_srq_ex, IB_USER_VERBS_CMD_CREATE_XSRQ, - hns_roce_ib_create_srq, hns_roce_ib_create_srq_resp); - -+DECLARE_DRV_CMD(hns_roce_modify_qp_ex, IB_USER_VERBS_EX_CMD_MODIFY_QP, -+ empty, hns_roce_ib_modify_qp_resp); -+ - #endif /* _HNS_ROCE_U_ABI_H */ -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index a30d461..c652eea 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -1543,10 +1543,11 @@ static void record_qp_attr(struct ibv_qp *qp, struct ibv_qp_attr *attr, - static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - int attr_mask) - { -- int ret; -- struct ibv_modify_qp cmd; -+ struct hns_roce_modify_qp_ex_resp resp_ex = {}; -+ struct hns_roce_modify_qp_ex cmd_ex = {}; - struct hns_roce_qp *hr_qp = to_hr_qp(qp); - bool flag = false; /* modify qp to error */ -+ int ret; - - if ((attr_mask & IBV_QP_STATE) && (attr->qp_state == IBV_QPS_ERR)) { - pthread_spin_lock(&hr_qp->sq.lock); -@@ -1554,7 +1555,9 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - flag = true; - } - -- ret = ibv_cmd_modify_qp(qp, attr, attr_mask, &cmd, sizeof(cmd)); -+ ret = ibv_cmd_modify_qp_ex(qp, attr, attr_mask, &cmd_ex.ibv_cmd, -+ sizeof(cmd_ex), &resp_ex.ibv_resp, -+ sizeof(resp_ex)); - - if (flag) { - pthread_spin_unlock(&hr_qp->rq.lock); -@@ -1564,8 +1567,13 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - if (ret) - return ret; - -- if (attr_mask & IBV_QP_STATE) -+ if (attr_mask & IBV_QP_STATE) { - qp->state = attr->qp_state; -+ if (attr->qp_state == IBV_QPS_RTR) { -+ hr_qp->tc_mode = resp_ex.drv_payload.tc_mode; -+ hr_qp->priority = resp_ex.drv_payload.priority; -+ } -+ } - - if ((attr_mask & IBV_QP_STATE) && attr->qp_state == IBV_QPS_RESET) { - if (qp->recv_cq) -@@ -1579,6 +1587,9 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - hns_roce_init_qp_indices(to_hr_qp(qp)); - } - -+ if (hr_qp->tc_mode == HNS_ROCE_TC_MAP_MODE_DSCP) -+ hr_qp->sl = hr_qp->priority; -+ - record_qp_attr(qp, attr, attr_mask); - - return ret; -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index cff9d1d..3b7a67d 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -1449,7 +1449,7 @@ static int get_tclass(struct ibv_context *context, struct ibv_ah_attr *attr, - struct ibv_ah *hns_roce_u_create_ah(struct ibv_pd *pd, struct ibv_ah_attr *attr) - { - struct hns_roce_device *hr_dev = to_hr_dev(pd->context->device); -- struct ib_uverbs_create_ah_resp resp = {}; -+ struct hns_roce_create_ah_resp resp = {}; - struct hns_roce_ah *ah; - - /* HIP08 don't support create ah */ -@@ -1477,12 +1477,15 @@ struct ibv_ah *hns_roce_u_create_ah(struct ibv_pd *pd, struct ibv_ah_attr *attr) - memcpy(ah->av.dgid, attr->grh.dgid.raw, ARRAY_SIZE(ah->av.dgid)); - } - -- if (ibv_cmd_create_ah(pd, &ah->ibv_ah, attr, &resp, sizeof(resp))) -+ if (ibv_cmd_create_ah(pd, &ah->ibv_ah, attr, &resp.ibv_resp, sizeof(resp))) - goto err; - - if (ibv_resolve_eth_l2_from_gid(pd->context, attr, ah->av.mac, NULL)) - goto err; - -+ if (resp.tc_mode == HNS_ROCE_TC_MAP_MODE_DSCP) -+ ah->av.sl = resp.priority; -+ - ah->av.udp_sport = get_ah_udp_sport(attr); - - return &ah->ibv_ah; --- -2.30.0 - diff --git a/0013-cma-Release-allocated-port-array.patch b/0013-cma-Release-allocated-port-array.patch deleted file mode 100644 index dcbc3d5ea051864bb13042e1bd8d209e0fe77c72..0000000000000000000000000000000000000000 --- a/0013-cma-Release-allocated-port-array.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 6be317e9e2b894d460c4f3422f349895d475ef8d Mon Sep 17 00:00:00 2001 -From: Kirill Martynov -Date: Mon, 20 Jun 2022 16:29:09 +0300 -Subject: cma: Release allocated port array - -Fix mem leak for allocated port array - -Fixes: 1b9125689fec ("cma: Workaround for rdma_ucm kernel bug") -Signed-off-by: Kirill Martynov ---- - librdmacm/cma.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/librdmacm/cma.c b/librdmacm/cma.c -index 2bde34a..7b924bd 100644 ---- a/librdmacm/cma.c -+++ b/librdmacm/cma.c -@@ -304,6 +304,7 @@ static void remove_cma_dev(struct cma_device *cma_dev) - ibv_dealloc_pd(cma_dev->pd); - if (cma_dev->verbs) - ibv_close_device(cma_dev->verbs); -+ free(cma_dev->port); - list_del_from(&cma_dev_list, &cma_dev->entry); - free(cma_dev); - } --- -2.34.1 - diff --git a/0014-rsockets-Fix-allocation-size-There-is-memory-allocat.patch b/0014-rsockets-Fix-allocation-size-There-is-memory-allocat.patch deleted file mode 100644 index 0e0d7610531a77ff014fa335196c9dd9ee48d657..0000000000000000000000000000000000000000 --- a/0014-rsockets-Fix-allocation-size-There-is-memory-allocat.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3704db8f8496ffd967ef8d8840eef2c04b7f4b06 Mon Sep 17 00:00:00 2001 -From: Mikhail Sokolovskiy -Date: Fri, 1 Jul 2022 17:34:24 +0300 -Subject: rsockets: Fix allocation size There is memory allocation for (nfds + - 1) elements, but actually less space is allocated (1 byte for new element - instead of sizeof(pollfd)). This is caused by operators precedence mistake. - -Signed-off-by: Mikhail Sokolovskiy ---- - librdmacm/rsocket.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/librdmacm/rsocket.c b/librdmacm/rsocket.c -index 8c81096..e26a053 100644 ---- a/librdmacm/rsocket.c -+++ b/librdmacm/rsocket.c -@@ -3173,7 +3173,7 @@ static struct pollfd *rs_fds_alloc(nfds_t nfds) - else if (rs_pollinit()) - return NULL; - -- rfds = malloc(sizeof(*rfds) * nfds + 1); -+ rfds = malloc(sizeof(*rfds) * (nfds + 1)); - rnfds = rfds ? nfds + 1 : 0; - } - --- -2.34.1 - diff --git a/0015-tests-test_mr.py-Change-the-argument-of-DmaBufMR-to-.patch b/0015-tests-test_mr.py-Change-the-argument-of-DmaBufMR-to-.patch deleted file mode 100644 index 7ebafb7518eecafba3f6cd9979c64db80c47e8ec..0000000000000000000000000000000000000000 --- a/0015-tests-test_mr.py-Change-the-argument-of-DmaBufMR-to-.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 9cad02f325f48434343970d54bff5a5e897d9be2 Mon Sep 17 00:00:00 2001 -From: Wei Xu -Date: Thu, 11 Aug 2022 02:30:56 +0000 -Subject: tests/test_mr.py: Change the argument of DmaBufMR to fix the - TypeError - -Replaced the argument 'unit' with 'gpu' to fix following error for the DmaBufMRTest: - -TypeError: __init__() got an unexpected keyword argument 'unit' - -Fixed: ffa97cb59f82 ("tests: Let PyverbsAPITestCase have one default device") -Signed-off-by: Wei Xu ---- - tests/test_mr.py | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/tests/test_mr.py b/tests/test_mr.py -index 3ec1fb3..f34b4d0 100644 ---- a/tests/test_mr.py -+++ b/tests/test_mr.py -@@ -490,7 +490,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - for f in flags: - len = u.get_mr_length() - for off in [0, len//2]: -- with DmaBufMR(pd, len, f, offset=off, unit=self.gpu, -+ with DmaBufMR(pd, len, f, offset=off, gpu=self.gpu, - gtt=self.gtt) as mr: - pass - -@@ -505,7 +505,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - for f in flags: - len = u.get_mr_length() - for off in [0, len//2]: -- with DmaBufMR(pd, len, f, offset=off, unit=self.gpu, -+ with DmaBufMR(pd, len, f, offset=off, gpu=self.gpu, - gtt=self.gtt) as mr: - mr.close() - -@@ -520,7 +520,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - for f in flags: - len = u.get_mr_length() - for off in [0, len//2]: -- with DmaBufMR(pd, len, f, offset=off, unit=self.gpu, -+ with DmaBufMR(pd, len, f, offset=off, gpu=self.gpu, - gtt=self.gtt) as mr: - # Pyverbs supports multiple destruction of objects, - # we are not expecting an exception here. -@@ -543,7 +543,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - mr_flags += i.value - try: - DmaBufMR(pd, u.get_mr_length(), mr_flags, -- unit=self.gpu, gtt=self.gtt) -+ gpu=self.gpu, gtt=self.gtt) - except PyverbsRDMAError as err: - assert 'Failed to register a dma-buf MR' in err.args[0] - else: -@@ -562,7 +562,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - for f in flags: - for mr_off in [0, mr_len//2]: - with DmaBufMR(pd, mr_len, f, offset=mr_off, -- unit=self.gpu, gtt=self.gtt) as mr: -+ gpu=self.gpu, gtt=self.gtt) as mr: - write_len = min(random.randint(1, MAX_IO_LEN), - mr_len) - mr.write('a' * write_len, write_len) -@@ -580,7 +580,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - for f in flags: - for mr_off in [0, mr_len//2]: - with DmaBufMR(pd, mr_len, f, offset=mr_off, -- unit=self.gpu, gtt=self.gtt) as mr: -+ gpu=self.gpu, gtt=self.gtt) as mr: - write_len = min(random.randint(1, MAX_IO_LEN), - mr_len) - write_str = 'a' * write_len -@@ -600,7 +600,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - length = u.get_mr_length() - flags = u.get_dmabuf_access_flags(self.ctx) - for f in flags: -- with DmaBufMR(pd, length, f, unit=self.gpu, -+ with DmaBufMR(pd, length, f, gpu=self.gpu, - gtt=self.gtt) as mr: - mr.lkey - -@@ -614,7 +614,7 @@ class DmaBufMRTest(PyverbsAPITestCase): - length = u.get_mr_length() - flags = u.get_dmabuf_access_flags(self.ctx) - for f in flags: -- with DmaBufMR(pd, length, f, unit=self.gpu, -+ with DmaBufMR(pd, length, f, gpu=self.gpu, - gtt=self.gtt) as mr: - mr.rkey - --- -2.34.1 - diff --git a/0016-ABI-Files.patch b/0016-ABI-Files.patch deleted file mode 100644 index bf4b81097a144a6c6f6b750a6452c2dfbe27a071..0000000000000000000000000000000000000000 --- a/0016-ABI-Files.patch +++ /dev/null @@ -1,56073 +0,0 @@ -From 4f3b083dc7e9e8b4ab65252ab09e61f3811c1faa Mon Sep 17 00:00:00 2001 -From: Nicolas Morey-Chaisemartin -Date: Mon, 13 Jun 2022 13:19:36 +0200 -Subject: ABI Files - -Signed-off-by: Nicolas Morey-Chaisemartin ---- - ABI/.gitignore | 0 - ABI/efa.dump | 2731 +++++++ - ABI/ibmad.dump | 7398 +++++++++++++++++ - ABI/ibnetdisc.dump | 1145 +++ - ABI/ibumad.dump | 1427 ++++ - ABI/ibverbs.dump | 18607 +++++++++++++++++++++++++++++++++++++++++++ - ABI/mlx4.dump | 3245 ++++++++ - ABI/mlx5.dump | 15572 ++++++++++++++++++++++++++++++++++++ - ABI/rdmacm.dump | 5867 ++++++++++++++ - 9 files changed, 55992 insertions(+) - create mode 100644 ABI/.gitignore - create mode 100644 ABI/efa.dump - create mode 100644 ABI/ibmad.dump - create mode 100644 ABI/ibnetdisc.dump - create mode 100644 ABI/ibumad.dump - create mode 100644 ABI/ibverbs.dump - create mode 100644 ABI/mlx4.dump - create mode 100644 ABI/mlx5.dump - create mode 100644 ABI/rdmacm.dump - -diff --git a/ABI/.gitignore b/ABI/.gitignore -new file mode 100644 -index 0000000..e69de29 -diff --git a/ABI/efa.dump b/ABI/efa.dump -new file mode 100644 -index 0000000..718115a ---- /dev/null -+++ b/ABI/efa.dump -@@ -0,0 +1,2731 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libefa.so.1.1.41.0', -+ 'LibraryVersion' => 'efa', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libibverbs.so.1' => 1, -+ 'libpthread.so.0' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '51330' => { -+ 'Header' => undef, -+ 'Line' => '2183', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibvah', -+ 'type' => '10368' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '51842' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '2203' -+ } -+ }, -+ 'Return' => '121', -+ 'ShortName' => 'efadv_query_ah' -+ }, -+ '65701' => { -+ 'Header' => undef, -+ 'Line' => '1394', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibvctx', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'attr_ex', -+ 'type' => '16510' -+ }, -+ '2' => { -+ 'name' => 'efa_attr', -+ 'type' => '66289' -+ }, -+ '3' => { -+ 'name' => 'inlen', -+ 'type' => '2203' -+ } -+ }, -+ 'Return' => '6244', -+ 'ShortName' => 'efadv_create_qp_ex' -+ }, -+ '66316' => { -+ 'Header' => undef, -+ 'Line' => '1361', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibvpd', -+ 'type' => '7648' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '19485' -+ }, -+ '2' => { -+ 'name' => 'driver_qp_type', -+ 'type' => '2203' -+ } -+ }, -+ 'Return' => '6244', -+ 'ShortName' => 'efadv_create_driver_qp' -+ }, -+ '82747' => { -+ 'Header' => undef, -+ 'Line' => '144', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibvctx', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '83281' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '2203' -+ } -+ }, -+ 'Return' => '121', -+ 'ShortName' => 'efadv_query_device' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'efadv_create_driver_qp' => 'efadv_create_driver_qp@@EFA_1.0', -+ 'efadv_create_qp_ex' => 'efadv_create_qp_ex@@EFA_1.1', -+ 'efadv_query_ah' => 'efadv_query_ah@@EFA_1.1', -+ 'efadv_query_device' => 'efadv_query_device@@EFA_1.1' -+ }, -+ 'Symbols' => { -+ 'libefa.so.1.1.41.0' => { -+ 'efadv_create_driver_qp@@EFA_1.0' => 1, -+ 'efadv_create_qp_ex@@EFA_1.1' => 1, -+ 'efadv_query_ah@@EFA_1.1' => 1, -+ 'efadv_query_device@@EFA_1.1' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '10055' => { -+ 'Header' => undef, -+ 'Line' => '1114', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'lkey', -+ 'offset' => '12', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_sge', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10117' => { -+ 'Header' => undef, -+ 'Line' => '1130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '2316' -+ }, -+ '1' => { -+ 'name' => 'invalidate_rkey', -+ 'offset' => '0', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '10154' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10193' => { -+ 'Header' => undef, -+ 'Line' => '1139', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '2215' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '2215' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '10260' => { -+ 'Header' => undef, -+ 'Line' => '1145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '10368' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10312' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '7648' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_ah', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '10368' => { -+ 'BaseType' => '10312', -+ 'Name' => 'struct ibv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10374' => { -+ 'Header' => undef, -+ 'Line' => '1134', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '10154' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '10193' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '10260' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '10423' => { -+ 'Header' => undef, -+ 'Line' => '1152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_srqn', -+ 'offset' => '0', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '10448' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrc', -+ 'offset' => '0', -+ 'type' => '10423' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '10472' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw', -+ 'offset' => '0', -+ 'type' => '10524' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '7269' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '10524' => { -+ 'BaseType' => '7686', -+ 'Name' => 'struct ibv_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10530' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '67' -+ }, -+ '1' => { -+ 'name' => 'hdr_sz', -+ 'offset' => '8', -+ 'type' => '2191' -+ }, -+ '2' => { -+ 'name' => 'mss', -+ 'offset' => '10', -+ 'type' => '2191' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10583' => { -+ 'Header' => undef, -+ 'Line' => '1156', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bind_mw', -+ 'offset' => '0', -+ 'type' => '10472' -+ }, -+ '1' => { -+ 'name' => 'tso', -+ 'offset' => '0', -+ 'type' => '10530' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '10620' => { -+ 'Header' => undef, -+ 'Line' => '1120', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '10758' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '10764' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '121' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '9915' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '60' -+ }, -+ '6' => { -+ 'name' => 'unnamed0', -+ 'offset' => '36', -+ 'type' => '10117' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '10374' -+ }, -+ '8' => { -+ 'name' => 'qp_type', -+ 'offset' => '72', -+ 'type' => '10448' -+ }, -+ '9' => { -+ 'name' => 'unnamed1', -+ 'offset' => '80', -+ 'type' => '10583' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '10758' => { -+ 'BaseType' => '10620', -+ 'Name' => 'struct ibv_send_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10764' => { -+ 'BaseType' => '10055', -+ 'Name' => 'struct ibv_sge*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10770' => { -+ 'Header' => undef, -+ 'Line' => '1170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '10841' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '10764' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '121' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '10841' => { -+ 'BaseType' => '10770', -+ 'Name' => 'struct ibv_recv_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '109' => { -+ 'BaseType' => '76', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '11109' => { -+ 'Header' => undef, -+ 'Line' => '1206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'send_flags', -+ 'offset' => '8', -+ 'type' => '60' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '7269' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '11191' => { -+ 'BaseType' => '10841', -+ 'Name' => 'struct ibv_recv_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12066' => { -+ 'Header' => undef, -+ 'Line' => '1452', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '121' -+ }, -+ '2' => { -+ 'name' => 'refcnt', -+ 'offset' => '12', -+ 'type' => '121' -+ } -+ }, -+ 'Name' => 'struct ibv_comp_channel', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '121' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '12122' => { -+ 'BaseType' => '12066', -+ 'Name' => 'struct ibv_comp_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '133' => { -+ 'BaseType' => '60', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '13416' => { -+ 'Header' => undef, -+ 'Line' => '1918', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_dummy1', -+ 'offset' => '0', -+ 'type' => '13605' -+ }, -+ '1' => { -+ 'name' => '_dummy2', -+ 'offset' => '8', -+ 'type' => '13622' -+ } -+ }, -+ 'Name' => 'struct _ibv_device_ops', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '13479' => { -+ 'BaseType' => '13485', -+ 'Name' => 'struct ibv_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13485' => { -+ 'Header' => undef, -+ 'Line' => '1928', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_ops', -+ 'offset' => '0', -+ 'type' => '13416' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '16', -+ 'type' => '3458' -+ }, -+ '2' => { -+ 'name' => 'transport_type', -+ 'offset' => '20', -+ 'type' => '3525' -+ }, -+ '3' => { -+ 'name' => 'name', -+ 'offset' => '24', -+ 'type' => '4486' -+ }, -+ '4' => { -+ 'name' => 'dev_name', -+ 'offset' => '88', -+ 'type' => '4486' -+ }, -+ '5' => { -+ 'name' => 'dev_path', -+ 'offset' => '152', -+ 'type' => '13657' -+ }, -+ '6' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '408', -+ 'type' => '13657' -+ } -+ }, -+ 'Name' => 'struct ibv_device', -+ 'Size' => '664', -+ 'Type' => 'Struct' -+ }, -+ '13605' => { -+ 'Name' => 'struct ibv_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '13479' -+ }, -+ '1' => { -+ 'type' => '121' -+ } -+ }, -+ 'Return' => '3868', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '13622' => { -+ 'Name' => 'void(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '3868' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '13657' => { -+ 'BaseType' => '200', -+ 'Name' => 'char[256]', -+ 'Size' => '256', -+ 'Type' => 'Array' -+ }, -+ '13673' => { -+ 'Header' => undef, -+ 'Line' => '1943', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_compat_query_device', -+ 'offset' => '0', -+ 'type' => '14163' -+ }, -+ '1' => { -+ 'name' => '_compat_query_port', -+ 'offset' => '8', -+ 'type' => '14205' -+ }, -+ '10' => { -+ 'name' => '_compat_create_cq', -+ 'offset' => '80', -+ 'type' => '14216' -+ }, -+ '11' => { -+ 'name' => 'poll_cq', -+ 'offset' => '88', -+ 'type' => '14337' -+ }, -+ '12' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '96', -+ 'type' => '14363' -+ }, -+ '13' => { -+ 'name' => '_compat_cq_event', -+ 'offset' => '104', -+ 'type' => '14216' -+ }, -+ '14' => { -+ 'name' => '_compat_resize_cq', -+ 'offset' => '112', -+ 'type' => '14216' -+ }, -+ '15' => { -+ 'name' => '_compat_destroy_cq', -+ 'offset' => '120', -+ 'type' => '14216' -+ }, -+ '16' => { -+ 'name' => '_compat_create_srq', -+ 'offset' => '128', -+ 'type' => '14216' -+ }, -+ '17' => { -+ 'name' => '_compat_modify_srq', -+ 'offset' => '136', -+ 'type' => '14216' -+ }, -+ '18' => { -+ 'name' => '_compat_query_srq', -+ 'offset' => '144', -+ 'type' => '14216' -+ }, -+ '19' => { -+ 'name' => '_compat_destroy_srq', -+ 'offset' => '152', -+ 'type' => '14216' -+ }, -+ '2' => { -+ 'name' => '_compat_alloc_pd', -+ 'offset' => '16', -+ 'type' => '14216' -+ }, -+ '20' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '160', -+ 'type' => '14394' -+ }, -+ '21' => { -+ 'name' => '_compat_create_qp', -+ 'offset' => '168', -+ 'type' => '14216' -+ }, -+ '22' => { -+ 'name' => '_compat_query_qp', -+ 'offset' => '176', -+ 'type' => '14216' -+ }, -+ '23' => { -+ 'name' => '_compat_modify_qp', -+ 'offset' => '184', -+ 'type' => '14216' -+ }, -+ '24' => { -+ 'name' => '_compat_destroy_qp', -+ 'offset' => '192', -+ 'type' => '14216' -+ }, -+ '25' => { -+ 'name' => 'post_send', -+ 'offset' => '200', -+ 'type' => '14431' -+ }, -+ '26' => { -+ 'name' => 'post_recv', -+ 'offset' => '208', -+ 'type' => '14462' -+ }, -+ '27' => { -+ 'name' => '_compat_create_ah', -+ 'offset' => '216', -+ 'type' => '14216' -+ }, -+ '28' => { -+ 'name' => '_compat_destroy_ah', -+ 'offset' => '224', -+ 'type' => '14216' -+ }, -+ '29' => { -+ 'name' => '_compat_attach_mcast', -+ 'offset' => '232', -+ 'type' => '14216' -+ }, -+ '3' => { -+ 'name' => '_compat_dealloc_pd', -+ 'offset' => '24', -+ 'type' => '14216' -+ }, -+ '30' => { -+ 'name' => '_compat_detach_mcast', -+ 'offset' => '240', -+ 'type' => '14216' -+ }, -+ '31' => { -+ 'name' => '_compat_async_event', -+ 'offset' => '248', -+ 'type' => '14216' -+ }, -+ '4' => { -+ 'name' => '_compat_reg_mr', -+ 'offset' => '32', -+ 'type' => '14216' -+ }, -+ '5' => { -+ 'name' => '_compat_rereg_mr', -+ 'offset' => '40', -+ 'type' => '14216' -+ }, -+ '6' => { -+ 'name' => '_compat_dereg_mr', -+ 'offset' => '48', -+ 'type' => '14216' -+ }, -+ '7' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '56', -+ 'type' => '14242' -+ }, -+ '8' => { -+ 'name' => 'bind_mw', -+ 'offset' => '64', -+ 'type' => '14279' -+ }, -+ '9' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '72', -+ 'type' => '14300' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops', -+ 'Size' => '256', -+ 'Type' => 'Struct' -+ }, -+ '14157' => { -+ 'BaseType' => '3952', -+ 'Name' => 'struct ibv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14163' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_device_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'type' => '14157' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14194' => { -+ 'BaseType' => '14200', -+ 'Name' => 'struct _compat_ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14200' => { -+ 'Name' => 'struct _compat_ibv_port_attr', -+ 'Type' => 'Struct' -+ }, -+ '14205' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct _compat_ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'type' => '2179' -+ }, -+ '2' => { -+ 'type' => '14194' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14216' => { -+ 'Name' => 'void*(*)()', -+ 'Return' => '67', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14242' => { -+ 'Name' => 'struct ibv_mw*(*)(struct ibv_pd*, enum ibv_mw_type)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7648' -+ }, -+ '1' => { -+ 'type' => '7654' -+ } -+ }, -+ 'Return' => '10524', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14273' => { -+ 'BaseType' => '11109', -+ 'Name' => 'struct ibv_mw_bind*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14279' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_mw*, struct ibv_mw_bind*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6244' -+ }, -+ '1' => { -+ 'type' => '10524' -+ }, -+ '2' => { -+ 'type' => '14273' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14300' => { -+ 'Name' => 'int(*)(struct ibv_mw*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10524' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14331' => { -+ 'BaseType' => '7081', -+ 'Name' => 'struct ibv_wc*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14337' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6042' -+ }, -+ '1' => { -+ 'type' => '121' -+ }, -+ '2' => { -+ 'type' => '14331' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14363' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6042' -+ }, -+ '1' => { -+ 'type' => '121' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14394' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6362' -+ }, -+ '1' => { -+ 'type' => '10841' -+ }, -+ '2' => { -+ 'type' => '11191' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14425' => { -+ 'BaseType' => '10758', -+ 'Name' => 'struct ibv_send_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14431' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_send_wr*, struct ibv_send_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6244' -+ }, -+ '1' => { -+ 'type' => '10758' -+ }, -+ '2' => { -+ 'type' => '14425' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14462' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6244' -+ }, -+ '1' => { -+ 'type' => '10841' -+ }, -+ '2' => { -+ 'type' => '11191' -+ } -+ }, -+ 'Return' => '121', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '152' => { -+ 'BaseType' => '53', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '16510' => { -+ 'BaseType' => '9030', -+ 'Name' => 'struct ibv_qp_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19485' => { -+ 'BaseType' => '8840', -+ 'Name' => 'struct ibv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '200' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '2179' => { -+ 'BaseType' => '90', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '2191' => { -+ 'BaseType' => '109', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '2203' => { -+ 'BaseType' => '133', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '2215' => { -+ 'BaseType' => '152', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '2292' => { -+ 'BaseType' => '60', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '2304' => { -+ 'BaseType' => '523', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '2316' => { -+ 'BaseType' => '2292', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '2328' => { -+ 'BaseType' => '2304', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '3458' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_NODE_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_NODE_CA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_NODE_SWITCH', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_NODE_ROUTER', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_NODE_RNIC', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_NODE_USNIC', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_NODE_USNIC_UDP', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_NODE_UNSPECIFIED', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_node_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '3525' => { -+ 'Header' => undef, -+ 'Line' => '106', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_TRANSPORT_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_TRANSPORT_IB', -+ 'value' => '0' -+ }, -+ '2' => { -+ 'name' => 'IBV_TRANSPORT_IWARP', -+ 'value' => '1' -+ }, -+ '3' => { -+ 'name' => 'IBV_TRANSPORT_USNIC', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'IBV_TRANSPORT_USNIC_UDP', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'IBV_TRANSPORT_UNSPECIFIED', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum ibv_transport_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '3580' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_ATOMIC_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_ATOMIC_HCA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_ATOMIC_GLOB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_atomic_cap', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '3749' => { -+ 'Header' => undef, -+ 'Line' => '1986', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '13479' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '13673' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '264', -+ 'type' => '121' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '268', -+ 'type' => '121' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '272', -+ 'type' => '121' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '280', -+ 'type' => '769' -+ }, -+ '6' => { -+ 'name' => 'abi_compat', -+ 'offset' => '320', -+ 'type' => '67' -+ } -+ }, -+ 'Name' => 'struct ibv_context', -+ 'Size' => '328', -+ 'Type' => 'Struct' -+ }, -+ '3868' => { -+ 'BaseType' => '3749', -+ 'Name' => 'struct ibv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '38762' => { -+ 'BaseType' => '2179', -+ 'Name' => 'uint8_t[6]', -+ 'Size' => '6', -+ 'Type' => 'Array' -+ }, -+ '3952' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '4486' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '64', -+ 'type' => '2328' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '116', -+ 'type' => '60' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '120', -+ 'type' => '121' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '124', -+ 'type' => '121' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '128', -+ 'type' => '121' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '132', -+ 'type' => '121' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '136', -+ 'type' => '121' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '140', -+ 'type' => '121' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '144', -+ 'type' => '121' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '148', -+ 'type' => '121' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '152', -+ 'type' => '121' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '72', -+ 'type' => '2328' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '156', -+ 'type' => '121' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '160', -+ 'type' => '121' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '164', -+ 'type' => '3580' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '168', -+ 'type' => '121' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '172', -+ 'type' => '121' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '176', -+ 'type' => '121' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '180', -+ 'type' => '121' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '184', -+ 'type' => '121' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '188', -+ 'type' => '121' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '192', -+ 'type' => '121' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '80', -+ 'type' => '2215' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '196', -+ 'type' => '121' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '200', -+ 'type' => '121' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '204', -+ 'type' => '121' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '208', -+ 'type' => '121' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '212', -+ 'type' => '121' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '216', -+ 'type' => '121' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '220', -+ 'type' => '121' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '224', -+ 'type' => '2191' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '226', -+ 'type' => '2179' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '227', -+ 'type' => '2179' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '88', -+ 'type' => '2215' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '96', -+ 'type' => '2203' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '100', -+ 'type' => '2203' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '104', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '108', -+ 'type' => '121' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '112', -+ 'type' => '121' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '41' => { -+ 'BaseType' => '53', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '4486' => { -+ 'BaseType' => '200', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '49201' => { -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'driver_qp_type', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '49254' -+ } -+ }, -+ 'Name' => 'struct efadv_qp_init_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '49254' => { -+ 'BaseType' => '2179', -+ 'Name' => 'uint8_t[4]', -+ 'Size' => '4', -+ 'Type' => 'Array' -+ }, -+ '49297' => { -+ 'Header' => undef, -+ 'Line' => '43', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'max_sq_wr', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'max_rq_wr', -+ 'offset' => '12', -+ 'type' => '2203' -+ }, -+ '3' => { -+ 'name' => 'max_sq_sge', -+ 'offset' => '16', -+ 'type' => '2191' -+ }, -+ '4' => { -+ 'name' => 'max_rq_sge', -+ 'offset' => '18', -+ 'type' => '2191' -+ }, -+ '5' => { -+ 'name' => 'inline_buf_size', -+ 'offset' => '20', -+ 'type' => '2191' -+ }, -+ '6' => { -+ 'name' => 'reserved', -+ 'offset' => '22', -+ 'type' => '49428' -+ }, -+ '7' => { -+ 'name' => 'device_caps', -+ 'offset' => '24', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'max_rdma_size', -+ 'offset' => '28', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct efadv_device_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '49428' => { -+ 'BaseType' => '2179', -+ 'Name' => 'uint8_t[2]', -+ 'Size' => '2', -+ 'Type' => 'Array' -+ }, -+ '49444' => { -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'ahn', -+ 'offset' => '8', -+ 'type' => '2191' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '10', -+ 'type' => '38762' -+ } -+ }, -+ 'Name' => 'struct efadv_ah_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '51842' => { -+ 'BaseType' => '49444', -+ 'Name' => 'struct efadv_ah_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '523' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '53' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '5901' => { -+ 'Header' => undef, -+ 'Line' => '1458', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '12122' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '67' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '2203' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '121' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '769' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '843' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_cq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '60' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '6042' => { -+ 'BaseType' => '5901', -+ 'Name' => 'struct ibv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6048' => { -+ 'Header' => undef, -+ 'Line' => '1252', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '67' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '769' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '843' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '7648' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '6042' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '6042' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '6362' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '2203' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '9359' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '8693' -+ } -+ }, -+ 'Name' => 'struct ibv_qp', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '6244' => { -+ 'BaseType' => '6048', -+ 'Name' => 'struct ibv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6250' => { -+ 'Header' => undef, -+ 'Line' => '1212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '67' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '7648' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '2203' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '769' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '843' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_srq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '6362' => { -+ 'BaseType' => '6250', -+ 'Name' => 'struct ibv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6612' => { -+ 'Header' => undef, -+ 'Line' => '483', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SUCCESS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_LOC_LEN_ERR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_REM_ACCESS_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_REM_OP_ERR', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_RETRY_EXC_ERR', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_RNR_RETRY_EXC_ERR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_LOC_RDD_VIOL_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_REM_INV_RD_REQ_ERR', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_REM_ABORT_ERR', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_INV_EECN_ERR', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_WC_INV_EEC_STATE_ERR', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_WC_FATAL_ERR', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_LOC_QP_OP_ERR', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IBV_WC_RESP_TIMEOUT_ERR', -+ 'value' => '20' -+ }, -+ '21' => { -+ 'name' => 'IBV_WC_GENERAL_ERR', -+ 'value' => '21' -+ }, -+ '22' => { -+ 'name' => 'IBV_WC_TM_ERR', -+ 'value' => '22' -+ }, -+ '23' => { -+ 'name' => 'IBV_WC_TM_RNDV_INCOMPLETE', -+ 'value' => '23' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_LOC_EEC_OP_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_LOC_PROT_ERR', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_WR_FLUSH_ERR', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_MW_BIND_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_BAD_RESP_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_LOC_ACCESS_ERR', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_REM_INV_REQ_ERR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '66289' => { -+ 'BaseType' => '49201', -+ 'Name' => 'struct efadv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '67' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6776' => { -+ 'Header' => undef, -+ 'Line' => '511', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SEND', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_RDMA_WRITE', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_TM_ADD', -+ 'value' => '130' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_TM_DEL', -+ 'value' => '131' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_TM_SYNC', -+ 'value' => '132' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_TM_RECV', -+ 'value' => '133' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_TM_NO_TAG', -+ 'value' => '134' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_DRIVER1', -+ 'value' => '135' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_DRIVER2', -+ 'value' => '136' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_DRIVER3', -+ 'value' => '137' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_RDMA_READ', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_COMP_SWAP', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_FETCH_ADD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_BIND_MW', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_LOCAL_INV', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_TSO', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_RECV', -+ 'value' => '128' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_RECV_RDMA_WITH_IMM', -+ 'value' => '129' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '69' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '7044' => { -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '2316' -+ }, -+ '1' => { -+ 'name' => 'invalidated_rkey', -+ 'offset' => '0', -+ 'type' => '2203' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '7081' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2215' -+ }, -+ '1' => { -+ 'name' => 'status', -+ 'offset' => '8', -+ 'type' => '6612' -+ }, -+ '10' => { -+ 'name' => 'slid', -+ 'offset' => '42', -+ 'type' => '2191' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '44', -+ 'type' => '2179' -+ }, -+ '12' => { -+ 'name' => 'dlid_path_bits', -+ 'offset' => '45', -+ 'type' => '2179' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '12', -+ 'type' => '6776' -+ }, -+ '3' => { -+ 'name' => 'vendor_err', -+ 'offset' => '16', -+ 'type' => '2203' -+ }, -+ '4' => { -+ 'name' => 'byte_len', -+ 'offset' => '20', -+ 'type' => '2203' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '7044' -+ }, -+ '6' => { -+ 'name' => 'qp_num', -+ 'offset' => '28', -+ 'type' => '2203' -+ }, -+ '7' => { -+ 'name' => 'src_qp', -+ 'offset' => '32', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'wc_flags', -+ 'offset' => '36', -+ 'type' => '60' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '40', -+ 'type' => '2191' -+ } -+ }, -+ 'Name' => 'struct ibv_wc', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '7269' => { -+ 'Header' => undef, -+ 'Line' => '619', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '7456' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '2215' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '2215' -+ }, -+ '3' => { -+ 'name' => 'mw_access_flags', -+ 'offset' => '24', -+ 'type' => '60' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind_info', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '7344' => { -+ 'Header' => undef, -+ 'Line' => '662', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '7648' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '16', -+ 'type' => '67' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '41' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '2203' -+ }, -+ '5' => { -+ 'name' => 'lkey', -+ 'offset' => '36', -+ 'type' => '2203' -+ }, -+ '6' => { -+ 'name' => 'rkey', -+ 'offset' => '40', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '7456' => { -+ 'BaseType' => '7344', -+ 'Name' => 'struct ibv_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7462' => { -+ 'Header' => undef, -+ 'Line' => '626', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '76' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '7619' => { -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '7648' => { -+ 'BaseType' => '7462', -+ 'Name' => 'struct ibv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7654' => { -+ 'Header' => undef, -+ 'Line' => '672', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MW_TYPE_1', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MW_TYPE_2', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mw_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '7686' => { -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '7648' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '16', -+ 'type' => '2203' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '20', -+ 'type' => '2203' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '24', -+ 'type' => '7654' -+ } -+ }, -+ 'Name' => 'struct ibv_mw', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '8273' => { -+ 'BaseType' => '7619', -+ 'Name' => 'struct ibv_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '83281' => { -+ 'BaseType' => '49297', -+ 'Name' => 'struct efadv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8559' => { -+ 'Header' => undef, -+ 'Line' => '874', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '3868' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '121' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '121' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '8693' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPT_RC', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPT_UC', -+ 'value' => '3' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPT_UD', -+ 'value' => '4' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPT_RAW_PACKET', -+ 'value' => '8' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPT_XRC_SEND', -+ 'value' => '9' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPT_XRC_RECV', -+ 'value' => '10' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPT_DRIVER', -+ 'value' => '255' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '8755' => { -+ 'Header' => undef, -+ 'Line' => '905', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '0', -+ 'type' => '2203' -+ }, -+ '1' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '4', -+ 'type' => '2203' -+ }, -+ '2' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '8', -+ 'type' => '2203' -+ }, -+ '3' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '12', -+ 'type' => '2203' -+ }, -+ '4' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '16', -+ 'type' => '2203' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_cap', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '8840' => { -+ 'Header' => undef, -+ 'Line' => '913', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '67' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '6042' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '6042' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '6362' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '8755' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '8693' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '121' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '8953' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '0', -+ 'type' => '2179' -+ }, -+ '1' => { -+ 'name' => 'rx_hash_key_len', -+ 'offset' => '1', -+ 'type' => '2179' -+ }, -+ '2' => { -+ 'name' => 'rx_hash_key', -+ 'offset' => '8', -+ 'type' => '9024' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '2215' -+ } -+ }, -+ 'Name' => 'struct ibv_rx_hash_conf', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '90' => { -+ 'BaseType' => '69', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '9024' => { -+ 'BaseType' => '2179', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9030' => { -+ 'Header' => undef, -+ 'Line' => '964', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '67' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '6042' -+ }, -+ '10' => { -+ 'name' => 'create_flags', -+ 'offset' => '80', -+ 'type' => '2203' -+ }, -+ '11' => { -+ 'name' => 'max_tso_header', -+ 'offset' => '84', -+ 'type' => '2191' -+ }, -+ '12' => { -+ 'name' => 'rwq_ind_tbl', -+ 'offset' => '88', -+ 'type' => '9268' -+ }, -+ '13' => { -+ 'name' => 'rx_hash_conf', -+ 'offset' => '96', -+ 'type' => '8953' -+ }, -+ '14' => { -+ 'name' => 'source_qpn', -+ 'offset' => '120', -+ 'type' => '2203' -+ }, -+ '15' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '128', -+ 'type' => '2215' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '6042' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '6362' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '8755' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '8693' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '121' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '60', -+ 'type' => '2203' -+ }, -+ '8' => { -+ 'name' => 'pd', -+ 'offset' => '64', -+ 'type' => '7648' -+ }, -+ '9' => { -+ 'name' => 'xrcd', -+ 'offset' => '72', -+ 'type' => '8273' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_ex', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '9268' => { -+ 'BaseType' => '8559', -+ 'Name' => 'struct ibv_rwq_ind_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9359' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPS_INIT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPS_RTR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPS_RTS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPS_SQD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPS_SQE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPS_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_QPS_UNKNOWN', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '9915' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_RDMA_WRITE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_RDMA_WRITE_WITH_IMM', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WR_TSO', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WR_DRIVER1', -+ 'value' => '11' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_SEND', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WR_SEND_WITH_IMM', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WR_RDMA_READ', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WR_ATOMIC_CMP_AND_SWP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WR_ATOMIC_FETCH_AND_ADD', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WR_LOCAL_INV', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WR_BIND_MW', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WR_SEND_WITH_INV', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libefa.so.1.1.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__gmon_start__' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '__verbs_log@IBVERBS_PRIVATE_34' => 0, -+ '_verbs_init_and_alloc_context@IBVERBS_PRIVATE_34' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'ibv_cmd_alloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_ah@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_cq_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_qp_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dealloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dereg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_ah@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_get_context@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_device_any@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_port@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_dmabuf_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'memset@GLIBC_2.2.5' => 0, -+ 'mmap@GLIBC_2.2.5' => 0, -+ 'munmap@GLIBC_2.2.5' => 0, -+ 'pthread_spin_destroy@GLIBC_2.2.5' => 0, -+ 'pthread_spin_init@GLIBC_2.2.5' => 0, -+ 'pthread_spin_lock@GLIBC_2.2.5' => 0, -+ 'pthread_spin_unlock@GLIBC_2.2.5' => 0, -+ 'sysconf@GLIBC_2.2.5' => 0, -+ 'verbs_register_driver_34@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_set_ops@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_uninit_context@IBVERBS_PRIVATE_34' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/ibmad.dump b/ABI/ibmad.dump -new file mode 100644 -index 0000000..f49a090 ---- /dev/null -+++ b/ABI/ibmad.dump -@@ -0,0 +1,7398 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libibmad.so.5.3.41.0', -+ 'LibraryVersion' => 'ibmad', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libibumad.so.3' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '103861' => { -+ 'Header' => undef, -+ 'Line' => '112', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1912' -+ }, -+ '1' => { -+ 'name' => 'class', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_rpc_class_agent' -+ }, -+ '103973' => { -+ 'Header' => undef, -+ 'Line' => '102', -+ 'Return' => '71', -+ 'ShortName' => 'madrpc_portid' -+ }, -+ '104003' => { -+ 'Header' => undef, -+ 'Line' => '97', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1912' -+ }, -+ '1' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_rpc_set_timeout' -+ }, -+ '104062' => { -+ 'Header' => undef, -+ 'Line' => '92', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1912' -+ }, -+ '1' => { -+ 'name' => 'retries', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_rpc_set_retries' -+ }, -+ '104121' => { -+ 'Header' => undef, -+ 'Line' => '86', -+ 'Param' => { -+ '0' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'madrpc_set_timeout' -+ }, -+ '104170' => { -+ 'Header' => undef, -+ 'Line' => '79', -+ 'Param' => { -+ '0' => { -+ 'name' => 'retries', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'madrpc_set_retries' -+ }, -+ '104219' => { -+ 'Header' => undef, -+ 'Line' => '73', -+ 'Param' => { -+ '0' => { -+ 'name' => 'madbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'len', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'madrpc_save_mad' -+ }, -+ '104278' => { -+ 'Header' => undef, -+ 'Line' => '68', -+ 'Param' => { -+ '0' => { -+ 'name' => 'set', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'madrpc_show_errors' -+ }, -+ '111530' => { -+ 'Header' => undef, -+ 'Line' => '164', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'guid', -+ 'type' => '269' -+ }, -+ '2' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_node_query_via' -+ }, -+ '112070' => { -+ 'Header' => undef, -+ 'Line' => '139', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcgid', -+ 'type' => '2937' -+ }, -+ '1' => { -+ 'name' => 'destgid', -+ 'type' => '2937' -+ }, -+ '2' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_path_query' -+ }, -+ '112847' => { -+ 'Header' => undef, -+ 'Line' => '79', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'sa', -+ 'type' => '113003' -+ }, -+ '3' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'sa_call' -+ }, -+ '113009' => { -+ 'Header' => undef, -+ 'Line' => '44', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibmad_port', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '2' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'sa', -+ 'type' => '113003' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'sa_rpc_call' -+ }, -+ '11931' => { -+ 'Header' => undef, -+ 'Line' => '1258', -+ 'Param' => { -+ '0' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '227', -+ 'ShortName' => 'mad_dump_field' -+ }, -+ '11969' => { -+ 'Header' => undef, -+ 'Line' => '1459', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '2937' -+ }, -+ '1' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_decode_field' -+ }, -+ '12078' => { -+ 'Header' => undef, -+ 'Line' => '1714', -+ 'Param' => { -+ '0' => { -+ 'name' => 'file', -+ 'type' => '795' -+ }, -+ '1' => { -+ 'name' => 'msg', -+ 'type' => '78' -+ }, -+ '2' => { -+ 'name' => 'p', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'size', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'xdump' -+ }, -+ '121056' => { -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_free' -+ }, -+ '121175' => { -+ 'Header' => undef, -+ 'Line' => '188', -+ 'Return' => '220', -+ 'ShortName' => 'mad_alloc' -+ }, -+ '121287' => { -+ 'Header' => undef, -+ 'Line' => '171', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'mad_receive_via' -+ }, -+ '121907' => { -+ 'Header' => undef, -+ 'Line' => '166', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'mad_receive' -+ }, -+ '122010' => { -+ 'Header' => undef, -+ 'Line' => '87', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'rstatus', -+ 'type' => '257' -+ }, -+ '3' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_respond_via' -+ }, -+ '123366' => { -+ 'Header' => undef, -+ 'Line' => '82', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'rstatus', -+ 'type' => '257' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_respond' -+ }, -+ '123831' => { -+ 'Header' => undef, -+ 'Line' => '47', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rpc', -+ 'type' => '121019' -+ }, -+ '1' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'rmpp', -+ 'type' => '121025' -+ }, -+ '3' => { -+ 'name' => 'data', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_send' -+ }, -+ '12437' => { -+ 'Header' => undef, -+ 'Line' => '1195', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portinfo_ext' -+ }, -+ '126035' => { -+ 'Header' => undef, -+ 'Line' => '141', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_query' -+ }, -+ '126434' => { -+ 'Header' => undef, -+ 'Line' => '101', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'rstatus', -+ 'type' => '5723' -+ }, -+ '6' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_query_status_via' -+ }, -+ '126882' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_set' -+ }, -+ '127066' => { -+ 'Header' => undef, -+ 'Line' => '87', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_set_via' -+ }, -+ '127275' => { -+ 'Header' => undef, -+ 'Line' => '55', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'rstatus', -+ 'type' => '5723' -+ }, -+ '6' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_set_status_via' -+ }, -+ '12740' => { -+ 'Header' => undef, -+ 'Line' => '1189', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_classportinfo' -+ }, -+ '127717' => { -+ 'Header' => undef, -+ 'Line' => '50', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '269', -+ 'ShortName' => 'smp_mkey_get' -+ }, -+ '127766' => { -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ }, -+ '1' => { -+ 'name' => 'mkey', -+ 'type' => '269' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'smp_mkey_set' -+ }, -+ '12903' => { -+ 'Header' => undef, -+ 'Line' => '1183', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_timestamp' -+ }, -+ '130135' => { -+ 'Header' => undef, -+ 'Line' => '58', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'call', -+ 'type' => '130891' -+ }, -+ '3' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'ib_vendor_call_via' -+ }, -+ '13068' => { -+ 'Header' => undef, -+ 'Line' => '1177', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestioncontroltableentry' -+ }, -+ '130918' => { -+ 'Header' => undef, -+ 'Line' => '52', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'call', -+ 'type' => '130891' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'ib_vendor_call' -+ }, -+ '13233' => { -+ 'Header' => undef, -+ 'Line' => '1171', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestioncontroltable' -+ }, -+ '13398' => { -+ 'Header' => undef, -+ 'Line' => '1165', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_cacongestionentry' -+ }, -+ '13563' => { -+ 'Header' => undef, -+ 'Line' => '1159', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_cacongestionsetting' -+ }, -+ '13728' => { -+ 'Header' => undef, -+ 'Line' => '1153', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_switchportcongestionsettingelement' -+ }, -+ '13893' => { -+ 'Header' => undef, -+ 'Line' => '1147', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_switchcongestionsetting' -+ }, -+ '14058' => { -+ 'Header' => undef, -+ 'Line' => '1141', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionlogentryca' -+ }, -+ '14223' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionlogca' -+ }, -+ '14388' => { -+ 'Header' => undef, -+ 'Line' => '1129', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionlogentryswitch' -+ }, -+ '14553' => { -+ 'Header' => undef, -+ 'Line' => '1123', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionlogswitch' -+ }, -+ '14718' => { -+ 'Header' => undef, -+ 'Line' => '1117', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionlog' -+ }, -+ '14883' => { -+ 'Header' => undef, -+ 'Line' => '1111', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestionkeyinfo' -+ }, -+ '15048' => { -+ 'Header' => undef, -+ 'Line' => '1105', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_cc_congestioninfo' -+ }, -+ '15213' => { -+ 'Header' => undef, -+ 'Line' => '1099', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_mlnx_ext_port_info' -+ }, -+ '15378' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_vl_xmit_time_cong' -+ }, -+ '15598' => { -+ 'Header' => undef, -+ 'Line' => '1073', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_xmit_con_ctrl' -+ }, -+ '15818' => { -+ 'Header' => undef, -+ 'Line' => '1060', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_sl_rcv_becn' -+ }, -+ '16038' => { -+ 'Header' => undef, -+ 'Line' => '1047', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_sl_rcv_fecn' -+ }, -+ '16258' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_rcv_con_ctrl' -+ }, -+ '16478' => { -+ 'Header' => undef, -+ 'Line' => '1020', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_sw_port_vl_congestion' -+ }, -+ '16698' => { -+ 'Header' => undef, -+ 'Line' => '1007', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_vl_xmit_wait_counters' -+ }, -+ '16918' => { -+ 'Header' => undef, -+ 'Line' => '994', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_vl_xmit_flow_ctl_update_errors' -+ }, -+ '17138' => { -+ 'Header' => undef, -+ 'Line' => '981', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_vl_op_data' -+ }, -+ '17358' => { -+ 'Header' => undef, -+ 'Line' => '968', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_vl_op_packet' -+ }, -+ '17578' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_flow_ctl_counters' -+ }, -+ '17798' => { -+ 'Header' => undef, -+ 'Line' => '942', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_port_op_rcv_counters' -+ }, -+ '18018' => { -+ 'Header' => undef, -+ 'Line' => '937', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_port_ext_speeds_counters' -+ }, -+ '1805' => { -+ 'Data' => 1, -+ 'Header' => undef, -+ 'Line' => '1676', -+ 'Return' => '71', -+ 'ShortName' => 'ibdebug' -+ }, -+ '18183' => { -+ 'Header' => undef, -+ 'Line' => '930', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_port_ext_speeds_counters_rsfec_active' -+ }, -+ '18348' => { -+ 'Header' => undef, -+ 'Line' => '925', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portsamples_result' -+ }, -+ '1851' => { -+ 'Header' => undef, -+ 'Line' => '1521', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rpc', -+ 'type' => '121019' -+ }, -+ '1' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'rmpp', -+ 'type' => '121025' -+ }, -+ '3' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '4' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_send_via' -+ }, -+ '18513' => { -+ 'Header' => undef, -+ 'Line' => '920', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portsamples_control' -+ }, -+ '18678' => { -+ 'Header' => undef, -+ 'Line' => '907', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_rcv_err' -+ }, -+ '18898' => { -+ 'Header' => undef, -+ 'Line' => '894', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_xmt_disc' -+ }, -+ '19118' => { -+ 'Header' => undef, -+ 'Line' => '881', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_rcv_sl' -+ }, -+ '1928' => { -+ 'Header' => undef, -+ 'Line' => '1485', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'rpc', -+ 'type' => '96745' -+ }, -+ '2' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'payload', -+ 'type' => '220' -+ }, -+ '4' => { -+ 'name' => 'rcvdata', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'mad_rpc' -+ }, -+ '19337' => { -+ 'Header' => undef, -+ 'Line' => '868', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_xmt_sl' -+ }, -+ '19555' => { -+ 'Header' => undef, -+ 'Line' => '856', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters_ext' -+ }, -+ '19775' => { -+ 'Header' => undef, -+ 'Line' => '838', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_perfcounters' -+ }, -+ '1990' => { -+ 'Header' => undef, -+ 'Line' => '1434', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ } -+ }, -+ 'Return' => '227', -+ 'ShortName' => 'portid2str' -+ }, -+ '20067' => { -+ 'Header' => undef, -+ 'Line' => '833', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_switchinfo' -+ }, -+ '2013' => { -+ 'Header' => undef, -+ 'Line' => '47', -+ 'Param' => { -+ '0' => { -+ 'name' => 'data', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'call', -+ 'type' => '2943' -+ }, -+ '3' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'bm_call_via' -+ }, -+ '20230' => { -+ 'Header' => undef, -+ 'Line' => '828', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portstates' -+ }, -+ '20393' => { -+ 'Header' => undef, -+ 'Line' => '816', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portinfo' -+ }, -+ '20612' => { -+ 'Header' => undef, -+ 'Line' => '811', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_nodeinfo' -+ }, -+ '20775' => { -+ 'Header' => undef, -+ 'Line' => '803', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_nodedesc' -+ }, -+ '20994' => { -+ 'Header' => undef, -+ 'Line' => '797', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'start', -+ 'type' => '71' -+ }, -+ '5' => { -+ 'name' => 'end', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_fields' -+ }, -+ '21549' => { -+ 'Header' => undef, -+ 'Line' => '745', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'num', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_vlarbitration' -+ }, -+ '22448' => { -+ 'Header' => undef, -+ 'Line' => '730', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_sltovl' -+ }, -+ '23134' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_node_type' -+ }, -+ '23746' => { -+ 'Header' => undef, -+ 'Line' => '1639', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_string' -+ }, -+ '24014' => { -+ 'Header' => undef, -+ 'Line' => '1639', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_array' -+ }, -+ '24274' => { -+ 'Header' => undef, -+ 'Line' => '659', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_bitfield' -+ }, -+ '24514' => { -+ 'Header' => undef, -+ 'Line' => '1644', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portcapmask2' -+ }, -+ '25364' => { -+ 'Header' => undef, -+ 'Line' => '1644', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portcapmask' -+ }, -+ '27240' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_opervls' -+ }, -+ '28178' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_vlcap' -+ }, -+ '29003' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_mtu' -+ }, -+ '29828' => { -+ 'Header' => undef, -+ 'Line' => '1644', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_physportstate' -+ }, -+ '30992' => { -+ 'Header' => undef, -+ 'Line' => '1640', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkdowndefstate' -+ }, -+ '31604' => { -+ 'Header' => undef, -+ 'Line' => '1643', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_portstate' -+ }, -+ '32429' => { -+ 'Header' => undef, -+ 'Line' => '1643', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeedexten' -+ }, -+ '32648' => { -+ 'Header' => undef, -+ 'Line' => '1642', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeedextsup' -+ }, -+ '33608' => { -+ 'Header' => undef, -+ 'Line' => '1642', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeedext' -+ }, -+ '34433' => { -+ 'Header' => undef, -+ 'Line' => '1641', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeeden' -+ }, -+ '34512' => { -+ 'Header' => undef, -+ 'Line' => '1641', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeedsup' -+ }, -+ '35345' => { -+ 'Header' => undef, -+ 'Line' => '1641', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkspeed' -+ }, -+ '36063' => { -+ 'Header' => undef, -+ 'Line' => '1640', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkwidthen' -+ }, -+ '36222' => { -+ 'Header' => undef, -+ 'Line' => '1640', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkwidthsup' -+ }, -+ '37323' => { -+ 'Header' => undef, -+ 'Line' => '1639', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_linkwidth' -+ }, -+ '38150' => { -+ 'Header' => undef, -+ 'Line' => '1638', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_rhex' -+ }, -+ '39010' => { -+ 'Header' => undef, -+ 'Line' => '1638', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_hex' -+ }, -+ '39870' => { -+ 'Header' => undef, -+ 'Line' => '1638', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_uint' -+ }, -+ '40496' => { -+ 'Header' => undef, -+ 'Line' => '43', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'valsz', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_dump_int' -+ }, -+ '48872' => { -+ 'Header' => undef, -+ 'Line' => '1272', -+ 'Param' => { -+ '0' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ } -+ }, -+ 'Return' => '78', -+ 'ShortName' => 'mad_field_name' -+ }, -+ '48923' => { -+ 'Header' => undef, -+ 'Line' => '1265', -+ 'Param' => { -+ '0' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'bufsz', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '227', -+ 'ShortName' => 'mad_dump_val' -+ }, -+ '49339' => { -+ 'Header' => undef, -+ 'Line' => '1251', -+ 'Param' => { -+ '0' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '1' => { -+ 'name' => 'name', -+ 'type' => '78' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_print_field' -+ }, -+ '50615' => { -+ 'Header' => undef, -+ 'Line' => '1460', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '2937' -+ }, -+ '1' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '2' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_encode_field' -+ }, -+ '51647' => { -+ 'Header' => undef, -+ 'Line' => '1153', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_get_array' -+ }, -+ '51951' => { -+ 'Header' => undef, -+ 'Line' => '1457', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_set_array' -+ }, -+ '52255' => { -+ 'Header' => undef, -+ 'Line' => '1455', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '269' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_set_field64' -+ }, -+ '52558' => { -+ 'Header' => undef, -+ 'Line' => '1454', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ } -+ }, -+ 'Return' => '269', -+ 'ShortName' => 'mad_get_field64' -+ }, -+ '5272' => { -+ 'Header' => undef, -+ 'Line' => '79', -+ 'Param' => { -+ '0' => { -+ 'name' => 'payload', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '2' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '6' => { -+ 'name' => 'rstatus', -+ 'type' => '5723' -+ }, -+ '7' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ }, -+ '8' => { -+ 'name' => 'cckey', -+ 'type' => '269' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'cc_config_status_via' -+ }, -+ '52760' => { -+ 'Header' => undef, -+ 'Line' => '1451', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ }, -+ '3' => { -+ 'name' => 'val', -+ 'type' => '257' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_set_field' -+ }, -+ '52938' => { -+ 'Header' => undef, -+ 'Line' => '1450', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'base_offs', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'field', -+ 'type' => '7042' -+ } -+ }, -+ 'Return' => '257', -+ 'ShortName' => 'mad_get_field' -+ }, -+ '5750' => { -+ 'Header' => undef, -+ 'Line' => '44', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'rstatus', -+ 'type' => '5723' -+ }, -+ '6' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ }, -+ '7' => { -+ 'name' => 'cckey', -+ 'type' => '269' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'cc_query_status_via' -+ }, -+ '60930' => { -+ 'Header' => undef, -+ 'Line' => '83', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'dest', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'port', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'mask', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'id', -+ 'type' => '108' -+ }, -+ '6' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'performance_reset_via' -+ }, -+ '61751' => { -+ 'Header' => undef, -+ 'Line' => '46', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'dest', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'port', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'id', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'pma_query_via' -+ }, -+ '69975' => { -+ 'Header' => undef, -+ 'Line' => '1469', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'rpc', -+ 'type' => '70758' -+ }, -+ '2' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'rmpp', -+ 'type' => '70770' -+ }, -+ '4' => { -+ 'name' => 'data', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_build_pkt' -+ }, -+ '70782' => { -+ 'Header' => undef, -+ 'Line' => '82', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'rpc', -+ 'type' => '70758' -+ }, -+ '2' => { -+ 'name' => 'drpath', -+ 'type' => '72191' -+ }, -+ '3' => { -+ 'name' => 'data', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'mad_encode' -+ }, -+ '72224' => { -+ 'Header' => undef, -+ 'Line' => '1496', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_get_retries' -+ }, -+ '72279' => { -+ 'Header' => undef, -+ 'Line' => '1495', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'override_ms', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_get_timeout' -+ }, -+ '72342' => { -+ 'Header' => undef, -+ 'Line' => '1468', -+ 'Return' => '269', -+ 'ShortName' => 'mad_trid' -+ }, -+ '73926' => { -+ 'Header' => undef, -+ 'Line' => '110', -+ 'Param' => { -+ '0' => { -+ 'name' => 'path', -+ 'type' => '74295' -+ }, -+ '1' => { -+ 'name' => 'dstr', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'dstr_size', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '227', -+ 'ShortName' => 'drpath2str' -+ }, -+ '74301' => { -+ 'Header' => undef, -+ 'Line' => '1436', -+ 'Param' => { -+ '0' => { -+ 'name' => 'path', -+ 'type' => '74295' -+ }, -+ '1' => { -+ 'name' => 'routepath', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'drslid', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'drdlid', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'str2drpath' -+ }, -+ '75356' => { -+ 'Header' => undef, -+ 'Line' => '44', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'portid2portnum' -+ }, -+ '76704' => { -+ 'Header' => undef, -+ 'Line' => '107', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_rpc_portid' -+ }, -+ '76815' => { -+ 'Header' => undef, -+ 'Line' => '126', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'rmpp_version', -+ 'type' => '233' -+ }, -+ '2' => { -+ 'name' => 'method_mask', -+ 'type' => '76698' -+ }, -+ '3' => { -+ 'name' => 'class_oui', -+ 'type' => '257' -+ }, -+ '4' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_register_server_via' -+ }, -+ '77621' => { -+ 'Header' => undef, -+ 'Line' => '119', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'rmpp_version', -+ 'type' => '233' -+ }, -+ '2' => { -+ 'name' => 'method_mask', -+ 'type' => '76698' -+ }, -+ '3' => { -+ 'name' => 'class_oui', -+ 'type' => '257' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_register_server' -+ }, -+ '77781' => { -+ 'Header' => undef, -+ 'Line' => '1506', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'rmpp_version', -+ 'type' => '233' -+ }, -+ '2' => { -+ 'name' => 'srcport', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_register_client_via' -+ }, -+ '77949' => { -+ 'Header' => undef, -+ 'Line' => '97', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'rmpp_version', -+ 'type' => '233' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_register_client' -+ }, -+ '78436' => { -+ 'Header' => undef, -+ 'Line' => '74', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'mad_class_agent' -+ }, -+ '85050' => { -+ 'Header' => undef, -+ 'Line' => '111', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'srcgid', -+ 'type' => '2937' -+ }, -+ '2' => { -+ 'name' => 'destgid', -+ 'type' => '2937' -+ }, -+ '3' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '4' => { -+ 'name' => 'buf', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_path_query_via' -+ }, -+ '85152' => { -+ 'Header' => undef, -+ 'Line' => '133', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rcvbuf', -+ 'type' => '220' -+ }, -+ '1' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '108' -+ }, -+ '5' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '2937', -+ 'ShortName' => 'smp_query_via' -+ }, -+ '85200' => { -+ 'Header' => undef, -+ 'Line' => '241', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'type' => '5723' -+ }, -+ '2' => { -+ 'name' => 'gid', -+ 'type' => '85330' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_self' -+ }, -+ '85336' => { -+ 'Header' => undef, -+ 'Line' => '213', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'type' => '5723' -+ }, -+ '2' => { -+ 'name' => 'gid', -+ 'type' => '85330' -+ }, -+ '3' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_self_via' -+ }, -+ '85907' => { -+ 'Header' => undef, -+ 'Line' => '206', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'addr_str', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'dest_type', -+ 'type' => '84623' -+ }, -+ '3' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_portid_str' -+ }, -+ '86064' => { -+ 'Header' => undef, -+ 'Line' => '137', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'addr_str', -+ 'type' => '227' -+ }, -+ '2' => { -+ 'name' => 'dest_type', -+ 'type' => '84623' -+ }, -+ '3' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '4' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_portid_str_via' -+ }, -+ '87052' => { -+ 'Header' => undef, -+ 'Line' => '97', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'guid', -+ 'type' => '87671' -+ }, -+ '2' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_guid_via' -+ }, -+ '87693' => { -+ 'Header' => undef, -+ 'Line' => '75', -+ 'Param' => { -+ '0' => { -+ 'name' => 'portid', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '2937' -+ }, -+ '2' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_gid_via' -+ }, -+ '87968' => { -+ 'Header' => undef, -+ 'Line' => '70', -+ 'Param' => { -+ '0' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_smlid' -+ }, -+ '88071' => { -+ 'Header' => undef, -+ 'Line' => '48', -+ 'Param' => { -+ '0' => { -+ 'name' => 'sm_id', -+ 'type' => '1900' -+ }, -+ '1' => { -+ 'name' => 'timeout', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'srcport', -+ 'type' => '1971' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => 'ib_resolve_smlid_via' -+ }, -+ '96769' => { -+ 'Header' => undef, -+ 'Line' => '434', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1912' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mad_rpc_close_port' -+ }, -+ '96856' => { -+ 'Header' => undef, -+ 'Line' => '373', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dev_name', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'dev_port', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'mgmt_classes', -+ 'type' => '5723' -+ }, -+ '3' => { -+ 'name' => 'num_classes', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1912', -+ 'ShortName' => 'mad_rpc_open_port' -+ }, -+ '97973' => { -+ 'Header' => undef, -+ 'Line' => '345', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dev_name', -+ 'type' => '227' -+ }, -+ '1' => { -+ 'name' => 'dev_port', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'mgmt_classes', -+ 'type' => '5723' -+ }, -+ '3' => { -+ 'name' => 'num_classes', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'madrpc_init' -+ }, -+ '98777' => { -+ 'Header' => undef, -+ 'Line' => '338', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rpc', -+ 'type' => '96745' -+ }, -+ '1' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'rmpp', -+ 'type' => '96751' -+ }, -+ '3' => { -+ 'name' => 'data', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'madrpc_rmpp' -+ }, -+ '98939' => { -+ 'Header' => undef, -+ 'Line' => '333', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rpc', -+ 'type' => '96745' -+ }, -+ '1' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '2' => { -+ 'name' => 'payload', -+ 'type' => '220' -+ }, -+ '3' => { -+ 'name' => 'rcvdata', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'madrpc' -+ }, -+ '99101' => { -+ 'Header' => undef, -+ 'Line' => '1488', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '1971' -+ }, -+ '1' => { -+ 'name' => 'rpc', -+ 'type' => '96745' -+ }, -+ '2' => { -+ 'name' => 'dport', -+ 'type' => '1900' -+ }, -+ '3' => { -+ 'name' => 'rmpp', -+ 'type' => '96751' -+ }, -+ '4' => { -+ 'name' => 'data', -+ 'type' => '220' -+ } -+ }, -+ 'Return' => '220', -+ 'ShortName' => 'mad_rpc_rmpp' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'bm_call_via' => 'bm_call_via@@IBMAD_1.3', -+ 'cc_config_status_via' => 'cc_config_status_via@@IBMAD_1.3', -+ 'cc_query_status_via' => 'cc_query_status_via@@IBMAD_1.3', -+ 'drpath2str' => 'drpath2str@@IBMAD_1.3', -+ 'ib_node_query_via' => 'ib_node_query_via@@IBMAD_1.3', -+ 'ib_path_query' => 'ib_path_query@@IBMAD_1.3', -+ 'ib_path_query_via' => 'ib_path_query_via@@IBMAD_1.3', -+ 'ib_resolve_gid_via' => 'ib_resolve_gid_via@@IBMAD_1.3', -+ 'ib_resolve_guid_via' => 'ib_resolve_guid_via@@IBMAD_1.3', -+ 'ib_resolve_portid_str' => 'ib_resolve_portid_str@@IBMAD_1.3', -+ 'ib_resolve_portid_str_via' => 'ib_resolve_portid_str_via@@IBMAD_1.3', -+ 'ib_resolve_self' => 'ib_resolve_self@@IBMAD_1.3', -+ 'ib_resolve_self_via' => 'ib_resolve_self_via@@IBMAD_1.3', -+ 'ib_resolve_smlid' => 'ib_resolve_smlid@@IBMAD_1.3', -+ 'ib_resolve_smlid_via' => 'ib_resolve_smlid_via@@IBMAD_1.3', -+ 'ib_vendor_call' => 'ib_vendor_call@@IBMAD_1.3', -+ 'ib_vendor_call_via' => 'ib_vendor_call_via@@IBMAD_1.3', -+ 'ibdebug' => 'ibdebug@@IBMAD_1.3', -+ 'mad_alloc' => 'mad_alloc@@IBMAD_1.3', -+ 'mad_build_pkt' => 'mad_build_pkt@@IBMAD_1.3', -+ 'mad_class_agent' => 'mad_class_agent@@IBMAD_1.3', -+ 'mad_decode_field' => 'mad_decode_field@@IBMAD_1.3', -+ 'mad_dump_array' => 'mad_dump_array@@IBMAD_1.3', -+ 'mad_dump_bitfield' => 'mad_dump_bitfield@@IBMAD_1.3', -+ 'mad_dump_cc_cacongestionentry' => 'mad_dump_cc_cacongestionentry@@IBMAD_1.3', -+ 'mad_dump_cc_cacongestionsetting' => 'mad_dump_cc_cacongestionsetting@@IBMAD_1.3', -+ 'mad_dump_cc_congestioncontroltable' => 'mad_dump_cc_congestioncontroltable@@IBMAD_1.3', -+ 'mad_dump_cc_congestioncontroltableentry' => 'mad_dump_cc_congestioncontroltableentry@@IBMAD_1.3', -+ 'mad_dump_cc_congestioninfo' => 'mad_dump_cc_congestioninfo@@IBMAD_1.3', -+ 'mad_dump_cc_congestionkeyinfo' => 'mad_dump_cc_congestionkeyinfo@@IBMAD_1.3', -+ 'mad_dump_cc_congestionlog' => 'mad_dump_cc_congestionlog@@IBMAD_1.3', -+ 'mad_dump_cc_congestionlogca' => 'mad_dump_cc_congestionlogca@@IBMAD_1.3', -+ 'mad_dump_cc_congestionlogentryca' => 'mad_dump_cc_congestionlogentryca@@IBMAD_1.3', -+ 'mad_dump_cc_congestionlogentryswitch' => 'mad_dump_cc_congestionlogentryswitch@@IBMAD_1.3', -+ 'mad_dump_cc_congestionlogswitch' => 'mad_dump_cc_congestionlogswitch@@IBMAD_1.3', -+ 'mad_dump_cc_switchcongestionsetting' => 'mad_dump_cc_switchcongestionsetting@@IBMAD_1.3', -+ 'mad_dump_cc_switchportcongestionsettingelement' => 'mad_dump_cc_switchportcongestionsettingelement@@IBMAD_1.3', -+ 'mad_dump_cc_timestamp' => 'mad_dump_cc_timestamp@@IBMAD_1.3', -+ 'mad_dump_classportinfo' => 'mad_dump_classportinfo@@IBMAD_1.3', -+ 'mad_dump_field' => 'mad_dump_field@@IBMAD_1.3', -+ 'mad_dump_fields' => 'mad_dump_fields@@IBMAD_1.3', -+ 'mad_dump_hex' => 'mad_dump_hex@@IBMAD_1.3', -+ 'mad_dump_int' => 'mad_dump_int@@IBMAD_1.3', -+ 'mad_dump_linkdowndefstate' => 'mad_dump_linkdowndefstate@@IBMAD_1.3', -+ 'mad_dump_linkspeed' => 'mad_dump_linkspeed@@IBMAD_1.3', -+ 'mad_dump_linkspeeden' => 'mad_dump_linkspeeden@@IBMAD_1.3', -+ 'mad_dump_linkspeedext' => 'mad_dump_linkspeedext@@IBMAD_1.3', -+ 'mad_dump_linkspeedexten' => 'mad_dump_linkspeedexten@@IBMAD_1.3', -+ 'mad_dump_linkspeedextsup' => 'mad_dump_linkspeedextsup@@IBMAD_1.3', -+ 'mad_dump_linkspeedsup' => 'mad_dump_linkspeedsup@@IBMAD_1.3', -+ 'mad_dump_linkwidth' => 'mad_dump_linkwidth@@IBMAD_1.3', -+ 'mad_dump_linkwidthen' => 'mad_dump_linkwidthen@@IBMAD_1.3', -+ 'mad_dump_linkwidthsup' => 'mad_dump_linkwidthsup@@IBMAD_1.3', -+ 'mad_dump_mlnx_ext_port_info' => 'mad_dump_mlnx_ext_port_info@@IBMAD_1.3', -+ 'mad_dump_mtu' => 'mad_dump_mtu@@IBMAD_1.3', -+ 'mad_dump_node_type' => 'mad_dump_node_type@@IBMAD_1.3', -+ 'mad_dump_nodedesc' => 'mad_dump_nodedesc@@IBMAD_1.3', -+ 'mad_dump_nodeinfo' => 'mad_dump_nodeinfo@@IBMAD_1.3', -+ 'mad_dump_opervls' => 'mad_dump_opervls@@IBMAD_1.3', -+ 'mad_dump_perfcounters' => 'mad_dump_perfcounters@@IBMAD_1.3', -+ 'mad_dump_perfcounters_ext' => 'mad_dump_perfcounters_ext@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_flow_ctl_counters' => 'mad_dump_perfcounters_port_flow_ctl_counters@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_op_rcv_counters' => 'mad_dump_perfcounters_port_op_rcv_counters@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_vl_op_data' => 'mad_dump_perfcounters_port_vl_op_data@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_vl_op_packet' => 'mad_dump_perfcounters_port_vl_op_packet@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_vl_xmit_flow_ctl_update_errors' => 'mad_dump_perfcounters_port_vl_xmit_flow_ctl_update_errors@@IBMAD_1.3', -+ 'mad_dump_perfcounters_port_vl_xmit_wait_counters' => 'mad_dump_perfcounters_port_vl_xmit_wait_counters@@IBMAD_1.3', -+ 'mad_dump_perfcounters_rcv_con_ctrl' => 'mad_dump_perfcounters_rcv_con_ctrl@@IBMAD_1.3', -+ 'mad_dump_perfcounters_rcv_err' => 'mad_dump_perfcounters_rcv_err@@IBMAD_1.3', -+ 'mad_dump_perfcounters_rcv_sl' => 'mad_dump_perfcounters_rcv_sl@@IBMAD_1.3', -+ 'mad_dump_perfcounters_sl_rcv_becn' => 'mad_dump_perfcounters_sl_rcv_becn@@IBMAD_1.3', -+ 'mad_dump_perfcounters_sl_rcv_fecn' => 'mad_dump_perfcounters_sl_rcv_fecn@@IBMAD_1.3', -+ 'mad_dump_perfcounters_sw_port_vl_congestion' => 'mad_dump_perfcounters_sw_port_vl_congestion@@IBMAD_1.3', -+ 'mad_dump_perfcounters_vl_xmit_time_cong' => 'mad_dump_perfcounters_vl_xmit_time_cong@@IBMAD_1.3', -+ 'mad_dump_perfcounters_xmit_con_ctrl' => 'mad_dump_perfcounters_xmit_con_ctrl@@IBMAD_1.3', -+ 'mad_dump_perfcounters_xmt_disc' => 'mad_dump_perfcounters_xmt_disc@@IBMAD_1.3', -+ 'mad_dump_perfcounters_xmt_sl' => 'mad_dump_perfcounters_xmt_sl@@IBMAD_1.3', -+ 'mad_dump_physportstate' => 'mad_dump_physportstate@@IBMAD_1.3', -+ 'mad_dump_port_ext_speeds_counters' => 'mad_dump_port_ext_speeds_counters@@IBMAD_1.3', -+ 'mad_dump_port_ext_speeds_counters_rsfec_active' => 'mad_dump_port_ext_speeds_counters_rsfec_active@@IBMAD_1.3', -+ 'mad_dump_portcapmask' => 'mad_dump_portcapmask@@IBMAD_1.3', -+ 'mad_dump_portcapmask2' => 'mad_dump_portcapmask2@@IBMAD_1.3', -+ 'mad_dump_portinfo' => 'mad_dump_portinfo@@IBMAD_1.3', -+ 'mad_dump_portinfo_ext' => 'mad_dump_portinfo_ext@@IBMAD_1.3', -+ 'mad_dump_portsamples_control' => 'mad_dump_portsamples_control@@IBMAD_1.3', -+ 'mad_dump_portsamples_result' => 'mad_dump_portsamples_result@@IBMAD_1.3', -+ 'mad_dump_portstate' => 'mad_dump_portstate@@IBMAD_1.3', -+ 'mad_dump_portstates' => 'mad_dump_portstates@@IBMAD_1.3', -+ 'mad_dump_rhex' => 'mad_dump_rhex@@IBMAD_1.3', -+ 'mad_dump_sltovl' => 'mad_dump_sltovl@@IBMAD_1.3', -+ 'mad_dump_string' => 'mad_dump_string@@IBMAD_1.3', -+ 'mad_dump_switchinfo' => 'mad_dump_switchinfo@@IBMAD_1.3', -+ 'mad_dump_uint' => 'mad_dump_uint@@IBMAD_1.3', -+ 'mad_dump_val' => 'mad_dump_val@@IBMAD_1.3', -+ 'mad_dump_vlarbitration' => 'mad_dump_vlarbitration@@IBMAD_1.3', -+ 'mad_dump_vlcap' => 'mad_dump_vlcap@@IBMAD_1.3', -+ 'mad_encode' => 'mad_encode@@IBMAD_1.3', -+ 'mad_encode_field' => 'mad_encode_field@@IBMAD_1.3', -+ 'mad_field_name' => 'mad_field_name@@IBMAD_1.3', -+ 'mad_free' => 'mad_free@@IBMAD_1.3', -+ 'mad_get_array' => 'mad_get_array@@IBMAD_1.3', -+ 'mad_get_field' => 'mad_get_field@@IBMAD_1.3', -+ 'mad_get_field64' => 'mad_get_field64@@IBMAD_1.3', -+ 'mad_get_retries' => 'mad_get_retries@@IBMAD_1.3', -+ 'mad_get_timeout' => 'mad_get_timeout@@IBMAD_1.3', -+ 'mad_print_field' => 'mad_print_field@@IBMAD_1.3', -+ 'mad_receive' => 'mad_receive@@IBMAD_1.3', -+ 'mad_receive_via' => 'mad_receive_via@@IBMAD_1.3', -+ 'mad_register_client' => 'mad_register_client@@IBMAD_1.3', -+ 'mad_register_client_via' => 'mad_register_client_via@@IBMAD_1.3', -+ 'mad_register_server' => 'mad_register_server@@IBMAD_1.3', -+ 'mad_register_server_via' => 'mad_register_server_via@@IBMAD_1.3', -+ 'mad_respond' => 'mad_respond@@IBMAD_1.3', -+ 'mad_respond_via' => 'mad_respond_via@@IBMAD_1.3', -+ 'mad_rpc' => 'mad_rpc@@IBMAD_1.3', -+ 'mad_rpc_class_agent' => 'mad_rpc_class_agent@@IBMAD_1.3', -+ 'mad_rpc_close_port' => 'mad_rpc_close_port@@IBMAD_1.3', -+ 'mad_rpc_open_port' => 'mad_rpc_open_port@@IBMAD_1.3', -+ 'mad_rpc_portid' => 'mad_rpc_portid@@IBMAD_1.3', -+ 'mad_rpc_rmpp' => 'mad_rpc_rmpp@@IBMAD_1.3', -+ 'mad_rpc_set_retries' => 'mad_rpc_set_retries@@IBMAD_1.3', -+ 'mad_rpc_set_timeout' => 'mad_rpc_set_timeout@@IBMAD_1.3', -+ 'mad_send' => 'mad_send@@IBMAD_1.3', -+ 'mad_send_via' => 'mad_send_via@@IBMAD_1.3', -+ 'mad_set_array' => 'mad_set_array@@IBMAD_1.3', -+ 'mad_set_field' => 'mad_set_field@@IBMAD_1.3', -+ 'mad_set_field64' => 'mad_set_field64@@IBMAD_1.3', -+ 'mad_trid' => 'mad_trid@@IBMAD_1.3', -+ 'madrpc' => 'madrpc@@IBMAD_1.3', -+ 'madrpc_init' => 'madrpc_init@@IBMAD_1.3', -+ 'madrpc_portid' => 'madrpc_portid@@IBMAD_1.3', -+ 'madrpc_rmpp' => 'madrpc_rmpp@@IBMAD_1.3', -+ 'madrpc_save_mad' => 'madrpc_save_mad@@IBMAD_1.3', -+ 'madrpc_set_retries' => 'madrpc_set_retries@@IBMAD_1.3', -+ 'madrpc_set_timeout' => 'madrpc_set_timeout@@IBMAD_1.3', -+ 'madrpc_show_errors' => 'madrpc_show_errors@@IBMAD_1.3', -+ 'performance_reset_via' => 'performance_reset_via@@IBMAD_1.3', -+ 'pma_query_via' => 'pma_query_via@@IBMAD_1.3', -+ 'portid2portnum' => 'portid2portnum@@IBMAD_1.3', -+ 'portid2str' => 'portid2str@@IBMAD_1.3', -+ 'sa_call' => 'sa_call@@IBMAD_1.3', -+ 'sa_rpc_call' => 'sa_rpc_call@@IBMAD_1.3', -+ 'smp_mkey_get' => 'smp_mkey_get@@IBMAD_1.3', -+ 'smp_mkey_set' => 'smp_mkey_set@@IBMAD_1.3', -+ 'smp_query' => 'smp_query@@IBMAD_1.3', -+ 'smp_query_status_via' => 'smp_query_status_via@@IBMAD_1.3', -+ 'smp_query_via' => 'smp_query_via@@IBMAD_1.3', -+ 'smp_set' => 'smp_set@@IBMAD_1.3', -+ 'smp_set_status_via' => 'smp_set_status_via@@IBMAD_1.3', -+ 'smp_set_via' => 'smp_set_via@@IBMAD_1.3', -+ 'str2drpath' => 'str2drpath@@IBMAD_1.3', -+ 'xdump' => 'xdump@@IBMAD_1.3' -+ }, -+ 'Symbols' => { -+ 'libibmad.so.5.3.41.0' => { -+ 'bm_call_via@@IBMAD_1.3' => 1, -+ 'cc_config_status_via@@IBMAD_1.3' => 1, -+ 'cc_query_status_via@@IBMAD_1.3' => 1, -+ 'drpath2str@@IBMAD_1.3' => 1, -+ 'ib_node_query_via@@IBMAD_1.3' => 1, -+ 'ib_path_query@@IBMAD_1.3' => 1, -+ 'ib_path_query_via@@IBMAD_1.3' => 1, -+ 'ib_resolve_gid_via@@IBMAD_1.3' => 1, -+ 'ib_resolve_guid_via@@IBMAD_1.3' => 1, -+ 'ib_resolve_portid_str@@IBMAD_1.3' => 1, -+ 'ib_resolve_portid_str_via@@IBMAD_1.3' => 1, -+ 'ib_resolve_self@@IBMAD_1.3' => 1, -+ 'ib_resolve_self_via@@IBMAD_1.3' => 1, -+ 'ib_resolve_smlid@@IBMAD_1.3' => 1, -+ 'ib_resolve_smlid_via@@IBMAD_1.3' => 1, -+ 'ib_vendor_call@@IBMAD_1.3' => 1, -+ 'ib_vendor_call_via@@IBMAD_1.3' => 1, -+ 'ibdebug@@IBMAD_1.3' => -4, -+ 'mad_alloc@@IBMAD_1.3' => 1, -+ 'mad_build_pkt@@IBMAD_1.3' => 1, -+ 'mad_class_agent@@IBMAD_1.3' => 1, -+ 'mad_decode_field@@IBMAD_1.3' => 1, -+ 'mad_dump_array@@IBMAD_1.3' => 1, -+ 'mad_dump_bitfield@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_cacongestionentry@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_cacongestionsetting@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestioncontroltable@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestioncontroltableentry@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestioninfo@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionkeyinfo@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionlog@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionlogca@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionlogentryca@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionlogentryswitch@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_congestionlogswitch@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_switchcongestionsetting@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_switchportcongestionsettingelement@@IBMAD_1.3' => 1, -+ 'mad_dump_cc_timestamp@@IBMAD_1.3' => 1, -+ 'mad_dump_classportinfo@@IBMAD_1.3' => 1, -+ 'mad_dump_field@@IBMAD_1.3' => 1, -+ 'mad_dump_fields@@IBMAD_1.3' => 1, -+ 'mad_dump_hex@@IBMAD_1.3' => 1, -+ 'mad_dump_int@@IBMAD_1.3' => 1, -+ 'mad_dump_linkdowndefstate@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeed@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeeden@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeedext@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeedexten@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeedextsup@@IBMAD_1.3' => 1, -+ 'mad_dump_linkspeedsup@@IBMAD_1.3' => 1, -+ 'mad_dump_linkwidth@@IBMAD_1.3' => 1, -+ 'mad_dump_linkwidthen@@IBMAD_1.3' => 1, -+ 'mad_dump_linkwidthsup@@IBMAD_1.3' => 1, -+ 'mad_dump_mlnx_ext_port_info@@IBMAD_1.3' => 1, -+ 'mad_dump_mtu@@IBMAD_1.3' => 1, -+ 'mad_dump_node_type@@IBMAD_1.3' => 1, -+ 'mad_dump_nodedesc@@IBMAD_1.3' => 1, -+ 'mad_dump_nodeinfo@@IBMAD_1.3' => 1, -+ 'mad_dump_opervls@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_ext@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_flow_ctl_counters@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_op_rcv_counters@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_vl_op_data@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_vl_op_packet@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_vl_xmit_flow_ctl_update_errors@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_port_vl_xmit_wait_counters@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_rcv_con_ctrl@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_rcv_err@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_rcv_sl@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_sl_rcv_becn@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_sl_rcv_fecn@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_sw_port_vl_congestion@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_vl_xmit_time_cong@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_xmit_con_ctrl@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_xmt_disc@@IBMAD_1.3' => 1, -+ 'mad_dump_perfcounters_xmt_sl@@IBMAD_1.3' => 1, -+ 'mad_dump_physportstate@@IBMAD_1.3' => 1, -+ 'mad_dump_port_ext_speeds_counters@@IBMAD_1.3' => 1, -+ 'mad_dump_port_ext_speeds_counters_rsfec_active@@IBMAD_1.3' => 1, -+ 'mad_dump_portcapmask2@@IBMAD_1.3' => 1, -+ 'mad_dump_portcapmask@@IBMAD_1.3' => 1, -+ 'mad_dump_portinfo@@IBMAD_1.3' => 1, -+ 'mad_dump_portinfo_ext@@IBMAD_1.3' => 1, -+ 'mad_dump_portsamples_control@@IBMAD_1.3' => 1, -+ 'mad_dump_portsamples_result@@IBMAD_1.3' => 1, -+ 'mad_dump_portstate@@IBMAD_1.3' => 1, -+ 'mad_dump_portstates@@IBMAD_1.3' => 1, -+ 'mad_dump_rhex@@IBMAD_1.3' => 1, -+ 'mad_dump_sltovl@@IBMAD_1.3' => 1, -+ 'mad_dump_string@@IBMAD_1.3' => 1, -+ 'mad_dump_switchinfo@@IBMAD_1.3' => 1, -+ 'mad_dump_uint@@IBMAD_1.3' => 1, -+ 'mad_dump_val@@IBMAD_1.3' => 1, -+ 'mad_dump_vlarbitration@@IBMAD_1.3' => 1, -+ 'mad_dump_vlcap@@IBMAD_1.3' => 1, -+ 'mad_encode@@IBMAD_1.3' => 1, -+ 'mad_encode_field@@IBMAD_1.3' => 1, -+ 'mad_field_name@@IBMAD_1.3' => 1, -+ 'mad_free@@IBMAD_1.3' => 1, -+ 'mad_get_array@@IBMAD_1.3' => 1, -+ 'mad_get_field64@@IBMAD_1.3' => 1, -+ 'mad_get_field@@IBMAD_1.3' => 1, -+ 'mad_get_retries@@IBMAD_1.3' => 1, -+ 'mad_get_timeout@@IBMAD_1.3' => 1, -+ 'mad_print_field@@IBMAD_1.3' => 1, -+ 'mad_receive@@IBMAD_1.3' => 1, -+ 'mad_receive_via@@IBMAD_1.3' => 1, -+ 'mad_register_client@@IBMAD_1.3' => 1, -+ 'mad_register_client_via@@IBMAD_1.3' => 1, -+ 'mad_register_server@@IBMAD_1.3' => 1, -+ 'mad_register_server_via@@IBMAD_1.3' => 1, -+ 'mad_respond@@IBMAD_1.3' => 1, -+ 'mad_respond_via@@IBMAD_1.3' => 1, -+ 'mad_rpc@@IBMAD_1.3' => 1, -+ 'mad_rpc_class_agent@@IBMAD_1.3' => 1, -+ 'mad_rpc_close_port@@IBMAD_1.3' => 1, -+ 'mad_rpc_open_port@@IBMAD_1.3' => 1, -+ 'mad_rpc_portid@@IBMAD_1.3' => 1, -+ 'mad_rpc_rmpp@@IBMAD_1.3' => 1, -+ 'mad_rpc_set_retries@@IBMAD_1.3' => 1, -+ 'mad_rpc_set_timeout@@IBMAD_1.3' => 1, -+ 'mad_send@@IBMAD_1.3' => 1, -+ 'mad_send_via@@IBMAD_1.3' => 1, -+ 'mad_set_array@@IBMAD_1.3' => 1, -+ 'mad_set_field64@@IBMAD_1.3' => 1, -+ 'mad_set_field@@IBMAD_1.3' => 1, -+ 'mad_trid@@IBMAD_1.3' => 1, -+ 'madrpc@@IBMAD_1.3' => 1, -+ 'madrpc_init@@IBMAD_1.3' => 1, -+ 'madrpc_portid@@IBMAD_1.3' => 1, -+ 'madrpc_rmpp@@IBMAD_1.3' => 1, -+ 'madrpc_save_mad@@IBMAD_1.3' => 1, -+ 'madrpc_set_retries@@IBMAD_1.3' => 1, -+ 'madrpc_set_timeout@@IBMAD_1.3' => 1, -+ 'madrpc_show_errors@@IBMAD_1.3' => 1, -+ 'performance_reset_via@@IBMAD_1.3' => 1, -+ 'pma_query_via@@IBMAD_1.3' => 1, -+ 'portid2portnum@@IBMAD_1.3' => 1, -+ 'portid2str@@IBMAD_1.3' => 1, -+ 'sa_call@@IBMAD_1.3' => 1, -+ 'sa_rpc_call@@IBMAD_1.3' => 1, -+ 'smp_mkey_get@@IBMAD_1.3' => 1, -+ 'smp_mkey_set@@IBMAD_1.3' => 1, -+ 'smp_query@@IBMAD_1.3' => 1, -+ 'smp_query_status_via@@IBMAD_1.3' => 1, -+ 'smp_query_via@@IBMAD_1.3' => 1, -+ 'smp_set@@IBMAD_1.3' => 1, -+ 'smp_set_status_via@@IBMAD_1.3' => 1, -+ 'smp_set_via@@IBMAD_1.3' => 1, -+ 'str2drpath@@IBMAD_1.3' => 1, -+ 'xdump@@IBMAD_1.3' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '101' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '1052' => { -+ 'BaseType' => '818', -+ 'Header' => undef, -+ 'Line' => '243', -+ 'Name' => 'ibmad_gid_t', -+ 'Size' => '16', -+ 'Type' => 'Typedef' -+ }, -+ '108' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '111056' => { -+ 'Header' => undef, -+ 'Line' => '1374', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attrid', -+ 'offset' => '0', -+ 'type' => '108' -+ }, -+ '1' => { -+ 'name' => 'mod', -+ 'offset' => '4', -+ 'type' => '108' -+ }, -+ '2' => { -+ 'name' => 'mask', -+ 'offset' => '8', -+ 'type' => '269' -+ }, -+ '3' => { -+ 'name' => 'method', -+ 'offset' => '16', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'trid', -+ 'offset' => '24', -+ 'type' => '269' -+ }, -+ '5' => { -+ 'name' => 'recsz', -+ 'offset' => '32', -+ 'type' => '108' -+ }, -+ '6' => { -+ 'name' => 'rmpp', -+ 'offset' => '36', -+ 'type' => '111043' -+ } -+ }, -+ 'Name' => 'struct ib_sa_call', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '111169' => { -+ 'BaseType' => '111056', -+ 'Header' => undef, -+ 'Line' => '1383', -+ 'Name' => 'ib_sa_call_t', -+ 'Size' => '56', -+ 'Type' => 'Typedef' -+ }, -+ '113003' => { -+ 'BaseType' => '111169', -+ 'Name' => 'ib_sa_call_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '115' => { -+ 'Name' => 'signed char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '122' => { -+ 'BaseType' => '101', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '129677' => { -+ 'Header' => undef, -+ 'Line' => '1385', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'method', -+ 'offset' => '0', -+ 'type' => '108' -+ }, -+ '1' => { -+ 'name' => 'mgmt_class', -+ 'offset' => '4', -+ 'type' => '108' -+ }, -+ '2' => { -+ 'name' => 'attrid', -+ 'offset' => '8', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'mod', -+ 'offset' => '12', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'oui', -+ 'offset' => '16', -+ 'type' => '257' -+ }, -+ '5' => { -+ 'name' => 'timeout', -+ 'offset' => '20', -+ 'type' => '108' -+ }, -+ '6' => { -+ 'name' => 'rmpp', -+ 'offset' => '24', -+ 'type' => '129664' -+ } -+ }, -+ 'Name' => 'struct ib_vendor_call', -+ 'Size' => '44', -+ 'Type' => 'Struct' -+ }, -+ '129790' => { -+ 'BaseType' => '129677', -+ 'Header' => undef, -+ 'Line' => '1393', -+ 'Name' => 'ib_vendor_call_t', -+ 'Size' => '44', -+ 'Type' => 'Typedef' -+ }, -+ '130891' => { -+ 'BaseType' => '129790', -+ 'Name' => 'ib_vendor_call_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1394' => { -+ 'Header' => undef, -+ 'Line' => '308', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'lid', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'drpath', -+ 'offset' => '4', -+ 'type' => '1140' -+ }, -+ '2' => { -+ 'name' => 'grh_present', -+ 'offset' => '76', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'gid', -+ 'offset' => '80', -+ 'type' => '1052' -+ }, -+ '4' => { -+ 'name' => 'qp', -+ 'offset' => '96', -+ 'type' => '257' -+ }, -+ '5' => { -+ 'name' => 'qkey', -+ 'offset' => '100', -+ 'type' => '257' -+ }, -+ '6' => { -+ 'name' => 'sl', -+ 'offset' => '104', -+ 'type' => '233' -+ }, -+ '7' => { -+ 'name' => 'pkey_idx', -+ 'offset' => '108', -+ 'type' => '108' -+ } -+ }, -+ 'Name' => 'struct portid', -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '1519' => { -+ 'BaseType' => '1394', -+ 'Header' => undef, -+ 'Line' => '317', -+ 'Name' => 'ib_portid_t', -+ 'Size' => '112', -+ 'Type' => 'Typedef' -+ }, -+ '153' => { -+ 'BaseType' => '108', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '165' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '1707' => { -+ 'Header' => undef, -+ 'Line' => '1395', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'method', -+ 'offset' => '0', -+ 'type' => '108' -+ }, -+ '1' => { -+ 'name' => 'attrid', -+ 'offset' => '4', -+ 'type' => '108' -+ }, -+ '2' => { -+ 'name' => 'mod', -+ 'offset' => '8', -+ 'type' => '108' -+ }, -+ '3' => { -+ 'name' => 'timeout', -+ 'offset' => '12', -+ 'type' => '108' -+ }, -+ '4' => { -+ 'name' => 'bkey', -+ 'offset' => '16', -+ 'type' => '269' -+ } -+ }, -+ 'Name' => 'struct ib_bm_call', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '172' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1792' => { -+ 'BaseType' => '1707', -+ 'Header' => undef, -+ 'Line' => '1401', -+ 'Name' => 'ib_bm_call_t', -+ 'Size' => '24', -+ 'Type' => 'Typedef' -+ }, -+ '184' => { -+ 'BaseType' => '165', -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Name' => '__off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1900' => { -+ 'BaseType' => '1519', -+ 'Name' => 'ib_portid_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1912' => { -+ 'BaseType' => '1918', -+ 'Name' => 'struct ibmad_port*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1918' => { -+ 'Header' => undef, -+ 'Line' => '39', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'port_id', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'class_agents', -+ 'offset' => '4', -+ 'type' => '5126' -+ }, -+ '2' => { -+ 'name' => 'timeout', -+ 'offset' => '1028', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'retries', -+ 'offset' => '1032', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'smp_mkey', -+ 'offset' => '1040', -+ 'type' => '269' -+ } -+ }, -+ 'Name' => 'struct ibmad_port', -+ 'Size' => '1048', -+ 'Type' => 'Struct' -+ }, -+ '1923' => { -+ 'BaseType' => '1918', -+ 'Name' => 'struct ibmad_port const', -+ 'Type' => 'Const' -+ }, -+ '196' => { -+ 'BaseType' => '165', -+ 'Header' => undef, -+ 'Line' => '153', -+ 'Name' => '__off64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1971' => { -+ 'BaseType' => '1923', -+ 'Name' => 'struct ibmad_port const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '220' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '227' => { -+ 'BaseType' => '89', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '233' => { -+ 'BaseType' => '122', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '257' => { -+ 'BaseType' => '153', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '269' => { -+ 'BaseType' => '172', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '2937' => { -+ 'BaseType' => '233', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2943' => { -+ 'BaseType' => '1792', -+ 'Name' => 'ib_bm_call_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '307' => { -+ 'Header' => undef, -+ 'Line' => '49', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_flags', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => '_IO_read_ptr', -+ 'offset' => '8', -+ 'type' => '227' -+ }, -+ '10' => { -+ 'name' => '_IO_backup_base', -+ 'offset' => '80', -+ 'type' => '227' -+ }, -+ '11' => { -+ 'name' => '_IO_save_end', -+ 'offset' => '88', -+ 'type' => '227' -+ }, -+ '12' => { -+ 'name' => '_markers', -+ 'offset' => '96', -+ 'type' => '723' -+ }, -+ '13' => { -+ 'name' => '_chain', -+ 'offset' => '104', -+ 'type' => '729' -+ }, -+ '14' => { -+ 'name' => '_fileno', -+ 'offset' => '112', -+ 'type' => '71' -+ }, -+ '15' => { -+ 'name' => '_flags2', -+ 'offset' => '116', -+ 'type' => '71' -+ }, -+ '16' => { -+ 'name' => '_old_offset', -+ 'offset' => '120', -+ 'type' => '184' -+ }, -+ '17' => { -+ 'name' => '_cur_column', -+ 'offset' => '128', -+ 'type' => '64' -+ }, -+ '18' => { -+ 'name' => '_vtable_offset', -+ 'offset' => '130', -+ 'type' => '115' -+ }, -+ '19' => { -+ 'name' => '_shortbuf', -+ 'offset' => '131', -+ 'type' => '735' -+ }, -+ '2' => { -+ 'name' => '_IO_read_end', -+ 'offset' => '16', -+ 'type' => '227' -+ }, -+ '20' => { -+ 'name' => '_lock', -+ 'offset' => '136', -+ 'type' => '751' -+ }, -+ '21' => { -+ 'name' => '_offset', -+ 'offset' => '144', -+ 'type' => '196' -+ }, -+ '22' => { -+ 'name' => '_codecvt', -+ 'offset' => '152', -+ 'type' => '762' -+ }, -+ '23' => { -+ 'name' => '_wide_data', -+ 'offset' => '160', -+ 'type' => '773' -+ }, -+ '24' => { -+ 'name' => '_freeres_list', -+ 'offset' => '168', -+ 'type' => '729' -+ }, -+ '25' => { -+ 'name' => '_freeres_buf', -+ 'offset' => '176', -+ 'type' => '220' -+ }, -+ '26' => { -+ 'name' => '__pad5', -+ 'offset' => '184', -+ 'type' => '45' -+ }, -+ '27' => { -+ 'name' => '_mode', -+ 'offset' => '192', -+ 'type' => '71' -+ }, -+ '28' => { -+ 'name' => '_unused2', -+ 'offset' => '196', -+ 'type' => '779' -+ }, -+ '3' => { -+ 'name' => '_IO_read_base', -+ 'offset' => '24', -+ 'type' => '227' -+ }, -+ '4' => { -+ 'name' => '_IO_write_base', -+ 'offset' => '32', -+ 'type' => '227' -+ }, -+ '5' => { -+ 'name' => '_IO_write_ptr', -+ 'offset' => '40', -+ 'type' => '227' -+ }, -+ '6' => { -+ 'name' => '_IO_write_end', -+ 'offset' => '48', -+ 'type' => '227' -+ }, -+ '7' => { -+ 'name' => '_IO_buf_base', -+ 'offset' => '56', -+ 'type' => '227' -+ }, -+ '8' => { -+ 'name' => '_IO_buf_end', -+ 'offset' => '64', -+ 'type' => '227' -+ }, -+ '9' => { -+ 'name' => '_IO_save_base', -+ 'offset' => '72', -+ 'type' => '227' -+ } -+ }, -+ 'Name' => 'struct _IO_FILE', -+ 'Size' => '216', -+ 'Type' => 'Struct' -+ }, -+ '45' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '5126' => { -+ 'BaseType' => '71', -+ 'Name' => 'int[256]', -+ 'Size' => '1024', -+ 'Type' => 'Array' -+ }, -+ '57' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '5723' => { -+ 'BaseType' => '71', -+ 'Name' => 'int*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '64' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '698' => { -+ 'BaseType' => '307', -+ 'Header' => undef, -+ 'Line' => '7', -+ 'Name' => 'FILE', -+ 'Size' => '216', -+ 'Type' => 'Typedef' -+ }, -+ '7042' => { -+ 'Header' => undef, -+ 'Line' => '330', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_NO_FIELD', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IB_GID_PREFIX_F', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IB_DRSMP_HOPPTR_F', -+ 'value' => '10' -+ }, -+ '100' => { -+ 'name' => 'IB_SW_OPT_SLTOVL_MAPPING_F', -+ 'value' => '97' -+ }, -+ '101' => { -+ 'name' => 'IB_SW_LIDS_PER_PORT_F', -+ 'value' => '98' -+ }, -+ '102' => { -+ 'name' => 'IB_SW_PARTITION_ENFORCE_CAP_F', -+ 'value' => '99' -+ }, -+ '103' => { -+ 'name' => 'IB_SW_PARTITION_ENF_INB_F', -+ 'value' => '100' -+ }, -+ '104' => { -+ 'name' => 'IB_SW_PARTITION_ENF_OUTB_F', -+ 'value' => '101' -+ }, -+ '105' => { -+ 'name' => 'IB_SW_FILTER_RAW_INB_F', -+ 'value' => '102' -+ }, -+ '106' => { -+ 'name' => 'IB_SW_FILTER_RAW_OUTB_F', -+ 'value' => '103' -+ }, -+ '107' => { -+ 'name' => 'IB_SW_ENHANCED_PORT0_F', -+ 'value' => '104' -+ }, -+ '108' => { -+ 'name' => 'IB_SW_MCAST_FDB_TOP_F', -+ 'value' => '105' -+ }, -+ '109' => { -+ 'name' => 'IB_SW_LAST_F', -+ 'value' => '106' -+ }, -+ '11' => { -+ 'name' => 'IB_DRSMP_STATUS_F', -+ 'value' => '11' -+ }, -+ '110' => { -+ 'name' => 'IB_LINEAR_FORW_TBL_F', -+ 'value' => '107' -+ }, -+ '111' => { -+ 'name' => 'IB_MULTICAST_FORW_TBL_F', -+ 'value' => '108' -+ }, -+ '112' => { -+ 'name' => 'IB_NODE_DESC_F', -+ 'value' => '109' -+ }, -+ '113' => { -+ 'name' => 'IB_NOTICE_IS_GENERIC_F', -+ 'value' => '110' -+ }, -+ '114' => { -+ 'name' => 'IB_NOTICE_TYPE_F', -+ 'value' => '111' -+ }, -+ '115' => { -+ 'name' => 'IB_NOTICE_PRODUCER_F', -+ 'value' => '112' -+ }, -+ '116' => { -+ 'name' => 'IB_NOTICE_TRAP_NUMBER_F', -+ 'value' => '113' -+ }, -+ '117' => { -+ 'name' => 'IB_NOTICE_ISSUER_LID_F', -+ 'value' => '114' -+ }, -+ '118' => { -+ 'name' => 'IB_NOTICE_TOGGLE_F', -+ 'value' => '115' -+ }, -+ '119' => { -+ 'name' => 'IB_NOTICE_COUNT_F', -+ 'value' => '116' -+ }, -+ '12' => { -+ 'name' => 'IB_DRSMP_DIRECTION_F', -+ 'value' => '12' -+ }, -+ '120' => { -+ 'name' => 'IB_NOTICE_DATA_DETAILS_F', -+ 'value' => '117' -+ }, -+ '121' => { -+ 'name' => 'IB_NOTICE_DATA_LID_F', -+ 'value' => '118' -+ }, -+ '122' => { -+ 'name' => 'IB_NOTICE_DATA_144_LID_F', -+ 'value' => '119' -+ }, -+ '123' => { -+ 'name' => 'IB_NOTICE_DATA_144_CAPMASK_F', -+ 'value' => '120' -+ }, -+ '124' => { -+ 'name' => 'IB_PC_FIRST_F', -+ 'value' => '121' -+ }, -+ '125' => { -+ 'name' => 'IB_PC_PORT_SELECT_F', -+ 'value' => '121' -+ }, -+ '126' => { -+ 'name' => 'IB_PC_COUNTER_SELECT_F', -+ 'value' => '122' -+ }, -+ '127' => { -+ 'name' => 'IB_PC_ERR_SYM_F', -+ 'value' => '123' -+ }, -+ '128' => { -+ 'name' => 'IB_PC_LINK_RECOVERS_F', -+ 'value' => '124' -+ }, -+ '129' => { -+ 'name' => 'IB_PC_LINK_DOWNED_F', -+ 'value' => '125' -+ }, -+ '13' => { -+ 'name' => 'IB_MAD_TRID_F', -+ 'value' => '13' -+ }, -+ '130' => { -+ 'name' => 'IB_PC_ERR_RCV_F', -+ 'value' => '126' -+ }, -+ '131' => { -+ 'name' => 'IB_PC_ERR_PHYSRCV_F', -+ 'value' => '127' -+ }, -+ '132' => { -+ 'name' => 'IB_PC_ERR_SWITCH_REL_F', -+ 'value' => '128' -+ }, -+ '133' => { -+ 'name' => 'IB_PC_XMT_DISCARDS_F', -+ 'value' => '129' -+ }, -+ '134' => { -+ 'name' => 'IB_PC_ERR_XMTCONSTR_F', -+ 'value' => '130' -+ }, -+ '135' => { -+ 'name' => 'IB_PC_ERR_RCVCONSTR_F', -+ 'value' => '131' -+ }, -+ '136' => { -+ 'name' => 'IB_PC_COUNTER_SELECT2_F', -+ 'value' => '132' -+ }, -+ '137' => { -+ 'name' => 'IB_PC_ERR_LOCALINTEG_F', -+ 'value' => '133' -+ }, -+ '138' => { -+ 'name' => 'IB_PC_ERR_EXCESS_OVR_F', -+ 'value' => '134' -+ }, -+ '139' => { -+ 'name' => 'IB_PC_VL15_DROPPED_F', -+ 'value' => '135' -+ }, -+ '14' => { -+ 'name' => 'IB_MAD_ATTRID_F', -+ 'value' => '14' -+ }, -+ '140' => { -+ 'name' => 'IB_PC_XMT_BYTES_F', -+ 'value' => '136' -+ }, -+ '141' => { -+ 'name' => 'IB_PC_RCV_BYTES_F', -+ 'value' => '137' -+ }, -+ '142' => { -+ 'name' => 'IB_PC_XMT_PKTS_F', -+ 'value' => '138' -+ }, -+ '143' => { -+ 'name' => 'IB_PC_RCV_PKTS_F', -+ 'value' => '139' -+ }, -+ '144' => { -+ 'name' => 'IB_PC_XMT_WAIT_F', -+ 'value' => '140' -+ }, -+ '145' => { -+ 'name' => 'IB_PC_LAST_F', -+ 'value' => '141' -+ }, -+ '146' => { -+ 'name' => 'IB_SMINFO_GUID_F', -+ 'value' => '142' -+ }, -+ '147' => { -+ 'name' => 'IB_SMINFO_KEY_F', -+ 'value' => '143' -+ }, -+ '148' => { -+ 'name' => 'IB_SMINFO_ACT_F', -+ 'value' => '144' -+ }, -+ '149' => { -+ 'name' => 'IB_SMINFO_PRIO_F', -+ 'value' => '145' -+ }, -+ '15' => { -+ 'name' => 'IB_MAD_ATTRMOD_F', -+ 'value' => '15' -+ }, -+ '150' => { -+ 'name' => 'IB_SMINFO_STATE_F', -+ 'value' => '146' -+ }, -+ '151' => { -+ 'name' => 'IB_SA_RMPP_VERS_F', -+ 'value' => '147' -+ }, -+ '152' => { -+ 'name' => 'IB_SA_RMPP_TYPE_F', -+ 'value' => '148' -+ }, -+ '153' => { -+ 'name' => 'IB_SA_RMPP_RESP_F', -+ 'value' => '149' -+ }, -+ '154' => { -+ 'name' => 'IB_SA_RMPP_FLAGS_F', -+ 'value' => '150' -+ }, -+ '155' => { -+ 'name' => 'IB_SA_RMPP_STATUS_F', -+ 'value' => '151' -+ }, -+ '156' => { -+ 'name' => 'IB_SA_RMPP_D1_F', -+ 'value' => '152' -+ }, -+ '157' => { -+ 'name' => 'IB_SA_RMPP_SEGNUM_F', -+ 'value' => '153' -+ }, -+ '158' => { -+ 'name' => 'IB_SA_RMPP_D2_F', -+ 'value' => '154' -+ }, -+ '159' => { -+ 'name' => 'IB_SA_RMPP_LEN_F', -+ 'value' => '155' -+ }, -+ '16' => { -+ 'name' => 'IB_MAD_MKEY_F', -+ 'value' => '16' -+ }, -+ '160' => { -+ 'name' => 'IB_SA_RMPP_NEWWIN_F', -+ 'value' => '156' -+ }, -+ '161' => { -+ 'name' => 'IB_SA_MP_NPATH_F', -+ 'value' => '157' -+ }, -+ '162' => { -+ 'name' => 'IB_SA_MP_NSRC_F', -+ 'value' => '158' -+ }, -+ '163' => { -+ 'name' => 'IB_SA_MP_NDEST_F', -+ 'value' => '159' -+ }, -+ '164' => { -+ 'name' => 'IB_SA_MP_GID0_F', -+ 'value' => '160' -+ }, -+ '165' => { -+ 'name' => 'IB_SA_PR_DGID_F', -+ 'value' => '161' -+ }, -+ '166' => { -+ 'name' => 'IB_SA_PR_SGID_F', -+ 'value' => '162' -+ }, -+ '167' => { -+ 'name' => 'IB_SA_PR_DLID_F', -+ 'value' => '163' -+ }, -+ '168' => { -+ 'name' => 'IB_SA_PR_SLID_F', -+ 'value' => '164' -+ }, -+ '169' => { -+ 'name' => 'IB_SA_PR_NPATH_F', -+ 'value' => '165' -+ }, -+ '17' => { -+ 'name' => 'IB_DRSMP_DRDLID_F', -+ 'value' => '17' -+ }, -+ '170' => { -+ 'name' => 'IB_SA_PR_SL_F', -+ 'value' => '166' -+ }, -+ '171' => { -+ 'name' => 'IB_SA_MCM_MGID_F', -+ 'value' => '167' -+ }, -+ '172' => { -+ 'name' => 'IB_SA_MCM_PORTGID_F', -+ 'value' => '168' -+ }, -+ '173' => { -+ 'name' => 'IB_SA_MCM_QKEY_F', -+ 'value' => '169' -+ }, -+ '174' => { -+ 'name' => 'IB_SA_MCM_MLID_F', -+ 'value' => '170' -+ }, -+ '175' => { -+ 'name' => 'IB_SA_MCM_SL_F', -+ 'value' => '171' -+ }, -+ '176' => { -+ 'name' => 'IB_SA_MCM_MTU_F', -+ 'value' => '172' -+ }, -+ '177' => { -+ 'name' => 'IB_SA_MCM_RATE_F', -+ 'value' => '173' -+ }, -+ '178' => { -+ 'name' => 'IB_SA_MCM_TCLASS_F', -+ 'value' => '174' -+ }, -+ '179' => { -+ 'name' => 'IB_SA_MCM_PKEY_F', -+ 'value' => '175' -+ }, -+ '18' => { -+ 'name' => 'IB_DRSMP_DRSLID_F', -+ 'value' => '18' -+ }, -+ '180' => { -+ 'name' => 'IB_SA_MCM_FLOW_LABEL_F', -+ 'value' => '176' -+ }, -+ '181' => { -+ 'name' => 'IB_SA_MCM_JOIN_STATE_F', -+ 'value' => '177' -+ }, -+ '182' => { -+ 'name' => 'IB_SA_MCM_PROXY_JOIN_F', -+ 'value' => '178' -+ }, -+ '183' => { -+ 'name' => 'IB_SA_SR_ID_F', -+ 'value' => '179' -+ }, -+ '184' => { -+ 'name' => 'IB_SA_SR_GID_F', -+ 'value' => '180' -+ }, -+ '185' => { -+ 'name' => 'IB_SA_SR_PKEY_F', -+ 'value' => '181' -+ }, -+ '186' => { -+ 'name' => 'IB_SA_SR_LEASE_F', -+ 'value' => '182' -+ }, -+ '187' => { -+ 'name' => 'IB_SA_SR_KEY_F', -+ 'value' => '183' -+ }, -+ '188' => { -+ 'name' => 'IB_SA_SR_NAME_F', -+ 'value' => '184' -+ }, -+ '189' => { -+ 'name' => 'IB_SA_SR_DATA_F', -+ 'value' => '185' -+ }, -+ '19' => { -+ 'name' => 'IB_SA_MKEY_F', -+ 'value' => '19' -+ }, -+ '190' => { -+ 'name' => 'IB_ATS_SM_NODE_ADDR_F', -+ 'value' => '186' -+ }, -+ '191' => { -+ 'name' => 'IB_ATS_SM_MAGIC_KEY_F', -+ 'value' => '187' -+ }, -+ '192' => { -+ 'name' => 'IB_ATS_SM_NODE_TYPE_F', -+ 'value' => '188' -+ }, -+ '193' => { -+ 'name' => 'IB_ATS_SM_NODE_NAME_F', -+ 'value' => '189' -+ }, -+ '194' => { -+ 'name' => 'IB_SLTOVL_MAPPING_TABLE_F', -+ 'value' => '190' -+ }, -+ '195' => { -+ 'name' => 'IB_VL_ARBITRATION_TABLE_F', -+ 'value' => '191' -+ }, -+ '196' => { -+ 'name' => 'IB_VEND2_OUI_F', -+ 'value' => '192' -+ }, -+ '197' => { -+ 'name' => 'IB_VEND2_DATA_F', -+ 'value' => '193' -+ }, -+ '198' => { -+ 'name' => 'IB_PC_EXT_FIRST_F', -+ 'value' => '194' -+ }, -+ '199' => { -+ 'name' => 'IB_PC_EXT_PORT_SELECT_F', -+ 'value' => '194' -+ }, -+ '2' => { -+ 'name' => 'IB_GID_GUID_F', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IB_SA_ATTROFFS_F', -+ 'value' => '20' -+ }, -+ '200' => { -+ 'name' => 'IB_PC_EXT_COUNTER_SELECT_F', -+ 'value' => '195' -+ }, -+ '201' => { -+ 'name' => 'IB_PC_EXT_XMT_BYTES_F', -+ 'value' => '196' -+ }, -+ '202' => { -+ 'name' => 'IB_PC_EXT_RCV_BYTES_F', -+ 'value' => '197' -+ }, -+ '203' => { -+ 'name' => 'IB_PC_EXT_XMT_PKTS_F', -+ 'value' => '198' -+ }, -+ '204' => { -+ 'name' => 'IB_PC_EXT_RCV_PKTS_F', -+ 'value' => '199' -+ }, -+ '205' => { -+ 'name' => 'IB_PC_EXT_XMT_UPKTS_F', -+ 'value' => '200' -+ }, -+ '206' => { -+ 'name' => 'IB_PC_EXT_RCV_UPKTS_F', -+ 'value' => '201' -+ }, -+ '207' => { -+ 'name' => 'IB_PC_EXT_XMT_MPKTS_F', -+ 'value' => '202' -+ }, -+ '208' => { -+ 'name' => 'IB_PC_EXT_RCV_MPKTS_F', -+ 'value' => '203' -+ }, -+ '209' => { -+ 'name' => 'IB_PC_EXT_LAST_F', -+ 'value' => '204' -+ }, -+ '21' => { -+ 'name' => 'IB_SA_COMPMASK_F', -+ 'value' => '21' -+ }, -+ '210' => { -+ 'name' => 'IB_GUID_GUID0_F', -+ 'value' => '205' -+ }, -+ '211' => { -+ 'name' => 'IB_CPI_BASEVER_F', -+ 'value' => '206' -+ }, -+ '212' => { -+ 'name' => 'IB_CPI_CLASSVER_F', -+ 'value' => '207' -+ }, -+ '213' => { -+ 'name' => 'IB_CPI_CAPMASK_F', -+ 'value' => '208' -+ }, -+ '214' => { -+ 'name' => 'IB_CPI_CAPMASK2_F', -+ 'value' => '209' -+ }, -+ '215' => { -+ 'name' => 'IB_CPI_RESP_TIME_VALUE_F', -+ 'value' => '210' -+ }, -+ '216' => { -+ 'name' => 'IB_CPI_REDIRECT_GID_F', -+ 'value' => '211' -+ }, -+ '217' => { -+ 'name' => 'IB_CPI_REDIRECT_TC_F', -+ 'value' => '212' -+ }, -+ '218' => { -+ 'name' => 'IB_CPI_REDIRECT_SL_F', -+ 'value' => '213' -+ }, -+ '219' => { -+ 'name' => 'IB_CPI_REDIRECT_FL_F', -+ 'value' => '214' -+ }, -+ '22' => { -+ 'name' => 'IB_SA_DATA_F', -+ 'value' => '22' -+ }, -+ '220' => { -+ 'name' => 'IB_CPI_REDIRECT_LID_F', -+ 'value' => '215' -+ }, -+ '221' => { -+ 'name' => 'IB_CPI_REDIRECT_PKEY_F', -+ 'value' => '216' -+ }, -+ '222' => { -+ 'name' => 'IB_CPI_REDIRECT_QP_F', -+ 'value' => '217' -+ }, -+ '223' => { -+ 'name' => 'IB_CPI_REDIRECT_QKEY_F', -+ 'value' => '218' -+ }, -+ '224' => { -+ 'name' => 'IB_CPI_TRAP_GID_F', -+ 'value' => '219' -+ }, -+ '225' => { -+ 'name' => 'IB_CPI_TRAP_TC_F', -+ 'value' => '220' -+ }, -+ '226' => { -+ 'name' => 'IB_CPI_TRAP_SL_F', -+ 'value' => '221' -+ }, -+ '227' => { -+ 'name' => 'IB_CPI_TRAP_FL_F', -+ 'value' => '222' -+ }, -+ '228' => { -+ 'name' => 'IB_CPI_TRAP_LID_F', -+ 'value' => '223' -+ }, -+ '229' => { -+ 'name' => 'IB_CPI_TRAP_PKEY_F', -+ 'value' => '224' -+ }, -+ '23' => { -+ 'name' => 'IB_SM_DATA_F', -+ 'value' => '23' -+ }, -+ '230' => { -+ 'name' => 'IB_CPI_TRAP_HL_F', -+ 'value' => '225' -+ }, -+ '231' => { -+ 'name' => 'IB_CPI_TRAP_QP_F', -+ 'value' => '226' -+ }, -+ '232' => { -+ 'name' => 'IB_CPI_TRAP_QKEY_F', -+ 'value' => '227' -+ }, -+ '233' => { -+ 'name' => 'IB_PC_XMT_DATA_SL_FIRST_F', -+ 'value' => '228' -+ }, -+ '234' => { -+ 'name' => 'IB_PC_XMT_DATA_SL0_F', -+ 'value' => '228' -+ }, -+ '235' => { -+ 'name' => 'IB_PC_XMT_DATA_SL1_F', -+ 'value' => '229' -+ }, -+ '236' => { -+ 'name' => 'IB_PC_XMT_DATA_SL2_F', -+ 'value' => '230' -+ }, -+ '237' => { -+ 'name' => 'IB_PC_XMT_DATA_SL3_F', -+ 'value' => '231' -+ }, -+ '238' => { -+ 'name' => 'IB_PC_XMT_DATA_SL4_F', -+ 'value' => '232' -+ }, -+ '239' => { -+ 'name' => 'IB_PC_XMT_DATA_SL5_F', -+ 'value' => '233' -+ }, -+ '24' => { -+ 'name' => 'IB_GS_DATA_F', -+ 'value' => '24' -+ }, -+ '240' => { -+ 'name' => 'IB_PC_XMT_DATA_SL6_F', -+ 'value' => '234' -+ }, -+ '241' => { -+ 'name' => 'IB_PC_XMT_DATA_SL7_F', -+ 'value' => '235' -+ }, -+ '242' => { -+ 'name' => 'IB_PC_XMT_DATA_SL8_F', -+ 'value' => '236' -+ }, -+ '243' => { -+ 'name' => 'IB_PC_XMT_DATA_SL9_F', -+ 'value' => '237' -+ }, -+ '244' => { -+ 'name' => 'IB_PC_XMT_DATA_SL10_F', -+ 'value' => '238' -+ }, -+ '245' => { -+ 'name' => 'IB_PC_XMT_DATA_SL11_F', -+ 'value' => '239' -+ }, -+ '246' => { -+ 'name' => 'IB_PC_XMT_DATA_SL12_F', -+ 'value' => '240' -+ }, -+ '247' => { -+ 'name' => 'IB_PC_XMT_DATA_SL13_F', -+ 'value' => '241' -+ }, -+ '248' => { -+ 'name' => 'IB_PC_XMT_DATA_SL14_F', -+ 'value' => '242' -+ }, -+ '249' => { -+ 'name' => 'IB_PC_XMT_DATA_SL15_F', -+ 'value' => '243' -+ }, -+ '25' => { -+ 'name' => 'IB_DRSMP_PATH_F', -+ 'value' => '25' -+ }, -+ '250' => { -+ 'name' => 'IB_PC_XMT_DATA_SL_LAST_F', -+ 'value' => '244' -+ }, -+ '251' => { -+ 'name' => 'IB_PC_RCV_DATA_SL_FIRST_F', -+ 'value' => '245' -+ }, -+ '252' => { -+ 'name' => 'IB_PC_RCV_DATA_SL0_F', -+ 'value' => '245' -+ }, -+ '253' => { -+ 'name' => 'IB_PC_RCV_DATA_SL1_F', -+ 'value' => '246' -+ }, -+ '254' => { -+ 'name' => 'IB_PC_RCV_DATA_SL2_F', -+ 'value' => '247' -+ }, -+ '255' => { -+ 'name' => 'IB_PC_RCV_DATA_SL3_F', -+ 'value' => '248' -+ }, -+ '256' => { -+ 'name' => 'IB_PC_RCV_DATA_SL4_F', -+ 'value' => '249' -+ }, -+ '257' => { -+ 'name' => 'IB_PC_RCV_DATA_SL5_F', -+ 'value' => '250' -+ }, -+ '258' => { -+ 'name' => 'IB_PC_RCV_DATA_SL6_F', -+ 'value' => '251' -+ }, -+ '259' => { -+ 'name' => 'IB_PC_RCV_DATA_SL7_F', -+ 'value' => '252' -+ }, -+ '26' => { -+ 'name' => 'IB_DRSMP_RPATH_F', -+ 'value' => '26' -+ }, -+ '260' => { -+ 'name' => 'IB_PC_RCV_DATA_SL8_F', -+ 'value' => '253' -+ }, -+ '261' => { -+ 'name' => 'IB_PC_RCV_DATA_SL9_F', -+ 'value' => '254' -+ }, -+ '262' => { -+ 'name' => 'IB_PC_RCV_DATA_SL10_F', -+ 'value' => '255' -+ }, -+ '263' => { -+ 'name' => 'IB_PC_RCV_DATA_SL11_F', -+ 'value' => '256' -+ }, -+ '264' => { -+ 'name' => 'IB_PC_RCV_DATA_SL12_F', -+ 'value' => '257' -+ }, -+ '265' => { -+ 'name' => 'IB_PC_RCV_DATA_SL13_F', -+ 'value' => '258' -+ }, -+ '266' => { -+ 'name' => 'IB_PC_RCV_DATA_SL14_F', -+ 'value' => '259' -+ }, -+ '267' => { -+ 'name' => 'IB_PC_RCV_DATA_SL15_F', -+ 'value' => '260' -+ }, -+ '268' => { -+ 'name' => 'IB_PC_RCV_DATA_SL_LAST_F', -+ 'value' => '261' -+ }, -+ '269' => { -+ 'name' => 'IB_PC_XMT_INACT_DISC_F', -+ 'value' => '262' -+ }, -+ '27' => { -+ 'name' => 'IB_PORT_FIRST_F', -+ 'value' => '27' -+ }, -+ '270' => { -+ 'name' => 'IB_PC_XMT_NEIGH_MTU_DISC_F', -+ 'value' => '263' -+ }, -+ '271' => { -+ 'name' => 'IB_PC_XMT_SW_LIFE_DISC_F', -+ 'value' => '264' -+ }, -+ '272' => { -+ 'name' => 'IB_PC_XMT_SW_HOL_DISC_F', -+ 'value' => '265' -+ }, -+ '273' => { -+ 'name' => 'IB_PC_XMT_DISC_LAST_F', -+ 'value' => '266' -+ }, -+ '274' => { -+ 'name' => 'IB_PC_RCV_LOCAL_PHY_ERR_F', -+ 'value' => '267' -+ }, -+ '275' => { -+ 'name' => 'IB_PC_RCV_MALFORMED_PKT_ERR_F', -+ 'value' => '268' -+ }, -+ '276' => { -+ 'name' => 'IB_PC_RCV_BUF_OVR_ERR_F', -+ 'value' => '269' -+ }, -+ '277' => { -+ 'name' => 'IB_PC_RCV_DLID_MAP_ERR_F', -+ 'value' => '270' -+ }, -+ '278' => { -+ 'name' => 'IB_PC_RCV_VL_MAP_ERR_F', -+ 'value' => '271' -+ }, -+ '279' => { -+ 'name' => 'IB_PC_RCV_LOOPING_ERR_F', -+ 'value' => '272' -+ }, -+ '28' => { -+ 'name' => 'IB_PORT_MKEY_F', -+ 'value' => '27' -+ }, -+ '280' => { -+ 'name' => 'IB_PC_RCV_ERR_LAST_F', -+ 'value' => '273' -+ }, -+ '281' => { -+ 'name' => 'IB_PSC_OPCODE_F', -+ 'value' => '274' -+ }, -+ '282' => { -+ 'name' => 'IB_PSC_PORT_SELECT_F', -+ 'value' => '275' -+ }, -+ '283' => { -+ 'name' => 'IB_PSC_TICK_F', -+ 'value' => '276' -+ }, -+ '284' => { -+ 'name' => 'IB_PSC_COUNTER_WIDTH_F', -+ 'value' => '277' -+ }, -+ '285' => { -+ 'name' => 'IB_PSC_COUNTER_MASK0_F', -+ 'value' => '278' -+ }, -+ '286' => { -+ 'name' => 'IB_PSC_COUNTER_MASKS1TO9_F', -+ 'value' => '279' -+ }, -+ '287' => { -+ 'name' => 'IB_PSC_COUNTER_MASKS10TO14_F', -+ 'value' => '280' -+ }, -+ '288' => { -+ 'name' => 'IB_PSC_SAMPLE_MECHS_F', -+ 'value' => '281' -+ }, -+ '289' => { -+ 'name' => 'IB_PSC_SAMPLE_STATUS_F', -+ 'value' => '282' -+ }, -+ '29' => { -+ 'name' => 'IB_PORT_GID_PREFIX_F', -+ 'value' => '28' -+ }, -+ '290' => { -+ 'name' => 'IB_PSC_OPTION_MASK_F', -+ 'value' => '283' -+ }, -+ '291' => { -+ 'name' => 'IB_PSC_VENDOR_MASK_F', -+ 'value' => '284' -+ }, -+ '292' => { -+ 'name' => 'IB_PSC_SAMPLE_START_F', -+ 'value' => '285' -+ }, -+ '293' => { -+ 'name' => 'IB_PSC_SAMPLE_INTVL_F', -+ 'value' => '286' -+ }, -+ '294' => { -+ 'name' => 'IB_PSC_TAG_F', -+ 'value' => '287' -+ }, -+ '295' => { -+ 'name' => 'IB_PSC_COUNTER_SEL0_F', -+ 'value' => '288' -+ }, -+ '296' => { -+ 'name' => 'IB_PSC_COUNTER_SEL1_F', -+ 'value' => '289' -+ }, -+ '297' => { -+ 'name' => 'IB_PSC_COUNTER_SEL2_F', -+ 'value' => '290' -+ }, -+ '298' => { -+ 'name' => 'IB_PSC_COUNTER_SEL3_F', -+ 'value' => '291' -+ }, -+ '299' => { -+ 'name' => 'IB_PSC_COUNTER_SEL4_F', -+ 'value' => '292' -+ }, -+ '3' => { -+ 'name' => 'IB_MAD_METHOD_F', -+ 'value' => '3' -+ }, -+ '30' => { -+ 'name' => 'IB_PORT_LID_F', -+ 'value' => '29' -+ }, -+ '300' => { -+ 'name' => 'IB_PSC_COUNTER_SEL5_F', -+ 'value' => '293' -+ }, -+ '301' => { -+ 'name' => 'IB_PSC_COUNTER_SEL6_F', -+ 'value' => '294' -+ }, -+ '302' => { -+ 'name' => 'IB_PSC_COUNTER_SEL7_F', -+ 'value' => '295' -+ }, -+ '303' => { -+ 'name' => 'IB_PSC_COUNTER_SEL8_F', -+ 'value' => '296' -+ }, -+ '304' => { -+ 'name' => 'IB_PSC_COUNTER_SEL9_F', -+ 'value' => '297' -+ }, -+ '305' => { -+ 'name' => 'IB_PSC_COUNTER_SEL10_F', -+ 'value' => '298' -+ }, -+ '306' => { -+ 'name' => 'IB_PSC_COUNTER_SEL11_F', -+ 'value' => '299' -+ }, -+ '307' => { -+ 'name' => 'IB_PSC_COUNTER_SEL12_F', -+ 'value' => '300' -+ }, -+ '308' => { -+ 'name' => 'IB_PSC_COUNTER_SEL13_F', -+ 'value' => '301' -+ }, -+ '309' => { -+ 'name' => 'IB_PSC_COUNTER_SEL14_F', -+ 'value' => '302' -+ }, -+ '31' => { -+ 'name' => 'IB_PORT_SMLID_F', -+ 'value' => '30' -+ }, -+ '310' => { -+ 'name' => 'IB_PSC_SAMPLES_ONLY_OPT_MASK_F', -+ 'value' => '303' -+ }, -+ '311' => { -+ 'name' => 'IB_PSC_LAST_F', -+ 'value' => '304' -+ }, -+ '312' => { -+ 'name' => 'IB_GI_GUID0_F', -+ 'value' => '305' -+ }, -+ '313' => { -+ 'name' => 'IB_GI_GUID1_F', -+ 'value' => '306' -+ }, -+ '314' => { -+ 'name' => 'IB_GI_GUID2_F', -+ 'value' => '307' -+ }, -+ '315' => { -+ 'name' => 'IB_GI_GUID3_F', -+ 'value' => '308' -+ }, -+ '316' => { -+ 'name' => 'IB_GI_GUID4_F', -+ 'value' => '309' -+ }, -+ '317' => { -+ 'name' => 'IB_GI_GUID5_F', -+ 'value' => '310' -+ }, -+ '318' => { -+ 'name' => 'IB_GI_GUID6_F', -+ 'value' => '311' -+ }, -+ '319' => { -+ 'name' => 'IB_GI_GUID7_F', -+ 'value' => '312' -+ }, -+ '32' => { -+ 'name' => 'IB_PORT_CAPMASK_F', -+ 'value' => '31' -+ }, -+ '320' => { -+ 'name' => 'IB_SA_GIR_LID_F', -+ 'value' => '313' -+ }, -+ '321' => { -+ 'name' => 'IB_SA_GIR_BLOCKNUM_F', -+ 'value' => '314' -+ }, -+ '322' => { -+ 'name' => 'IB_SA_GIR_GUID0_F', -+ 'value' => '315' -+ }, -+ '323' => { -+ 'name' => 'IB_SA_GIR_GUID1_F', -+ 'value' => '316' -+ }, -+ '324' => { -+ 'name' => 'IB_SA_GIR_GUID2_F', -+ 'value' => '317' -+ }, -+ '325' => { -+ 'name' => 'IB_SA_GIR_GUID3_F', -+ 'value' => '318' -+ }, -+ '326' => { -+ 'name' => 'IB_SA_GIR_GUID4_F', -+ 'value' => '319' -+ }, -+ '327' => { -+ 'name' => 'IB_SA_GIR_GUID5_F', -+ 'value' => '320' -+ }, -+ '328' => { -+ 'name' => 'IB_SA_GIR_GUID6_F', -+ 'value' => '321' -+ }, -+ '329' => { -+ 'name' => 'IB_SA_GIR_GUID7_F', -+ 'value' => '322' -+ }, -+ '33' => { -+ 'name' => 'IB_PORT_DIAG_F', -+ 'value' => '32' -+ }, -+ '330' => { -+ 'name' => 'IB_PORT_CAPMASK2_F', -+ 'value' => '323' -+ }, -+ '331' => { -+ 'name' => 'IB_PORT_LINK_SPEED_EXT_ACTIVE_F', -+ 'value' => '324' -+ }, -+ '332' => { -+ 'name' => 'IB_PORT_LINK_SPEED_EXT_SUPPORTED_F', -+ 'value' => '325' -+ }, -+ '333' => { -+ 'name' => 'IB_PORT_LINK_SPEED_EXT_ENABLED_F', -+ 'value' => '326' -+ }, -+ '334' => { -+ 'name' => 'IB_PORT_LINK_SPEED_EXT_LAST_F', -+ 'value' => '327' -+ }, -+ '335' => { -+ 'name' => 'IB_PESC_PORT_SELECT_F', -+ 'value' => '328' -+ }, -+ '336' => { -+ 'name' => 'IB_PESC_COUNTER_SELECT_F', -+ 'value' => '329' -+ }, -+ '337' => { -+ 'name' => 'IB_PESC_SYNC_HDR_ERR_CTR_F', -+ 'value' => '330' -+ }, -+ '338' => { -+ 'name' => 'IB_PESC_UNK_BLOCK_CTR_F', -+ 'value' => '331' -+ }, -+ '339' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE0_F', -+ 'value' => '332' -+ }, -+ '34' => { -+ 'name' => 'IB_PORT_MKEY_LEASE_F', -+ 'value' => '33' -+ }, -+ '340' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE1_F', -+ 'value' => '333' -+ }, -+ '341' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE2_F', -+ 'value' => '334' -+ }, -+ '342' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE3_F', -+ 'value' => '335' -+ }, -+ '343' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE4_F', -+ 'value' => '336' -+ }, -+ '344' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE5_F', -+ 'value' => '337' -+ }, -+ '345' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE6_F', -+ 'value' => '338' -+ }, -+ '346' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE7_F', -+ 'value' => '339' -+ }, -+ '347' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE8_F', -+ 'value' => '340' -+ }, -+ '348' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE9_F', -+ 'value' => '341' -+ }, -+ '349' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE10_F', -+ 'value' => '342' -+ }, -+ '35' => { -+ 'name' => 'IB_PORT_LOCAL_PORT_F', -+ 'value' => '34' -+ }, -+ '350' => { -+ 'name' => 'IB_PESC_ERR_DET_CTR_LANE11_F', -+ 'value' => '343' -+ }, -+ '351' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE0_F', -+ 'value' => '344' -+ }, -+ '352' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE1_F', -+ 'value' => '345' -+ }, -+ '353' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE2_F', -+ 'value' => '346' -+ }, -+ '354' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE3_F', -+ 'value' => '347' -+ }, -+ '355' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE4_F', -+ 'value' => '348' -+ }, -+ '356' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE5_F', -+ 'value' => '349' -+ }, -+ '357' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE6_F', -+ 'value' => '350' -+ }, -+ '358' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE7_F', -+ 'value' => '351' -+ }, -+ '359' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE8_F', -+ 'value' => '352' -+ }, -+ '36' => { -+ 'name' => 'IB_PORT_LINK_WIDTH_ENABLED_F', -+ 'value' => '35' -+ }, -+ '360' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE9_F', -+ 'value' => '353' -+ }, -+ '361' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE10_F', -+ 'value' => '354' -+ }, -+ '362' => { -+ 'name' => 'IB_PESC_FEC_CORR_BLOCK_CTR_LANE11_F', -+ 'value' => '355' -+ }, -+ '363' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE0_F', -+ 'value' => '356' -+ }, -+ '364' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE1_F', -+ 'value' => '357' -+ }, -+ '365' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE2_F', -+ 'value' => '358' -+ }, -+ '366' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE3_F', -+ 'value' => '359' -+ }, -+ '367' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE4_F', -+ 'value' => '360' -+ }, -+ '368' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE5_F', -+ 'value' => '361' -+ }, -+ '369' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE6_F', -+ 'value' => '362' -+ }, -+ '37' => { -+ 'name' => 'IB_PORT_LINK_WIDTH_SUPPORTED_F', -+ 'value' => '36' -+ }, -+ '370' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE7_F', -+ 'value' => '363' -+ }, -+ '371' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE8_F', -+ 'value' => '364' -+ }, -+ '372' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE9_F', -+ 'value' => '365' -+ }, -+ '373' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE10_F', -+ 'value' => '366' -+ }, -+ '374' => { -+ 'name' => 'IB_PESC_FEC_UNCORR_BLOCK_CTR_LANE11_F', -+ 'value' => '367' -+ }, -+ '375' => { -+ 'name' => 'IB_PESC_LAST_F', -+ 'value' => '368' -+ }, -+ '376' => { -+ 'name' => 'IB_PC_PORT_OP_RCV_COUNTERS_FIRST_F', -+ 'value' => '369' -+ }, -+ '377' => { -+ 'name' => 'IB_PC_PORT_OP_RCV_PKTS_F', -+ 'value' => '369' -+ }, -+ '378' => { -+ 'name' => 'IB_PC_PORT_OP_RCV_DATA_F', -+ 'value' => '370' -+ }, -+ '379' => { -+ 'name' => 'IB_PC_PORT_OP_RCV_COUNTERS_LAST_F', -+ 'value' => '371' -+ }, -+ '38' => { -+ 'name' => 'IB_PORT_LINK_WIDTH_ACTIVE_F', -+ 'value' => '37' -+ }, -+ '380' => { -+ 'name' => 'IB_PC_PORT_FLOW_CTL_COUNTERS_FIRST_F', -+ 'value' => '372' -+ }, -+ '381' => { -+ 'name' => 'IB_PC_PORT_XMIT_FLOW_PKTS_F', -+ 'value' => '372' -+ }, -+ '382' => { -+ 'name' => 'IB_PC_PORT_RCV_FLOW_PKTS_F', -+ 'value' => '373' -+ }, -+ '383' => { -+ 'name' => 'IB_PC_PORT_FLOW_CTL_COUNTERS_LAST_F', -+ 'value' => '374' -+ }, -+ '384' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS_FIRST_F', -+ 'value' => '375' -+ }, -+ '385' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS0_F', -+ 'value' => '375' -+ }, -+ '386' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS1_F', -+ 'value' => '376' -+ }, -+ '387' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS2_F', -+ 'value' => '377' -+ }, -+ '388' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS3_F', -+ 'value' => '378' -+ }, -+ '389' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS4_F', -+ 'value' => '379' -+ }, -+ '39' => { -+ 'name' => 'IB_PORT_LINK_SPEED_SUPPORTED_F', -+ 'value' => '38' -+ }, -+ '390' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS5_F', -+ 'value' => '380' -+ }, -+ '391' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS6_F', -+ 'value' => '381' -+ }, -+ '392' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS7_F', -+ 'value' => '382' -+ }, -+ '393' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS8_F', -+ 'value' => '383' -+ }, -+ '394' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS9_F', -+ 'value' => '384' -+ }, -+ '395' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS10_F', -+ 'value' => '385' -+ }, -+ '396' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS11_F', -+ 'value' => '386' -+ }, -+ '397' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS12_F', -+ 'value' => '387' -+ }, -+ '398' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS13_F', -+ 'value' => '388' -+ }, -+ '399' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS14_F', -+ 'value' => '389' -+ }, -+ '4' => { -+ 'name' => 'IB_MAD_RESPONSE_F', -+ 'value' => '4' -+ }, -+ '40' => { -+ 'name' => 'IB_PORT_STATE_F', -+ 'value' => '39' -+ }, -+ '400' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS15_F', -+ 'value' => '390' -+ }, -+ '401' => { -+ 'name' => 'IB_PC_PORT_VL_OP_PACKETS_LAST_F', -+ 'value' => '391' -+ }, -+ '402' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA_FIRST_F', -+ 'value' => '392' -+ }, -+ '403' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA0_F', -+ 'value' => '392' -+ }, -+ '404' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA1_F', -+ 'value' => '393' -+ }, -+ '405' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA2_F', -+ 'value' => '394' -+ }, -+ '406' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA3_F', -+ 'value' => '395' -+ }, -+ '407' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA4_F', -+ 'value' => '396' -+ }, -+ '408' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA5_F', -+ 'value' => '397' -+ }, -+ '409' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA6_F', -+ 'value' => '398' -+ }, -+ '41' => { -+ 'name' => 'IB_PORT_PHYS_STATE_F', -+ 'value' => '40' -+ }, -+ '410' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA7_F', -+ 'value' => '399' -+ }, -+ '411' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA8_F', -+ 'value' => '400' -+ }, -+ '412' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA9_F', -+ 'value' => '401' -+ }, -+ '413' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA10_F', -+ 'value' => '402' -+ }, -+ '414' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA11_F', -+ 'value' => '403' -+ }, -+ '415' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA12_F', -+ 'value' => '404' -+ }, -+ '416' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA13_F', -+ 'value' => '405' -+ }, -+ '417' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA14_F', -+ 'value' => '406' -+ }, -+ '418' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA15_F', -+ 'value' => '407' -+ }, -+ '419' => { -+ 'name' => 'IB_PC_PORT_VL_OP_DATA_LAST_F', -+ 'value' => '408' -+ }, -+ '42' => { -+ 'name' => 'IB_PORT_LINK_DOWN_DEF_F', -+ 'value' => '41' -+ }, -+ '420' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS_FIRST_F', -+ 'value' => '409' -+ }, -+ '421' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS0_F', -+ 'value' => '409' -+ }, -+ '422' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS1_F', -+ 'value' => '410' -+ }, -+ '423' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS2_F', -+ 'value' => '411' -+ }, -+ '424' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS3_F', -+ 'value' => '412' -+ }, -+ '425' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS4_F', -+ 'value' => '413' -+ }, -+ '426' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS5_F', -+ 'value' => '414' -+ }, -+ '427' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS6_F', -+ 'value' => '415' -+ }, -+ '428' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS7_F', -+ 'value' => '416' -+ }, -+ '429' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS8_F', -+ 'value' => '417' -+ }, -+ '43' => { -+ 'name' => 'IB_PORT_MKEY_PROT_BITS_F', -+ 'value' => '42' -+ }, -+ '430' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS9_F', -+ 'value' => '418' -+ }, -+ '431' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS10_F', -+ 'value' => '419' -+ }, -+ '432' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS11_F', -+ 'value' => '420' -+ }, -+ '433' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS12_F', -+ 'value' => '421' -+ }, -+ '434' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS13_F', -+ 'value' => '422' -+ }, -+ '435' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS14_F', -+ 'value' => '423' -+ }, -+ '436' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS15_F', -+ 'value' => '424' -+ }, -+ '437' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_FLOW_CTL_UPDATE_ERRORS_LAST_F', -+ 'value' => '425' -+ }, -+ '438' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT_COUNTERS_FIRST_F', -+ 'value' => '426' -+ }, -+ '439' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT0_F', -+ 'value' => '426' -+ }, -+ '44' => { -+ 'name' => 'IB_PORT_LMC_F', -+ 'value' => '43' -+ }, -+ '440' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT1_F', -+ 'value' => '427' -+ }, -+ '441' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT2_F', -+ 'value' => '428' -+ }, -+ '442' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT3_F', -+ 'value' => '429' -+ }, -+ '443' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT4_F', -+ 'value' => '430' -+ }, -+ '444' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT5_F', -+ 'value' => '431' -+ }, -+ '445' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT6_F', -+ 'value' => '432' -+ }, -+ '446' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT7_F', -+ 'value' => '433' -+ }, -+ '447' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT8_F', -+ 'value' => '434' -+ }, -+ '448' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT9_F', -+ 'value' => '435' -+ }, -+ '449' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT10_F', -+ 'value' => '436' -+ }, -+ '45' => { -+ 'name' => 'IB_PORT_LINK_SPEED_ACTIVE_F', -+ 'value' => '44' -+ }, -+ '450' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT11_F', -+ 'value' => '437' -+ }, -+ '451' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT12_F', -+ 'value' => '438' -+ }, -+ '452' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT13_F', -+ 'value' => '439' -+ }, -+ '453' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT14_F', -+ 'value' => '440' -+ }, -+ '454' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT15_F', -+ 'value' => '441' -+ }, -+ '455' => { -+ 'name' => 'IB_PC_PORT_VL_XMIT_WAIT_COUNTERS_LAST_F', -+ 'value' => '442' -+ }, -+ '456' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION_FIRST_F', -+ 'value' => '443' -+ }, -+ '457' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION0_F', -+ 'value' => '443' -+ }, -+ '458' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION1_F', -+ 'value' => '444' -+ }, -+ '459' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION2_F', -+ 'value' => '445' -+ }, -+ '46' => { -+ 'name' => 'IB_PORT_LINK_SPEED_ENABLED_F', -+ 'value' => '45' -+ }, -+ '460' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION3_F', -+ 'value' => '446' -+ }, -+ '461' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION4_F', -+ 'value' => '447' -+ }, -+ '462' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION5_F', -+ 'value' => '448' -+ }, -+ '463' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION6_F', -+ 'value' => '449' -+ }, -+ '464' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION7_F', -+ 'value' => '450' -+ }, -+ '465' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION8_F', -+ 'value' => '451' -+ }, -+ '466' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION9_F', -+ 'value' => '452' -+ }, -+ '467' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION10_F', -+ 'value' => '453' -+ }, -+ '468' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION11_F', -+ 'value' => '454' -+ }, -+ '469' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION12_F', -+ 'value' => '455' -+ }, -+ '47' => { -+ 'name' => 'IB_PORT_NEIGHBOR_MTU_F', -+ 'value' => '46' -+ }, -+ '470' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION13_F', -+ 'value' => '456' -+ }, -+ '471' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION14_F', -+ 'value' => '457' -+ }, -+ '472' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION15_F', -+ 'value' => '458' -+ }, -+ '473' => { -+ 'name' => 'IB_PC_SW_PORT_VL_CONGESTION_LAST_F', -+ 'value' => '459' -+ }, -+ '474' => { -+ 'name' => 'IB_PC_RCV_CON_CTRL_FIRST_F', -+ 'value' => '460' -+ }, -+ '475' => { -+ 'name' => 'IB_PC_RCV_CON_CTRL_PKT_RCV_FECN_F', -+ 'value' => '460' -+ }, -+ '476' => { -+ 'name' => 'IB_PC_RCV_CON_CTRL_PKT_RCV_BECN_F', -+ 'value' => '461' -+ }, -+ '477' => { -+ 'name' => 'IB_PC_RCV_CON_CTRL_LAST_F', -+ 'value' => '462' -+ }, -+ '478' => { -+ 'name' => 'IB_PC_SL_RCV_FECN_FIRST_F', -+ 'value' => '463' -+ }, -+ '479' => { -+ 'name' => 'IB_PC_SL_RCV_FECN0_F', -+ 'value' => '463' -+ }, -+ '48' => { -+ 'name' => 'IB_PORT_SMSL_F', -+ 'value' => '47' -+ }, -+ '480' => { -+ 'name' => 'IB_PC_SL_RCV_FECN1_F', -+ 'value' => '464' -+ }, -+ '481' => { -+ 'name' => 'IB_PC_SL_RCV_FECN2_F', -+ 'value' => '465' -+ }, -+ '482' => { -+ 'name' => 'IB_PC_SL_RCV_FECN3_F', -+ 'value' => '466' -+ }, -+ '483' => { -+ 'name' => 'IB_PC_SL_RCV_FECN4_F', -+ 'value' => '467' -+ }, -+ '484' => { -+ 'name' => 'IB_PC_SL_RCV_FECN5_F', -+ 'value' => '468' -+ }, -+ '485' => { -+ 'name' => 'IB_PC_SL_RCV_FECN6_F', -+ 'value' => '469' -+ }, -+ '486' => { -+ 'name' => 'IB_PC_SL_RCV_FECN7_F', -+ 'value' => '470' -+ }, -+ '487' => { -+ 'name' => 'IB_PC_SL_RCV_FECN8_F', -+ 'value' => '471' -+ }, -+ '488' => { -+ 'name' => 'IB_PC_SL_RCV_FECN9_F', -+ 'value' => '472' -+ }, -+ '489' => { -+ 'name' => 'IB_PC_SL_RCV_FECN10_F', -+ 'value' => '473' -+ }, -+ '49' => { -+ 'name' => 'IB_PORT_VL_CAP_F', -+ 'value' => '48' -+ }, -+ '490' => { -+ 'name' => 'IB_PC_SL_RCV_FECN11_F', -+ 'value' => '474' -+ }, -+ '491' => { -+ 'name' => 'IB_PC_SL_RCV_FECN12_F', -+ 'value' => '475' -+ }, -+ '492' => { -+ 'name' => 'IB_PC_SL_RCV_FECN13_F', -+ 'value' => '476' -+ }, -+ '493' => { -+ 'name' => 'IB_PC_SL_RCV_FECN14_F', -+ 'value' => '477' -+ }, -+ '494' => { -+ 'name' => 'IB_PC_SL_RCV_FECN15_F', -+ 'value' => '478' -+ }, -+ '495' => { -+ 'name' => 'IB_PC_SL_RCV_FECN_LAST_F', -+ 'value' => '479' -+ }, -+ '496' => { -+ 'name' => 'IB_PC_SL_RCV_BECN_FIRST_F', -+ 'value' => '480' -+ }, -+ '497' => { -+ 'name' => 'IB_PC_SL_RCV_BECN0_F', -+ 'value' => '480' -+ }, -+ '498' => { -+ 'name' => 'IB_PC_SL_RCV_BECN1_F', -+ 'value' => '481' -+ }, -+ '499' => { -+ 'name' => 'IB_PC_SL_RCV_BECN2_F', -+ 'value' => '482' -+ }, -+ '5' => { -+ 'name' => 'IB_MAD_CLASSVER_F', -+ 'value' => '5' -+ }, -+ '50' => { -+ 'name' => 'IB_PORT_INIT_TYPE_F', -+ 'value' => '49' -+ }, -+ '500' => { -+ 'name' => 'IB_PC_SL_RCV_BECN3_F', -+ 'value' => '483' -+ }, -+ '501' => { -+ 'name' => 'IB_PC_SL_RCV_BECN4_F', -+ 'value' => '484' -+ }, -+ '502' => { -+ 'name' => 'IB_PC_SL_RCV_BECN5_F', -+ 'value' => '485' -+ }, -+ '503' => { -+ 'name' => 'IB_PC_SL_RCV_BECN6_F', -+ 'value' => '486' -+ }, -+ '504' => { -+ 'name' => 'IB_PC_SL_RCV_BECN7_F', -+ 'value' => '487' -+ }, -+ '505' => { -+ 'name' => 'IB_PC_SL_RCV_BECN8_F', -+ 'value' => '488' -+ }, -+ '506' => { -+ 'name' => 'IB_PC_SL_RCV_BECN9_F', -+ 'value' => '489' -+ }, -+ '507' => { -+ 'name' => 'IB_PC_SL_RCV_BECN10_F', -+ 'value' => '490' -+ }, -+ '508' => { -+ 'name' => 'IB_PC_SL_RCV_BECN11_F', -+ 'value' => '491' -+ }, -+ '509' => { -+ 'name' => 'IB_PC_SL_RCV_BECN12_F', -+ 'value' => '492' -+ }, -+ '51' => { -+ 'name' => 'IB_PORT_VL_HIGH_LIMIT_F', -+ 'value' => '50' -+ }, -+ '510' => { -+ 'name' => 'IB_PC_SL_RCV_BECN13_F', -+ 'value' => '493' -+ }, -+ '511' => { -+ 'name' => 'IB_PC_SL_RCV_BECN14_F', -+ 'value' => '494' -+ }, -+ '512' => { -+ 'name' => 'IB_PC_SL_RCV_BECN15_F', -+ 'value' => '495' -+ }, -+ '513' => { -+ 'name' => 'IB_PC_SL_RCV_BECN_LAST_F', -+ 'value' => '496' -+ }, -+ '514' => { -+ 'name' => 'IB_PC_XMIT_CON_CTRL_FIRST_F', -+ 'value' => '497' -+ }, -+ '515' => { -+ 'name' => 'IB_PC_XMIT_CON_CTRL_TIME_CONG_F', -+ 'value' => '497' -+ }, -+ '516' => { -+ 'name' => 'IB_PC_XMIT_CON_CTRL_LAST_F', -+ 'value' => '498' -+ }, -+ '517' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG_FIRST_F', -+ 'value' => '499' -+ }, -+ '518' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG0_F', -+ 'value' => '499' -+ }, -+ '519' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG1_F', -+ 'value' => '500' -+ }, -+ '52' => { -+ 'name' => 'IB_PORT_VL_ARBITRATION_HIGH_CAP_F', -+ 'value' => '51' -+ }, -+ '520' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG2_F', -+ 'value' => '501' -+ }, -+ '521' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG3_F', -+ 'value' => '502' -+ }, -+ '522' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG4_F', -+ 'value' => '503' -+ }, -+ '523' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG5_F', -+ 'value' => '504' -+ }, -+ '524' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG6_F', -+ 'value' => '505' -+ }, -+ '525' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG7_F', -+ 'value' => '506' -+ }, -+ '526' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG8_F', -+ 'value' => '507' -+ }, -+ '527' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG9_F', -+ 'value' => '508' -+ }, -+ '528' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG10_F', -+ 'value' => '509' -+ }, -+ '529' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG11_F', -+ 'value' => '510' -+ }, -+ '53' => { -+ 'name' => 'IB_PORT_VL_ARBITRATION_LOW_CAP_F', -+ 'value' => '52' -+ }, -+ '530' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG12_F', -+ 'value' => '511' -+ }, -+ '531' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG13_F', -+ 'value' => '512' -+ }, -+ '532' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG14_F', -+ 'value' => '513' -+ }, -+ '533' => { -+ 'name' => 'IB_PC_VL_XMIT_TIME_CONG_LAST_F', -+ 'value' => '514' -+ }, -+ '534' => { -+ 'name' => 'IB_MLNX_EXT_PORT_STATE_CHG_ENABLE_F', -+ 'value' => '515' -+ }, -+ '535' => { -+ 'name' => 'IB_MLNX_EXT_PORT_LINK_SPEED_SUPPORTED_F', -+ 'value' => '516' -+ }, -+ '536' => { -+ 'name' => 'IB_MLNX_EXT_PORT_LINK_SPEED_ENABLED_F', -+ 'value' => '517' -+ }, -+ '537' => { -+ 'name' => 'IB_MLNX_EXT_PORT_LINK_SPEED_ACTIVE_F', -+ 'value' => '518' -+ }, -+ '538' => { -+ 'name' => 'IB_MLNX_EXT_PORT_LAST_F', -+ 'value' => '519' -+ }, -+ '539' => { -+ 'name' => 'IB_CC_CCKEY_F', -+ 'value' => '520' -+ }, -+ '54' => { -+ 'name' => 'IB_PORT_INIT_TYPE_REPLY_F', -+ 'value' => '53' -+ }, -+ '540' => { -+ 'name' => 'IB_CC_CONGESTION_INFO_FIRST_F', -+ 'value' => '521' -+ }, -+ '541' => { -+ 'name' => 'IB_CC_CONGESTION_INFO_F', -+ 'value' => '521' -+ }, -+ '542' => { -+ 'name' => 'IB_CC_CONGESTION_INFO_CONTROL_TABLE_CAP_F', -+ 'value' => '522' -+ }, -+ '543' => { -+ 'name' => 'IB_CC_CONGESTION_INFO_LAST_F', -+ 'value' => '523' -+ }, -+ '544' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_FIRST_F', -+ 'value' => '524' -+ }, -+ '545' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_CC_KEY_F', -+ 'value' => '524' -+ }, -+ '546' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_CC_KEY_PROTECT_BIT_F', -+ 'value' => '525' -+ }, -+ '547' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_CC_KEY_LEASE_PERIOD_F', -+ 'value' => '526' -+ }, -+ '548' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_CC_KEY_VIOLATIONS_F', -+ 'value' => '527' -+ }, -+ '549' => { -+ 'name' => 'IB_CC_CONGESTION_KEY_INFO_LAST_F', -+ 'value' => '528' -+ }, -+ '55' => { -+ 'name' => 'IB_PORT_MTU_CAP_F', -+ 'value' => '54' -+ }, -+ '550' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_FIRST_F', -+ 'value' => '529' -+ }, -+ '551' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_LOGTYPE_F', -+ 'value' => '529' -+ }, -+ '552' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CONGESTION_FLAGS_F', -+ 'value' => '530' -+ }, -+ '553' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_LAST_F', -+ 'value' => '531' -+ }, -+ '554' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_SWITCH_FIRST_F', -+ 'value' => '532' -+ }, -+ '555' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_SWITCH_LOG_EVENTS_COUNTER_F', -+ 'value' => '532' -+ }, -+ '556' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_SWITCH_CURRENT_TIME_STAMP_F', -+ 'value' => '533' -+ }, -+ '557' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_SWITCH_PORTMAP_F', -+ 'value' => '534' -+ }, -+ '558' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_SWITCH_LAST_F', -+ 'value' => '535' -+ }, -+ '559' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_FIRST_F', -+ 'value' => '536' -+ }, -+ '56' => { -+ 'name' => 'IB_PORT_VL_STALL_COUNT_F', -+ 'value' => '55' -+ }, -+ '560' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_SLID_F', -+ 'value' => '536' -+ }, -+ '561' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_DLID_F', -+ 'value' => '537' -+ }, -+ '562' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_SL_F', -+ 'value' => '538' -+ }, -+ '563' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_TIMESTAMP_F', -+ 'value' => '539' -+ }, -+ '564' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_SWITCH_LAST_F', -+ 'value' => '540' -+ }, -+ '565' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CA_FIRST_F', -+ 'value' => '541' -+ }, -+ '566' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CA_THRESHOLD_EVENT_COUNTER_F', -+ 'value' => '541' -+ }, -+ '567' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CA_THRESHOLD_CONGESTION_EVENT_MAP_F', -+ 'value' => '542' -+ }, -+ '568' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CA_CURRENT_TIMESTAMP_F', -+ 'value' => '543' -+ }, -+ '569' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_CA_LAST_F', -+ 'value' => '544' -+ }, -+ '57' => { -+ 'name' => 'IB_PORT_HOQ_LIFE_F', -+ 'value' => '56' -+ }, -+ '570' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_FIRST_F', -+ 'value' => '545' -+ }, -+ '571' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_LOCAL_QP_CN_ENTRY_F', -+ 'value' => '545' -+ }, -+ '572' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_SL_CN_ENTRY_F', -+ 'value' => '546' -+ }, -+ '573' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_SERVICE_TYPE_CN_ENTRY_F', -+ 'value' => '547' -+ }, -+ '574' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_REMOTE_QP_NUMBER_CN_ENTRY_F', -+ 'value' => '548' -+ }, -+ '575' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_LOCAL_LID_CN_F', -+ 'value' => '549' -+ }, -+ '576' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_REMOTE_LID_CN_ENTRY_F', -+ 'value' => '550' -+ }, -+ '577' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_TIMESTAMP_CN_ENTRY_F', -+ 'value' => '551' -+ }, -+ '578' => { -+ 'name' => 'IB_CC_CONGESTION_LOG_ENTRY_CA_LAST_F', -+ 'value' => '552' -+ }, -+ '579' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_FIRST_F', -+ 'value' => '553' -+ }, -+ '58' => { -+ 'name' => 'IB_PORT_OPER_VLS_F', -+ 'value' => '57' -+ }, -+ '580' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_CONTROL_MAP_F', -+ 'value' => '553' -+ }, -+ '581' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_VICTIM_MASK_F', -+ 'value' => '554' -+ }, -+ '582' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_CREDIT_MASK_F', -+ 'value' => '555' -+ }, -+ '583' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_THRESHOLD_F', -+ 'value' => '556' -+ }, -+ '584' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_PACKET_SIZE_F', -+ 'value' => '557' -+ }, -+ '585' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_CS_THRESHOLD_F', -+ 'value' => '558' -+ }, -+ '586' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_CS_RETURN_DELAY_F', -+ 'value' => '559' -+ }, -+ '587' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_MARKING_RATE_F', -+ 'value' => '560' -+ }, -+ '588' => { -+ 'name' => 'IB_CC_SWITCH_CONGESTION_SETTING_LAST_F', -+ 'value' => '561' -+ }, -+ '589' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_FIRST_F', -+ 'value' => '562' -+ }, -+ '59' => { -+ 'name' => 'IB_PORT_PART_EN_INB_F', -+ 'value' => '58' -+ }, -+ '590' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_VALID_F', -+ 'value' => '562' -+ }, -+ '591' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_CONTROL_TYPE_F', -+ 'value' => '563' -+ }, -+ '592' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_THRESHOLD_F', -+ 'value' => '564' -+ }, -+ '593' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_PACKET_SIZE_F', -+ 'value' => '565' -+ }, -+ '594' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_CONG_PARM_MARKING_RATE_F', -+ 'value' => '566' -+ }, -+ '595' => { -+ 'name' => 'IB_CC_SWITCH_PORT_CONGESTION_SETTING_ELEMENT_LAST_F', -+ 'value' => '567' -+ }, -+ '596' => { -+ 'name' => 'IB_CC_CA_CONGESTION_SETTING_FIRST_F', -+ 'value' => '568' -+ }, -+ '597' => { -+ 'name' => 'IB_CC_CA_CONGESTION_SETTING_PORT_CONTROL_F', -+ 'value' => '568' -+ }, -+ '598' => { -+ 'name' => 'IB_CC_CA_CONGESTION_SETTING_CONTROL_MAP_F', -+ 'value' => '569' -+ }, -+ '599' => { -+ 'name' => 'IB_CC_CA_CONGESTION_SETTING_LAST_F', -+ 'value' => '570' -+ }, -+ '6' => { -+ 'name' => 'IB_MAD_MGMTCLASS_F', -+ 'value' => '6' -+ }, -+ '60' => { -+ 'name' => 'IB_PORT_PART_EN_OUTB_F', -+ 'value' => '59' -+ }, -+ '600' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_FIRST_F', -+ 'value' => '571' -+ }, -+ '601' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_CCTI_TIMER_F', -+ 'value' => '571' -+ }, -+ '602' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_CCTI_INCREASE_F', -+ 'value' => '572' -+ }, -+ '603' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_TRIGGER_THRESHOLD_F', -+ 'value' => '573' -+ }, -+ '604' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_CCTI_MIN_F', -+ 'value' => '574' -+ }, -+ '605' => { -+ 'name' => 'IB_CC_CA_CONGESTION_ENTRY_LAST_F', -+ 'value' => '575' -+ }, -+ '606' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_FIRST_F', -+ 'value' => '576' -+ }, -+ '607' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_CCTI_LIMIT_F', -+ 'value' => '576' -+ }, -+ '608' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_LAST_F', -+ 'value' => '577' -+ }, -+ '609' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_ENTRY_FIRST_F', -+ 'value' => '578' -+ }, -+ '61' => { -+ 'name' => 'IB_PORT_FILTER_RAW_INB_F', -+ 'value' => '60' -+ }, -+ '610' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_ENTRY_CCT_SHIFT_F', -+ 'value' => '578' -+ }, -+ '611' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_ENTRY_CCT_MULTIPLIER_F', -+ 'value' => '579' -+ }, -+ '612' => { -+ 'name' => 'IB_CC_CONGESTION_CONTROL_TABLE_ENTRY_LAST_F', -+ 'value' => '580' -+ }, -+ '613' => { -+ 'name' => 'IB_CC_TIMESTAMP_FIRST_F', -+ 'value' => '581' -+ }, -+ '614' => { -+ 'name' => 'IB_CC_TIMESTAMP_F', -+ 'value' => '581' -+ }, -+ '615' => { -+ 'name' => 'IB_CC_TIMESTAMP_LAST_F', -+ 'value' => '582' -+ }, -+ '616' => { -+ 'name' => 'IB_SA_NR_FIRST_F', -+ 'value' => '583' -+ }, -+ '617' => { -+ 'name' => 'IB_SA_NR_LID_F', -+ 'value' => '583' -+ }, -+ '618' => { -+ 'name' => 'IB_SA_NR_BASEVER_F', -+ 'value' => '584' -+ }, -+ '619' => { -+ 'name' => 'IB_SA_NR_CLASSVER_F', -+ 'value' => '585' -+ }, -+ '62' => { -+ 'name' => 'IB_PORT_FILTER_RAW_OUTB_F', -+ 'value' => '61' -+ }, -+ '620' => { -+ 'name' => 'IB_SA_NR_TYPE_F', -+ 'value' => '586' -+ }, -+ '621' => { -+ 'name' => 'IB_SA_NR_NPORTS_F', -+ 'value' => '587' -+ }, -+ '622' => { -+ 'name' => 'IB_SA_NR_SYSTEM_GUID_F', -+ 'value' => '588' -+ }, -+ '623' => { -+ 'name' => 'IB_SA_NR_GUID_F', -+ 'value' => '589' -+ }, -+ '624' => { -+ 'name' => 'IB_SA_NR_PORT_GUID_F', -+ 'value' => '590' -+ }, -+ '625' => { -+ 'name' => 'IB_SA_NR_PARTITION_CAP_F', -+ 'value' => '591' -+ }, -+ '626' => { -+ 'name' => 'IB_SA_NR_DEVID_F', -+ 'value' => '592' -+ }, -+ '627' => { -+ 'name' => 'IB_SA_NR_REVISION_F', -+ 'value' => '593' -+ }, -+ '628' => { -+ 'name' => 'IB_SA_NR_LOCAL_PORT_F', -+ 'value' => '594' -+ }, -+ '629' => { -+ 'name' => 'IB_SA_NR_VENDORID_F', -+ 'value' => '595' -+ }, -+ '63' => { -+ 'name' => 'IB_PORT_MKEY_VIOL_F', -+ 'value' => '62' -+ }, -+ '630' => { -+ 'name' => 'IB_SA_NR_NODEDESC_F', -+ 'value' => '596' -+ }, -+ '631' => { -+ 'name' => 'IB_SA_NR_LAST_F', -+ 'value' => '597' -+ }, -+ '632' => { -+ 'name' => 'IB_PSR_TAG_F', -+ 'value' => '598' -+ }, -+ '633' => { -+ 'name' => 'IB_PSR_SAMPLE_STATUS_F', -+ 'value' => '599' -+ }, -+ '634' => { -+ 'name' => 'IB_PSR_COUNTER0_F', -+ 'value' => '600' -+ }, -+ '635' => { -+ 'name' => 'IB_PSR_COUNTER1_F', -+ 'value' => '601' -+ }, -+ '636' => { -+ 'name' => 'IB_PSR_COUNTER2_F', -+ 'value' => '602' -+ }, -+ '637' => { -+ 'name' => 'IB_PSR_COUNTER3_F', -+ 'value' => '603' -+ }, -+ '638' => { -+ 'name' => 'IB_PSR_COUNTER4_F', -+ 'value' => '604' -+ }, -+ '639' => { -+ 'name' => 'IB_PSR_COUNTER5_F', -+ 'value' => '605' -+ }, -+ '64' => { -+ 'name' => 'IB_PORT_PKEY_VIOL_F', -+ 'value' => '63' -+ }, -+ '640' => { -+ 'name' => 'IB_PSR_COUNTER6_F', -+ 'value' => '606' -+ }, -+ '641' => { -+ 'name' => 'IB_PSR_COUNTER7_F', -+ 'value' => '607' -+ }, -+ '642' => { -+ 'name' => 'IB_PSR_COUNTER8_F', -+ 'value' => '608' -+ }, -+ '643' => { -+ 'name' => 'IB_PSR_COUNTER9_F', -+ 'value' => '609' -+ }, -+ '644' => { -+ 'name' => 'IB_PSR_COUNTER10_F', -+ 'value' => '610' -+ }, -+ '645' => { -+ 'name' => 'IB_PSR_COUNTER11_F', -+ 'value' => '611' -+ }, -+ '646' => { -+ 'name' => 'IB_PSR_COUNTER12_F', -+ 'value' => '612' -+ }, -+ '647' => { -+ 'name' => 'IB_PSR_COUNTER13_F', -+ 'value' => '613' -+ }, -+ '648' => { -+ 'name' => 'IB_PSR_COUNTER14_F', -+ 'value' => '614' -+ }, -+ '649' => { -+ 'name' => 'IB_PSR_LAST_F', -+ 'value' => '615' -+ }, -+ '65' => { -+ 'name' => 'IB_PORT_QKEY_VIOL_F', -+ 'value' => '64' -+ }, -+ '650' => { -+ 'name' => 'IB_PORT_EXT_FIRST_F', -+ 'value' => '616' -+ }, -+ '651' => { -+ 'name' => 'IB_PORT_EXT_CAPMASK_F', -+ 'value' => '616' -+ }, -+ '652' => { -+ 'name' => 'IB_PORT_EXT_FEC_MODE_ACTIVE_F', -+ 'value' => '617' -+ }, -+ '653' => { -+ 'name' => 'IB_PORT_EXT_FDR_FEC_MODE_SUPPORTED_F', -+ 'value' => '618' -+ }, -+ '654' => { -+ 'name' => 'IB_PORT_EXT_FDR_FEC_MODE_ENABLED_F', -+ 'value' => '619' -+ }, -+ '655' => { -+ 'name' => 'IB_PORT_EXT_EDR_FEC_MODE_SUPPORTED_F', -+ 'value' => '620' -+ }, -+ '656' => { -+ 'name' => 'IB_PORT_EXT_EDR_FEC_MODE_ENABLED_F', -+ 'value' => '621' -+ }, -+ '657' => { -+ 'name' => 'IB_PORT_EXT_LAST_F', -+ 'value' => '622' -+ }, -+ '658' => { -+ 'name' => 'IB_PESC_RSFEC_FIRST_F', -+ 'value' => '623' -+ }, -+ '659' => { -+ 'name' => 'IB_PESC_RSFEC_PORT_SELECT_F', -+ 'value' => '623' -+ }, -+ '66' => { -+ 'name' => 'IB_PORT_GUID_CAP_F', -+ 'value' => '65' -+ }, -+ '660' => { -+ 'name' => 'IB_PESC_RSFEC_COUNTER_SELECT_F', -+ 'value' => '624' -+ }, -+ '661' => { -+ 'name' => 'IB_PESC_RSFEC_SYNC_HDR_ERR_CTR_F', -+ 'value' => '625' -+ }, -+ '662' => { -+ 'name' => 'IB_PESC_RSFEC_UNK_BLOCK_CTR_F', -+ 'value' => '626' -+ }, -+ '663' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE0_F', -+ 'value' => '627' -+ }, -+ '664' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE1_F', -+ 'value' => '628' -+ }, -+ '665' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE2_F', -+ 'value' => '629' -+ }, -+ '666' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE3_F', -+ 'value' => '630' -+ }, -+ '667' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE4_F', -+ 'value' => '631' -+ }, -+ '668' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE5_F', -+ 'value' => '632' -+ }, -+ '669' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE6_F', -+ 'value' => '633' -+ }, -+ '67' => { -+ 'name' => 'IB_PORT_CLIENT_REREG_F', -+ 'value' => '66' -+ }, -+ '670' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE7_F', -+ 'value' => '634' -+ }, -+ '671' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE8_F', -+ 'value' => '635' -+ }, -+ '672' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE9_F', -+ 'value' => '636' -+ }, -+ '673' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE10_F', -+ 'value' => '637' -+ }, -+ '674' => { -+ 'name' => 'IB_PESC_RSFEC_FEC_CORR_SYMBOL_CTR_LANE11_F', -+ 'value' => '638' -+ }, -+ '675' => { -+ 'name' => 'IB_PESC_PORT_FEC_CORR_BLOCK_CTR_F', -+ 'value' => '639' -+ }, -+ '676' => { -+ 'name' => 'IB_PESC_PORT_FEC_UNCORR_BLOCK_CTR_F', -+ 'value' => '640' -+ }, -+ '677' => { -+ 'name' => 'IB_PESC_PORT_FEC_CORR_SYMBOL_CTR_F', -+ 'value' => '641' -+ }, -+ '678' => { -+ 'name' => 'IB_PESC_RSFEC_LAST_F', -+ 'value' => '642' -+ }, -+ '679' => { -+ 'name' => 'IB_PC_EXT_COUNTER_SELECT2_F', -+ 'value' => '643' -+ }, -+ '68' => { -+ 'name' => 'IB_PORT_MCAST_PKEY_SUPR_ENAB_F', -+ 'value' => '67' -+ }, -+ '680' => { -+ 'name' => 'IB_PC_EXT_ERR_SYM_F', -+ 'value' => '644' -+ }, -+ '681' => { -+ 'name' => 'IB_PC_EXT_LINK_RECOVERS_F', -+ 'value' => '645' -+ }, -+ '682' => { -+ 'name' => 'IB_PC_EXT_LINK_DOWNED_F', -+ 'value' => '646' -+ }, -+ '683' => { -+ 'name' => 'IB_PC_EXT_ERR_RCV_F', -+ 'value' => '647' -+ }, -+ '684' => { -+ 'name' => 'IB_PC_EXT_ERR_PHYSRCV_F', -+ 'value' => '648' -+ }, -+ '685' => { -+ 'name' => 'IB_PC_EXT_ERR_SWITCH_REL_F', -+ 'value' => '649' -+ }, -+ '686' => { -+ 'name' => 'IB_PC_EXT_XMT_DISCARDS_F', -+ 'value' => '650' -+ }, -+ '687' => { -+ 'name' => 'IB_PC_EXT_ERR_XMTCONSTR_F', -+ 'value' => '651' -+ }, -+ '688' => { -+ 'name' => 'IB_PC_EXT_ERR_RCVCONSTR_F', -+ 'value' => '652' -+ }, -+ '689' => { -+ 'name' => 'IB_PC_EXT_ERR_LOCALINTEG_F', -+ 'value' => '653' -+ }, -+ '69' => { -+ 'name' => 'IB_PORT_SUBN_TIMEOUT_F', -+ 'value' => '68' -+ }, -+ '690' => { -+ 'name' => 'IB_PC_EXT_ERR_EXCESS_OVR_F', -+ 'value' => '654' -+ }, -+ '691' => { -+ 'name' => 'IB_PC_EXT_VL15_DROPPED_F', -+ 'value' => '655' -+ }, -+ '692' => { -+ 'name' => 'IB_PC_EXT_XMT_WAIT_F', -+ 'value' => '656' -+ }, -+ '693' => { -+ 'name' => 'IB_PC_EXT_QP1_DROP_F', -+ 'value' => '657' -+ }, -+ '694' => { -+ 'name' => 'IB_PC_EXT_ERR_LAST_F', -+ 'value' => '658' -+ }, -+ '695' => { -+ 'name' => 'IB_PC_QP1_DROP_F', -+ 'value' => '659' -+ }, -+ '696' => { -+ 'name' => 'IB_PORT_EXT_HDR_FEC_MODE_SUPPORTED_F', -+ 'value' => '660' -+ }, -+ '697' => { -+ 'name' => 'IB_PORT_EXT_HDR_FEC_MODE_ENABLED_F', -+ 'value' => '661' -+ }, -+ '698' => { -+ 'name' => 'IB_PORT_EXT_HDR_FEC_MODE_LAST_F', -+ 'value' => '662' -+ }, -+ '699' => { -+ 'name' => 'IB_PORT_EXT_NDR_FEC_MODE_SUPPORTED_F', -+ 'value' => '663' -+ }, -+ '7' => { -+ 'name' => 'IB_MAD_BASEVER_F', -+ 'value' => '7' -+ }, -+ '70' => { -+ 'name' => 'IB_PORT_RESP_TIME_VAL_F', -+ 'value' => '69' -+ }, -+ '700' => { -+ 'name' => 'IB_PORT_EXT_NDR_FEC_MODE_ENABLED_F', -+ 'value' => '664' -+ }, -+ '701' => { -+ 'name' => 'IB_PORT_EXT_NDR_FEC_MODE_LAST_F', -+ 'value' => '665' -+ }, -+ '702' => { -+ 'name' => 'IB_FIELD_LAST_', -+ 'value' => '666' -+ }, -+ '71' => { -+ 'name' => 'IB_PORT_LOCAL_PHYS_ERR_F', -+ 'value' => '70' -+ }, -+ '72' => { -+ 'name' => 'IB_PORT_OVERRUN_ERR_F', -+ 'value' => '71' -+ }, -+ '73' => { -+ 'name' => 'IB_PORT_MAX_CREDIT_HINT_F', -+ 'value' => '72' -+ }, -+ '74' => { -+ 'name' => 'IB_PORT_LINK_ROUND_TRIP_F', -+ 'value' => '73' -+ }, -+ '75' => { -+ 'name' => 'IB_PORT_LAST_F', -+ 'value' => '74' -+ }, -+ '76' => { -+ 'name' => 'IB_NODE_FIRST_F', -+ 'value' => '75' -+ }, -+ '77' => { -+ 'name' => 'IB_NODE_BASE_VERS_F', -+ 'value' => '75' -+ }, -+ '78' => { -+ 'name' => 'IB_NODE_CLASS_VERS_F', -+ 'value' => '76' -+ }, -+ '79' => { -+ 'name' => 'IB_NODE_TYPE_F', -+ 'value' => '77' -+ }, -+ '8' => { -+ 'name' => 'IB_MAD_STATUS_F', -+ 'value' => '8' -+ }, -+ '80' => { -+ 'name' => 'IB_NODE_NPORTS_F', -+ 'value' => '78' -+ }, -+ '81' => { -+ 'name' => 'IB_NODE_SYSTEM_GUID_F', -+ 'value' => '79' -+ }, -+ '82' => { -+ 'name' => 'IB_NODE_GUID_F', -+ 'value' => '80' -+ }, -+ '83' => { -+ 'name' => 'IB_NODE_PORT_GUID_F', -+ 'value' => '81' -+ }, -+ '84' => { -+ 'name' => 'IB_NODE_PARTITION_CAP_F', -+ 'value' => '82' -+ }, -+ '85' => { -+ 'name' => 'IB_NODE_DEVID_F', -+ 'value' => '83' -+ }, -+ '86' => { -+ 'name' => 'IB_NODE_REVISION_F', -+ 'value' => '84' -+ }, -+ '87' => { -+ 'name' => 'IB_NODE_LOCAL_PORT_F', -+ 'value' => '85' -+ }, -+ '88' => { -+ 'name' => 'IB_NODE_VENDORID_F', -+ 'value' => '86' -+ }, -+ '89' => { -+ 'name' => 'IB_NODE_LAST_F', -+ 'value' => '87' -+ }, -+ '9' => { -+ 'name' => 'IB_DRSMP_HOPCNT_F', -+ 'value' => '9' -+ }, -+ '90' => { -+ 'name' => 'IB_SW_FIRST_F', -+ 'value' => '88' -+ }, -+ '91' => { -+ 'name' => 'IB_SW_LINEAR_FDB_CAP_F', -+ 'value' => '88' -+ }, -+ '92' => { -+ 'name' => 'IB_SW_RANDOM_FDB_CAP_F', -+ 'value' => '89' -+ }, -+ '93' => { -+ 'name' => 'IB_SW_MCAST_FDB_CAP_F', -+ 'value' => '90' -+ }, -+ '94' => { -+ 'name' => 'IB_SW_LINEAR_FDB_TOP_F', -+ 'value' => '91' -+ }, -+ '95' => { -+ 'name' => 'IB_SW_DEF_PORT_F', -+ 'value' => '92' -+ }, -+ '96' => { -+ 'name' => 'IB_SW_DEF_MCAST_PRIM_F', -+ 'value' => '93' -+ }, -+ '97' => { -+ 'name' => 'IB_SW_DEF_MCAST_NOT_PRIM_F', -+ 'value' => '94' -+ }, -+ '98' => { -+ 'name' => 'IB_SW_LIFE_TIME_F', -+ 'value' => '95' -+ }, -+ '99' => { -+ 'name' => 'IB_SW_STATE_CHANGE_F', -+ 'value' => '96' -+ } -+ }, -+ 'Name' => 'enum MAD_FIELDS', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '71' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '710' => { -+ 'BaseType' => '1', -+ 'Header' => undef, -+ 'Line' => '43', -+ 'Name' => '_IO_lock_t', -+ 'Type' => 'Typedef' -+ }, -+ '718' => { -+ 'Name' => 'struct _IO_marker', -+ 'Type' => 'Struct' -+ }, -+ '723' => { -+ 'BaseType' => '718', -+ 'Name' => 'struct _IO_marker*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '729' => { -+ 'BaseType' => '307', -+ 'Name' => 'struct _IO_FILE*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '735' => { -+ 'BaseType' => '89', -+ 'Name' => 'char[1]', -+ 'Size' => '1', -+ 'Type' => 'Array' -+ }, -+ '751' => { -+ 'BaseType' => '710', -+ 'Name' => '_IO_lock_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '757' => { -+ 'Name' => 'struct _IO_codecvt', -+ 'Type' => 'Struct' -+ }, -+ '762' => { -+ 'BaseType' => '757', -+ 'Name' => 'struct _IO_codecvt*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '76698' => { -+ 'BaseType' => '165', -+ 'Name' => 'long*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '768' => { -+ 'Name' => 'struct _IO_wide_data', -+ 'Type' => 'Struct' -+ }, -+ '773' => { -+ 'BaseType' => '768', -+ 'Name' => 'struct _IO_wide_data*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '779' => { -+ 'BaseType' => '89', -+ 'Name' => 'char[20]', -+ 'Size' => '20', -+ 'Type' => 'Array' -+ }, -+ '78' => { -+ 'BaseType' => '96', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '795' => { -+ 'BaseType' => '698', -+ 'Name' => 'FILE*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '818' => { -+ 'BaseType' => '233', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '84623' => { -+ 'Header' => undef, -+ 'Line' => '1414', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_DEST_LID', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IB_DEST_DRPATH', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IB_DEST_GUID', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IB_DEST_DRSLID', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IB_DEST_GID', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum MAD_DEST', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '85330' => { -+ 'BaseType' => '1052', -+ 'Name' => 'ibmad_gid_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '87671' => { -+ 'BaseType' => '269', -+ 'Name' => 'uint64_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '89' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '96' => { -+ 'BaseType' => '89', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libibmad.so.5.3.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fprintf_chk@GLIBC_2.3.4' => 0, -+ '__gmon_start__' => 0, -+ '__memset_chk@GLIBC_2.3.4' => 0, -+ '__printf_chk@GLIBC_2.3.4' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__sprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'exit@GLIBC_2.2.5' => 0, -+ 'fputc@GLIBC_2.2.5' => 0, -+ 'fputs@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'getenv@GLIBC_2.2.5' => 0, -+ 'getpid@GLIBC_2.2.5' => 0, -+ 'inet_ntop@GLIBC_2.2.5' => 0, -+ 'inet_pton@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'random@GLIBC_2.2.5' => 0, -+ 'snprintf@GLIBC_2.2.5' => 0, -+ 'srandom@GLIBC_2.2.5' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'strchr@GLIBC_2.2.5' => 0, -+ 'strdup@GLIBC_2.2.5' => 0, -+ 'strerror@GLIBC_2.2.5' => 0, -+ 'strlen@GLIBC_2.2.5' => 0, -+ 'strncpy@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'strtoull@GLIBC_2.2.5' => 0, -+ 'time@GLIBC_2.2.5' => 0, -+ 'umad_addr_dump@IBUMAD_1.0' => 0, -+ 'umad_close_port@IBUMAD_1.0' => 0, -+ 'umad_get_mad@IBUMAD_1.0' => 0, -+ 'umad_get_mad_addr@IBUMAD_1.0' => 0, -+ 'umad_init@IBUMAD_1.0' => 0, -+ 'umad_open_port@IBUMAD_1.0' => 0, -+ 'umad_recv@IBUMAD_1.0' => 0, -+ 'umad_register@IBUMAD_1.0' => 0, -+ 'umad_register_oui@IBUMAD_1.0' => 0, -+ 'umad_send@IBUMAD_1.0' => 0, -+ 'umad_set_addr@IBUMAD_1.0' => 0, -+ 'umad_set_grh@IBUMAD_1.0' => 0, -+ 'umad_set_pkey@IBUMAD_1.0' => 0, -+ 'umad_size@IBUMAD_1.0' => 0, -+ 'umad_status@IBUMAD_1.0' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/ibnetdisc.dump b/ABI/ibnetdisc.dump -new file mode 100644 -index 0000000..a2086a1 ---- /dev/null -+++ b/ABI/ibnetdisc.dump -@@ -0,0 +1,1145 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libibnetdisc.so.5.0.41.0', -+ 'LibraryVersion' => 'ibnetdisc', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libibmad.so.5' => 1, -+ 'libibumad.so.3' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '17390' => { -+ 'Header' => undef, -+ 'Line' => '249', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'chassisnum', -+ 'type' => '92' -+ } -+ }, -+ 'Return' => '277', -+ 'ShortName' => 'ibnd_get_chassis_guid' -+ }, -+ '18351' => { -+ 'Header' => undef, -+ 'Line' => '164', -+ 'Param' => { -+ '0' => { -+ 'name' => 'guid', -+ 'type' => '277' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'ibnd_is_xsigo_tca' -+ }, -+ '18406' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Param' => { -+ '0' => { -+ 'name' => 'guid', -+ 'type' => '277' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'ibnd_is_xsigo_hca' -+ }, -+ '18491' => { -+ 'Header' => undef, -+ 'Line' => '139', -+ 'Param' => { -+ '0' => { -+ 'name' => 'guid', -+ 'type' => '277' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'ibnd_is_xsigo_guid' -+ }, -+ '18630' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node', -+ 'type' => '6437' -+ }, -+ '1' => { -+ 'name' => 'str', -+ 'type' => '199' -+ }, -+ '2' => { -+ 'name' => 'size', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '199', -+ 'ShortName' => 'ibnd_get_chassis_slot_str' -+ }, -+ '18996' => { -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node', -+ 'type' => '6437' -+ } -+ }, -+ 'Return' => '289', -+ 'ShortName' => 'ibnd_get_chassis_type' -+ }, -+ '31117' => { -+ 'Header' => undef, -+ 'Line' => '1006', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'func', -+ 'type' => '29340' -+ }, -+ '2' => { -+ 'name' => 'user_data', -+ 'type' => '192' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibnd_iter_ports' -+ }, -+ '31481' => { -+ 'Header' => undef, -+ 'Line' => '966', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'dr_str', -+ 'type' => '199' -+ } -+ }, -+ 'Return' => '6699', -+ 'ShortName' => 'ibnd_find_port_dr' -+ }, -+ '31920' => { -+ 'Header' => undef, -+ 'Line' => '949', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'guid', -+ 'type' => '277' -+ } -+ }, -+ 'Return' => '6699', -+ 'ShortName' => 'ibnd_find_port_guid' -+ }, -+ '32144' => { -+ 'Header' => undef, -+ 'Line' => '934', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'lid', -+ 'type' => '253' -+ } -+ }, -+ 'Return' => '6699', -+ 'ShortName' => 'ibnd_find_port_lid' -+ }, -+ '32293' => { -+ 'Header' => undef, -+ 'Line' => '899', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'func', -+ 'type' => '29306' -+ }, -+ '2' => { -+ 'name' => 'node_type', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'user_data', -+ 'type' => '192' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibnd_iter_nodes_type' -+ }, -+ '32774' => { -+ 'Header' => undef, -+ 'Line' => '880', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'func', -+ 'type' => '29306' -+ }, -+ '2' => { -+ 'name' => 'user_data', -+ 'type' => '192' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibnd_iter_nodes' -+ }, -+ '33113' => { -+ 'Header' => undef, -+ 'Line' => '198', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibnd_destroy_fabric' -+ }, -+ '33439' => { -+ 'Header' => undef, -+ 'Line' => '767', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '199' -+ }, -+ '1' => { -+ 'name' => 'ca_port', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'from', -+ 'type' => '30528' -+ }, -+ '3' => { -+ 'name' => 'cfg', -+ 'type' => '29836' -+ } -+ }, -+ 'Return' => '14049', -+ 'ShortName' => 'ibnd_discover_fabric' -+ }, -+ '36127' => { -+ 'Header' => undef, -+ 'Line' => '634', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'dr_str', -+ 'type' => '199' -+ } -+ }, -+ 'Return' => '6437', -+ 'ShortName' => 'ibnd_find_node_dr' -+ }, -+ '36253' => { -+ 'Header' => undef, -+ 'Line' => '617', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'guid', -+ 'type' => '277' -+ } -+ }, -+ 'Return' => '6437', -+ 'ShortName' => 'ibnd_find_node_guid' -+ }, -+ '49776' => { -+ 'Header' => undef, -+ 'Line' => '878', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fabric', -+ 'type' => '14049' -+ }, -+ '1' => { -+ 'name' => 'file', -+ 'type' => '289' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'ibnd_cache_fabric' -+ }, -+ '54605' => { -+ 'Header' => undef, -+ 'Line' => '620', -+ 'Param' => { -+ '0' => { -+ 'name' => 'file', -+ 'type' => '289' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '14049', -+ 'ShortName' => 'ibnd_load_fabric' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'ibnd_cache_fabric' => 'ibnd_cache_fabric@@IBNETDISC_1.0', -+ 'ibnd_destroy_fabric' => 'ibnd_destroy_fabric@@IBNETDISC_1.0', -+ 'ibnd_discover_fabric' => 'ibnd_discover_fabric@@IBNETDISC_1.0', -+ 'ibnd_find_node_dr' => 'ibnd_find_node_dr@@IBNETDISC_1.0', -+ 'ibnd_find_node_guid' => 'ibnd_find_node_guid@@IBNETDISC_1.0', -+ 'ibnd_find_port_dr' => 'ibnd_find_port_dr@@IBNETDISC_1.0', -+ 'ibnd_find_port_guid' => 'ibnd_find_port_guid@@IBNETDISC_1.0', -+ 'ibnd_find_port_lid' => 'ibnd_find_port_lid@@IBNETDISC_1.0', -+ 'ibnd_get_chassis_guid' => 'ibnd_get_chassis_guid@@IBNETDISC_1.0', -+ 'ibnd_get_chassis_slot_str' => 'ibnd_get_chassis_slot_str@@IBNETDISC_1.0', -+ 'ibnd_get_chassis_type' => 'ibnd_get_chassis_type@@IBNETDISC_1.0', -+ 'ibnd_is_xsigo_guid' => 'ibnd_is_xsigo_guid@@IBNETDISC_1.0', -+ 'ibnd_is_xsigo_hca' => 'ibnd_is_xsigo_hca@@IBNETDISC_1.0', -+ 'ibnd_is_xsigo_tca' => 'ibnd_is_xsigo_tca@@IBNETDISC_1.0', -+ 'ibnd_iter_nodes' => 'ibnd_iter_nodes@@IBNETDISC_1.0', -+ 'ibnd_iter_nodes_type' => 'ibnd_iter_nodes_type@@IBNETDISC_1.0', -+ 'ibnd_iter_ports' => 'ibnd_iter_ports@@IBNETDISC_1.0', -+ 'ibnd_load_fabric' => 'ibnd_load_fabric@@IBNETDISC_1.0' -+ }, -+ 'Symbols' => { -+ 'libibnetdisc.so.5.0.41.0' => { -+ 'ibnd_cache_fabric@@IBNETDISC_1.0' => 1, -+ 'ibnd_destroy_fabric@@IBNETDISC_1.0' => 1, -+ 'ibnd_discover_fabric@@IBNETDISC_1.0' => 1, -+ 'ibnd_find_node_dr@@IBNETDISC_1.0' => 1, -+ 'ibnd_find_node_guid@@IBNETDISC_1.0' => 1, -+ 'ibnd_find_port_dr@@IBNETDISC_1.0' => 1, -+ 'ibnd_find_port_guid@@IBNETDISC_1.0' => 1, -+ 'ibnd_find_port_lid@@IBNETDISC_1.0' => 1, -+ 'ibnd_get_chassis_guid@@IBNETDISC_1.0' => 1, -+ 'ibnd_get_chassis_slot_str@@IBNETDISC_1.0' => 1, -+ 'ibnd_get_chassis_type@@IBNETDISC_1.0' => 1, -+ 'ibnd_is_xsigo_guid@@IBNETDISC_1.0' => 1, -+ 'ibnd_is_xsigo_hca@@IBNETDISC_1.0' => 1, -+ 'ibnd_is_xsigo_tca@@IBNETDISC_1.0' => 1, -+ 'ibnd_iter_nodes@@IBNETDISC_1.0' => 1, -+ 'ibnd_iter_nodes_type@@IBNETDISC_1.0' => 1, -+ 'ibnd_iter_ports@@IBNETDISC_1.0' => 1, -+ 'ibnd_load_fabric@@IBNETDISC_1.0' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '1068' => { -+ 'BaseType' => '943', -+ 'Header' => undef, -+ 'Line' => '317', -+ 'Name' => 'ib_portid_t', -+ 'Size' => '112', -+ 'Type' => 'Typedef' -+ }, -+ '113' => { -+ 'BaseType' => '92', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '132' => { -+ 'BaseType' => '99', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '14049' => { -+ 'BaseType' => '6705', -+ 'Name' => 'ibnd_fabric_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '144' => { -+ 'BaseType' => '71', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '156' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '192' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '199' => { -+ 'BaseType' => '210', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '210' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '217' => { -+ 'BaseType' => '210', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ }, -+ '241' => { -+ 'BaseType' => '113', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '253' => { -+ 'BaseType' => '132', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '265' => { -+ 'BaseType' => '144', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '277' => { -+ 'BaseType' => '156', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '289' => { -+ 'BaseType' => '217', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28929' => { -+ 'Header' => undef, -+ 'Line' => '145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_smps', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'show_progress', -+ 'offset' => '4', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'max_hops', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'debug', -+ 'offset' => '12', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'timeout_ms', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '5' => { -+ 'name' => 'retries', -+ 'offset' => '20', -+ 'type' => '71' -+ }, -+ '6' => { -+ 'name' => 'flags', -+ 'offset' => '24', -+ 'type' => '265' -+ }, -+ '7' => { -+ 'name' => 'mkey', -+ 'offset' => '32', -+ 'type' => '277' -+ }, -+ '8' => { -+ 'name' => 'pad', -+ 'offset' => '40', -+ 'type' => '29060' -+ } -+ }, -+ 'Name' => 'struct ibnd_config', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '29060' => { -+ 'BaseType' => '241', -+ 'Name' => 'uint8_t[44]', -+ 'Size' => '44', -+ 'Type' => 'Array' -+ }, -+ '29306' => { -+ 'BaseType' => '29318', -+ 'Header' => undef, -+ 'Line' => '214', -+ 'Name' => 'ibnd_iter_node_func_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '29318' => { -+ 'Name' => 'void(*)(ibnd_node_t*, void*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6437' -+ }, -+ '1' => { -+ 'type' => '192' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29340' => { -+ 'BaseType' => '29352', -+ 'Header' => undef, -+ 'Line' => '227', -+ 'Name' => 'ibnd_iter_port_func_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '29352' => { -+ 'Name' => 'void(*)(ibnd_port_t*, void*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6699' -+ }, -+ '1' => { -+ 'type' => '192' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29836' => { -+ 'BaseType' => '28929', -+ 'Name' => 'struct ibnd_config*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30528' => { -+ 'BaseType' => '1068', -+ 'Name' => 'ib_portid_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '45' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '57' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '5822' => { -+ 'Header' => undef, -+ 'Line' => '54', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '6135' -+ }, -+ '1' => { -+ 'name' => 'path_portid', -+ 'offset' => '8', -+ 'type' => '1068' -+ }, -+ '10' => { -+ 'name' => 'nodedesc', -+ 'offset' => '272', -+ 'type' => '6141' -+ }, -+ '11' => { -+ 'name' => 'ports', -+ 'offset' => '336', -+ 'type' => '6301' -+ }, -+ '12' => { -+ 'name' => 'next_chassis_node', -+ 'offset' => '344', -+ 'type' => '6135' -+ }, -+ '13' => { -+ 'name' => 'chassis', -+ 'offset' => '352', -+ 'type' => '6419' -+ }, -+ '14' => { -+ 'name' => 'ch_type', -+ 'offset' => '360', -+ 'type' => '92' -+ }, -+ '15' => { -+ 'name' => 'ch_type_str', -+ 'offset' => '361', -+ 'type' => '777' -+ }, -+ '16' => { -+ 'name' => 'ch_anafanum', -+ 'offset' => '381', -+ 'type' => '92' -+ }, -+ '17' => { -+ 'name' => 'ch_slotnum', -+ 'offset' => '382', -+ 'type' => '92' -+ }, -+ '18' => { -+ 'name' => 'ch_slot', -+ 'offset' => '383', -+ 'type' => '92' -+ }, -+ '19' => { -+ 'name' => 'ch_found', -+ 'offset' => '384', -+ 'type' => '92' -+ }, -+ '2' => { -+ 'name' => 'smalid', -+ 'offset' => '120', -+ 'type' => '253' -+ }, -+ '20' => { -+ 'name' => 'htnext', -+ 'offset' => '392', -+ 'type' => '6135' -+ }, -+ '21' => { -+ 'name' => 'type_next', -+ 'offset' => '400', -+ 'type' => '6135' -+ }, -+ '3' => { -+ 'name' => 'smalmc', -+ 'offset' => '122', -+ 'type' => '241' -+ }, -+ '4' => { -+ 'name' => 'smaenhsp0', -+ 'offset' => '124', -+ 'type' => '64' -+ }, -+ '5' => { -+ 'name' => 'switchinfo', -+ 'offset' => '128', -+ 'type' => '915' -+ }, -+ '6' => { -+ 'name' => 'guid', -+ 'offset' => '192', -+ 'type' => '277' -+ }, -+ '7' => { -+ 'name' => 'type', -+ 'offset' => '200', -+ 'type' => '64' -+ }, -+ '8' => { -+ 'name' => 'numports', -+ 'offset' => '204', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'info', -+ 'offset' => '208', -+ 'type' => '915' -+ } -+ }, -+ 'Name' => 'struct ibnd_node', -+ 'Size' => '408', -+ 'Type' => 'Struct' -+ }, -+ '6135' => { -+ 'BaseType' => '5822', -+ 'Name' => 'struct ibnd_node*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6141' => { -+ 'BaseType' => '210', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '6157' => { -+ 'Header' => undef, -+ 'Line' => '104', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'guid', -+ 'offset' => '0', -+ 'type' => '277' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'ext_portnum', -+ 'offset' => '12', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'node', -+ 'offset' => '16', -+ 'type' => '6437' -+ }, -+ '4' => { -+ 'name' => 'remoteport', -+ 'offset' => '24', -+ 'type' => '6307' -+ }, -+ '5' => { -+ 'name' => 'base_lid', -+ 'offset' => '32', -+ 'type' => '253' -+ }, -+ '6' => { -+ 'name' => 'lmc', -+ 'offset' => '34', -+ 'type' => '241' -+ }, -+ '7' => { -+ 'name' => 'info', -+ 'offset' => '35', -+ 'type' => '915' -+ }, -+ '8' => { -+ 'name' => 'ext_info', -+ 'offset' => '99', -+ 'type' => '915' -+ }, -+ '9' => { -+ 'name' => 'htnext', -+ 'offset' => '168', -+ 'type' => '6307' -+ } -+ }, -+ 'Name' => 'struct ibnd_port', -+ 'Size' => '176', -+ 'Type' => 'Struct' -+ }, -+ '6301' => { -+ 'BaseType' => '6307', -+ 'Name' => 'struct ibnd_port**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6307' => { -+ 'BaseType' => '6157', -+ 'Name' => 'struct ibnd_port*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6313' => { -+ 'Header' => undef, -+ 'Line' => '124', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '6419' -+ }, -+ '1' => { -+ 'name' => 'chassisguid', -+ 'offset' => '8', -+ 'type' => '277' -+ }, -+ '2' => { -+ 'name' => 'chassisnum', -+ 'offset' => '16', -+ 'type' => '92' -+ }, -+ '3' => { -+ 'name' => 'nodecount', -+ 'offset' => '17', -+ 'type' => '92' -+ }, -+ '4' => { -+ 'name' => 'nodes', -+ 'offset' => '24', -+ 'type' => '6437' -+ }, -+ '5' => { -+ 'name' => 'spinenode', -+ 'offset' => '32', -+ 'type' => '6455' -+ }, -+ '6' => { -+ 'name' => 'linenode', -+ 'offset' => '184', -+ 'type' => '6471' -+ } -+ }, -+ 'Name' => 'struct ibnd_chassis', -+ 'Size' => '480', -+ 'Type' => 'Struct' -+ }, -+ '64' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '6419' => { -+ 'BaseType' => '6313', -+ 'Name' => 'struct ibnd_chassis*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6425' => { -+ 'BaseType' => '5822', -+ 'Header' => undef, -+ 'Line' => '99', -+ 'Name' => 'ibnd_node_t', -+ 'Size' => '408', -+ 'Type' => 'Typedef' -+ }, -+ '6437' => { -+ 'BaseType' => '6425', -+ 'Name' => 'ibnd_node_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6443' => { -+ 'BaseType' => '6157', -+ 'Header' => undef, -+ 'Line' => '119', -+ 'Name' => 'ibnd_port_t', -+ 'Size' => '176', -+ 'Type' => 'Typedef' -+ }, -+ '6455' => { -+ 'BaseType' => '6437', -+ 'Name' => 'ibnd_node_t*[19]', -+ 'Size' => '152', -+ 'Type' => 'Array' -+ }, -+ '6471' => { -+ 'BaseType' => '6437', -+ 'Name' => 'ibnd_node_t*[37]', -+ 'Size' => '296', -+ 'Type' => 'Array' -+ }, -+ '6487' => { -+ 'BaseType' => '6313', -+ 'Header' => undef, -+ 'Line' => '138', -+ 'Name' => 'ibnd_chassis_t', -+ 'Size' => '480', -+ 'Type' => 'Typedef' -+ }, -+ '6499' => { -+ 'Header' => undef, -+ 'Line' => '161', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'from_node', -+ 'offset' => '0', -+ 'type' => '6437' -+ }, -+ '1' => { -+ 'name' => 'from_portnum', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '10' => { -+ 'name' => 'routers', -+ 'offset' => '2248', -+ 'type' => '6437' -+ }, -+ '2' => { -+ 'name' => 'nodes', -+ 'offset' => '16', -+ 'type' => '6437' -+ }, -+ '3' => { -+ 'name' => 'chassis', -+ 'offset' => '24', -+ 'type' => '6661' -+ }, -+ '4' => { -+ 'name' => 'maxhops_discovered', -+ 'offset' => '32', -+ 'type' => '71' -+ }, -+ '5' => { -+ 'name' => 'total_mads_used', -+ 'offset' => '36', -+ 'type' => '71' -+ }, -+ '6' => { -+ 'name' => 'nodestbl', -+ 'offset' => '40', -+ 'type' => '6667' -+ }, -+ '7' => { -+ 'name' => 'portstbl', -+ 'offset' => '1136', -+ 'type' => '6683' -+ }, -+ '8' => { -+ 'name' => 'switches', -+ 'offset' => '2232', -+ 'type' => '6437' -+ }, -+ '9' => { -+ 'name' => 'ch_adapters', -+ 'offset' => '2240', -+ 'type' => '6437' -+ } -+ }, -+ 'Name' => 'struct ibnd_fabric', -+ 'Size' => '2256', -+ 'Type' => 'Struct' -+ }, -+ '6661' => { -+ 'BaseType' => '6487', -+ 'Name' => 'ibnd_chassis_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6667' => { -+ 'BaseType' => '6437', -+ 'Name' => 'ibnd_node_t*[137]', -+ 'Size' => '1096', -+ 'Type' => 'Array' -+ }, -+ '6683' => { -+ 'BaseType' => '6699', -+ 'Name' => 'ibnd_port_t*[137]', -+ 'Size' => '1096', -+ 'Type' => 'Array' -+ }, -+ '6699' => { -+ 'BaseType' => '6443', -+ 'Name' => 'ibnd_port_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6705' => { -+ 'BaseType' => '6499', -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Name' => 'ibnd_fabric_t', -+ 'Size' => '2256', -+ 'Type' => 'Typedef' -+ }, -+ '71' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '777' => { -+ 'BaseType' => '210', -+ 'Name' => 'char[20]', -+ 'Size' => '20', -+ 'Type' => 'Array' -+ }, -+ '827' => { -+ 'BaseType' => '241', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '843' => { -+ 'BaseType' => '827', -+ 'Header' => undef, -+ 'Line' => '243', -+ 'Name' => 'ibmad_gid_t', -+ 'Size' => '16', -+ 'Type' => 'Typedef' -+ }, -+ '915' => { -+ 'BaseType' => '241', -+ 'Name' => 'uint8_t[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '92' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '943' => { -+ 'Header' => undef, -+ 'Line' => '308', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'lid', -+ 'offset' => '0', -+ 'type' => '64' -+ }, -+ '1' => { -+ 'name' => 'drpath', -+ 'offset' => '4', -+ 'type' => '931' -+ }, -+ '2' => { -+ 'name' => 'grh_present', -+ 'offset' => '76', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'gid', -+ 'offset' => '80', -+ 'type' => '843' -+ }, -+ '4' => { -+ 'name' => 'qp', -+ 'offset' => '96', -+ 'type' => '265' -+ }, -+ '5' => { -+ 'name' => 'qkey', -+ 'offset' => '100', -+ 'type' => '265' -+ }, -+ '6' => { -+ 'name' => 'sl', -+ 'offset' => '104', -+ 'type' => '241' -+ }, -+ '7' => { -+ 'name' => 'pkey_idx', -+ 'offset' => '108', -+ 'type' => '71' -+ } -+ }, -+ 'Name' => 'struct portid', -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '99' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libibnetdisc.so.5.0.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fprintf_chk@GLIBC_2.3.4' => 0, -+ '__gmon_start__' => 0, -+ '__memset_chk@GLIBC_2.3.4' => 0, -+ '__printf_chk@GLIBC_2.3.4' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '__xstat@GLIBC_2.2.5' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'close@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'ib_resolve_self_via@IBMAD_1.3' => 0, -+ 'ibdebug@IBMAD_1.3' => 0, -+ 'lseek@GLIBC_2.2.5' => 0, -+ 'mad_build_pkt@IBMAD_1.3' => 0, -+ 'mad_decode_field@IBMAD_1.3' => 0, -+ 'mad_dump_node_type@IBMAD_1.3' => 0, -+ 'mad_dump_val@IBMAD_1.3' => 0, -+ 'mad_get_field64@IBMAD_1.3' => 0, -+ 'mad_get_field@IBMAD_1.3' => 0, -+ 'mad_rpc_close_port@IBMAD_1.3' => 0, -+ 'mad_rpc_open_port@IBMAD_1.3' => 0, -+ 'mad_rpc_set_retries@IBMAD_1.3' => 0, -+ 'mad_rpc_set_timeout@IBMAD_1.3' => 0, -+ 'mad_trid@IBMAD_1.3' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'open@GLIBC_2.2.5' => 0, -+ 'portid2str@IBMAD_1.3' => 0, -+ 'read@GLIBC_2.2.5' => 0, -+ 'smp_mkey_set@IBMAD_1.3' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'str2drpath@IBMAD_1.3' => 0, -+ 'strerror@GLIBC_2.2.5' => 0, -+ 'strncpy@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'umad_close_port@IBUMAD_1.0' => 0, -+ 'umad_get_mad@IBUMAD_1.0' => 0, -+ 'umad_init@IBUMAD_1.0' => 0, -+ 'umad_open_port@IBUMAD_1.0' => 0, -+ 'umad_recv@IBUMAD_1.0' => 0, -+ 'umad_register@IBUMAD_1.0' => 0, -+ 'umad_send@IBUMAD_1.0' => 0, -+ 'umad_size@IBUMAD_1.0' => 0, -+ 'umad_status@IBUMAD_1.0' => 0, -+ 'unlink@GLIBC_2.2.5' => 0, -+ 'write@GLIBC_2.2.5' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/ibumad.dump b/ABI/ibumad.dump -new file mode 100644 -index 0000000..21ba5bb ---- /dev/null -+++ b/ABI/ibumad.dump -@@ -0,0 +1,1427 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libibumad.so.3.2.41.0', -+ 'LibraryVersion' => 'ibumad', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '10514' => { -+ 'Header' => undef, -+ 'Line' => '1044', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'mgmt_class', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'mgmt_version', -+ 'type' => '111' -+ }, -+ '3' => { -+ 'name' => 'rmpp_version', -+ 'type' => '174' -+ }, -+ '4' => { -+ 'name' => 'method_mask', -+ 'type' => '11327' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_register' -+ }, -+ '11354' => { -+ 'Header' => undef, -+ 'Line' => '1005', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'mgmt_class', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'rmpp_version', -+ 'type' => '174' -+ }, -+ '3' => { -+ 'name' => 'oui', -+ 'type' => '12251' -+ }, -+ '4' => { -+ 'name' => 'method_mask', -+ 'type' => '11327' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_register_oui' -+ }, -+ '12278' => { -+ 'Header' => undef, -+ 'Line' => '999', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_fd' -+ }, -+ '12491' => { -+ 'Header' => undef, -+ 'Line' => '993', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'timeout_ms', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_poll' -+ }, -+ '12896' => { -+ 'Header' => undef, -+ 'Line' => '946', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '784' -+ }, -+ '3' => { -+ 'name' => 'timeout_ms', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_recv' -+ }, -+ '13934' => { -+ 'Header' => undef, -+ 'Line' => '901', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'agentid', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'type' => '111' -+ }, -+ '4' => { -+ 'name' => 'timeout_ms', -+ 'type' => '111' -+ }, -+ '5' => { -+ 'name' => 'retries', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_send' -+ }, -+ '14510' => { -+ 'Header' => undef, -+ 'Line' => '887', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '1' => { -+ 'name' => 'dlid', -+ 'type' => '298' -+ }, -+ '2' => { -+ 'name' => 'dqp', -+ 'type' => '4339' -+ }, -+ '3' => { -+ 'name' => 'sl', -+ 'type' => '111' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'type' => '4339' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_set_addr_net' -+ }, -+ '14954' => { -+ 'Header' => undef, -+ 'Line' => '873', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '1' => { -+ 'name' => 'dlid', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'dqp', -+ 'type' => '111' -+ }, -+ '3' => { -+ 'name' => 'sl', -+ 'type' => '111' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_set_addr' -+ }, -+ '15366' => { -+ 'Header' => undef, -+ 'Line' => '863', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_pkey' -+ }, -+ '15438' => { -+ 'Header' => undef, -+ 'Line' => '853', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '1' => { -+ 'name' => 'pkey_index', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_set_pkey' -+ }, -+ '15525' => { -+ 'Header' => undef, -+ 'Line' => '835', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ }, -+ '1' => { -+ 'name' => 'mad_addr', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_set_grh' -+ }, -+ '15675' => { -+ 'Header' => undef, -+ 'Line' => '829', -+ 'Return' => '198', -+ 'ShortName' => 'umad_size' -+ }, -+ '15706' => { -+ 'Header' => undef, -+ 'Line' => '823', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '137', -+ 'ShortName' => 'umad_get_mad' -+ }, -+ '15757' => { -+ 'Header' => undef, -+ 'Line' => '816', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_close_port' -+ }, -+ '15973' => { -+ 'Header' => undef, -+ 'Line' => '801', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port', -+ 'type' => '5205' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_release_port' -+ }, -+ '16368' => { -+ 'Header' => undef, -+ 'Line' => '778', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '210' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'port', -+ 'type' => '5205' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_port' -+ }, -+ '17080' => { -+ 'Header' => undef, -+ 'Line' => '763', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca', -+ 'type' => '17521' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_release_ca' -+ }, -+ '17527' => { -+ 'Header' => undef, -+ 'Line' => '738', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '210' -+ }, -+ '1' => { -+ 'name' => 'ca', -+ 'type' => '17521' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_ca' -+ }, -+ '18153' => { -+ 'Header' => undef, -+ 'Line' => '688', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '210' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_open_port' -+ }, -+ '19480' => { -+ 'Header' => undef, -+ 'Line' => '661', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '210' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'path', -+ 'type' => '151' -+ }, -+ '3' => { -+ 'name' => 'max', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_issm_path' -+ }, -+ '20215' => { -+ 'Header' => undef, -+ 'Line' => '622', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'type' => '210' -+ }, -+ '1' => { -+ 'name' => 'portguids', -+ 'type' => '2006' -+ }, -+ '2' => { -+ 'name' => 'max', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_ca_portguids' -+ }, -+ '20986' => { -+ 'Header' => undef, -+ 'Line' => '592', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cas', -+ 'type' => '21775' -+ }, -+ '1' => { -+ 'name' => 'max', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_get_cas_names' -+ }, -+ '22062' => { -+ 'Header' => undef, -+ 'Line' => '572', -+ 'Return' => '111', -+ 'ShortName' => 'umad_done' -+ }, -+ '22228' => { -+ 'Header' => undef, -+ 'Line' => '566', -+ 'Return' => '111', -+ 'ShortName' => 'umad_init' -+ }, -+ '30376' => { -+ 'Header' => undef, -+ 'Line' => '339', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt_class', -+ 'type' => '174' -+ }, -+ '1' => { -+ 'name' => 'attr_id', -+ 'type' => '298' -+ } -+ }, -+ 'Return' => '210', -+ 'ShortName' => 'umad_attribute_str' -+ }, -+ '30890' => { -+ 'Header' => undef, -+ 'Line' => '165', -+ 'Param' => { -+ '0' => { -+ 'name' => '_status', -+ 'type' => '298' -+ } -+ }, -+ 'Return' => '210', -+ 'ShortName' => 'umad_sa_mad_status_str' -+ }, -+ '31006' => { -+ 'Header' => undef, -+ 'Line' => '142', -+ 'Param' => { -+ '0' => { -+ 'name' => '_status', -+ 'type' => '298' -+ } -+ }, -+ 'Return' => '210', -+ 'ShortName' => 'umad_common_mad_status_str' -+ }, -+ '31110' => { -+ 'Header' => undef, -+ 'Line' => '134', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt_class', -+ 'type' => '174' -+ }, -+ '1' => { -+ 'name' => 'method', -+ 'type' => '174' -+ } -+ }, -+ 'Return' => '210', -+ 'ShortName' => 'umad_method_str' -+ }, -+ '31348' => { -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mgmt_class', -+ 'type' => '174' -+ } -+ }, -+ 'Return' => '210', -+ 'ShortName' => 'umad_class_str' -+ }, -+ '6984' => { -+ 'Header' => undef, -+ 'Line' => '1322', -+ 'Param' => { -+ '0' => { -+ 'name' => 'head', -+ 'type' => '5263' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'umad_free_ca_device_list' -+ }, -+ '7092' => { -+ 'Header' => undef, -+ 'Line' => '1265', -+ 'Return' => '5263', -+ 'ShortName' => 'umad_get_ca_device_list' -+ }, -+ '7801' => { -+ 'Header' => undef, -+ 'Line' => '1218', -+ 'Param' => { -+ '0' => { -+ 'name' => 'head', -+ 'type' => '8065' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'type' => '198' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_sort_ca_device_list' -+ }, -+ '8071' => { -+ 'Header' => undef, -+ 'Line' => '1209', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'umad_dump' -+ }, -+ '8331' => { -+ 'Header' => undef, -+ 'Line' => '1189', -+ 'Param' => { -+ '0' => { -+ 'name' => 'addr', -+ 'type' => '8693' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'umad_addr_dump' -+ }, -+ '8736' => { -+ 'Header' => undef, -+ 'Line' => '1182', -+ 'Param' => { -+ '0' => { -+ 'name' => 'level', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_debug' -+ }, -+ '8787' => { -+ 'Header' => undef, -+ 'Line' => '1175', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '8693', -+ 'ShortName' => 'umad_get_mad_addr' -+ }, -+ '8859' => { -+ 'Header' => undef, -+ 'Line' => '1168', -+ 'Param' => { -+ '0' => { -+ 'name' => 'umad', -+ 'type' => '137' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_status' -+ }, -+ '8931' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'agentid', -+ 'type' => '111' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_unregister' -+ }, -+ '9207' => { -+ 'Header' => undef, -+ 'Line' => '1079', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port_fd', -+ 'type' => '111' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '10481' -+ }, -+ '2' => { -+ 'name' => 'agent_id', -+ 'type' => '10487' -+ } -+ }, -+ 'Return' => '111', -+ 'ShortName' => 'umad_register2' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'umad_addr_dump' => 'umad_addr_dump@@IBUMAD_1.0', -+ 'umad_attribute_str' => 'umad_attribute_str@@IBUMAD_1.0', -+ 'umad_class_str' => 'umad_class_str@@IBUMAD_1.0', -+ 'umad_close_port' => 'umad_close_port@@IBUMAD_1.0', -+ 'umad_common_mad_status_str' => 'umad_common_mad_status_str@@IBUMAD_1.0', -+ 'umad_debug' => 'umad_debug@@IBUMAD_1.0', -+ 'umad_done' => 'umad_done@@IBUMAD_1.0', -+ 'umad_dump' => 'umad_dump@@IBUMAD_1.0', -+ 'umad_free_ca_device_list' => 'umad_free_ca_device_list@@IBUMAD_1.1', -+ 'umad_get_ca' => 'umad_get_ca@@IBUMAD_1.0', -+ 'umad_get_ca_device_list' => 'umad_get_ca_device_list@@IBUMAD_1.1', -+ 'umad_get_ca_portguids' => 'umad_get_ca_portguids@@IBUMAD_1.0', -+ 'umad_get_cas_names' => 'umad_get_cas_names@@IBUMAD_1.0', -+ 'umad_get_fd' => 'umad_get_fd@@IBUMAD_1.0', -+ 'umad_get_issm_path' => 'umad_get_issm_path@@IBUMAD_1.0', -+ 'umad_get_mad' => 'umad_get_mad@@IBUMAD_1.0', -+ 'umad_get_mad_addr' => 'umad_get_mad_addr@@IBUMAD_1.0', -+ 'umad_get_pkey' => 'umad_get_pkey@@IBUMAD_1.0', -+ 'umad_get_port' => 'umad_get_port@@IBUMAD_1.0', -+ 'umad_init' => 'umad_init@@IBUMAD_1.0', -+ 'umad_method_str' => 'umad_method_str@@IBUMAD_1.0', -+ 'umad_open_port' => 'umad_open_port@@IBUMAD_1.0', -+ 'umad_poll' => 'umad_poll@@IBUMAD_1.0', -+ 'umad_recv' => 'umad_recv@@IBUMAD_1.0', -+ 'umad_register' => 'umad_register@@IBUMAD_1.0', -+ 'umad_register2' => 'umad_register2@@IBUMAD_1.0', -+ 'umad_register_oui' => 'umad_register_oui@@IBUMAD_1.0', -+ 'umad_release_ca' => 'umad_release_ca@@IBUMAD_1.0', -+ 'umad_release_port' => 'umad_release_port@@IBUMAD_1.0', -+ 'umad_sa_mad_status_str' => 'umad_sa_mad_status_str@@IBUMAD_1.0', -+ 'umad_send' => 'umad_send@@IBUMAD_1.0', -+ 'umad_set_addr' => 'umad_set_addr@@IBUMAD_1.0', -+ 'umad_set_addr_net' => 'umad_set_addr_net@@IBUMAD_1.0', -+ 'umad_set_grh' => 'umad_set_grh@@IBUMAD_1.0', -+ 'umad_set_pkey' => 'umad_set_pkey@@IBUMAD_1.0', -+ 'umad_size' => 'umad_size@@IBUMAD_1.0', -+ 'umad_sort_ca_device_list' => 'umad_sort_ca_device_list@@IBUMAD_1.2', -+ 'umad_status' => 'umad_status@@IBUMAD_1.0', -+ 'umad_unregister' => 'umad_unregister@@IBUMAD_1.0' -+ }, -+ 'Symbols' => { -+ 'libibumad.so.3.2.41.0' => { -+ 'umad_addr_dump@@IBUMAD_1.0' => 1, -+ 'umad_attribute_str@@IBUMAD_1.0' => 1, -+ 'umad_class_str@@IBUMAD_1.0' => 1, -+ 'umad_close_port@@IBUMAD_1.0' => 1, -+ 'umad_common_mad_status_str@@IBUMAD_1.0' => 1, -+ 'umad_debug@@IBUMAD_1.0' => 1, -+ 'umad_done@@IBUMAD_1.0' => 1, -+ 'umad_dump@@IBUMAD_1.0' => 1, -+ 'umad_free_ca_device_list@@IBUMAD_1.1' => 1, -+ 'umad_get_ca@@IBUMAD_1.0' => 1, -+ 'umad_get_ca_device_list@@IBUMAD_1.1' => 1, -+ 'umad_get_ca_portguids@@IBUMAD_1.0' => 1, -+ 'umad_get_cas_names@@IBUMAD_1.0' => 1, -+ 'umad_get_fd@@IBUMAD_1.0' => 1, -+ 'umad_get_issm_path@@IBUMAD_1.0' => 1, -+ 'umad_get_mad@@IBUMAD_1.0' => 1, -+ 'umad_get_mad_addr@@IBUMAD_1.0' => 1, -+ 'umad_get_pkey@@IBUMAD_1.0' => 1, -+ 'umad_get_port@@IBUMAD_1.0' => 1, -+ 'umad_init@@IBUMAD_1.0' => 1, -+ 'umad_method_str@@IBUMAD_1.0' => 1, -+ 'umad_open_port@@IBUMAD_1.0' => 1, -+ 'umad_poll@@IBUMAD_1.0' => 1, -+ 'umad_recv@@IBUMAD_1.0' => 1, -+ 'umad_register2@@IBUMAD_1.0' => 1, -+ 'umad_register@@IBUMAD_1.0' => 1, -+ 'umad_register_oui@@IBUMAD_1.0' => 1, -+ 'umad_release_ca@@IBUMAD_1.0' => 1, -+ 'umad_release_port@@IBUMAD_1.0' => 1, -+ 'umad_sa_mad_status_str@@IBUMAD_1.0' => 1, -+ 'umad_send@@IBUMAD_1.0' => 1, -+ 'umad_set_addr@@IBUMAD_1.0' => 1, -+ 'umad_set_addr_net@@IBUMAD_1.0' => 1, -+ 'umad_set_grh@@IBUMAD_1.0' => 1, -+ 'umad_set_pkey@@IBUMAD_1.0' => 1, -+ 'umad_size@@IBUMAD_1.0' => 1, -+ 'umad_sort_ca_device_list@@IBUMAD_1.2' => 1, -+ 'umad_status@@IBUMAD_1.0' => 1, -+ 'umad_unregister@@IBUMAD_1.0' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '10481' => { -+ 'BaseType' => '5269', -+ 'Name' => 'struct umad_reg_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10487' => { -+ 'BaseType' => '4184', -+ 'Name' => 'uint32_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '111' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '11327' => { -+ 'BaseType' => '118', -+ 'Name' => 'long*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '118' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '12251' => { -+ 'BaseType' => '174', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '125' => { -+ 'BaseType' => '66', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '137' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '151' => { -+ 'BaseType' => '162', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '162' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '169' => { -+ 'BaseType' => '162', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ }, -+ '174' => { -+ 'BaseType' => '80', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '17521' => { -+ 'BaseType' => '5211', -+ 'Name' => 'umad_ca_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '186' => { -+ 'BaseType' => '125', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '198' => { -+ 'BaseType' => '66', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '2006' => { -+ 'BaseType' => '310', -+ 'Name' => '__be64*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '210' => { -+ 'BaseType' => '169', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '21775' => { -+ 'BaseType' => '3878', -+ 'Name' => 'char[20]*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '240' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '274' => { -+ 'BaseType' => '52', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => '__u16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '286' => { -+ 'BaseType' => '240', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '298' => { -+ 'BaseType' => '274', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => '__be16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '310' => { -+ 'BaseType' => '286', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '322' => { -+ 'BaseType' => '174', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '3233' => { -+ 'BaseType' => '59', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '338' => { -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'subnet_prefix', -+ 'offset' => '0', -+ 'type' => '310' -+ }, -+ '1' => { -+ 'name' => 'interface_id', -+ 'offset' => '8', -+ 'type' => '310' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '374' => { -+ 'Header' => undef, -+ 'Line' => '56', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'raw', -+ 'offset' => '0', -+ 'type' => '322' -+ }, -+ '1' => { -+ 'name' => 'raw_be16', -+ 'offset' => '0', -+ 'type' => '425' -+ }, -+ '2' => { -+ 'name' => 'global', -+ 'offset' => '0', -+ 'type' => '338' -+ } -+ }, -+ 'Name' => 'union umad_gid', -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '3878' => { -+ 'BaseType' => '162', -+ 'Name' => 'char[20]', -+ 'Size' => '20', -+ 'Type' => 'Array' -+ }, -+ '3924' => { -+ 'BaseType' => '162', -+ 'Name' => 'char[40]', -+ 'Size' => '40', -+ 'Type' => 'Array' -+ }, -+ '4172' => { -+ 'BaseType' => '99', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '4184' => { -+ 'BaseType' => '3233', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '425' => { -+ 'BaseType' => '298', -+ 'Name' => '__be16[8]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '4303' => { -+ 'BaseType' => '59', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '4339' => { -+ 'BaseType' => '4303', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '4466' => { -+ 'Header' => undef, -+ 'Line' => '77', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'gid', -+ 'offset' => '0', -+ 'type' => '322' -+ }, -+ '1' => { -+ 'name' => 'ib_gid', -+ 'offset' => '0', -+ 'type' => '374' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '45' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '4502' => { -+ 'Header' => undef, -+ 'Line' => '67', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qpn', -+ 'offset' => '0', -+ 'type' => '4339' -+ }, -+ '1' => { -+ 'name' => 'qkey', -+ 'offset' => '4', -+ 'type' => '4339' -+ }, -+ '10' => { -+ 'name' => 'flow_label', -+ 'offset' => '32', -+ 'type' => '4339' -+ }, -+ '11' => { -+ 'name' => 'pkey_index', -+ 'offset' => '36', -+ 'type' => '4172' -+ }, -+ '12' => { -+ 'name' => 'reserved', -+ 'offset' => '38', -+ 'type' => '4679' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'offset' => '8', -+ 'type' => '298' -+ }, -+ '3' => { -+ 'name' => 'sl', -+ 'offset' => '10', -+ 'type' => '174' -+ }, -+ '4' => { -+ 'name' => 'path_bits', -+ 'offset' => '11', -+ 'type' => '174' -+ }, -+ '5' => { -+ 'name' => 'grh_present', -+ 'offset' => '12', -+ 'type' => '174' -+ }, -+ '6' => { -+ 'name' => 'gid_index', -+ 'offset' => '13', -+ 'type' => '174' -+ }, -+ '7' => { -+ 'name' => 'hop_limit', -+ 'offset' => '14', -+ 'type' => '174' -+ }, -+ '8' => { -+ 'name' => 'traffic_class', -+ 'offset' => '15', -+ 'type' => '174' -+ }, -+ '9' => { -+ 'name' => 'unnamed0', -+ 'offset' => '16', -+ 'type' => '4466' -+ } -+ }, -+ 'Name' => 'struct ib_mad_addr', -+ 'Size' => '44', -+ 'Type' => 'Struct' -+ }, -+ '4679' => { -+ 'BaseType' => '174', -+ 'Name' => 'uint8_t[6]', -+ 'Size' => '6', -+ 'Type' => 'Array' -+ }, -+ '4695' => { -+ 'BaseType' => '4502', -+ 'Header' => undef, -+ 'Line' => '84', -+ 'Name' => 'ib_mad_addr_t', -+ 'Size' => '44', -+ 'Type' => 'Typedef' -+ }, -+ '4831' => { -+ 'Header' => undef, -+ 'Line' => '142', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'offset' => '0', -+ 'type' => '3878' -+ }, -+ '1' => { -+ 'name' => 'portnum', -+ 'offset' => '20', -+ 'type' => '111' -+ }, -+ '10' => { -+ 'name' => 'gid_prefix', -+ 'offset' => '56', -+ 'type' => '310' -+ }, -+ '11' => { -+ 'name' => 'port_guid', -+ 'offset' => '64', -+ 'type' => '310' -+ }, -+ '12' => { -+ 'name' => 'pkeys_size', -+ 'offset' => '72', -+ 'type' => '59' -+ }, -+ '13' => { -+ 'name' => 'pkeys', -+ 'offset' => '80', -+ 'type' => '5040' -+ }, -+ '14' => { -+ 'name' => 'link_layer', -+ 'offset' => '88', -+ 'type' => '3878' -+ }, -+ '2' => { -+ 'name' => 'base_lid', -+ 'offset' => '24', -+ 'type' => '59' -+ }, -+ '3' => { -+ 'name' => 'lmc', -+ 'offset' => '28', -+ 'type' => '59' -+ }, -+ '4' => { -+ 'name' => 'sm_lid', -+ 'offset' => '32', -+ 'type' => '59' -+ }, -+ '5' => { -+ 'name' => 'sm_sl', -+ 'offset' => '36', -+ 'type' => '59' -+ }, -+ '6' => { -+ 'name' => 'state', -+ 'offset' => '40', -+ 'type' => '59' -+ }, -+ '7' => { -+ 'name' => 'phys_state', -+ 'offset' => '44', -+ 'type' => '59' -+ }, -+ '8' => { -+ 'name' => 'rate', -+ 'offset' => '48', -+ 'type' => '59' -+ }, -+ '9' => { -+ 'name' => 'capmask', -+ 'offset' => '52', -+ 'type' => '4339' -+ } -+ }, -+ 'Name' => 'struct umad_port', -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '5040' => { -+ 'BaseType' => '4172', -+ 'Name' => 'uint16_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5046' => { -+ 'BaseType' => '4831', -+ 'Header' => undef, -+ 'Line' => '158', -+ 'Name' => 'umad_port_t', -+ 'Size' => '112', -+ 'Type' => 'Typedef' -+ }, -+ '5058' => { -+ 'Header' => undef, -+ 'Line' => '160', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ca_name', -+ 'offset' => '0', -+ 'type' => '3878' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '20', -+ 'type' => '59' -+ }, -+ '2' => { -+ 'name' => 'numports', -+ 'offset' => '24', -+ 'type' => '111' -+ }, -+ '3' => { -+ 'name' => 'fw_ver', -+ 'offset' => '28', -+ 'type' => '3878' -+ }, -+ '4' => { -+ 'name' => 'ca_type', -+ 'offset' => '48', -+ 'type' => '3924' -+ }, -+ '5' => { -+ 'name' => 'hw_ver', -+ 'offset' => '88', -+ 'type' => '3878' -+ }, -+ '6' => { -+ 'name' => 'node_guid', -+ 'offset' => '112', -+ 'type' => '310' -+ }, -+ '7' => { -+ 'name' => 'system_guid', -+ 'offset' => '120', -+ 'type' => '310' -+ }, -+ '8' => { -+ 'name' => 'ports', -+ 'offset' => '128', -+ 'type' => '5189' -+ } -+ }, -+ 'Name' => 'struct umad_ca', -+ 'Size' => '208', -+ 'Type' => 'Struct' -+ }, -+ '5189' => { -+ 'BaseType' => '5205', -+ 'Name' => 'umad_port_t*[10]', -+ 'Size' => '80', -+ 'Type' => 'Array' -+ }, -+ '52' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '5205' => { -+ 'BaseType' => '5046', -+ 'Name' => 'umad_port_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5211' => { -+ 'BaseType' => '5058', -+ 'Header' => undef, -+ 'Line' => '170', -+ 'Name' => 'umad_ca_t', -+ 'Size' => '208', -+ 'Type' => 'Typedef' -+ }, -+ '5223' => { -+ 'Header' => undef, -+ 'Line' => '172', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '5263' -+ }, -+ '1' => { -+ 'name' => 'ca_name', -+ 'offset' => '8', -+ 'type' => '210' -+ } -+ }, -+ 'Name' => 'struct umad_device_node', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '5263' => { -+ 'BaseType' => '5223', -+ 'Name' => 'struct umad_device_node*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5269' => { -+ 'Header' => undef, -+ 'Line' => '224', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mgmt_class', -+ 'offset' => '0', -+ 'type' => '174' -+ }, -+ '1' => { -+ 'name' => 'mgmt_class_version', -+ 'offset' => '1', -+ 'type' => '174' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '4', -+ 'type' => '4184' -+ }, -+ '3' => { -+ 'name' => 'method_mask', -+ 'offset' => '8', -+ 'type' => '5361' -+ }, -+ '4' => { -+ 'name' => 'oui', -+ 'offset' => '24', -+ 'type' => '4184' -+ }, -+ '5' => { -+ 'name' => 'rmpp_version', -+ 'offset' => '28', -+ 'type' => '174' -+ } -+ }, -+ 'Name' => 'struct umad_reg_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '5361' => { -+ 'BaseType' => '186', -+ 'Name' => 'uint64_t[2]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '59' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '66' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '784' => { -+ 'BaseType' => '111', -+ 'Name' => 'int*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '80' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '8065' => { -+ 'BaseType' => '5263', -+ 'Name' => 'struct umad_device_node**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8693' => { -+ 'BaseType' => '4695', -+ 'Name' => 'ib_mad_addr_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '99' => { -+ 'BaseType' => '52', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libibumad.so.3.2.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__ctype_b_loc@GLIBC_2.3' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fprintf_chk@GLIBC_2.3.4' => 0, -+ '__gmon_start__' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ 'alphasort@GLIBC_2.2.5' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'close@GLIBC_2.2.5' => 0, -+ 'closedir@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'getpid@GLIBC_2.2.5' => 0, -+ 'ioctl@GLIBC_2.2.5' => 0, -+ 'open@GLIBC_2.2.5' => 0, -+ 'opendir@GLIBC_2.2.5' => 0, -+ 'poll@GLIBC_2.2.5' => 0, -+ 'qsort@GLIBC_2.2.5' => 0, -+ 'read@GLIBC_2.2.5' => 0, -+ 'readdir@GLIBC_2.2.5' => 0, -+ 'scandir@GLIBC_2.2.5' => 0, -+ 'snprintf@GLIBC_2.2.5' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'strcmp@GLIBC_2.2.5' => 0, -+ 'strcpy@GLIBC_2.2.5' => 0, -+ 'strdup@GLIBC_2.2.5' => 0, -+ 'strerror@GLIBC_2.2.5' => 0, -+ 'strlen@GLIBC_2.2.5' => 0, -+ 'strncmp@GLIBC_2.2.5' => 0, -+ 'strncpy@GLIBC_2.2.5' => 0, -+ 'strrchr@GLIBC_2.2.5' => 0, -+ 'strsep@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'strtoul@GLIBC_2.2.5' => 0, -+ 'strtoull@GLIBC_2.2.5' => 0, -+ 'write@GLIBC_2.2.5' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/ibverbs.dump b/ABI/ibverbs.dump -new file mode 100644 -index 0000000..69d8d53 ---- /dev/null -+++ b/ABI/ibverbs.dump -@@ -0,0 +1,18607 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libibverbs.so.1.14.41.0', -+ 'LibraryVersion' => 'ibverbs', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libdl.so.2' => 1, -+ 'libnl-3.so.200' => 1, -+ 'libnl-route-3.so.200' => 1, -+ 'libpthread.so.0' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '101327' => { -+ 'Header' => undef, -+ 'Line' => '186', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'driver', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_context' -+ }, -+ '102114' => { -+ 'Header' => undef, -+ 'Line' => '174', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context_ex', -+ 'type' => '93323' -+ }, -+ '1' => { -+ 'name' => 'cmd', -+ 'type' => '103456' -+ }, -+ '2' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'resp', -+ 'type' => '103462' -+ }, -+ '4' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_get_context' -+ }, -+ '104219' => { -+ 'Header' => undef, -+ 'Line' => '68', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'port_attr', -+ 'type' => '66022' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '105302' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_port' -+ }, -+ '112971' => { -+ 'Header' => undef, -+ 'Line' => '78', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'dm', -+ 'type' => '114981' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'type' => '956' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'access', -+ 'type' => '64' -+ }, -+ '5' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ }, -+ '6' => { -+ 'name' => 'link', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_reg_dm_mr' -+ }, -+ '115007' => { -+ 'Header' => undef, -+ 'Line' => '63', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dm', -+ 'type' => '114981' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_free_dm' -+ }, -+ '115452' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'dm_attr', -+ 'type' => '116456' -+ }, -+ '2' => { -+ 'name' => 'dm', -+ 'type' => '114981' -+ }, -+ '3' => { -+ 'name' => 'link', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_alloc_dm' -+ }, -+ '146045' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'flow_id', -+ 'type' => '18997' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_flow' -+ }, -+ '153544' => { -+ 'Header' => undef, -+ 'Line' => '120', -+ 'Param' => { -+ '0' => { -+ 'name' => 'action', -+ 'type' => '153972' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_flow_action' -+ }, -+ '153996' => { -+ 'Header' => undef, -+ 'Line' => '101', -+ 'Param' => { -+ '0' => { -+ 'name' => 'flow_action', -+ 'type' => '153972' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '66354' -+ }, -+ '2' => { -+ 'name' => 'driver', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_flow_action_esp' -+ }, -+ '154518' => { -+ 'Header' => undef, -+ 'Line' => '72', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '66354' -+ }, -+ '2' => { -+ 'name' => 'flow_action', -+ 'type' => '153972' -+ }, -+ '3' => { -+ 'name' => 'driver', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_flow_action_esp' -+ }, -+ '182966' => { -+ 'Header' => undef, -+ 'Line' => '120', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'offset', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'iova', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'fd', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'access', -+ 'type' => '130' -+ }, -+ '6' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_reg_dmabuf_mr' -+ }, -+ '185089' => { -+ 'Header' => undef, -+ 'Line' => '90', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ }, -+ '2' => { -+ 'name' => 'mr_handle', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_mr' -+ }, -+ '186193' => { -+ 'Header' => undef, -+ 'Line' => '58', -+ 'Param' => { -+ '0' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_dereg_mr' -+ }, -+ '186714' => { -+ 'Header' => undef, -+ 'Line' => '39', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'advice', -+ 'type' => '54649' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'sg_list', -+ 'type' => '14748' -+ }, -+ '4' => { -+ 'name' => 'num_sge', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_advise_mr' -+ }, -+ '195259' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mw', -+ 'type' => '14508' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_dealloc_mw' -+ }, -+ '202578' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_dealloc_pd' -+ }, -+ '225008' => { -+ 'Header' => undef, -+ 'Line' => '449', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_qp' -+ }, -+ '225848' => { -+ 'Header' => undef, -+ 'Line' => '422', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'type' => '31688' -+ }, -+ '2' => { -+ 'name' => 'attr_ex', -+ 'type' => '67048' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '226371' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '226377' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_qp_ex2' -+ }, -+ '226401' => { -+ 'Header' => undef, -+ 'Line' => '401', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'type' => '31688' -+ }, -+ '2' => { -+ 'name' => 'attr_ex', -+ 'type' => '67048' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '226918' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '31700' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_qp_ex' -+ }, -+ '226948' => { -+ 'Header' => undef, -+ 'Line' => '373', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '24581' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '226918' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '31700' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_qp' -+ }, -+ '240099' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rwq_ind_table', -+ 'type' => '13095' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_rwq_ind_table' -+ }, -+ '24660' => { -+ 'Data' => 1, -+ 'Header' => undef, -+ 'Line' => '324', -+ 'Return' => '19039', -+ 'ShortName' => 'verbs_allow_disassociate_destroy' -+ }, -+ '25011' => { -+ 'Header' => undef, -+ 'Line' => '1205', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '19003' -+ }, -+ '2' => { -+ 'name' => 'cmd', -+ 'type' => '25175' -+ }, -+ '3' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_cq' -+ }, -+ '25181' => { -+ 'Header' => undef, -+ 'Line' => '1160', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'init_attr', -+ 'type' => '19009' -+ }, -+ '2' => { -+ 'name' => 'rwq_ind_table', -+ 'type' => '13095' -+ }, -+ '3' => { -+ 'name' => 'resp', -+ 'type' => '25593' -+ }, -+ '4' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_rwq_ind_table' -+ }, -+ '25605' => { -+ 'Header' => undef, -+ 'Line' => '1128', -+ 'Param' => { -+ '0' => { -+ 'name' => 'wq', -+ 'type' => '10901' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '19015' -+ }, -+ '2' => { -+ 'name' => 'cmd', -+ 'type' => '25850' -+ }, -+ '3' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_wq' -+ }, -+ '25856' => { -+ 'Header' => undef, -+ 'Line' => '1069', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'flow_id', -+ 'type' => '18997' -+ }, -+ '2' => { -+ 'name' => 'flow_attr', -+ 'type' => '19021' -+ }, -+ '3' => { -+ 'name' => 'ucmd', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'ucmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_flow' -+ }, -+ '259987' => { -+ 'Header' => undef, -+ 'Line' => '245', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_srq' -+ }, -+ '260819' => { -+ 'Header' => undef, -+ 'Line' => '222', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'srq', -+ 'type' => '261265' -+ }, -+ '2' => { -+ 'name' => 'attr_ex', -+ 'type' => '67112' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '261271' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '261277' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_srq_ex' -+ }, -+ '261301' => { -+ 'Header' => undef, -+ 'Line' => '200', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '69531' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '261829' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '261277' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_srq' -+ }, -+ '28091' => { -+ 'Header' => undef, -+ 'Line' => '858', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '24569' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_detach_mcast' -+ }, -+ '28338' => { -+ 'Header' => undef, -+ 'Line' => '845', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '24569' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_attach_mcast' -+ }, -+ '28511' => { -+ 'Header' => undef, -+ 'Line' => '809', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'ah', -+ 'type' => '14352' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '24575' -+ }, -+ '3' => { -+ 'name' => 'resp', -+ 'type' => '28802' -+ }, -+ '4' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_ah' -+ }, -+ '285302' => { -+ 'Header' => undef, -+ 'Line' => '141', -+ 'Param' => { -+ '0' => { -+ 'name' => 'wq', -+ 'type' => '10901' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_wq' -+ }, -+ '286134' => { -+ 'Header' => undef, -+ 'Line' => '121', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'wq_init_attr', -+ 'type' => '66725' -+ }, -+ '2' => { -+ 'name' => 'wq', -+ 'type' => '10901' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '289570' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '289576' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_wq' -+ }, -+ '28808' => { -+ 'Header' => undef, -+ 'Line' => '750', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'name' => 'wr', -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'name' => 'bad_wr', -+ 'type' => '14913' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_post_srq_recv' -+ }, -+ '29301' => { -+ 'Header' => undef, -+ 'Line' => '691', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibqp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'wr', -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'name' => 'bad_wr', -+ 'type' => '14913' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_post_recv' -+ }, -+ '297342' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'xrcd', -+ 'type' => '24209' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_close_xrcd' -+ }, -+ '29787' => { -+ 'Header' => undef, -+ 'Line' => '603', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibqp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'wr', -+ 'type' => '14742' -+ }, -+ '2' => { -+ 'name' => 'bad_wr', -+ 'type' => '18954' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_post_send' -+ }, -+ '30281' => { -+ 'Header' => undef, -+ 'Line' => '583', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '30534' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '30540' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_qp_ex' -+ }, -+ '30546' => { -+ 'Header' => undef, -+ 'Line' => '566', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '30767' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_qp' -+ }, -+ '30845' => { -+ 'Header' => undef, -+ 'Line' => '393', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'init_attr', -+ 'type' => '24581' -+ }, -+ '4' => { -+ 'name' => 'cmd', -+ 'type' => '31281' -+ }, -+ '5' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_qp' -+ }, -+ '31287' => { -+ 'Header' => undef, -+ 'Line' => '343', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'type' => '31688' -+ }, -+ '2' => { -+ 'name' => 'vqp_sz', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'attr', -+ 'type' => '19027' -+ }, -+ '4' => { -+ 'name' => 'cmd', -+ 'type' => '31694' -+ }, -+ '5' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '6' => { -+ 'name' => 'resp', -+ 'type' => '31700' -+ }, -+ '7' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_open_qp' -+ }, -+ '316440' => { -+ 'Header' => undef, -+ 'Line' => '310', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'iova', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'access', -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '11828', -+ 'ShortName' => 'ibv_reg_mr_iova2' -+ }, -+ '316973' => { -+ 'Alias' => '__ibv_register_driver_1_1', -+ 'Header' => undef, -+ 'Line' => '979', -+ 'Param' => { -+ '0' => { -+ 'name' => 'name', -+ 'type' => '76632' -+ }, -+ '1' => { -+ 'name' => 'init_func', -+ 'type' => '315865' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_register_driver' -+ }, -+ '317035' => { -+ 'Alias' => '__ibv_detach_mcast_1_0', -+ 'Header' => undef, -+ 'Line' => '972', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '101173' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_detach_mcast' -+ }, -+ '31706' => { -+ 'Header' => undef, -+ 'Line' => '314', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ }, -+ '2' => { -+ 'name' => 'cmd', -+ 'type' => '31966' -+ }, -+ '3' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_srq' -+ }, -+ '317165' => { -+ 'Alias' => '__ibv_attach_mcast_1_0', -+ 'Header' => undef, -+ 'Line' => '965', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '101173' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_attach_mcast' -+ }, -+ '317295' => { -+ 'Alias' => '__ibv_destroy_ah_1_0', -+ 'Header' => undef, -+ 'Line' => '951', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ah', -+ 'type' => '314725' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_ah' -+ }, -+ '317405' => { -+ 'Alias' => '__ibv_create_ah_1_0', -+ 'Header' => undef, -+ 'Line' => '927', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '314143' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24575' -+ } -+ }, -+ 'Return' => '314725', -+ 'ShortName' => 'ibv_create_ah' -+ }, -+ '317584' => { -+ 'Alias' => '__ibv_destroy_qp_1_0', -+ 'Header' => undef, -+ 'Line' => '913', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '315773' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_qp' -+ }, -+ '317694' => { -+ 'Alias' => '__ibv_modify_qp_1_0', -+ 'Header' => undef, -+ 'Line' => '904', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_modify_qp' -+ }, -+ '317820' => { -+ 'Alias' => '__ibv_query_qp_1_0', -+ 'Header' => undef, -+ 'Line' => '881', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'init_attr', -+ 'type' => '318029' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_qp' -+ }, -+ '318035' => { -+ 'Alias' => '__ibv_create_qp_1_0', -+ 'Header' => undef, -+ 'Line' => '836', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '314143' -+ }, -+ '1' => { -+ 'name' => 'qp_init_attr', -+ 'type' => '318029' -+ } -+ }, -+ 'Return' => '315773', -+ 'ShortName' => 'ibv_create_qp' -+ }, -+ '318245' => { -+ 'Alias' => '__ibv_destroy_srq_1_0', -+ 'Header' => undef, -+ 'Line' => '822', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '314508' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_srq' -+ }, -+ '318356' => { -+ 'Alias' => '__ibv_query_srq_1_0', -+ 'Header' => undef, -+ 'Line' => '814', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '314508' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_srq' -+ }, -+ '318455' => { -+ 'Alias' => '__ibv_modify_srq_1_0', -+ 'Header' => undef, -+ 'Line' => '805', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '314508' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ }, -+ '2' => { -+ 'name' => 'srq_attr_mask', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_modify_srq' -+ }, -+ '318582' => { -+ 'Alias' => '__ibv_create_srq_1_0', -+ 'Header' => undef, -+ 'Line' => '777', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '314143' -+ }, -+ '1' => { -+ 'name' => 'srq_init_attr', -+ 'type' => '69531' -+ } -+ }, -+ 'Return' => '314508', -+ 'ShortName' => 'ibv_create_srq' -+ }, -+ '318762' => { -+ 'Alias' => '__ibv_ack_cq_events_1_0', -+ 'Header' => undef, -+ 'Line' => '769', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '314502' -+ }, -+ '1' => { -+ 'name' => 'nevents', -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_ack_cq_events' -+ }, -+ '318856' => { -+ 'Alias' => '__ibv_get_cq_event_1_0', -+ 'Header' => undef, -+ 'Line' => '749', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '1' => { -+ 'name' => 'cq', -+ 'type' => '319057' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'type' => '157339' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_get_cq_event' -+ }, -+ '319063' => { -+ 'Alias' => '__ibv_destroy_cq_1_0', -+ 'Header' => undef, -+ 'Line' => '735', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '314502' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_cq' -+ }, -+ '319173' => { -+ 'Alias' => '__ibv_resize_cq_1_0', -+ 'Header' => undef, -+ 'Line' => '728', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '314502' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_resize_cq' -+ }, -+ '319271' => { -+ 'Alias' => '__ibv_create_cq_1_0', -+ 'Header' => undef, -+ 'Line' => '699', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '4' => { -+ 'name' => 'comp_vector', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '314502', -+ 'ShortName' => 'ibv_create_cq' -+ }, -+ '319532' => { -+ 'Alias' => '__ibv_dereg_mr_1_0', -+ 'Header' => undef, -+ 'Line' => '685', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mr', -+ 'type' => '319642' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dereg_mr' -+ }, -+ '319648' => { -+ 'Alias' => '__ibv_reg_mr_1_0', -+ 'Header' => undef, -+ 'Line' => '658', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '314143' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'access', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '319642', -+ 'ShortName' => 'ibv_reg_mr' -+ }, -+ '31972' => { -+ 'Header' => undef, -+ 'Line' => '296', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ }, -+ '2' => { -+ 'name' => 'srq_attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '32182' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_modify_srq' -+ }, -+ '319987' => { -+ 'Alias' => '__ibv_dealloc_pd_1_0', -+ 'Header' => undef, -+ 'Line' => '644', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '314143' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dealloc_pd' -+ }, -+ '320097' => { -+ 'Alias' => '__ibv_alloc_pd_1_0', -+ 'Header' => undef, -+ 'Line' => '621', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ } -+ }, -+ 'Return' => '314143', -+ 'ShortName' => 'ibv_alloc_pd' -+ }, -+ '320244' => { -+ 'Alias' => '__ibv_query_pkey_1_0', -+ 'Header' => undef, -+ 'Line' => '612', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'index', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'pkey', -+ 'type' => '316605' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_pkey' -+ }, -+ '320402' => { -+ 'Alias' => '__ibv_query_gid_1_0', -+ 'Header' => undef, -+ 'Line' => '603', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'index', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'gid', -+ 'type' => '101173' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_gid' -+ }, -+ '320560' => { -+ 'Alias' => '__ibv_query_port_1_0', -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'port_attr', -+ 'type' => '66022' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_port' -+ }, -+ '320954' => { -+ 'Alias' => '__ibv_query_device_1_0', -+ 'Header' => undef, -+ 'Line' => '586', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'device_attr', -+ 'type' => '18686' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_device' -+ }, -+ '321053' => { -+ 'Alias' => '__ibv_ack_async_event_1_0', -+ 'Header' => undef, -+ 'Line' => '549', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event', -+ 'type' => '69345' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_ack_async_event' -+ }, -+ '321159' => { -+ 'Header' => undef, -+ 'Line' => '510', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'event', -+ 'type' => '69345' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => '__ibv_get_async_event_1_0' -+ }, -+ '321217' => { -+ 'Alias' => '__ibv_close_device_1_0', -+ 'Header' => undef, -+ 'Line' => '496', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '314046' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_close_device' -+ }, -+ '321328' => { -+ 'Alias' => '__ibv_open_device_1_0', -+ 'Header' => undef, -+ 'Line' => '467', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '315859' -+ } -+ }, -+ 'Return' => '314046', -+ 'ShortName' => 'ibv_open_device' -+ }, -+ '322542' => { -+ 'Alias' => '__ibv_get_device_guid_1_0', -+ 'Header' => undef, -+ 'Line' => '294', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '315859' -+ } -+ }, -+ 'Return' => '1052', -+ 'ShortName' => 'ibv_get_device_guid' -+ }, -+ '322612' => { -+ 'Alias' => '__ibv_get_device_name_1_0', -+ 'Header' => undef, -+ 'Line' => '287', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '315859' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_get_device_name' -+ }, -+ '322682' => { -+ 'Alias' => '__ibv_free_device_list_1_0', -+ 'Header' => undef, -+ 'Line' => '272', -+ 'Param' => { -+ '0' => { -+ 'name' => 'list', -+ 'type' => '322803' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_free_device_list' -+ }, -+ '322809' => { -+ 'Alias' => '__ibv_get_device_list_1_0', -+ 'Header' => undef, -+ 'Line' => '231', -+ 'Param' => { -+ '0' => { -+ 'name' => 'num', -+ 'type' => '24942' -+ } -+ }, -+ 'Return' => '322803', -+ 'ShortName' => 'ibv_get_device_list' -+ }, -+ '32523' => { -+ 'Header' => undef, -+ 'Line' => '253', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'cmd', -+ 'type' => '32795' -+ }, -+ '3' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'resp', -+ 'type' => '32801' -+ }, -+ '5' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_resize_cq' -+ }, -+ '32807' => { -+ 'Header' => undef, -+ 'Line' => '240', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibcq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'solicited_only', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_req_notify_cq' -+ }, -+ '32954' => { -+ 'Header' => undef, -+ 'Line' => '194', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibcq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'ne', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'wc', -+ 'type' => '18860' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_poll_cq' -+ }, -+ '33322' => { -+ 'Header' => undef, -+ 'Line' => '169', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'type', -+ 'type' => '12050' -+ }, -+ '2' => { -+ 'name' => 'mw', -+ 'type' => '14508' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '33672' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '33678' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_alloc_mw' -+ }, -+ '33684' => { -+ 'Header' => undef, -+ 'Line' => '140', -+ 'Param' => { -+ '0' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ }, -+ '10' => { -+ 'name' => 'resp_sz', -+ 'type' => '52' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'hca_va', -+ 'type' => '956' -+ }, -+ '5' => { -+ 'name' => 'access', -+ 'type' => '130' -+ }, -+ '6' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '7' => { -+ 'name' => 'cmd', -+ 'type' => '34030' -+ }, -+ '8' => { -+ 'name' => 'cmd_sz', -+ 'type' => '52' -+ }, -+ '9' => { -+ 'name' => 'resp', -+ 'type' => '34036' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_rereg_mr' -+ }, -+ '34042' => { -+ 'Header' => undef, -+ 'Line' => '99', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'hca_va', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'access', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'vmr', -+ 'type' => '24587' -+ }, -+ '6' => { -+ 'name' => 'cmd', -+ 'type' => '34390' -+ }, -+ '7' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '8' => { -+ 'name' => 'resp', -+ 'type' => '34396' -+ }, -+ '9' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_reg_mr' -+ }, -+ '342771' => { -+ 'Header' => undef, -+ 'Line' => '589', -+ 'Param' => { -+ '0' => { -+ 'name' => 'vctx', -+ 'type' => '93323' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'type' => '342795' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'verbs_set_ops' -+ }, -+ '343156' => { -+ 'Alias' => '__ibv_ack_async_event_1_1', -+ 'Header' => undef, -+ 'Line' => '498', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event', -+ 'type' => '69345' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_ack_async_event' -+ }, -+ '343468' => { -+ 'Alias' => '__ibv_get_async_event_1_1', -+ 'Header' => undef, -+ 'Line' => '452', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'event', -+ 'type' => '69345' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_get_async_event' -+ }, -+ '343782' => { -+ 'Alias' => '__ibv_close_device_1_1', -+ 'Header' => undef, -+ 'Line' => '442', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_close_device' -+ }, -+ '343976' => { -+ 'Header' => undef, -+ 'Line' => '432', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context_ex', -+ 'type' => '93323' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'verbs_uninit_context' -+ }, -+ '34402' => { -+ 'Header' => undef, -+ 'Line' => '67', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'xrcd', -+ 'type' => '24209' -+ }, -+ '2' => { -+ 'name' => 'vxrcd_size', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'attr', -+ 'type' => '19033' -+ }, -+ '4' => { -+ 'name' => 'cmd', -+ 'type' => '34711' -+ }, -+ '5' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '6' => { -+ 'name' => 'resp', -+ 'type' => '34717' -+ }, -+ '7' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_open_xrcd' -+ }, -+ '344081' => { -+ 'Header' => undef, -+ 'Line' => '370', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cmd_fd', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '9633', -+ 'ShortName' => 'ibv_import_device' -+ }, -+ '344581' => { -+ 'Alias' => '__ibv_open_device_1_1', -+ 'Header' => undef, -+ 'Line' => '363', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ } -+ }, -+ 'Return' => '9633', -+ 'ShortName' => 'ibv_open_device' -+ }, -+ '344664' => { -+ 'Header' => undef, -+ 'Line' => '323', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'name' => 'private_data', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '9633', -+ 'ShortName' => 'verbs_open_device' -+ }, -+ '344977' => { -+ 'Header' => undef, -+ 'Line' => '265', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'name' => 'cmd_fd', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'alloc_size', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'context_offset', -+ 'type' => '93323' -+ }, -+ '4' => { -+ 'name' => 'driver_id', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '71', -+ 'ShortName' => '_verbs_init_and_alloc_context' -+ }, -+ '346100' => { -+ 'Header' => undef, -+ 'Line' => '502', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '2' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '3' => { -+ 'name' => 'cq_context', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'verbs_init_cq' -+ }, -+ '346315' => { -+ 'Header' => undef, -+ 'Line' => '153', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_get_device_index' -+ }, -+ '346384' => { -+ 'Alias' => '__ibv_get_device_guid_1_1', -+ 'Header' => undef, -+ 'Line' => '116', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ } -+ }, -+ 'Return' => '1052', -+ 'ShortName' => 'ibv_get_device_guid' -+ }, -+ '346911' => { -+ 'Alias' => '__ibv_get_device_name_1_1', -+ 'Header' => undef, -+ 'Line' => '109', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '18013' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_get_device_name' -+ }, -+ '346960' => { -+ 'Alias' => '__ibv_free_device_list_1_1', -+ 'Header' => undef, -+ 'Line' => '98', -+ 'Param' => { -+ '0' => { -+ 'name' => 'list', -+ 'type' => '316891' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_free_device_list' -+ }, -+ '347063' => { -+ 'Alias' => '__ibv_get_device_list_1_1', -+ 'Header' => undef, -+ 'Line' => '54', -+ 'Param' => { -+ '0' => { -+ 'name' => 'num', -+ 'type' => '24942' -+ } -+ }, -+ 'Return' => '316891', -+ 'ShortName' => 'ibv_get_device_list' -+ }, -+ '34723' => { -+ 'Header' => undef, -+ 'Line' => '50', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '2' => { -+ 'name' => 'cmd', -+ 'type' => '34999' -+ }, -+ '3' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'resp', -+ 'type' => '35005' -+ }, -+ '5' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_alloc_pd' -+ }, -+ '376512' => { -+ 'Header' => undef, -+ 'Line' => '101', -+ 'Param' => { -+ '0' => { -+ 'name' => 'status', -+ 'type' => '10907' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_wc_status_str' -+ }, -+ '376610' => { -+ 'Header' => undef, -+ 'Line' => '70', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event', -+ 'type' => '57023' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_event_type_str' -+ }, -+ '376708' => { -+ 'Header' => undef, -+ 'Line' => '53', -+ 'Param' => { -+ '0' => { -+ 'name' => 'port_state', -+ 'type' => '56644' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_port_state_str' -+ }, -+ '376806' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node_type', -+ 'type' => '9355' -+ } -+ }, -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_node_type_str' -+ }, -+ '379460' => { -+ 'Header' => undef, -+ 'Line' => '48', -+ 'Return' => '76632', -+ 'ShortName' => 'ibv_get_sysfs_path' -+ }, -+ '402752' => { -+ 'Header' => undef, -+ 'Line' => '125', -+ 'Return' => '130', -+ 'ShortName' => 'ibv_fork_init' -+ }, -+ '402878' => { -+ 'Header' => undef, -+ 'Line' => '108', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dir', -+ 'type' => '76632' -+ }, -+ '1' => { -+ 'name' => 'file', -+ 'type' => '76632' -+ }, -+ '2' => { -+ 'name' => 'buf', -+ 'type' => '180' -+ }, -+ '3' => { -+ 'name' => 'size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_read_sysfs_file' -+ }, -+ '409010' => { -+ 'Header' => undef, -+ 'Line' => '240', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ops', -+ 'type' => '93265' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'verbs_register_driver_34' -+ }, -+ '411982' => { -+ 'Header' => undef, -+ 'Line' => '66', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '93323' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'fmt', -+ 'type' => '76632' -+ }, -+ '3' => { -+ 'type' => '-1' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => '__verbs_log' -+ }, -+ '416018' => { -+ 'Header' => undef, -+ 'Line' => '117', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dst', -+ 'type' => '416227' -+ }, -+ '1' => { -+ 'name' => 'src', -+ 'type' => '416233' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_copy_path_rec_to_kern' -+ }, -+ '416239' => { -+ 'Header' => undef, -+ 'Line' => '92', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dst', -+ 'type' => '416233' -+ }, -+ '1' => { -+ 'name' => 'src', -+ 'type' => '416227' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_copy_path_rec_from_kern' -+ }, -+ '416448' => { -+ 'Header' => undef, -+ 'Line' => '56', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dst', -+ 'type' => '24593' -+ }, -+ '1' => { -+ 'name' => 'src', -+ 'type' => '416583' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_copy_qp_attr_from_kern' -+ }, -+ '416589' => { -+ 'Header' => undef, -+ 'Line' => '39', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dst', -+ 'type' => '24575' -+ }, -+ '1' => { -+ 'name' => 'src', -+ 'type' => '416727' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_copy_ah_attr_from_kern' -+ }, -+ '421148' => { -+ 'Header' => undef, -+ 'Line' => '690', -+ 'Param' => { -+ '0' => { -+ 'name' => 'base', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dofork_range' -+ }, -+ '421400' => { -+ 'Header' => undef, -+ 'Line' => '689', -+ 'Param' => { -+ '0' => { -+ 'name' => 'base', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dontfork_range' -+ }, -+ '42316' => { -+ 'Header' => undef, -+ 'Line' => '35', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ah', -+ 'type' => '14352' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_ah' -+ }, -+ '423470' => { -+ 'Header' => undef, -+ 'Line' => '178', -+ 'Return' => '419513', -+ 'ShortName' => 'ibv_is_fork_initialized' -+ }, -+ '466961' => { -+ 'Header' => undef, -+ 'Line' => '1116', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'ece', -+ 'type' => '69847' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_ece' -+ }, -+ '467161' => { -+ 'Header' => undef, -+ 'Line' => '1106', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'ece', -+ 'type' => '69847' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_set_ece' -+ }, -+ '467378' => { -+ 'Header' => undef, -+ 'Line' => '1022', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24575' -+ }, -+ '2' => { -+ 'name' => 'eth_mac', -+ 'type' => '60310' -+ }, -+ '3' => { -+ 'name' => 'vid', -+ 'type' => '468450' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_resolve_eth_l2_from_gid' -+ }, -+ '468571' => { -+ 'Alias' => '__ibv_detach_mcast_1_1', -+ 'Header' => undef, -+ 'Line' => '981', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '24569' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_detach_mcast' -+ }, -+ '468803' => { -+ 'Alias' => '__ibv_attach_mcast_1_1', -+ 'Header' => undef, -+ 'Line' => '974', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'gid', -+ 'type' => '24569' -+ }, -+ '2' => { -+ 'name' => 'lid', -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_attach_mcast' -+ }, -+ '469035' => { -+ 'Alias' => '__ibv_destroy_ah_1_1', -+ 'Header' => undef, -+ 'Line' => '967', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ah', -+ 'type' => '14352' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_ah' -+ }, -+ '469207' => { -+ 'Header' => undef, -+ 'Line' => '954', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'wc', -+ 'type' => '18860' -+ }, -+ '2' => { -+ 'name' => 'grh', -+ 'type' => '469456' -+ }, -+ '3' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ } -+ }, -+ 'Return' => '14352', -+ 'ShortName' => 'ibv_create_ah_from_wc' -+ }, -+ '469462' => { -+ 'Header' => undef, -+ 'Line' => '926', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'wc', -+ 'type' => '18860' -+ }, -+ '3' => { -+ 'name' => 'grh', -+ 'type' => '469456' -+ }, -+ '4' => { -+ 'name' => 'ah_attr', -+ 'type' => '24575' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_init_ah_from_wc' -+ }, -+ '471374' => { -+ 'Header' => undef, -+ 'Line' => '746', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'index', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'type', -+ 'type' => '101039' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_gid_type' -+ }, -+ '471609' => { -+ 'Alias' => '__ibv_create_ah_1_1', -+ 'Header' => undef, -+ 'Line' => '732', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24575' -+ } -+ }, -+ 'Return' => '14352', -+ 'ShortName' => 'ibv_create_ah' -+ }, -+ '471828' => { -+ 'Alias' => '__ibv_destroy_qp_1_1', -+ 'Header' => undef, -+ 'Line' => '725', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_qp' -+ }, -+ '472000' => { -+ 'Alias' => '__ibv_modify_qp_1_1', -+ 'Header' => undef, -+ 'Line' => '708', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_modify_qp' -+ }, -+ '472246' => { -+ 'Header' => undef, -+ 'Line' => '695', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'op', -+ 'type' => '13899' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_qp_data_in_order' -+ }, -+ '472473' => { -+ 'Alias' => '__ibv_query_qp_1_1', -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'init_attr', -+ 'type' => '24581' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_qp' -+ }, -+ '472747' => { -+ 'Header' => undef, -+ 'Line' => '668', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '10582' -+ } -+ }, -+ 'Return' => '15319', -+ 'ShortName' => 'ibv_qp_to_qp_ex' -+ }, -+ '472824' => { -+ 'Alias' => '__ibv_create_qp_1_1', -+ 'Header' => undef, -+ 'Line' => '658', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'qp_init_attr', -+ 'type' => '24581' -+ } -+ }, -+ 'Return' => '10582', -+ 'ShortName' => 'ibv_create_qp' -+ }, -+ '473036' => { -+ 'Alias' => '__ibv_destroy_srq_1_1', -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_srq' -+ }, -+ '473209' => { -+ 'Alias' => '__ibv_query_srq_1_1', -+ 'Header' => undef, -+ 'Line' => '644', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_srq' -+ }, -+ '473410' => { -+ 'Alias' => '__ibv_modify_srq_1_1', -+ 'Header' => undef, -+ 'Line' => '635', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'name' => 'srq_attr', -+ 'type' => '24599' -+ }, -+ '2' => { -+ 'name' => 'srq_attr_mask', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_modify_srq' -+ }, -+ '473639' => { -+ 'Alias' => '__ibv_create_srq_1_1', -+ 'Header' => undef, -+ 'Line' => '615', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'srq_init_attr', -+ 'type' => '69531' -+ } -+ }, -+ 'Return' => '10700', -+ 'ShortName' => 'ibv_create_srq' -+ }, -+ '473893' => { -+ 'Alias' => '__ibv_ack_cq_events_1_1', -+ 'Header' => undef, -+ 'Line' => '605', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'nevents', -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_ack_cq_events' -+ }, -+ '474038' => { -+ 'Alias' => '__ibv_get_cq_event_1_1', -+ 'Header' => undef, -+ 'Line' => '587', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '1' => { -+ 'name' => 'cq', -+ 'type' => '316311' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'type' => '157339' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_get_cq_event' -+ }, -+ '474358' => { -+ 'Alias' => '__ibv_destroy_cq_1_1', -+ 'Header' => undef, -+ 'Line' => '567', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_cq' -+ }, -+ '474578' => { -+ 'Alias' => '__ibv_resize_cq_1_1', -+ 'Header' => undef, -+ 'Line' => '560', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_resize_cq' -+ }, -+ '474778' => { -+ 'Alias' => '__ibv_create_cq_1_1', -+ 'Header' => undef, -+ 'Line' => '545', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '4' => { -+ 'name' => 'comp_vector', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '10380', -+ 'ShortName' => 'ibv_create_cq' -+ }, -+ '475116' => { -+ 'Header' => undef, -+ 'Line' => '522', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_destroy_comp_channel' -+ }, -+ '475313' => { -+ 'Header' => undef, -+ 'Line' => '498', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ } -+ }, -+ 'Return' => '15787', -+ 'ShortName' => 'ibv_create_comp_channel' -+ }, -+ '475565' => { -+ 'Alias' => '__ibv_dereg_mr_1_1', -+ 'Header' => undef, -+ 'Line' => '481', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mr', -+ 'type' => '11828' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dereg_mr' -+ }, -+ '475842' => { -+ 'Alias' => '__ibv_rereg_mr_1_1', -+ 'Header' => undef, -+ 'Line' => '416', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mr', -+ 'type' => '11828' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '3' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'access', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_rereg_mr' -+ }, -+ '476352' => { -+ 'Header' => undef, -+ 'Line' => '398', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'offset', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'iova', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'fd', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'access', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'ShortName' => 'ibv_reg_dmabuf_mr' -+ }, -+ '476680' => { -+ 'Header' => undef, -+ 'Line' => '393', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dm', -+ 'type' => '55227' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_unimport_dm' -+ }, -+ '476848' => { -+ 'Header' => undef, -+ 'Line' => '385', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'dm_handle', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '55227', -+ 'ShortName' => 'ibv_import_dm' -+ }, -+ '477049' => { -+ 'Header' => undef, -+ 'Line' => '377', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mr', -+ 'type' => '11828' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_unimport_mr' -+ }, -+ '477217' => { -+ 'Header' => undef, -+ 'Line' => '369', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'mr_handle', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '11828', -+ 'ShortName' => 'ibv_import_mr' -+ }, -+ '477417' => { -+ 'Header' => undef, -+ 'Line' => '360', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'ibv_unimport_pd' -+ }, -+ '477585' => { -+ 'Header' => undef, -+ 'Line' => '353', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'pd_handle', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '12044', -+ 'ShortName' => 'ibv_import_pd' -+ }, -+ '477786' => { -+ 'Header' => undef, -+ 'Line' => '347', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'iova', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'access', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'ShortName' => 'ibv_reg_mr_iova' -+ }, -+ '477975' => { -+ 'Alias' => '__ibv_reg_mr_1_1', -+ 'Header' => undef, -+ 'Line' => '338', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'access', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'ShortName' => 'ibv_reg_mr' -+ }, -+ '478560' => { -+ 'Alias' => '__ibv_dealloc_pd_1_1', -+ 'Header' => undef, -+ 'Line' => '303', -+ 'Param' => { -+ '0' => { -+ 'name' => 'pd', -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_dealloc_pd' -+ }, -+ '478732' => { -+ 'Alias' => '__ibv_alloc_pd_1_1', -+ 'Header' => undef, -+ 'Line' => '290', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ } -+ }, -+ 'Return' => '12044', -+ 'ShortName' => 'ibv_alloc_pd' -+ }, -+ '478924' => { -+ 'Alias' => '__ibv_get_pkey_index_1_5', -+ 'Header' => undef, -+ 'Line' => '274', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'pkey', -+ 'type' => '1028' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_get_pkey_index' -+ }, -+ '479134' => { -+ 'Alias' => '__ibv_query_pkey_1_1', -+ 'Header' => undef, -+ 'Line' => '254', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'index', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'pkey', -+ 'type' => '316605' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_pkey' -+ }, -+ '479449' => { -+ 'Header' => undef, -+ 'Line' => '231', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'index', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'gid', -+ 'type' => '101173' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => '__ibv_query_gid_1_1' -+ }, -+ '479539' => { -+ 'Alias' => '__ibv_query_port_1_1', -+ 'Header' => undef, -+ 'Line' => '221', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'port_attr', -+ 'type' => '18723' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_port' -+ }, -+ '479769' => { -+ 'Alias' => '__ibv_query_device_1_1', -+ 'Header' => undef, -+ 'Line' => '163', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'device_attr', -+ 'type' => '18686' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_query_device' -+ }, -+ '479977' => { -+ 'Header' => undef, -+ 'Line' => '133', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mbps', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '452864', -+ 'ShortName' => 'mbps_to_ibv_rate' -+ }, -+ '480026' => { -+ 'Header' => undef, -+ 'Line' => '103', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rate', -+ 'type' => '452864' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_rate_to_mbps' -+ }, -+ '480081' => { -+ 'Header' => undef, -+ 'Line' => '81', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mult', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '452864', -+ 'ShortName' => 'mult_to_ibv_rate' -+ }, -+ '480136' => { -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rate', -+ 'type' => '452864' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_rate_to_mult' -+ }, -+ '49262' => { -+ 'Header' => undef, -+ 'Line' => '191', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'cmd', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'execute_ioctl' -+ }, -+ '49289' => { -+ 'Header' => undef, -+ 'Line' => '125', -+ 'Param' => { -+ '0' => { -+ 'name' => 'num_attrs', -+ 'type' => '64' -+ }, -+ '1' => { -+ 'name' => 'link', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => '__ioctl_final_num_attrs' -+ }, -+ '49316' => { -+ 'Header' => undef, -+ 'Line' => '79', -+ 'Param' => { -+ '0' => { -+ 'name' => 'vcounters', -+ 'type' => '50290' -+ }, -+ '1' => { -+ 'name' => 'counters_value', -+ 'type' => '48730' -+ }, -+ '2' => { -+ 'name' => 'ncounters', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'link', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_read_counters' -+ }, -+ '50316' => { -+ 'Header' => undef, -+ 'Line' => '64', -+ 'Param' => { -+ '0' => { -+ 'name' => 'vcounters', -+ 'type' => '50290' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_counters' -+ }, -+ '50762' => { -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'init_attr', -+ 'type' => '48736' -+ }, -+ '2' => { -+ 'name' => 'vcounters', -+ 'type' => '50290' -+ }, -+ '3' => { -+ 'name' => 'link', -+ 'type' => '41839' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_counters' -+ }, -+ '70967' => { -+ 'Header' => undef, -+ 'Line' => '176', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_destroy_cq' -+ }, -+ '71794' => { -+ 'Header' => undef, -+ 'Line' => '144', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'cq_attr', -+ 'type' => '72088' -+ }, -+ '2' => { -+ 'name' => 'cq', -+ 'type' => '72094' -+ }, -+ '3' => { -+ 'name' => 'cmd', -+ 'type' => '72100' -+ }, -+ '4' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '5' => { -+ 'name' => 'resp', -+ 'type' => '72106' -+ }, -+ '6' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ }, -+ '7' => { -+ 'name' => 'cmd_flags', -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_cq_ex' -+ }, -+ '72128' => { -+ 'Header' => undef, -+ 'Line' => '130', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'channel', -+ 'type' => '15787' -+ }, -+ '3' => { -+ 'name' => 'comp_vector', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'cq', -+ 'type' => '10380' -+ }, -+ '5' => { -+ 'name' => 'cmd', -+ 'type' => '72588' -+ }, -+ '6' => { -+ 'name' => 'cmd_size', -+ 'type' => '52' -+ }, -+ '7' => { -+ 'name' => 'resp', -+ 'type' => '72594' -+ }, -+ '8' => { -+ 'name' => 'resp_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_create_cq' -+ }, -+ '94839' => { -+ 'Header' => undef, -+ 'Line' => '714', -+ 'Param' => { -+ '0' => { -+ 'name' => 'buf', -+ 'type' => '180' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'type' => '52' -+ }, -+ '2' => { -+ 'name' => 'sysfs_dev', -+ 'type' => '93286' -+ }, -+ '3' => { -+ 'name' => 'fnfmt', -+ 'type' => '76632' -+ }, -+ '4' => { -+ 'type' => '-1' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_read_ibdev_sysfs_file' -+ }, -+ '95149' => { -+ 'Header' => undef, -+ 'Line' => '521', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'input', -+ 'type' => '66918' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '66924' -+ }, -+ '3' => { -+ 'name' => 'attr_size', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'resp', -+ 'type' => '95747' -+ }, -+ '5' => { -+ 'name' => 'resp_size', -+ 'type' => '95753' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'ibv_cmd_query_device_any' -+ }, -+ '95759' => { -+ 'Header' => undef, -+ 'Line' => '484', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'entries', -+ 'type' => '97012' -+ }, -+ '2' => { -+ 'name' => 'max_entries', -+ 'type' => '52' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'entry_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '209', -+ 'ShortName' => '_ibv_query_gid_table' -+ }, -+ '97036' => { -+ 'Header' => undef, -+ 'Line' => '473', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'gid_index', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'entry', -+ 'type' => '97012' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'entry_size', -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => '_ibv_query_gid_ex' -+ } -+ }, -+ 'SymbolVersion' => { -+ '__ibv_ack_async_event_1_0' => 'ibv_ack_async_event@IBVERBS_1.0', -+ '__ibv_ack_async_event_1_1' => 'ibv_ack_async_event@@IBVERBS_1.1', -+ '__ibv_ack_cq_events_1_0' => 'ibv_ack_cq_events@IBVERBS_1.0', -+ '__ibv_ack_cq_events_1_1' => 'ibv_ack_cq_events@@IBVERBS_1.1', -+ '__ibv_alloc_pd_1_0' => 'ibv_alloc_pd@IBVERBS_1.0', -+ '__ibv_alloc_pd_1_1' => 'ibv_alloc_pd@@IBVERBS_1.1', -+ '__ibv_attach_mcast_1_0' => 'ibv_attach_mcast@IBVERBS_1.0', -+ '__ibv_attach_mcast_1_1' => 'ibv_attach_mcast@@IBVERBS_1.1', -+ '__ibv_close_device_1_0' => 'ibv_close_device@IBVERBS_1.0', -+ '__ibv_close_device_1_1' => 'ibv_close_device@@IBVERBS_1.1', -+ '__ibv_create_ah_1_0' => 'ibv_create_ah@IBVERBS_1.0', -+ '__ibv_create_ah_1_1' => 'ibv_create_ah@@IBVERBS_1.1', -+ '__ibv_create_cq_1_0' => 'ibv_create_cq@IBVERBS_1.0', -+ '__ibv_create_cq_1_1' => 'ibv_create_cq@@IBVERBS_1.1', -+ '__ibv_create_qp_1_0' => 'ibv_create_qp@IBVERBS_1.0', -+ '__ibv_create_qp_1_1' => 'ibv_create_qp@@IBVERBS_1.1', -+ '__ibv_create_srq_1_0' => 'ibv_create_srq@IBVERBS_1.0', -+ '__ibv_create_srq_1_1' => 'ibv_create_srq@@IBVERBS_1.1', -+ '__ibv_dealloc_pd_1_0' => 'ibv_dealloc_pd@IBVERBS_1.0', -+ '__ibv_dealloc_pd_1_1' => 'ibv_dealloc_pd@@IBVERBS_1.1', -+ '__ibv_dereg_mr_1_0' => 'ibv_dereg_mr@IBVERBS_1.0', -+ '__ibv_dereg_mr_1_1' => 'ibv_dereg_mr@@IBVERBS_1.1', -+ '__ibv_destroy_ah_1_0' => 'ibv_destroy_ah@IBVERBS_1.0', -+ '__ibv_destroy_ah_1_1' => 'ibv_destroy_ah@@IBVERBS_1.1', -+ '__ibv_destroy_cq_1_0' => 'ibv_destroy_cq@IBVERBS_1.0', -+ '__ibv_destroy_cq_1_1' => 'ibv_destroy_cq@@IBVERBS_1.1', -+ '__ibv_destroy_qp_1_0' => 'ibv_destroy_qp@IBVERBS_1.0', -+ '__ibv_destroy_qp_1_1' => 'ibv_destroy_qp@@IBVERBS_1.1', -+ '__ibv_destroy_srq_1_0' => 'ibv_destroy_srq@IBVERBS_1.0', -+ '__ibv_destroy_srq_1_1' => 'ibv_destroy_srq@@IBVERBS_1.1', -+ '__ibv_detach_mcast_1_0' => 'ibv_detach_mcast@IBVERBS_1.0', -+ '__ibv_detach_mcast_1_1' => 'ibv_detach_mcast@@IBVERBS_1.1', -+ '__ibv_free_device_list_1_0' => 'ibv_free_device_list@IBVERBS_1.0', -+ '__ibv_free_device_list_1_1' => 'ibv_free_device_list@@IBVERBS_1.1', -+ '__ibv_get_async_event_1_0' => 'ibv_get_async_event@IBVERBS_1.0', -+ '__ibv_get_async_event_1_1' => 'ibv_get_async_event@@IBVERBS_1.1', -+ '__ibv_get_cq_event_1_0' => 'ibv_get_cq_event@IBVERBS_1.0', -+ '__ibv_get_cq_event_1_1' => 'ibv_get_cq_event@@IBVERBS_1.1', -+ '__ibv_get_device_guid_1_0' => 'ibv_get_device_guid@IBVERBS_1.0', -+ '__ibv_get_device_guid_1_1' => 'ibv_get_device_guid@@IBVERBS_1.1', -+ '__ibv_get_device_list_1_0' => 'ibv_get_device_list@IBVERBS_1.0', -+ '__ibv_get_device_list_1_1' => 'ibv_get_device_list@@IBVERBS_1.1', -+ '__ibv_get_device_name_1_0' => 'ibv_get_device_name@IBVERBS_1.0', -+ '__ibv_get_device_name_1_1' => 'ibv_get_device_name@@IBVERBS_1.1', -+ '__ibv_get_pkey_index_1_5' => 'ibv_get_pkey_index@@IBVERBS_1.5', -+ '__ibv_modify_qp_1_0' => 'ibv_modify_qp@IBVERBS_1.0', -+ '__ibv_modify_qp_1_1' => 'ibv_modify_qp@@IBVERBS_1.1', -+ '__ibv_modify_srq_1_0' => 'ibv_modify_srq@IBVERBS_1.0', -+ '__ibv_modify_srq_1_1' => 'ibv_modify_srq@@IBVERBS_1.1', -+ '__ibv_open_device_1_0' => 'ibv_open_device@IBVERBS_1.0', -+ '__ibv_open_device_1_1' => 'ibv_open_device@@IBVERBS_1.1', -+ '__ibv_query_device_1_0' => 'ibv_query_device@IBVERBS_1.0', -+ '__ibv_query_device_1_1' => 'ibv_query_device@@IBVERBS_1.1', -+ '__ibv_query_gid_1_0' => 'ibv_query_gid@IBVERBS_1.0', -+ '__ibv_query_gid_1_1' => 'ibv_query_gid@@IBVERBS_1.1', -+ '__ibv_query_pkey_1_0' => 'ibv_query_pkey@IBVERBS_1.0', -+ '__ibv_query_pkey_1_1' => 'ibv_query_pkey@@IBVERBS_1.1', -+ '__ibv_query_port_1_0' => 'ibv_query_port@IBVERBS_1.0', -+ '__ibv_query_port_1_1' => 'ibv_query_port@@IBVERBS_1.1', -+ '__ibv_query_qp_1_0' => 'ibv_query_qp@IBVERBS_1.0', -+ '__ibv_query_qp_1_1' => 'ibv_query_qp@@IBVERBS_1.1', -+ '__ibv_query_srq_1_0' => 'ibv_query_srq@IBVERBS_1.0', -+ '__ibv_query_srq_1_1' => 'ibv_query_srq@@IBVERBS_1.1', -+ '__ibv_reg_mr_1_0' => 'ibv_reg_mr@IBVERBS_1.0', -+ '__ibv_reg_mr_1_1' => 'ibv_reg_mr@@IBVERBS_1.1', -+ '__ibv_register_driver_1_1' => 'ibv_register_driver@IBVERBS_1.1', -+ '__ibv_rereg_mr_1_1' => 'ibv_rereg_mr@@IBVERBS_1.1', -+ '__ibv_resize_cq_1_0' => 'ibv_resize_cq@IBVERBS_1.0', -+ '__ibv_resize_cq_1_1' => 'ibv_resize_cq@@IBVERBS_1.1', -+ '__ioctl_final_num_attrs' => '__ioctl_final_num_attrs@@IBVERBS_PRIVATE_34', -+ '__verbs_log' => '__verbs_log@@IBVERBS_PRIVATE_34', -+ '_ibv_query_gid_ex' => '_ibv_query_gid_ex@@IBVERBS_1.11', -+ '_ibv_query_gid_table' => '_ibv_query_gid_table@@IBVERBS_1.11', -+ '_verbs_init_and_alloc_context' => '_verbs_init_and_alloc_context@@IBVERBS_PRIVATE_34', -+ 'execute_ioctl' => 'execute_ioctl@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_advise_mr' => 'ibv_cmd_advise_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_alloc_dm' => 'ibv_cmd_alloc_dm@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_alloc_mw' => 'ibv_cmd_alloc_mw@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_alloc_pd' => 'ibv_cmd_alloc_pd@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_attach_mcast' => 'ibv_cmd_attach_mcast@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_close_xrcd' => 'ibv_cmd_close_xrcd@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_ah' => 'ibv_cmd_create_ah@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_counters' => 'ibv_cmd_create_counters@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_cq' => 'ibv_cmd_create_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_cq_ex' => 'ibv_cmd_create_cq_ex@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_flow' => 'ibv_cmd_create_flow@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_flow_action_esp' => 'ibv_cmd_create_flow_action_esp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_qp' => 'ibv_cmd_create_qp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_qp_ex' => 'ibv_cmd_create_qp_ex@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_qp_ex2' => 'ibv_cmd_create_qp_ex2@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_rwq_ind_table' => 'ibv_cmd_create_rwq_ind_table@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_srq' => 'ibv_cmd_create_srq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_srq_ex' => 'ibv_cmd_create_srq_ex@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_create_wq' => 'ibv_cmd_create_wq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_dealloc_mw' => 'ibv_cmd_dealloc_mw@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_dealloc_pd' => 'ibv_cmd_dealloc_pd@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_dereg_mr' => 'ibv_cmd_dereg_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_ah' => 'ibv_cmd_destroy_ah@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_counters' => 'ibv_cmd_destroy_counters@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_cq' => 'ibv_cmd_destroy_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_flow' => 'ibv_cmd_destroy_flow@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_flow_action' => 'ibv_cmd_destroy_flow_action@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_qp' => 'ibv_cmd_destroy_qp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_rwq_ind_table' => 'ibv_cmd_destroy_rwq_ind_table@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_srq' => 'ibv_cmd_destroy_srq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_destroy_wq' => 'ibv_cmd_destroy_wq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_detach_mcast' => 'ibv_cmd_detach_mcast@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_free_dm' => 'ibv_cmd_free_dm@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_get_context' => 'ibv_cmd_get_context@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_cq' => 'ibv_cmd_modify_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_flow_action_esp' => 'ibv_cmd_modify_flow_action_esp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_qp' => 'ibv_cmd_modify_qp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_qp_ex' => 'ibv_cmd_modify_qp_ex@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_srq' => 'ibv_cmd_modify_srq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_modify_wq' => 'ibv_cmd_modify_wq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_open_qp' => 'ibv_cmd_open_qp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_open_xrcd' => 'ibv_cmd_open_xrcd@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_poll_cq' => 'ibv_cmd_poll_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_post_recv' => 'ibv_cmd_post_recv@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_post_send' => 'ibv_cmd_post_send@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_post_srq_recv' => 'ibv_cmd_post_srq_recv@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_context' => 'ibv_cmd_query_context@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_device_any' => 'ibv_cmd_query_device_any@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_mr' => 'ibv_cmd_query_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_port' => 'ibv_cmd_query_port@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_qp' => 'ibv_cmd_query_qp@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_query_srq' => 'ibv_cmd_query_srq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_read_counters' => 'ibv_cmd_read_counters@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_reg_dm_mr' => 'ibv_cmd_reg_dm_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_reg_dmabuf_mr' => 'ibv_cmd_reg_dmabuf_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_reg_mr' => 'ibv_cmd_reg_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_req_notify_cq' => 'ibv_cmd_req_notify_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_rereg_mr' => 'ibv_cmd_rereg_mr@@IBVERBS_PRIVATE_34', -+ 'ibv_cmd_resize_cq' => 'ibv_cmd_resize_cq@@IBVERBS_PRIVATE_34', -+ 'ibv_copy_ah_attr_from_kern' => 'ibv_copy_ah_attr_from_kern@@IBVERBS_1.1', -+ 'ibv_copy_path_rec_from_kern' => 'ibv_copy_path_rec_from_kern@@IBVERBS_1.0', -+ 'ibv_copy_path_rec_to_kern' => 'ibv_copy_path_rec_to_kern@@IBVERBS_1.0', -+ 'ibv_copy_qp_attr_from_kern' => 'ibv_copy_qp_attr_from_kern@@IBVERBS_1.0', -+ 'ibv_create_ah_from_wc' => 'ibv_create_ah_from_wc@@IBVERBS_1.1', -+ 'ibv_create_comp_channel' => 'ibv_create_comp_channel@@IBVERBS_1.0', -+ 'ibv_destroy_comp_channel' => 'ibv_destroy_comp_channel@@IBVERBS_1.0', -+ 'ibv_dofork_range' => 'ibv_dofork_range@@IBVERBS_1.1', -+ 'ibv_dontfork_range' => 'ibv_dontfork_range@@IBVERBS_1.1', -+ 'ibv_event_type_str' => 'ibv_event_type_str@@IBVERBS_1.1', -+ 'ibv_fork_init' => 'ibv_fork_init@@IBVERBS_1.1', -+ 'ibv_get_device_index' => 'ibv_get_device_index@@IBVERBS_1.9', -+ 'ibv_get_sysfs_path' => 'ibv_get_sysfs_path@@IBVERBS_1.0', -+ 'ibv_import_device' => 'ibv_import_device@@IBVERBS_1.10', -+ 'ibv_import_dm' => 'ibv_import_dm@@IBVERBS_1.13', -+ 'ibv_import_mr' => 'ibv_import_mr@@IBVERBS_1.10', -+ 'ibv_import_pd' => 'ibv_import_pd@@IBVERBS_1.10', -+ 'ibv_init_ah_from_wc' => 'ibv_init_ah_from_wc@@IBVERBS_1.1', -+ 'ibv_is_fork_initialized' => 'ibv_is_fork_initialized@@IBVERBS_1.13', -+ 'ibv_node_type_str' => 'ibv_node_type_str@@IBVERBS_1.1', -+ 'ibv_port_state_str' => 'ibv_port_state_str@@IBVERBS_1.1', -+ 'ibv_qp_to_qp_ex' => 'ibv_qp_to_qp_ex@@IBVERBS_1.6', -+ 'ibv_query_ece' => 'ibv_query_ece@@IBVERBS_1.10', -+ 'ibv_query_gid_type' => 'ibv_query_gid_type@@IBVERBS_PRIVATE_34', -+ 'ibv_query_qp_data_in_order' => 'ibv_query_qp_data_in_order@@IBVERBS_1.14', -+ 'ibv_rate_to_mbps' => 'ibv_rate_to_mbps@@IBVERBS_1.1', -+ 'ibv_rate_to_mult' => 'ibv_rate_to_mult@@IBVERBS_1.0', -+ 'ibv_read_ibdev_sysfs_file' => 'ibv_read_ibdev_sysfs_file@@IBVERBS_PRIVATE_34', -+ 'ibv_read_sysfs_file' => 'ibv_read_sysfs_file@@IBVERBS_1.0', -+ 'ibv_reg_dmabuf_mr' => 'ibv_reg_dmabuf_mr@@IBVERBS_1.12', -+ 'ibv_reg_mr_iova' => 'ibv_reg_mr_iova@@IBVERBS_1.7', -+ 'ibv_reg_mr_iova2' => 'ibv_reg_mr_iova2@@IBVERBS_1.8', -+ 'ibv_resolve_eth_l2_from_gid' => 'ibv_resolve_eth_l2_from_gid@@IBVERBS_1.1', -+ 'ibv_set_ece' => 'ibv_set_ece@@IBVERBS_1.10', -+ 'ibv_unimport_dm' => 'ibv_unimport_dm@@IBVERBS_1.13', -+ 'ibv_unimport_mr' => 'ibv_unimport_mr@@IBVERBS_1.10', -+ 'ibv_unimport_pd' => 'ibv_unimport_pd@@IBVERBS_1.10', -+ 'ibv_wc_status_str' => 'ibv_wc_status_str@@IBVERBS_1.1', -+ 'mbps_to_ibv_rate' => 'mbps_to_ibv_rate@@IBVERBS_1.1', -+ 'mult_to_ibv_rate' => 'mult_to_ibv_rate@@IBVERBS_1.0', -+ 'verbs_allow_disassociate_destroy' => 'verbs_allow_disassociate_destroy@@IBVERBS_PRIVATE_34', -+ 'verbs_init_cq' => 'verbs_init_cq@@IBVERBS_PRIVATE_34', -+ 'verbs_open_device' => 'verbs_open_device@@IBVERBS_PRIVATE_34', -+ 'verbs_register_driver_34' => 'verbs_register_driver_34@@IBVERBS_PRIVATE_34', -+ 'verbs_set_ops' => 'verbs_set_ops@@IBVERBS_PRIVATE_34', -+ 'verbs_uninit_context' => 'verbs_uninit_context@@IBVERBS_PRIVATE_34' -+ }, -+ 'Symbols' => { -+ 'libibverbs.so.1.14.41.0' => { -+ '__ioctl_final_num_attrs@@IBVERBS_PRIVATE_34' => 1, -+ '__verbs_log@@IBVERBS_PRIVATE_34' => 1, -+ '_ibv_query_gid_ex@@IBVERBS_1.11' => 1, -+ '_ibv_query_gid_table@@IBVERBS_1.11' => 1, -+ '_verbs_init_and_alloc_context@@IBVERBS_PRIVATE_34' => 1, -+ 'execute_ioctl@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_ack_async_event@@IBVERBS_1.1' => 1, -+ 'ibv_ack_async_event@IBVERBS_1.0' => 1, -+ 'ibv_ack_cq_events@@IBVERBS_1.1' => 1, -+ 'ibv_ack_cq_events@IBVERBS_1.0' => 1, -+ 'ibv_alloc_pd@@IBVERBS_1.1' => 1, -+ 'ibv_alloc_pd@IBVERBS_1.0' => 1, -+ 'ibv_attach_mcast@@IBVERBS_1.1' => 1, -+ 'ibv_attach_mcast@IBVERBS_1.0' => 1, -+ 'ibv_close_device@@IBVERBS_1.1' => 1, -+ 'ibv_close_device@IBVERBS_1.0' => 1, -+ 'ibv_cmd_advise_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_alloc_dm@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_alloc_mw@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_alloc_pd@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_attach_mcast@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_close_xrcd@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_ah@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_counters@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_cq_ex@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_flow@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_flow_action_esp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_qp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_qp_ex2@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_qp_ex@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_rwq_ind_table@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_srq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_srq_ex@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_create_wq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_dealloc_mw@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_dealloc_pd@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_dereg_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_ah@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_counters@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_flow@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_flow_action@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_qp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_rwq_ind_table@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_srq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_destroy_wq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_detach_mcast@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_free_dm@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_get_context@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_flow_action_esp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_qp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_qp_ex@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_srq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_modify_wq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_open_qp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_open_xrcd@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_poll_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_post_recv@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_post_send@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_post_srq_recv@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_context@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_device_any@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_port@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_qp@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_query_srq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_read_counters@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_reg_dm_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_reg_dmabuf_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_reg_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_req_notify_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_rereg_mr@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_cmd_resize_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_copy_ah_attr_from_kern@@IBVERBS_1.1' => 1, -+ 'ibv_copy_path_rec_from_kern@@IBVERBS_1.0' => 1, -+ 'ibv_copy_path_rec_to_kern@@IBVERBS_1.0' => 1, -+ 'ibv_copy_qp_attr_from_kern@@IBVERBS_1.0' => 1, -+ 'ibv_create_ah@@IBVERBS_1.1' => 1, -+ 'ibv_create_ah@IBVERBS_1.0' => 1, -+ 'ibv_create_ah_from_wc@@IBVERBS_1.1' => 1, -+ 'ibv_create_comp_channel@@IBVERBS_1.0' => 1, -+ 'ibv_create_cq@@IBVERBS_1.1' => 1, -+ 'ibv_create_cq@IBVERBS_1.0' => 1, -+ 'ibv_create_qp@@IBVERBS_1.1' => 1, -+ 'ibv_create_qp@IBVERBS_1.0' => 1, -+ 'ibv_create_srq@@IBVERBS_1.1' => 1, -+ 'ibv_create_srq@IBVERBS_1.0' => 1, -+ 'ibv_dealloc_pd@@IBVERBS_1.1' => 1, -+ 'ibv_dealloc_pd@IBVERBS_1.0' => 1, -+ 'ibv_dereg_mr@@IBVERBS_1.1' => 1, -+ 'ibv_dereg_mr@IBVERBS_1.0' => 1, -+ 'ibv_destroy_ah@@IBVERBS_1.1' => 1, -+ 'ibv_destroy_ah@IBVERBS_1.0' => 1, -+ 'ibv_destroy_comp_channel@@IBVERBS_1.0' => 1, -+ 'ibv_destroy_cq@@IBVERBS_1.1' => 1, -+ 'ibv_destroy_cq@IBVERBS_1.0' => 1, -+ 'ibv_destroy_qp@@IBVERBS_1.1' => 1, -+ 'ibv_destroy_qp@IBVERBS_1.0' => 1, -+ 'ibv_destroy_srq@@IBVERBS_1.1' => 1, -+ 'ibv_destroy_srq@IBVERBS_1.0' => 1, -+ 'ibv_detach_mcast@@IBVERBS_1.1' => 1, -+ 'ibv_detach_mcast@IBVERBS_1.0' => 1, -+ 'ibv_dofork_range@@IBVERBS_1.1' => 1, -+ 'ibv_dontfork_range@@IBVERBS_1.1' => 1, -+ 'ibv_event_type_str@@IBVERBS_1.1' => 1, -+ 'ibv_fork_init@@IBVERBS_1.1' => 1, -+ 'ibv_free_device_list@@IBVERBS_1.1' => 1, -+ 'ibv_free_device_list@IBVERBS_1.0' => 1, -+ 'ibv_get_async_event@@IBVERBS_1.1' => 1, -+ 'ibv_get_async_event@IBVERBS_1.0' => 1, -+ 'ibv_get_cq_event@@IBVERBS_1.1' => 1, -+ 'ibv_get_cq_event@IBVERBS_1.0' => 1, -+ 'ibv_get_device_guid@@IBVERBS_1.1' => 1, -+ 'ibv_get_device_guid@IBVERBS_1.0' => 1, -+ 'ibv_get_device_index@@IBVERBS_1.9' => 1, -+ 'ibv_get_device_list@@IBVERBS_1.1' => 1, -+ 'ibv_get_device_list@IBVERBS_1.0' => 1, -+ 'ibv_get_device_name@@IBVERBS_1.1' => 1, -+ 'ibv_get_device_name@IBVERBS_1.0' => 1, -+ 'ibv_get_pkey_index@@IBVERBS_1.5' => 1, -+ 'ibv_get_sysfs_path@@IBVERBS_1.0' => 1, -+ 'ibv_import_device@@IBVERBS_1.10' => 1, -+ 'ibv_import_dm@@IBVERBS_1.13' => 1, -+ 'ibv_import_mr@@IBVERBS_1.10' => 1, -+ 'ibv_import_pd@@IBVERBS_1.10' => 1, -+ 'ibv_init_ah_from_wc@@IBVERBS_1.1' => 1, -+ 'ibv_is_fork_initialized@@IBVERBS_1.13' => 1, -+ 'ibv_modify_qp@@IBVERBS_1.1' => 1, -+ 'ibv_modify_qp@IBVERBS_1.0' => 1, -+ 'ibv_modify_srq@@IBVERBS_1.1' => 1, -+ 'ibv_modify_srq@IBVERBS_1.0' => 1, -+ 'ibv_node_type_str@@IBVERBS_1.1' => 1, -+ 'ibv_open_device@@IBVERBS_1.1' => 1, -+ 'ibv_open_device@IBVERBS_1.0' => 1, -+ 'ibv_port_state_str@@IBVERBS_1.1' => 1, -+ 'ibv_qp_to_qp_ex@@IBVERBS_1.6' => 1, -+ 'ibv_query_device@@IBVERBS_1.1' => 1, -+ 'ibv_query_device@IBVERBS_1.0' => 1, -+ 'ibv_query_ece@@IBVERBS_1.10' => 1, -+ 'ibv_query_gid@@IBVERBS_1.1' => 1, -+ 'ibv_query_gid@IBVERBS_1.0' => 1, -+ 'ibv_query_gid_type@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_query_pkey@@IBVERBS_1.1' => 1, -+ 'ibv_query_pkey@IBVERBS_1.0' => 1, -+ 'ibv_query_port@@IBVERBS_1.1' => 1, -+ 'ibv_query_port@IBVERBS_1.0' => 1, -+ 'ibv_query_qp@@IBVERBS_1.1' => 1, -+ 'ibv_query_qp@IBVERBS_1.0' => 1, -+ 'ibv_query_qp_data_in_order@@IBVERBS_1.14' => 1, -+ 'ibv_query_srq@@IBVERBS_1.1' => 1, -+ 'ibv_query_srq@IBVERBS_1.0' => 1, -+ 'ibv_rate_to_mbps@@IBVERBS_1.1' => 1, -+ 'ibv_rate_to_mult@@IBVERBS_1.0' => 1, -+ 'ibv_read_ibdev_sysfs_file@@IBVERBS_PRIVATE_34' => 1, -+ 'ibv_read_sysfs_file@@IBVERBS_1.0' => 1, -+ 'ibv_reg_dmabuf_mr@@IBVERBS_1.12' => 1, -+ 'ibv_reg_mr@@IBVERBS_1.1' => 1, -+ 'ibv_reg_mr@IBVERBS_1.0' => 1, -+ 'ibv_reg_mr_iova2@@IBVERBS_1.8' => 1, -+ 'ibv_reg_mr_iova@@IBVERBS_1.7' => 1, -+ 'ibv_register_driver@IBVERBS_1.1' => 1, -+ 'ibv_rereg_mr@@IBVERBS_1.1' => 1, -+ 'ibv_resize_cq@@IBVERBS_1.1' => 1, -+ 'ibv_resize_cq@IBVERBS_1.0' => 1, -+ 'ibv_resolve_eth_l2_from_gid@@IBVERBS_1.1' => 1, -+ 'ibv_set_ece@@IBVERBS_1.10' => 1, -+ 'ibv_unimport_dm@@IBVERBS_1.13' => 1, -+ 'ibv_unimport_mr@@IBVERBS_1.10' => 1, -+ 'ibv_unimport_pd@@IBVERBS_1.10' => 1, -+ 'ibv_wc_status_str@@IBVERBS_1.1' => 1, -+ 'mbps_to_ibv_rate@@IBVERBS_1.1' => 1, -+ 'mult_to_ibv_rate@@IBVERBS_1.0' => 1, -+ 'verbs_allow_disassociate_destroy@@IBVERBS_PRIVATE_34' => -1, -+ 'verbs_init_cq@@IBVERBS_PRIVATE_34' => 1, -+ 'verbs_open_device@@IBVERBS_PRIVATE_34' => 1, -+ 'verbs_register_driver_34@@IBVERBS_PRIVATE_34' => 1, -+ 'verbs_set_ops@@IBVERBS_PRIVATE_34' => 1, -+ 'verbs_uninit_context@@IBVERBS_PRIVATE_34' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '-1' => { -+ 'Name' => '...', -+ 'Type' => 'Intrinsic' -+ }, -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '1004' => { -+ 'BaseType' => '64', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '101039' => { -+ 'BaseType' => '92651', -+ 'Name' => 'enum ibv_gid_type_sysfs*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '101173' => { -+ 'BaseType' => '9296', -+ 'Name' => 'union ibv_gid*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1016' => { -+ 'BaseType' => '474', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '10173' => { -+ 'BaseType' => '186', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '10189' => { -+ 'Header' => undef, -+ 'Line' => '364', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MTU_256', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MTU_512', -+ 'value' => '2' -+ }, -+ '2' => { -+ 'name' => 'IBV_MTU_1024', -+ 'value' => '3' -+ }, -+ '3' => { -+ 'name' => 'IBV_MTU_2048', -+ 'value' => '4' -+ }, -+ '4' => { -+ 'name' => 'IBV_MTU_4096', -+ 'value' => '5' -+ } -+ }, -+ 'Name' => 'enum ibv_mtu', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '10239' => { -+ 'Header' => undef, -+ 'Line' => '1458', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '15787' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '822' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '896' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_cq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '1028' => { -+ 'BaseType' => '992', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => '__be16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '103456' => { -+ 'BaseType' => '92090', -+ 'Name' => 'struct ibv_get_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '103462' => { -+ 'BaseType' => '78418', -+ 'Name' => 'struct ib_uverbs_get_context_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10380' => { -+ 'BaseType' => '10239', -+ 'Name' => 'struct ibv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10386' => { -+ 'Header' => undef, -+ 'Line' => '1252', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '822' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '896' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '12044' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '10380' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '10380' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '10700' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '13414' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '12835' -+ } -+ }, -+ 'Name' => 'struct ibv_qp', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '1040' => { -+ 'BaseType' => '1004', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '1052' => { -+ 'BaseType' => '1016', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '105302' => { -+ 'BaseType' => '92421', -+ 'Name' => 'struct ibv_query_port*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10582' => { -+ 'BaseType' => '10386', -+ 'Name' => 'struct ibv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10588' => { -+ 'Header' => undef, -+ 'Line' => '1212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '12044' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '822' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '896' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_srq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '10700' => { -+ 'BaseType' => '10588', -+ 'Name' => 'struct ibv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10706' => { -+ 'Header' => undef, -+ 'Line' => '1234', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'wq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '10' => { -+ 'name' => 'cond', -+ 'offset' => '96', -+ 'type' => '896' -+ }, -+ '11' => { -+ 'name' => 'events_completed', -+ 'offset' => '144', -+ 'type' => '944' -+ }, -+ '12' => { -+ 'name' => 'comp_mask', -+ 'offset' => '148', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '12044' -+ }, -+ '3' => { -+ 'name' => 'cq', -+ 'offset' => '24', -+ 'type' => '10380' -+ }, -+ '4' => { -+ 'name' => 'wq_num', -+ 'offset' => '32', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'handle', -+ 'offset' => '36', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'state', -+ 'offset' => '40', -+ 'type' => '12502' -+ }, -+ '7' => { -+ 'name' => 'wq_type', -+ 'offset' => '44', -+ 'type' => '12426' -+ }, -+ '8' => { -+ 'name' => 'post_recv', -+ 'offset' => '48', -+ 'type' => '14919' -+ }, -+ '9' => { -+ 'name' => 'mutex', -+ 'offset' => '56', -+ 'type' => '822' -+ } -+ }, -+ 'Name' => 'struct ibv_wq', -+ 'Size' => '152', -+ 'Type' => 'Struct' -+ }, -+ '107760' => { -+ 'BaseType' => '54940', -+ 'Name' => 'struct ibv_alloc_dm_attr const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '10901' => { -+ 'BaseType' => '10706', -+ 'Name' => 'struct ibv_wq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10907' => { -+ 'Header' => undef, -+ 'Line' => '483', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SUCCESS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_LOC_LEN_ERR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_REM_ACCESS_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_REM_OP_ERR', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_RETRY_EXC_ERR', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_RNR_RETRY_EXC_ERR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_LOC_RDD_VIOL_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_REM_INV_RD_REQ_ERR', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_REM_ABORT_ERR', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_INV_EECN_ERR', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_WC_INV_EEC_STATE_ERR', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_WC_FATAL_ERR', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_LOC_QP_OP_ERR', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IBV_WC_RESP_TIMEOUT_ERR', -+ 'value' => '20' -+ }, -+ '21' => { -+ 'name' => 'IBV_WC_GENERAL_ERR', -+ 'value' => '21' -+ }, -+ '22' => { -+ 'name' => 'IBV_WC_TM_ERR', -+ 'value' => '22' -+ }, -+ '23' => { -+ 'name' => 'IBV_WC_TM_RNDV_INCOMPLETE', -+ 'value' => '23' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_LOC_EEC_OP_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_LOC_PROT_ERR', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_WR_FLUSH_ERR', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_MW_BIND_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_BAD_RESP_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_LOC_ACCESS_ERR', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_REM_INV_REQ_ERR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '11071' => { -+ 'Header' => undef, -+ 'Line' => '511', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SEND', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_RDMA_WRITE', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_TM_ADD', -+ 'value' => '130' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_TM_DEL', -+ 'value' => '131' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_TM_SYNC', -+ 'value' => '132' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_TM_RECV', -+ 'value' => '133' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_TM_NO_TAG', -+ 'value' => '134' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_DRIVER1', -+ 'value' => '135' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_DRIVER2', -+ 'value' => '136' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_DRIVER3', -+ 'value' => '137' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_RDMA_READ', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_COMP_SWAP', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_FETCH_ADD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_BIND_MW', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_LOCAL_INV', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_TSO', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_RECV', -+ 'value' => '128' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_RECV_RDMA_WITH_IMM', -+ 'value' => '129' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '112504' => { -+ 'Header' => undef, -+ 'Line' => '187', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dm', -+ 'offset' => '0', -+ 'type' => '54993' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct verbs_dm', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '11339' => { -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '1040' -+ }, -+ '1' => { -+ 'name' => 'invalidated_rkey', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '11376' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'status', -+ 'offset' => '8', -+ 'type' => '10907' -+ }, -+ '10' => { -+ 'name' => 'slid', -+ 'offset' => '42', -+ 'type' => '932' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '44', -+ 'type' => '920' -+ }, -+ '12' => { -+ 'name' => 'dlid_path_bits', -+ 'offset' => '45', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '12', -+ 'type' => '11071' -+ }, -+ '3' => { -+ 'name' => 'vendor_err', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'byte_len', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '11339' -+ }, -+ '6' => { -+ 'name' => 'qp_num', -+ 'offset' => '28', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'src_qp', -+ 'offset' => '32', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'wc_flags', -+ 'offset' => '36', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '40', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct ibv_wc', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '114981' => { -+ 'BaseType' => '112504', -+ 'Name' => 'struct verbs_dm*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11641' => { -+ 'Header' => undef, -+ 'Line' => '619', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '11828' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '956' -+ }, -+ '3' => { -+ 'name' => 'mw_access_flags', -+ 'offset' => '24', -+ 'type' => '64' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind_info', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '116456' => { -+ 'BaseType' => '107760', -+ 'Name' => 'struct ibv_alloc_dm_attr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11711' => { -+ 'BaseType' => '11641', -+ 'Name' => 'struct ibv_mw_bind_info const', -+ 'Size' => '32', -+ 'Type' => 'Const' -+ }, -+ '11716' => { -+ 'Header' => undef, -+ 'Line' => '662', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '12044' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'lkey', -+ 'offset' => '36', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'rkey', -+ 'offset' => '40', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '118' => { -+ 'BaseType' => '85', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '11828' => { -+ 'BaseType' => '11716', -+ 'Name' => 'struct ibv_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11834' => { -+ 'Header' => undef, -+ 'Line' => '626', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '11915' => { -+ 'Header' => undef, -+ 'Line' => '645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '4', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'oflags', -+ 'offset' => '8', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd_init_attr', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '11971' => { -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '12044' => { -+ 'BaseType' => '11834', -+ 'Name' => 'struct ibv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12050' => { -+ 'Header' => undef, -+ 'Line' => '672', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MW_TYPE_1', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MW_TYPE_2', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mw_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '12082' => { -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '12044' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '24', -+ 'type' => '12050' -+ } -+ }, -+ 'Name' => 'struct ibv_mw', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '12166' => { -+ 'Header' => undef, -+ 'Line' => '685', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '9296' -+ }, -+ '1' => { -+ 'name' => 'flow_label', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'sgid_index', -+ 'offset' => '20', -+ 'type' => '920' -+ }, -+ '3' => { -+ 'name' => 'hop_limit', -+ 'offset' => '21', -+ 'type' => '920' -+ }, -+ '4' => { -+ 'name' => 'traffic_class', -+ 'offset' => '22', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct ibv_global_route', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '12251' => { -+ 'Header' => undef, -+ 'Line' => '756', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'grh', -+ 'offset' => '0', -+ 'type' => '12166' -+ }, -+ '1' => { -+ 'name' => 'dlid', -+ 'offset' => '24', -+ 'type' => '932' -+ }, -+ '2' => { -+ 'name' => 'sl', -+ 'offset' => '26', -+ 'type' => '920' -+ }, -+ '3' => { -+ 'name' => 'src_path_bits', -+ 'offset' => '27', -+ 'type' => '920' -+ }, -+ '4' => { -+ 'name' => 'static_rate', -+ 'offset' => '28', -+ 'type' => '920' -+ }, -+ '5' => { -+ 'name' => 'is_global', -+ 'offset' => '29', -+ 'type' => '920' -+ }, -+ '6' => { -+ 'name' => 'port_num', -+ 'offset' => '30', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct ibv_ah_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '12363' => { -+ 'Header' => undef, -+ 'Line' => '771', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_wr', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_sge', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'srq_limit', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_attr', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '12420' => { -+ 'BaseType' => '11971', -+ 'Name' => 'struct ibv_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12426' => { -+ 'Header' => undef, -+ 'Line' => '814', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQT_RQ', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '12502' => { -+ 'Header' => undef, -+ 'Line' => '842', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WQS_RDY', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_WQS_ERR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WQS_UNKNOWN', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '12590' => { -+ 'Header' => undef, -+ 'Line' => '856', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attr_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'wq_state', -+ 'offset' => '4', -+ 'type' => '12502' -+ }, -+ '2' => { -+ 'name' => 'curr_wq_state', -+ 'offset' => '8', -+ 'type' => '12502' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'flags_mask', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_wq_attr', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '12675' => { -+ 'Header' => undef, -+ 'Line' => '874', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '12772' => { -+ 'Header' => undef, -+ 'Line' => '888', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'log_ind_tbl_size', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl', -+ 'offset' => '8', -+ 'type' => '12829' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table_init_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '12829' => { -+ 'BaseType' => '10901', -+ 'Name' => 'struct ibv_wq**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12835' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPT_RC', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPT_UC', -+ 'value' => '3' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPT_UD', -+ 'value' => '4' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPT_RAW_PACKET', -+ 'value' => '8' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPT_XRC_SEND', -+ 'value' => '9' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPT_XRC_RECV', -+ 'value' => '10' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPT_DRIVER', -+ 'value' => '255' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '12897' => { -+ 'Header' => undef, -+ 'Line' => '905', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '12', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_cap', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '12982' => { -+ 'Header' => undef, -+ 'Line' => '913', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '10380' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '10380' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '10700' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '12897' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '12835' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '130' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '13095' => { -+ 'BaseType' => '12675', -+ 'Name' => 'struct ibv_rwq_ind_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13151' => { -+ 'Header' => undef, -+ 'Line' => '993', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'qp_num', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'xrcd', -+ 'offset' => '8', -+ 'type' => '12420' -+ }, -+ '3' => { -+ 'name' => 'qp_context', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'qp_type', -+ 'offset' => '24', -+ 'type' => '12835' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_open_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '13414' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPS_INIT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPS_RTR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPS_RTS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPS_SQD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPS_SQE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPS_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_QPS_UNKNOWN', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '13482' => { -+ 'Header' => undef, -+ 'Line' => '1044', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MIG_MIGRATED', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_MIG_REARM', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_MIG_ARMED', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mig_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '13520' => { -+ 'Header' => undef, -+ 'Line' => '1050', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_state', -+ 'offset' => '0', -+ 'type' => '13414' -+ }, -+ '1' => { -+ 'name' => 'cur_qp_state', -+ 'offset' => '4', -+ 'type' => '13414' -+ }, -+ '10' => { -+ 'name' => 'ah_attr', -+ 'offset' => '56', -+ 'type' => '12251' -+ }, -+ '11' => { -+ 'name' => 'alt_ah_attr', -+ 'offset' => '88', -+ 'type' => '12251' -+ }, -+ '12' => { -+ 'name' => 'pkey_index', -+ 'offset' => '120', -+ 'type' => '932' -+ }, -+ '13' => { -+ 'name' => 'alt_pkey_index', -+ 'offset' => '122', -+ 'type' => '932' -+ }, -+ '14' => { -+ 'name' => 'en_sqd_async_notify', -+ 'offset' => '124', -+ 'type' => '920' -+ }, -+ '15' => { -+ 'name' => 'sq_draining', -+ 'offset' => '125', -+ 'type' => '920' -+ }, -+ '16' => { -+ 'name' => 'max_rd_atomic', -+ 'offset' => '126', -+ 'type' => '920' -+ }, -+ '17' => { -+ 'name' => 'max_dest_rd_atomic', -+ 'offset' => '127', -+ 'type' => '920' -+ }, -+ '18' => { -+ 'name' => 'min_rnr_timer', -+ 'offset' => '128', -+ 'type' => '920' -+ }, -+ '19' => { -+ 'name' => 'port_num', -+ 'offset' => '129', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'path_mtu', -+ 'offset' => '8', -+ 'type' => '10189' -+ }, -+ '20' => { -+ 'name' => 'timeout', -+ 'offset' => '130', -+ 'type' => '920' -+ }, -+ '21' => { -+ 'name' => 'retry_cnt', -+ 'offset' => '131', -+ 'type' => '920' -+ }, -+ '22' => { -+ 'name' => 'rnr_retry', -+ 'offset' => '132', -+ 'type' => '920' -+ }, -+ '23' => { -+ 'name' => 'alt_port_num', -+ 'offset' => '133', -+ 'type' => '920' -+ }, -+ '24' => { -+ 'name' => 'alt_timeout', -+ 'offset' => '134', -+ 'type' => '920' -+ }, -+ '25' => { -+ 'name' => 'rate_limit', -+ 'offset' => '136', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'path_mig_state', -+ 'offset' => '12', -+ 'type' => '13482' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'rq_psn', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'sq_psn', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'dest_qp_num', -+ 'offset' => '28', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'qp_access_flags', -+ 'offset' => '32', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'cap', -+ 'offset' => '36', -+ 'type' => '12897' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_attr', -+ 'Size' => '144', -+ 'Type' => 'Struct' -+ }, -+ '137' => { -+ 'BaseType' => '64', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '13899' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_RDMA_WRITE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_RDMA_WRITE_WITH_IMM', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WR_TSO', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WR_DRIVER1', -+ 'value' => '11' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_SEND', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WR_SEND_WITH_IMM', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WR_RDMA_READ', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WR_ATOMIC_CMP_AND_SWP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WR_ATOMIC_FETCH_AND_ADD', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WR_LOCAL_INV', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WR_BIND_MW', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WR_SEND_WITH_INV', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '13991' => { -+ 'Header' => undef, -+ 'Line' => '1109', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '52' -+ } -+ }, -+ 'Name' => 'struct ibv_data_buf', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14034' => { -+ 'BaseType' => '13991', -+ 'Name' => 'struct ibv_data_buf const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '14039' => { -+ 'Header' => undef, -+ 'Line' => '1114', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'lkey', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_sge', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14096' => { -+ 'BaseType' => '14039', -+ 'Name' => 'struct ibv_sge const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '14101' => { -+ 'Header' => undef, -+ 'Line' => '1130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '1040' -+ }, -+ '1' => { -+ 'name' => 'invalidate_rkey', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '14138' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14177' => { -+ 'Header' => undef, -+ 'Line' => '1139', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '956' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '1423' => { -+ 'Header' => undef, -+ 'Line' => '146', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'command', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'in_words', -+ 'offset' => '4', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'out_words', -+ 'offset' => '6', -+ 'type' => '992' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_cmd_hdr', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '14244' => { -+ 'Header' => undef, -+ 'Line' => '1145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '14352' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14296' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '12044' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_ah', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '14352' => { -+ 'BaseType' => '14296', -+ 'Name' => 'struct ibv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14358' => { -+ 'Header' => undef, -+ 'Line' => '1134', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '14138' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '14177' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '14244' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '14407' => { -+ 'Header' => undef, -+ 'Line' => '1152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_srqn', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '14432' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrc', -+ 'offset' => '0', -+ 'type' => '14407' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '14456' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw', -+ 'offset' => '0', -+ 'type' => '14508' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '11641' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '14508' => { -+ 'BaseType' => '12082', -+ 'Name' => 'struct ibv_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14514' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'hdr_sz', -+ 'offset' => '8', -+ 'type' => '932' -+ }, -+ '2' => { -+ 'name' => 'mss', -+ 'offset' => '10', -+ 'type' => '932' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14567' => { -+ 'Header' => undef, -+ 'Line' => '1156', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bind_mw', -+ 'offset' => '0', -+ 'type' => '14456' -+ }, -+ '1' => { -+ 'name' => 'tso', -+ 'offset' => '0', -+ 'type' => '14514' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '14604' => { -+ 'Header' => undef, -+ 'Line' => '1120', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '14742' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '14748' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '13899' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '64' -+ }, -+ '6' => { -+ 'name' => 'unnamed0', -+ 'offset' => '36', -+ 'type' => '14101' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '14358' -+ }, -+ '8' => { -+ 'name' => 'qp_type', -+ 'offset' => '72', -+ 'type' => '14432' -+ }, -+ '9' => { -+ 'name' => 'unnamed1', -+ 'offset' => '80', -+ 'type' => '14567' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '14742' => { -+ 'BaseType' => '14604', -+ 'Name' => 'struct ibv_send_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14748' => { -+ 'BaseType' => '14039', -+ 'Name' => 'struct ibv_sge*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14754' => { -+ 'Header' => undef, -+ 'Line' => '1170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '14748' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '1476' => { -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'provider_in_words', -+ 'offset' => '8', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'provider_out_words', -+ 'offset' => '10', -+ 'type' => '992' -+ }, -+ '3' => { -+ 'name' => 'cmd_hdr_reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_cmd_hdr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14825' => { -+ 'BaseType' => '14754', -+ 'Name' => 'struct ibv_recv_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14831' => { -+ 'Header' => undef, -+ 'Line' => '1206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'send_flags', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '11641' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '149' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '14913' => { -+ 'BaseType' => '14825', -+ 'Name' => 'struct ibv_recv_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14919' => { -+ 'Name' => 'int(*)(struct ibv_wq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10901' -+ }, -+ '1' => { -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'type' => '14913' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '14925' => { -+ 'Header' => undef, -+ 'Line' => '1269', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_base', -+ 'offset' => '0', -+ 'type' => '10386' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '160', -+ 'type' => '956' -+ }, -+ '10' => { -+ 'name' => 'wr_rdma_write_imm', -+ 'offset' => '232', -+ 'type' => '15476' -+ }, -+ '11' => { -+ 'name' => 'wr_send', -+ 'offset' => '240', -+ 'type' => '15493' -+ }, -+ '12' => { -+ 'name' => 'wr_send_imm', -+ 'offset' => '248', -+ 'type' => '15515' -+ }, -+ '13' => { -+ 'name' => 'wr_send_inv', -+ 'offset' => '256', -+ 'type' => '15417' -+ }, -+ '14' => { -+ 'name' => 'wr_send_tso', -+ 'offset' => '264', -+ 'type' => '15547' -+ }, -+ '15' => { -+ 'name' => 'wr_set_ud_addr', -+ 'offset' => '272', -+ 'type' => '15579' -+ }, -+ '16' => { -+ 'name' => 'wr_set_xrc_srqn', -+ 'offset' => '280', -+ 'type' => '15417' -+ }, -+ '17' => { -+ 'name' => 'wr_set_inline_data', -+ 'offset' => '288', -+ 'type' => '15606' -+ }, -+ '18' => { -+ 'name' => 'wr_set_inline_data_list', -+ 'offset' => '296', -+ 'type' => '15639' -+ }, -+ '19' => { -+ 'name' => 'wr_set_sge', -+ 'offset' => '304', -+ 'type' => '15671' -+ }, -+ '2' => { -+ 'name' => 'wr_id', -+ 'offset' => '168', -+ 'type' => '956' -+ }, -+ '20' => { -+ 'name' => 'wr_set_sge_list', -+ 'offset' => '312', -+ 'type' => '15704' -+ }, -+ '21' => { -+ 'name' => 'wr_start', -+ 'offset' => '320', -+ 'type' => '15493' -+ }, -+ '22' => { -+ 'name' => 'wr_complete', -+ 'offset' => '328', -+ 'type' => '15725' -+ }, -+ '23' => { -+ 'name' => 'wr_abort', -+ 'offset' => '336', -+ 'type' => '15493' -+ }, -+ '3' => { -+ 'name' => 'wr_flags', -+ 'offset' => '176', -+ 'type' => '64' -+ }, -+ '4' => { -+ 'name' => 'wr_atomic_cmp_swp', -+ 'offset' => '184', -+ 'type' => '15325' -+ }, -+ '5' => { -+ 'name' => 'wr_atomic_fetch_add', -+ 'offset' => '192', -+ 'type' => '15357' -+ }, -+ '6' => { -+ 'name' => 'wr_bind_mw', -+ 'offset' => '200', -+ 'type' => '15395' -+ }, -+ '7' => { -+ 'name' => 'wr_local_inv', -+ 'offset' => '208', -+ 'type' => '15417' -+ }, -+ '8' => { -+ 'name' => 'wr_rdma_read', -+ 'offset' => '216', -+ 'type' => '15444' -+ }, -+ '9' => { -+ 'name' => 'wr_rdma_write', -+ 'offset' => '224', -+ 'type' => '15444' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_ex', -+ 'Size' => '344', -+ 'Type' => 'Struct' -+ }, -+ '15319' => { -+ 'BaseType' => '14925', -+ 'Name' => 'struct ibv_qp_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15325' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint64_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '956' -+ }, -+ '4' => { -+ 'type' => '956' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15357' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '956' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15389' => { -+ 'BaseType' => '11711', -+ 'Name' => 'struct ibv_mw_bind_info const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15395' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, struct ibv_mw*, uint32_t, struct ibv_mw_bind_info const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '14508' -+ }, -+ '2' => { -+ 'type' => '944' -+ }, -+ '3' => { -+ 'type' => '15389' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '153972' => { -+ 'BaseType' => '24456', -+ 'Name' => 'struct verbs_flow_action*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15417' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '1544' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[7]', -+ 'Size' => '7', -+ 'Type' => 'Array' -+ }, -+ '15444' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ }, -+ '2' => { -+ 'type' => '956' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15476' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, __be32)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '1040' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15493' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15515' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, __be32)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '1040' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15547' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, void*, uint16_t, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '932' -+ }, -+ '3' => { -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15579' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, struct ibv_ah*, uint32_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '14352' -+ }, -+ '2' => { -+ 'type' => '944' -+ }, -+ '3' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '156' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1560' => { -+ 'Header' => undef, -+ 'Line' => '309', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_alloc_pd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15606' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, void*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15633' => { -+ 'BaseType' => '14034', -+ 'Name' => 'struct ibv_data_buf const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15639' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, size_t, struct ibv_data_buf const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '52' -+ }, -+ '2' => { -+ 'type' => '15633' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15671' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '944' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15698' => { -+ 'BaseType' => '14096', -+ 'Name' => 'struct ibv_sge const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15704' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, size_t, struct ibv_sge const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ }, -+ '1' => { -+ 'type' => '52' -+ }, -+ '2' => { -+ 'type' => '15698' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15725' => { -+ 'Name' => 'int(*)(struct ibv_qp_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '15319' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '15731' => { -+ 'Header' => undef, -+ 'Line' => '1452', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'refcnt', -+ 'offset' => '12', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_comp_channel', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '157339' => { -+ 'BaseType' => '71', -+ 'Name' => 'void**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15787' => { -+ 'BaseType' => '15731', -+ 'Name' => 'struct ibv_comp_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '15825' => { -+ 'Header' => undef, -+ 'Line' => '1527', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq_count', -+ 'offset' => '0', -+ 'type' => '932' -+ }, -+ '1' => { -+ 'name' => 'cq_period', -+ 'offset' => '2', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct ibv_moderate_cq', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '15868' => { -+ 'Header' => undef, -+ 'Line' => '1532', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attr_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'moderate', -+ 'offset' => '4', -+ 'type' => '15825' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_cq_attr', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15911' => { -+ 'Header' => undef, -+ 'Line' => '1657', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_FLOW_ATTR_NORMAL', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_FLOW_ATTR_ALL_DEFAULT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_FLOW_ATTR_MC_DEFAULT', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_FLOW_ATTR_SNIFFER', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_flow_attr_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1606' => { -+ 'BaseType' => '1016', -+ 'Name' => '__u64[]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '1622' => { -+ 'Header' => undef, -+ 'Line' => '314', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'pd_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '4', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_alloc_pd_resp', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '1665' => { -+ 'BaseType' => '1004', -+ 'Name' => '__u32[]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '168' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Name' => '__ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1681' => { -+ 'Header' => undef, -+ 'Line' => '323', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'oflags', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_open_xrcd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '17395' => { -+ 'Header' => undef, -+ 'Line' => '1889', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ } -+ }, -+ 'Name' => 'struct ibv_flow_action', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '17492' => { -+ 'Header' => undef, -+ 'Line' => '2054', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ } -+ }, -+ 'Name' => 'struct ibv_counters', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '17521' => { -+ 'BaseType' => '17492', -+ 'Name' => 'struct ibv_counters*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1770' => { -+ 'Header' => undef, -+ 'Line' => '330', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrcd_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '4', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_open_xrcd_resp', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '17780' => { -+ 'Header' => undef, -+ 'Line' => '1869', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'type', -+ 'offset' => '4', -+ 'type' => '15911' -+ }, -+ '2' => { -+ 'name' => 'size', -+ 'offset' => '8', -+ 'type' => '932' -+ }, -+ '3' => { -+ 'name' => 'priority', -+ 'offset' => '10', -+ 'type' => '932' -+ }, -+ '4' => { -+ 'name' => 'num_of_specs', -+ 'offset' => '12', -+ 'type' => '920' -+ }, -+ '5' => { -+ 'name' => 'port', -+ 'offset' => '13', -+ 'type' => '920' -+ }, -+ '6' => { -+ 'name' => 'flags', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_flow_attr', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '17893' => { -+ 'Header' => undef, -+ 'Line' => '1883', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'context', -+ 'offset' => '8', -+ 'type' => '9633' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_flow', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '17950' => { -+ 'Header' => undef, -+ 'Line' => '1918', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_dummy1', -+ 'offset' => '0', -+ 'type' => '18134' -+ }, -+ '1' => { -+ 'name' => '_dummy2', -+ 'offset' => '8', -+ 'type' => '18151' -+ } -+ }, -+ 'Name' => 'struct _ibv_device_ops', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '180' => { -+ 'BaseType' => '186', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18013' => { -+ 'BaseType' => '18019', -+ 'Name' => 'struct ibv_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18019' => { -+ 'Header' => undef, -+ 'Line' => '1928', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_ops', -+ 'offset' => '0', -+ 'type' => '17950' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '16', -+ 'type' => '9355' -+ }, -+ '2' => { -+ 'name' => 'transport_type', -+ 'offset' => '20', -+ 'type' => '9422' -+ }, -+ '3' => { -+ 'name' => 'name', -+ 'offset' => '24', -+ 'type' => '10173' -+ }, -+ '4' => { -+ 'name' => 'dev_name', -+ 'offset' => '88', -+ 'type' => '10173' -+ }, -+ '5' => { -+ 'name' => 'dev_path', -+ 'offset' => '152', -+ 'type' => '18186' -+ }, -+ '6' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '408', -+ 'type' => '18186' -+ } -+ }, -+ 'Name' => 'struct ibv_device', -+ 'Size' => '664', -+ 'Type' => 'Struct' -+ }, -+ '18134' => { -+ 'Name' => 'struct ibv_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '9633', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18151' => { -+ 'Name' => 'void(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18186' => { -+ 'BaseType' => '186', -+ 'Name' => 'char[256]', -+ 'Size' => '256', -+ 'Type' => 'Array' -+ }, -+ '18202' => { -+ 'Header' => undef, -+ 'Line' => '1943', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_compat_query_device', -+ 'offset' => '0', -+ 'type' => '18692' -+ }, -+ '1' => { -+ 'name' => '_compat_query_port', -+ 'offset' => '8', -+ 'type' => '18734' -+ }, -+ '10' => { -+ 'name' => '_compat_create_cq', -+ 'offset' => '80', -+ 'type' => '18745' -+ }, -+ '11' => { -+ 'name' => 'poll_cq', -+ 'offset' => '88', -+ 'type' => '18866' -+ }, -+ '12' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '96', -+ 'type' => '18892' -+ }, -+ '13' => { -+ 'name' => '_compat_cq_event', -+ 'offset' => '104', -+ 'type' => '18745' -+ }, -+ '14' => { -+ 'name' => '_compat_resize_cq', -+ 'offset' => '112', -+ 'type' => '18745' -+ }, -+ '15' => { -+ 'name' => '_compat_destroy_cq', -+ 'offset' => '120', -+ 'type' => '18745' -+ }, -+ '16' => { -+ 'name' => '_compat_create_srq', -+ 'offset' => '128', -+ 'type' => '18745' -+ }, -+ '17' => { -+ 'name' => '_compat_modify_srq', -+ 'offset' => '136', -+ 'type' => '18745' -+ }, -+ '18' => { -+ 'name' => '_compat_query_srq', -+ 'offset' => '144', -+ 'type' => '18745' -+ }, -+ '19' => { -+ 'name' => '_compat_destroy_srq', -+ 'offset' => '152', -+ 'type' => '18745' -+ }, -+ '2' => { -+ 'name' => '_compat_alloc_pd', -+ 'offset' => '16', -+ 'type' => '18745' -+ }, -+ '20' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '160', -+ 'type' => '18923' -+ }, -+ '21' => { -+ 'name' => '_compat_create_qp', -+ 'offset' => '168', -+ 'type' => '18745' -+ }, -+ '22' => { -+ 'name' => '_compat_query_qp', -+ 'offset' => '176', -+ 'type' => '18745' -+ }, -+ '23' => { -+ 'name' => '_compat_modify_qp', -+ 'offset' => '184', -+ 'type' => '18745' -+ }, -+ '24' => { -+ 'name' => '_compat_destroy_qp', -+ 'offset' => '192', -+ 'type' => '18745' -+ }, -+ '25' => { -+ 'name' => 'post_send', -+ 'offset' => '200', -+ 'type' => '18960' -+ }, -+ '26' => { -+ 'name' => 'post_recv', -+ 'offset' => '208', -+ 'type' => '18991' -+ }, -+ '27' => { -+ 'name' => '_compat_create_ah', -+ 'offset' => '216', -+ 'type' => '18745' -+ }, -+ '28' => { -+ 'name' => '_compat_destroy_ah', -+ 'offset' => '224', -+ 'type' => '18745' -+ }, -+ '29' => { -+ 'name' => '_compat_attach_mcast', -+ 'offset' => '232', -+ 'type' => '18745' -+ }, -+ '3' => { -+ 'name' => '_compat_dealloc_pd', -+ 'offset' => '24', -+ 'type' => '18745' -+ }, -+ '30' => { -+ 'name' => '_compat_detach_mcast', -+ 'offset' => '240', -+ 'type' => '18745' -+ }, -+ '31' => { -+ 'name' => '_compat_async_event', -+ 'offset' => '248', -+ 'type' => '18745' -+ }, -+ '4' => { -+ 'name' => '_compat_reg_mr', -+ 'offset' => '32', -+ 'type' => '18745' -+ }, -+ '5' => { -+ 'name' => '_compat_rereg_mr', -+ 'offset' => '40', -+ 'type' => '18745' -+ }, -+ '6' => { -+ 'name' => '_compat_dereg_mr', -+ 'offset' => '48', -+ 'type' => '18745' -+ }, -+ '7' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '56', -+ 'type' => '18771' -+ }, -+ '8' => { -+ 'name' => 'bind_mw', -+ 'offset' => '64', -+ 'type' => '18808' -+ }, -+ '9' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '72', -+ 'type' => '18829' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops', -+ 'Size' => '256', -+ 'Type' => 'Struct' -+ }, -+ '1829' => { -+ 'Header' => undef, -+ 'Line' => '339', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'start', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '1016' -+ }, -+ '3' => { -+ 'name' => 'hca_va', -+ 'offset' => '24', -+ 'type' => '1016' -+ }, -+ '4' => { -+ 'name' => 'pd_handle', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'access_flags', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '40', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_reg_mr', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '186' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '18686' => { -+ 'BaseType' => '9639', -+ 'Name' => 'struct ibv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18692' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_device_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '18686' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18723' => { -+ 'BaseType' => '18729', -+ 'Name' => 'struct _compat_ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18729' => { -+ 'Header' => undef, -+ 'Line' => '197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'state', -+ 'offset' => '0', -+ 'type' => '56644' -+ }, -+ '1' => { -+ 'name' => 'max_mtu', -+ 'offset' => '4', -+ 'type' => '10189' -+ }, -+ '10' => { -+ 'name' => 'sm_lid', -+ 'offset' => '36', -+ 'type' => '932' -+ }, -+ '11' => { -+ 'name' => 'lmc', -+ 'offset' => '38', -+ 'type' => '920' -+ }, -+ '12' => { -+ 'name' => 'max_vl_num', -+ 'offset' => '39', -+ 'type' => '920' -+ }, -+ '13' => { -+ 'name' => 'sm_sl', -+ 'offset' => '40', -+ 'type' => '920' -+ }, -+ '14' => { -+ 'name' => 'subnet_timeout', -+ 'offset' => '41', -+ 'type' => '920' -+ }, -+ '15' => { -+ 'name' => 'init_type_reply', -+ 'offset' => '42', -+ 'type' => '920' -+ }, -+ '16' => { -+ 'name' => 'active_width', -+ 'offset' => '43', -+ 'type' => '920' -+ }, -+ '17' => { -+ 'name' => 'active_speed', -+ 'offset' => '44', -+ 'type' => '920' -+ }, -+ '18' => { -+ 'name' => 'phys_state', -+ 'offset' => '45', -+ 'type' => '920' -+ }, -+ '19' => { -+ 'name' => 'link_layer', -+ 'offset' => '46', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'active_mtu', -+ 'offset' => '8', -+ 'type' => '10189' -+ }, -+ '20' => { -+ 'name' => 'flags', -+ 'offset' => '47', -+ 'type' => '920' -+ }, -+ '3' => { -+ 'name' => 'gid_tbl_len', -+ 'offset' => '12', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'port_cap_flags', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'max_msg_sz', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'bad_pkey_cntr', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'qkey_viol_cntr', -+ 'offset' => '28', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'pkey_tbl_len', -+ 'offset' => '32', -+ 'type' => '932' -+ }, -+ '9' => { -+ 'name' => 'lid', -+ 'offset' => '34', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct _compat_ibv_port_attr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '18734' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct _compat_ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '920' -+ }, -+ '2' => { -+ 'type' => '18723' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18745' => { -+ 'Name' => 'void*(*)()', -+ 'Return' => '71', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18771' => { -+ 'Name' => 'struct ibv_mw*(*)(struct ibv_pd*, enum ibv_mw_type)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '12050' -+ } -+ }, -+ 'Return' => '14508', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18802' => { -+ 'BaseType' => '14831', -+ 'Name' => 'struct ibv_mw_bind*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18808' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_mw*, struct ibv_mw_bind*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '14508' -+ }, -+ '2' => { -+ 'type' => '18802' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18829' => { -+ 'Name' => 'int(*)(struct ibv_mw*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '14508' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18860' => { -+ 'BaseType' => '11376', -+ 'Name' => 'struct ibv_wc*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18866' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '18860' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18892' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18923' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'type' => '14913' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18954' => { -+ 'BaseType' => '14742', -+ 'Name' => 'struct ibv_send_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18960' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_send_wr*, struct ibv_send_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '14742' -+ }, -+ '2' => { -+ 'type' => '18954' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18991' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '14825' -+ }, -+ '2' => { -+ 'type' => '14913' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18997' => { -+ 'BaseType' => '17893', -+ 'Name' => 'struct ibv_flow*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19003' => { -+ 'BaseType' => '15868', -+ 'Name' => 'struct ibv_modify_cq_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19009' => { -+ 'BaseType' => '12772', -+ 'Name' => 'struct ibv_rwq_ind_table_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19015' => { -+ 'BaseType' => '12590', -+ 'Name' => 'struct ibv_wq_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19021' => { -+ 'BaseType' => '17780', -+ 'Name' => 'struct ibv_flow_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19027' => { -+ 'BaseType' => '13151', -+ 'Name' => 'struct ibv_qp_open_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19033' => { -+ 'BaseType' => '11915', -+ 'Name' => 'struct ibv_xrcd_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19039' => { -+ 'Name' => '_Bool', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '19046' => { -+ 'Header' => undef, -+ 'Line' => '51', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'ex_hdr', -+ 'offset' => '8', -+ 'type' => '1476' -+ } -+ }, -+ 'Name' => 'struct ex_hdr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '19088' => { -+ 'Header' => undef, -+ 'Line' => '175', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'pd_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'mw_type', -+ 'offset' => '12', -+ 'type' => '980' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '13', -+ 'type' => '2377' -+ }, -+ '4' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19182' => { -+ 'Header' => undef, -+ 'Line' => '175', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '19088' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '2289' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '19212' => { -+ 'Header' => undef, -+ 'Line' => '175', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '19182' -+ } -+ }, -+ 'Name' => 'struct ibv_alloc_mw', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '19273' => { -+ 'Header' => undef, -+ 'Line' => '176', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '19328' => { -+ 'Header' => undef, -+ 'Line' => '176', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '19273' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '1560' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '19358' => { -+ 'Header' => undef, -+ 'Line' => '176', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '19328' -+ } -+ }, -+ 'Name' => 'struct ibv_alloc_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '1964' => { -+ 'Header' => undef, -+ 'Line' => '349', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'lkey', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '12', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_reg_mr_resp', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '19958' => { -+ 'Header' => undef, -+ 'Line' => '194', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dest', -+ 'offset' => '0', -+ 'type' => '3660' -+ }, -+ '1' => { -+ 'name' => 'alt_dest', -+ 'offset' => '32', -+ 'type' => '3660' -+ }, -+ '10' => { -+ 'name' => 'alt_pkey_index', -+ 'offset' => '94', -+ 'type' => '992' -+ }, -+ '11' => { -+ 'name' => 'qp_state', -+ 'offset' => '96', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'cur_qp_state', -+ 'offset' => '97', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'path_mtu', -+ 'offset' => '98', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'path_mig_state', -+ 'offset' => '99', -+ 'type' => '980' -+ }, -+ '15' => { -+ 'name' => 'en_sqd_async_notify', -+ 'offset' => '100', -+ 'type' => '980' -+ }, -+ '16' => { -+ 'name' => 'max_rd_atomic', -+ 'offset' => '101', -+ 'type' => '980' -+ }, -+ '17' => { -+ 'name' => 'max_dest_rd_atomic', -+ 'offset' => '102', -+ 'type' => '980' -+ }, -+ '18' => { -+ 'name' => 'min_rnr_timer', -+ 'offset' => '103', -+ 'type' => '980' -+ }, -+ '19' => { -+ 'name' => 'port_num', -+ 'offset' => '104', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'qp_handle', -+ 'offset' => '64', -+ 'type' => '1004' -+ }, -+ '20' => { -+ 'name' => 'timeout', -+ 'offset' => '105', -+ 'type' => '980' -+ }, -+ '21' => { -+ 'name' => 'retry_cnt', -+ 'offset' => '106', -+ 'type' => '980' -+ }, -+ '22' => { -+ 'name' => 'rnr_retry', -+ 'offset' => '107', -+ 'type' => '980' -+ }, -+ '23' => { -+ 'name' => 'alt_port_num', -+ 'offset' => '108', -+ 'type' => '980' -+ }, -+ '24' => { -+ 'name' => 'alt_timeout', -+ 'offset' => '109', -+ 'type' => '980' -+ }, -+ '25' => { -+ 'name' => 'reserved', -+ 'offset' => '110', -+ 'type' => '4794' -+ }, -+ '26' => { -+ 'name' => 'driver_data', -+ 'offset' => '112', -+ 'type' => '1606' -+ }, -+ '3' => { -+ 'name' => 'attr_mask', -+ 'offset' => '68', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'offset' => '72', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'rq_psn', -+ 'offset' => '76', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'sq_psn', -+ 'offset' => '80', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'dest_qp_num', -+ 'offset' => '84', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'qp_access_flags', -+ 'offset' => '88', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '92', -+ 'type' => '992' -+ } -+ }, -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '20337' => { -+ 'Header' => undef, -+ 'Line' => '194', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '19958' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '4399' -+ } -+ }, -+ 'Size' => '112', -+ 'Type' => 'Union' -+ }, -+ '20367' => { -+ 'Header' => undef, -+ 'Line' => '194', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '20337' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_qp', -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '20415' => { -+ 'Header' => undef, -+ 'Line' => '195', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'attr_mask', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'max_wr', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'srq_limit', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20508' => { -+ 'Header' => undef, -+ 'Line' => '195', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '20415' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '8639' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '2051' => { -+ 'Header' => undef, -+ 'Line' => '356', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'mr_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'start', -+ 'offset' => '16', -+ 'type' => '1016' -+ }, -+ '4' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '1016' -+ }, -+ '5' => { -+ 'name' => 'hca_va', -+ 'offset' => '32', -+ 'type' => '1016' -+ }, -+ '6' => { -+ 'name' => 'pd_handle', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'access_flags', -+ 'offset' => '44', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'driver_data', -+ 'offset' => '48', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_rereg_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '205254' => { -+ 'Header' => undef, -+ 'Line' => '572', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '10' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '11' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '52', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'qp_type', -+ 'offset' => '53', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'is_srq', -+ 'offset' => '54', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'reserved', -+ 'offset' => '55', -+ 'type' => '980' -+ }, -+ '15' => { -+ 'name' => 'driver_data', -+ 'offset' => '56', -+ 'type' => '1606' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'send_cq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'recv_cq_handle', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'srq_handle', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '44', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_qp', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '20538' => { -+ 'Header' => undef, -+ 'Line' => '195', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '20508' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_srq', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '205539' => { -+ 'Header' => undef, -+ 'Line' => '599', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'user_handle', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'pd_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '10' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '44', -+ 'type' => '980' -+ }, -+ '11' => { -+ 'name' => 'qp_type', -+ 'offset' => '45', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'is_srq', -+ 'offset' => '46', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'reserved', -+ 'offset' => '47', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '15' => { -+ 'name' => 'create_flags', -+ 'offset' => '52', -+ 'type' => '1004' -+ }, -+ '16' => { -+ 'name' => 'rwq_ind_tbl_handle', -+ 'offset' => '56', -+ 'type' => '1004' -+ }, -+ '17' => { -+ 'name' => 'source_qpn', -+ 'offset' => '60', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'send_cq_handle', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'recv_cq_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'srq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '40', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_qp', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '20586' => { -+ 'Header' => undef, -+ 'Line' => '196', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'qpn', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'qp_type', -+ 'offset' => '24', -+ 'type' => '980' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '25', -+ 'type' => '1544' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '205965' => { -+ 'Header' => undef, -+ 'Line' => '643', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'base', -+ 'offset' => '0', -+ 'type' => '3503' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'response_length', -+ 'offset' => '36', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_qp_resp', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '20707' => { -+ 'Header' => undef, -+ 'Line' => '196', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '20586' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '3370' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '20737' => { -+ 'Header' => undef, -+ 'Line' => '196', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '20707' -+ } -+ }, -+ 'Name' => 'struct ibv_open_qp', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '20797' => { -+ 'Header' => undef, -+ 'Line' => '197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'oflags', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20877' => { -+ 'Header' => undef, -+ 'Line' => '197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '20797' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '1681' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '209' => { -+ 'BaseType' => '168', -+ 'Header' => undef, -+ 'Line' => '77', -+ 'Name' => 'ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '20907' => { -+ 'Header' => undef, -+ 'Line' => '197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '20877' -+ } -+ }, -+ 'Name' => 'struct ibv_open_xrcd', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '21702' => { -+ 'Header' => undef, -+ 'Line' => '204', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'qp_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '21783' => { -+ 'Header' => undef, -+ 'Line' => '204', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '21702' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '3842' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '21813' => { -+ 'Header' => undef, -+ 'Line' => '204', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '21783' -+ } -+ }, -+ 'Name' => 'struct ibv_query_qp', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '21874' => { -+ 'Header' => undef, -+ 'Line' => '205', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'srq_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '21955' => { -+ 'Header' => undef, -+ 'Line' => '205', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '21874' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '8742' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '21985' => { -+ 'Header' => undef, -+ 'Line' => '205', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '21955' -+ } -+ }, -+ 'Name' => 'struct ibv_query_srq', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '220026' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '10' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '11' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '52', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'qp_type', -+ 'offset' => '53', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'is_srq', -+ 'offset' => '54', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'reserved', -+ 'offset' => '55', -+ 'type' => '980' -+ }, -+ '15' => { -+ 'name' => 'driver_data', -+ 'offset' => '56', -+ 'type' => '1606' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'send_cq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'recv_cq_handle', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'srq_handle', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '44', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '220264' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '220026' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '205254' -+ } -+ }, -+ 'Size' => '56', -+ 'Type' => 'Union' -+ }, -+ '220294' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '220264' -+ } -+ }, -+ 'Name' => 'struct ibv_create_qp', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '22045' => { -+ 'Header' => undef, -+ 'Line' => '206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'start', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '1016' -+ }, -+ '3' => { -+ 'name' => 'hca_va', -+ 'offset' => '24', -+ 'type' => '1016' -+ }, -+ '4' => { -+ 'name' => 'pd_handle', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'access_flags', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '40', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '220508' => { -+ 'Header' => undef, -+ 'Line' => '213', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'user_handle', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'pd_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '10' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '44', -+ 'type' => '980' -+ }, -+ '11' => { -+ 'name' => 'qp_type', -+ 'offset' => '45', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'is_srq', -+ 'offset' => '46', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'reserved', -+ 'offset' => '47', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '15' => { -+ 'name' => 'create_flags', -+ 'offset' => '52', -+ 'type' => '1004' -+ }, -+ '16' => { -+ 'name' => 'rwq_ind_tbl_handle', -+ 'offset' => '56', -+ 'type' => '1004' -+ }, -+ '17' => { -+ 'name' => 'source_qpn', -+ 'offset' => '60', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'send_cq_handle', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'recv_cq_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'srq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '40', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '220754' => { -+ 'Header' => undef, -+ 'Line' => '213', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '220508' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '205539' -+ } -+ }, -+ 'Size' => '64', -+ 'Type' => 'Union' -+ }, -+ '220784' => { -+ 'Header' => undef, -+ 'Line' => '213', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '220754' -+ } -+ }, -+ 'Name' => 'struct ibv_create_qp_ex', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '221' => { -+ 'Name' => 'long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '2214' => { -+ 'Header' => undef, -+ 'Line' => '368', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'lkey', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_rereg_mr_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '22168' => { -+ 'Header' => undef, -+ 'Line' => '206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '22045' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '1829' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Union' -+ }, -+ '22198' => { -+ 'Header' => undef, -+ 'Line' => '206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '22168' -+ } -+ }, -+ 'Name' => 'struct ibv_reg_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '22366' => { -+ 'Header' => undef, -+ 'Line' => '208', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'mr_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'start', -+ 'offset' => '16', -+ 'type' => '1016' -+ }, -+ '4' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '1016' -+ }, -+ '5' => { -+ 'name' => 'hca_va', -+ 'offset' => '32', -+ 'type' => '1016' -+ }, -+ '6' => { -+ 'name' => 'pd_handle', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'access_flags', -+ 'offset' => '44', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'driver_data', -+ 'offset' => '48', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '22515' => { -+ 'Header' => undef, -+ 'Line' => '208', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '22366' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '2051' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '22545' => { -+ 'Header' => undef, -+ 'Line' => '208', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '22515' -+ } -+ }, -+ 'Name' => 'struct ibv_rereg_mr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '22606' => { -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'cq_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'cqe', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '226371' => { -+ 'BaseType' => '220784', -+ 'Name' => 'struct ibv_create_qp_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '226377' => { -+ 'BaseType' => '205965', -+ 'Name' => 'struct ib_uverbs_ex_create_qp_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '22687' => { -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '22606' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '2484' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '226918' => { -+ 'BaseType' => '220294', -+ 'Name' => 'struct ibv_create_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '22717' => { -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '22687' -+ } -+ }, -+ 'Name' => 'struct ibv_resize_cq', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '2289' => { -+ 'Header' => undef, -+ 'Line' => '378', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'pd_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'mw_type', -+ 'offset' => '12', -+ 'type' => '980' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '13', -+ 'type' => '2377' -+ }, -+ '4' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_alloc_mw', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '23072' => { -+ 'Header' => undef, -+ 'Line' => '219', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'attr_mask', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '9146' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '23134' => { -+ 'Header' => undef, -+ 'Line' => '219', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '23072' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '9189' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '23161' => { -+ 'Header' => undef, -+ 'Line' => '219', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '23134' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_cq', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '23209' => { -+ 'Header' => undef, -+ 'Line' => '220', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'base', -+ 'offset' => '0', -+ 'type' => '4399' -+ }, -+ '1' => { -+ 'name' => 'rate_limit', -+ 'offset' => '112', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '116', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '23260' => { -+ 'Header' => undef, -+ 'Line' => '220', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '23209' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '4826' -+ } -+ }, -+ 'Size' => '120', -+ 'Type' => 'Union' -+ }, -+ '23290' => { -+ 'Header' => undef, -+ 'Line' => '220', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '23260' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_qp_ex', -+ 'Size' => '144', -+ 'Type' => 'Struct' -+ }, -+ '23351' => { -+ 'Header' => undef, -+ 'Line' => '221', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attr_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'wq_handle', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'wq_state', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'curr_wq_state', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'flags_mask', -+ 'offset' => '20', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '23439' => { -+ 'Header' => undef, -+ 'Line' => '221', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '23351' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '8903' -+ } -+ }, -+ 'Size' => '24', -+ 'Type' => 'Union' -+ }, -+ '23466' => { -+ 'Header' => undef, -+ 'Line' => '221', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '23439' -+ } -+ }, -+ 'Name' => 'struct ibv_modify_wq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '2377' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[3]', -+ 'Size' => '3', -+ 'Type' => 'Array' -+ }, -+ '2409' => { -+ 'Header' => undef, -+ 'Line' => '386', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_alloc_mw_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '24156' => { -+ 'Header' => undef, -+ 'Line' => '111', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrcd', -+ 'offset' => '0', -+ 'type' => '11971' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct verbs_xrcd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '24209' => { -+ 'BaseType' => '24156', -+ 'Name' => 'struct verbs_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24246' => { -+ 'Header' => undef, -+ 'Line' => '141', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MR_TYPE_MR', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_MR_TYPE_NULL_MR', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_MR_TYPE_IMPORTED_MR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_MR_TYPE_DMABUF_MR', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_mr_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '242624' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_wr', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'srq_limit', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_srq', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '242757' => { -+ 'Header' => undef, -+ 'Line' => '1167', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '10' => { -+ 'name' => 'driver_data', -+ 'offset' => '48', -+ 'type' => '1606' -+ }, -+ '2' => { -+ 'name' => 'srq_type', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'pd_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_sge', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'srq_limit', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'xrcd_handle', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'cq_handle', -+ 'offset' => '44', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_xsrq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '24289' => { -+ 'Header' => undef, -+ 'Line' => '148', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ibv_mr', -+ 'offset' => '0', -+ 'type' => '11716' -+ }, -+ '1' => { -+ 'name' => 'mr_type', -+ 'offset' => '48', -+ 'type' => '24246' -+ }, -+ '2' => { -+ 'name' => 'access', -+ 'offset' => '52', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct verbs_mr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '242946' => { -+ 'Header' => undef, -+ 'Line' => '1181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'max_wr', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'max_sge', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'srqn', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_srq_resp', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '24342' => { -+ 'Header' => undef, -+ 'Line' => '160', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '10386' -+ }, -+ '1' => { -+ 'name' => 'qp_ex', -+ 'offset' => '0', -+ 'type' => '14925' -+ } -+ }, -+ 'Size' => '344', -+ 'Type' => 'Union' -+ }, -+ '24376' => { -+ 'Header' => undef, -+ 'Line' => '159', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '24342' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '344', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'xrcd', -+ 'offset' => '352', -+ 'type' => '24209' -+ } -+ }, -+ 'Name' => 'struct verbs_qp', -+ 'Size' => '360', -+ 'Type' => 'Struct' -+ }, -+ '24425' => { -+ 'Header' => undef, -+ 'Line' => '176', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_FLOW_ACTION_UNSPECIFIED', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_FLOW_ACTION_ESP', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum ibv_flow_action_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '24456' => { -+ 'Header' => undef, -+ 'Line' => '181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'action', -+ 'offset' => '0', -+ 'type' => '17395' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'type', -+ 'offset' => '12', -+ 'type' => '24425' -+ } -+ }, -+ 'Name' => 'struct verbs_flow_action', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '24514' => { -+ 'Name' => 'atomic_int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '24521' => { -+ 'Header' => undef, -+ 'Line' => '299', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'counters', -+ 'offset' => '0', -+ 'type' => '17492' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct verbs_counters', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '24569' => { -+ 'BaseType' => '9334', -+ 'Name' => 'union ibv_gid const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24575' => { -+ 'BaseType' => '12251', -+ 'Name' => 'struct ibv_ah_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24581' => { -+ 'BaseType' => '12982', -+ 'Name' => 'struct ibv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24587' => { -+ 'BaseType' => '24289', -+ 'Name' => 'struct verbs_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24593' => { -+ 'BaseType' => '13520', -+ 'Name' => 'struct ibv_qp_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24599' => { -+ 'BaseType' => '12363', -+ 'Name' => 'struct ibv_srq_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2484' => { -+ 'Header' => undef, -+ 'Line' => '441', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'cq_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'cqe', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_resize_cq', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '24942' => { -+ 'BaseType' => '130', -+ 'Name' => 'int*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '25175' => { -+ 'BaseType' => '23161', -+ 'Name' => 'struct ibv_modify_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '25593' => { -+ 'BaseType' => '9075', -+ 'Name' => 'struct ib_uverbs_ex_create_rwq_ind_table_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '256032' => { -+ 'Header' => undef, -+ 'Line' => '183', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_wr', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'srq_limit', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '256153' => { -+ 'Header' => undef, -+ 'Line' => '183', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '256032' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '242624' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '256183' => { -+ 'Header' => undef, -+ 'Line' => '183', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '256153' -+ } -+ }, -+ 'Name' => 'struct ibv_create_srq', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '256256' => { -+ 'Header' => undef, -+ 'Line' => '184', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '10' => { -+ 'name' => 'driver_data', -+ 'offset' => '48', -+ 'type' => '1606' -+ }, -+ '2' => { -+ 'name' => 'srq_type', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'pd_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_sge', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'srq_limit', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'xrcd_handle', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'cq_handle', -+ 'offset' => '44', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '256429' => { -+ 'Header' => undef, -+ 'Line' => '184', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '256256' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '242757' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '256459' => { -+ 'Header' => undef, -+ 'Line' => '184', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '256429' -+ } -+ }, -+ 'Name' => 'struct ibv_create_xsrq', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '257016' => { -+ 'Header' => undef, -+ 'Line' => '117', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq', -+ 'offset' => '0', -+ 'type' => '10588' -+ }, -+ '1' => { -+ 'name' => 'srq_type', -+ 'offset' => '128', -+ 'type' => '59353' -+ }, -+ '2' => { -+ 'name' => 'xrcd', -+ 'offset' => '136', -+ 'type' => '24209' -+ }, -+ '3' => { -+ 'name' => 'cq', -+ 'offset' => '144', -+ 'type' => '10380' -+ }, -+ '4' => { -+ 'name' => 'srq_num', -+ 'offset' => '152', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct verbs_srq', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '2574' => { -+ 'Header' => undef, -+ 'Line' => '448', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cqe', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'reserved', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_resize_cq_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '25850' => { -+ 'BaseType' => '23466', -+ 'Name' => 'struct ibv_modify_wq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '261265' => { -+ 'BaseType' => '257016', -+ 'Name' => 'struct verbs_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '261271' => { -+ 'BaseType' => '256459', -+ 'Name' => 'struct ibv_create_xsrq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '261277' => { -+ 'BaseType' => '242946', -+ 'Name' => 'struct ib_uverbs_create_srq_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '261829' => { -+ 'BaseType' => '256183', -+ 'Name' => 'struct ibv_create_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '268835' => { -+ 'Header' => undef, -+ 'Line' => '1221', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'wq_type', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '3' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'cq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_sge', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'create_flags', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'reserved', -+ 'offset' => '36', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_wq', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '268978' => { -+ 'Header' => undef, -+ 'Line' => '1233', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'response_length', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'wq_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_wr', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'wqn', -+ 'offset' => '20', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_wq_resp', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '282156' => { -+ 'Header' => undef, -+ 'Line' => '215', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'wq_type', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '3' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'cq_handle', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_wr', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_sge', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'create_flags', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'reserved', -+ 'offset' => '36', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '282285' => { -+ 'Header' => undef, -+ 'Line' => '215', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '282156' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '268835' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Union' -+ }, -+ '282315' => { -+ 'Header' => undef, -+ 'Line' => '215', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '282285' -+ } -+ }, -+ 'Name' => 'struct ibv_create_wq', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '28802' => { -+ 'BaseType' => '5945', -+ 'Name' => 'struct ib_uverbs_create_ah_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '289570' => { -+ 'BaseType' => '282315', -+ 'Name' => 'struct ibv_create_wq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '289576' => { -+ 'BaseType' => '268978', -+ 'Name' => 'struct ib_uverbs_ex_create_wq_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30534' => { -+ 'BaseType' => '23290', -+ 'Name' => 'struct ibv_modify_qp_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30540' => { -+ 'BaseType' => '4885', -+ 'Name' => 'struct ib_uverbs_ex_modify_qp_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30767' => { -+ 'BaseType' => '20367', -+ 'Name' => 'struct ibv_modify_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3087' => { -+ 'Header' => undef, -+ 'Line' => '514', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '3186' -+ }, -+ '1' => { -+ 'name' => 'flow_label', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'sgid_index', -+ 'offset' => '20', -+ 'type' => '980' -+ }, -+ '3' => { -+ 'name' => 'hop_limit', -+ 'offset' => '21', -+ 'type' => '980' -+ }, -+ '4' => { -+ 'name' => 'traffic_class', -+ 'offset' => '22', -+ 'type' => '980' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '23', -+ 'type' => '980' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_global_route', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '31281' => { -+ 'BaseType' => '21813', -+ 'Name' => 'struct ibv_query_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313901' => { -+ 'Header' => undef, -+ 'Line' => '44', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'real_pd', -+ 'offset' => '16', -+ 'type' => '12044' -+ } -+ }, -+ 'Name' => 'struct ibv_pd_1_0', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '313954' => { -+ 'Header' => undef, -+ 'Line' => '218', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '315859' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '315232' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '224', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '228', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '232', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'real_context', -+ 'offset' => '240', -+ 'type' => '9633' -+ } -+ }, -+ 'Name' => 'struct ibv_context_1_0', -+ 'Size' => '248', -+ 'Type' => 'Struct' -+ }, -+ '314046' => { -+ 'BaseType' => '313954', -+ 'Name' => 'struct ibv_context_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314052' => { -+ 'Header' => undef, -+ 'Line' => '51', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '314143' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'lkey', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'real_mr', -+ 'offset' => '32', -+ 'type' => '11828' -+ } -+ }, -+ 'Name' => 'struct ibv_mr_1_0', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '314143' => { -+ 'BaseType' => '313901', -+ 'Name' => 'struct ibv_pd_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314149' => { -+ 'Header' => undef, -+ 'Line' => '61', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '314143' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '298855' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '298929' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'real_srq', -+ 'offset' => '128', -+ 'type' => '10700' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_1_0', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '314266' => { -+ 'Header' => undef, -+ 'Line' => '74', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '314502' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '314502' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '314508' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '12897' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '12835' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_1_0', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '314371' => { -+ 'Header' => undef, -+ 'Line' => '137', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'cq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'cqe', -+ 'offset' => '20', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '24', -+ 'type' => '298855' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '64', -+ 'type' => '298929' -+ }, -+ '6' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '112', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '116', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'real_cq', -+ 'offset' => '120', -+ 'type' => '10380' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_1_0', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '314502' => { -+ 'BaseType' => '314371', -+ 'Name' => 'struct ibv_cq_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314508' => { -+ 'BaseType' => '314149', -+ 'Name' => 'struct ibv_srq_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314514' => { -+ 'Header' => undef, -+ 'Line' => '93', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314550' => { -+ 'Header' => undef, -+ 'Line' => '97', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '956' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314612' => { -+ 'Header' => undef, -+ 'Line' => '103', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '314725' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314660' => { -+ 'Header' => undef, -+ 'Line' => '151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '314143' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'real_ah', -+ 'offset' => '24', -+ 'type' => '14352' -+ } -+ }, -+ 'Name' => 'struct ibv_ah_1_0', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314725' => { -+ 'BaseType' => '314660', -+ 'Name' => 'struct ibv_ah_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314731' => { -+ 'Header' => undef, -+ 'Line' => '92', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '314514' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '314550' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '314612' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '314776' => { -+ 'Header' => undef, -+ 'Line' => '84', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '314893' -+ }, -+ '1' => { -+ 'name' => 'wr_id', -+ 'offset' => '8', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '14748' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '13899' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '130' -+ }, -+ '6' => { -+ 'name' => 'imm_data', -+ 'offset' => '36', -+ 'type' => '1040' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '314731' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr_1_0', -+ 'Size' => '72', -+ 'Type' => 'Struct' -+ }, -+ '314893' => { -+ 'BaseType' => '314776', -+ 'Name' => 'struct ibv_send_wr_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314899' => { -+ 'Header' => undef, -+ 'Line' => '111', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '314965' -+ }, -+ '1' => { -+ 'name' => 'wr_id', -+ 'offset' => '8', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '14748' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr_1_0', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314965' => { -+ 'BaseType' => '314899', -+ 'Name' => 'struct ibv_recv_wr_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314971' => { -+ 'Header' => undef, -+ 'Line' => '118', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '314046' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '298855' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '298929' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '944' -+ }, -+ '13' => { -+ 'name' => 'real_qp', -+ 'offset' => '160', -+ 'type' => '10582' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '314143' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '314502' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '314502' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '314508' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '13414' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '12835' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_1_0', -+ 'Size' => '168', -+ 'Type' => 'Struct' -+ }, -+ '315166' => { -+ 'Header' => undef, -+ 'Line' => '159', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'obsolete_sysfs_dev', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'obsolete_sysfs_ibdev', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'real_device', -+ 'offset' => '16', -+ 'type' => '18013' -+ }, -+ '3' => { -+ 'name' => '_ops', -+ 'offset' => '24', -+ 'type' => '17950' -+ } -+ }, -+ 'Name' => 'struct ibv_device_1_0', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '315232' => { -+ 'Header' => undef, -+ 'Line' => '166', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'query_device', -+ 'offset' => '0', -+ 'type' => '18692' -+ }, -+ '1' => { -+ 'name' => 'query_port', -+ 'offset' => '8', -+ 'type' => '69884' -+ }, -+ '10' => { -+ 'name' => 'resize_cq', -+ 'offset' => '80', -+ 'type' => '18892' -+ }, -+ '11' => { -+ 'name' => 'destroy_cq', -+ 'offset' => '88', -+ 'type' => '69627' -+ }, -+ '12' => { -+ 'name' => 'create_srq', -+ 'offset' => '96', -+ 'type' => '69537' -+ }, -+ '13' => { -+ 'name' => 'modify_srq', -+ 'offset' => '104', -+ 'type' => '69821' -+ }, -+ '14' => { -+ 'name' => 'query_srq', -+ 'offset' => '112', -+ 'type' => '69977' -+ }, -+ '15' => { -+ 'name' => 'destroy_srq', -+ 'offset' => '120', -+ 'type' => '69669' -+ }, -+ '16' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '128', -+ 'type' => '315742' -+ }, -+ '17' => { -+ 'name' => 'create_qp', -+ 'offset' => '136', -+ 'type' => '69505' -+ }, -+ '18' => { -+ 'name' => 'query_qp', -+ 'offset' => '144', -+ 'type' => '69920' -+ }, -+ '19' => { -+ 'name' => 'modify_qp', -+ 'offset' => '152', -+ 'type' => '69784' -+ }, -+ '2' => { -+ 'name' => 'alloc_pd', -+ 'offset' => '16', -+ 'type' => '69323' -+ }, -+ '20' => { -+ 'name' => 'destroy_qp', -+ 'offset' => '160', -+ 'type' => '69648' -+ }, -+ '21' => { -+ 'name' => 'post_send', -+ 'offset' => '168', -+ 'type' => '315785' -+ }, -+ '22' => { -+ 'name' => 'post_recv', -+ 'offset' => '176', -+ 'type' => '315816' -+ }, -+ '23' => { -+ 'name' => 'create_ah', -+ 'offset' => '184', -+ 'type' => '69437' -+ }, -+ '24' => { -+ 'name' => 'destroy_ah', -+ 'offset' => '192', -+ 'type' => '69606' -+ }, -+ '25' => { -+ 'name' => 'attach_mcast', -+ 'offset' => '200', -+ 'type' => '315853' -+ }, -+ '26' => { -+ 'name' => 'detach_mcast', -+ 'offset' => '208', -+ 'type' => '315853' -+ }, -+ '3' => { -+ 'name' => 'dealloc_pd', -+ 'offset' => '24', -+ 'type' => '69558' -+ }, -+ '4' => { -+ 'name' => 'reg_mr', -+ 'offset' => '32', -+ 'type' => '315627' -+ }, -+ '5' => { -+ 'name' => 'dereg_mr', -+ 'offset' => '40', -+ 'type' => '315648' -+ }, -+ '6' => { -+ 'name' => 'create_cq', -+ 'offset' => '48', -+ 'type' => '69473' -+ }, -+ '7' => { -+ 'name' => 'poll_cq', -+ 'offset' => '56', -+ 'type' => '315679' -+ }, -+ '8' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '64', -+ 'type' => '315705' -+ }, -+ '9' => { -+ 'name' => 'cq_event', -+ 'offset' => '72', -+ 'type' => '69405' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops_1_0', -+ 'Size' => '216', -+ 'Type' => 'Struct' -+ }, -+ '315627' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*, void*, size_t, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '52' -+ }, -+ '3' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315648' => { -+ 'Name' => 'int(*)(struct ibv_mr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '11828' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315679' => { -+ 'Name' => 'int(*)(struct ibv_cq_1_0*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '314502' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '18860' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315705' => { -+ 'Name' => 'int(*)(struct ibv_cq_1_0*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '314502' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315736' => { -+ 'BaseType' => '314965', -+ 'Name' => 'struct ibv_recv_wr_1_0**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315742' => { -+ 'Name' => 'int(*)(struct ibv_srq_1_0*, struct ibv_recv_wr_1_0*, struct ibv_recv_wr_1_0**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '314508' -+ }, -+ '1' => { -+ 'type' => '314965' -+ }, -+ '2' => { -+ 'type' => '315736' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315773' => { -+ 'BaseType' => '314971', -+ 'Name' => 'struct ibv_qp_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315779' => { -+ 'BaseType' => '314893', -+ 'Name' => 'struct ibv_send_wr_1_0**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315785' => { -+ 'Name' => 'int(*)(struct ibv_qp_1_0*, struct ibv_send_wr_1_0*, struct ibv_send_wr_1_0**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'type' => '314893' -+ }, -+ '2' => { -+ 'type' => '315779' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315816' => { -+ 'Name' => 'int(*)(struct ibv_qp_1_0*, struct ibv_recv_wr_1_0*, struct ibv_recv_wr_1_0**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '315773' -+ }, -+ '1' => { -+ 'type' => '314965' -+ }, -+ '2' => { -+ 'type' => '315736' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315853' => { -+ 'Name' => 'int(*)(struct ibv_qp*, union ibv_gid*, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '101173' -+ }, -+ '2' => { -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '315859' => { -+ 'BaseType' => '315166', -+ 'Name' => 'struct ibv_device_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315865' => { -+ 'BaseType' => '315877', -+ 'Header' => undef, -+ 'Line' => '228', -+ 'Name' => 'ibv_driver_init_func_1_1', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '315877' => { -+ 'Name' => 'struct ibv_device*(*)(char const*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '76632' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '18013', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316311' => { -+ 'BaseType' => '10380', -+ 'Name' => 'struct ibv_cq**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '316605' => { -+ 'BaseType' => '1028', -+ 'Name' => '__be16*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31688' => { -+ 'BaseType' => '24376', -+ 'Name' => 'struct verbs_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '316891' => { -+ 'BaseType' => '18013', -+ 'Name' => 'struct ibv_device**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31694' => { -+ 'BaseType' => '20737', -+ 'Name' => 'struct ibv_open_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31700' => { -+ 'BaseType' => '3503', -+ 'Name' => 'struct ib_uverbs_create_qp_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '318029' => { -+ 'BaseType' => '314266', -+ 'Name' => 'struct ibv_qp_init_attr_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3186' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '319057' => { -+ 'BaseType' => '314502', -+ 'Name' => 'struct ibv_cq_1_0**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '319642' => { -+ 'BaseType' => '314052', -+ 'Name' => 'struct ibv_mr_1_0*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31966' => { -+ 'BaseType' => '21985', -+ 'Name' => 'struct ibv_query_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3202' => { -+ 'Header' => undef, -+ 'Line' => '523', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'grh', -+ 'offset' => '0', -+ 'type' => '3087' -+ }, -+ '1' => { -+ 'name' => 'dlid', -+ 'offset' => '24', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'sl', -+ 'offset' => '26', -+ 'type' => '980' -+ }, -+ '3' => { -+ 'name' => 'src_path_bits', -+ 'offset' => '27', -+ 'type' => '980' -+ }, -+ '4' => { -+ 'name' => 'static_rate', -+ 'offset' => '28', -+ 'type' => '980' -+ }, -+ '5' => { -+ 'name' => 'is_global', -+ 'offset' => '29', -+ 'type' => '980' -+ }, -+ '6' => { -+ 'name' => 'port_num', -+ 'offset' => '30', -+ 'type' => '980' -+ }, -+ '7' => { -+ 'name' => 'reserved', -+ 'offset' => '31', -+ 'type' => '980' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ah_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '32182' => { -+ 'BaseType' => '20538', -+ 'Name' => 'struct ibv_modify_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '322803' => { -+ 'BaseType' => '315859', -+ 'Name' => 'struct ibv_device_1_0**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '32795' => { -+ 'BaseType' => '22717', -+ 'Name' => 'struct ibv_resize_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '32801' => { -+ 'BaseType' => '2574', -+ 'Name' => 'struct ib_uverbs_resize_cq_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3328' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[5]', -+ 'Size' => '5', -+ 'Type' => 'Array' -+ }, -+ '33672' => { -+ 'BaseType' => '19212', -+ 'Name' => 'struct ibv_alloc_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '33678' => { -+ 'BaseType' => '2409', -+ 'Name' => 'struct ib_uverbs_alloc_mw_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3370' => { -+ 'Header' => undef, -+ 'Line' => '620', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'pd_handle', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'qpn', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'qp_type', -+ 'offset' => '24', -+ 'type' => '980' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '25', -+ 'type' => '1544' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_open_qp', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '34030' => { -+ 'BaseType' => '22545', -+ 'Name' => 'struct ibv_rereg_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34036' => { -+ 'BaseType' => '2214', -+ 'Name' => 'struct ib_uverbs_rereg_mr_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '341396' => { -+ 'BaseType' => '68184', -+ 'Name' => 'struct verbs_context_ops const', -+ 'Size' => '608', -+ 'Type' => 'Const' -+ }, -+ '342795' => { -+ 'BaseType' => '341396', -+ 'Name' => 'struct verbs_context_ops const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34390' => { -+ 'BaseType' => '22198', -+ 'Name' => 'struct ibv_reg_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34396' => { -+ 'BaseType' => '1964', -+ 'Name' => 'struct ib_uverbs_reg_mr_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34711' => { -+ 'BaseType' => '20907', -+ 'Name' => 'struct ibv_open_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34717' => { -+ 'BaseType' => '1770', -+ 'Name' => 'struct ib_uverbs_open_xrcd_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34999' => { -+ 'BaseType' => '19358', -+ 'Name' => 'struct ibv_alloc_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '35005' => { -+ 'BaseType' => '1622', -+ 'Name' => 'struct ib_uverbs_alloc_pd_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3503' => { -+ 'Header' => undef, -+ 'Line' => '631', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'qpn', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'reserved', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_qp_resp', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '36004' => { -+ 'BaseType' => '221', -+ 'Header' => undef, -+ 'Line' => '30', -+ 'Name' => '__s64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '36093' => { -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'elem_id', -+ 'offset' => '0', -+ 'type' => '980' -+ }, -+ '1' => { -+ 'name' => 'reserved', -+ 'offset' => '1', -+ 'type' => '980' -+ } -+ }, -+ 'Size' => '2', -+ 'Type' => 'Struct' -+ }, -+ '36129' => { -+ 'Header' => undef, -+ 'Line' => '58', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'enum_data', -+ 'offset' => '0', -+ 'type' => '36093' -+ }, -+ '1' => { -+ 'name' => 'reserved', -+ 'offset' => '0', -+ 'type' => '992' -+ } -+ }, -+ 'Size' => '2', -+ 'Type' => 'Union' -+ }, -+ '36163' => { -+ 'Header' => undef, -+ 'Line' => '65', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'data', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'data_s64', -+ 'offset' => '0', -+ 'type' => '36004' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '36199' => { -+ 'Header' => undef, -+ 'Line' => '54', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attr_id', -+ 'offset' => '0', -+ 'type' => '992' -+ }, -+ '1' => { -+ 'name' => 'len', -+ 'offset' => '2', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '4', -+ 'type' => '992' -+ }, -+ '3' => { -+ 'name' => 'attr_data', -+ 'offset' => '6', -+ 'type' => '36129' -+ }, -+ '4' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '36163' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '36273' => { -+ 'Header' => undef, -+ 'Line' => '76', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'length', -+ 'offset' => '0', -+ 'type' => '992' -+ }, -+ '1' => { -+ 'name' => 'object_id', -+ 'offset' => '2', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'method_id', -+ 'offset' => '4', -+ 'type' => '992' -+ }, -+ '3' => { -+ 'name' => 'num_attrs', -+ 'offset' => '6', -+ 'type' => '992' -+ }, -+ '4' => { -+ 'name' => 'reserved1', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '5' => { -+ 'name' => 'driver_id', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'reserved2', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'attrs', -+ 'offset' => '24', -+ 'type' => '36394' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ioctl_hdr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '36394' => { -+ 'BaseType' => '36199', -+ 'Name' => 'struct ib_uverbs_attr[]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '3660' => { -+ 'Header' => undef, -+ 'Line' => '653', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '3186' -+ }, -+ '1' => { -+ 'name' => 'flow_label', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '10' => { -+ 'name' => 'is_global', -+ 'offset' => '30', -+ 'type' => '980' -+ }, -+ '11' => { -+ 'name' => 'port_num', -+ 'offset' => '31', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'dlid', -+ 'offset' => '20', -+ 'type' => '992' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '22', -+ 'type' => '992' -+ }, -+ '4' => { -+ 'name' => 'sgid_index', -+ 'offset' => '24', -+ 'type' => '980' -+ }, -+ '5' => { -+ 'name' => 'hop_limit', -+ 'offset' => '25', -+ 'type' => '980' -+ }, -+ '6' => { -+ 'name' => 'traffic_class', -+ 'offset' => '26', -+ 'type' => '980' -+ }, -+ '7' => { -+ 'name' => 'sl', -+ 'offset' => '27', -+ 'type' => '980' -+ }, -+ '8' => { -+ 'name' => 'src_path_bits', -+ 'offset' => '28', -+ 'type' => '980' -+ }, -+ '9' => { -+ 'name' => 'static_rate', -+ 'offset' => '29', -+ 'type' => '980' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_qp_dest', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '3842' => { -+ 'Header' => undef, -+ 'Line' => '668', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'qp_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'attr_mask', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_query_qp', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '414114' => { -+ 'Header' => undef, -+ 'Line' => '534', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_attr_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'qp_state', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '10' => { -+ 'name' => 'ah_attr', -+ 'offset' => '40', -+ 'type' => '3202' -+ }, -+ '11' => { -+ 'name' => 'alt_ah_attr', -+ 'offset' => '72', -+ 'type' => '3202' -+ }, -+ '12' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '104', -+ 'type' => '1004' -+ }, -+ '13' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '108', -+ 'type' => '1004' -+ }, -+ '14' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '112', -+ 'type' => '1004' -+ }, -+ '15' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '116', -+ 'type' => '1004' -+ }, -+ '16' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '120', -+ 'type' => '1004' -+ }, -+ '17' => { -+ 'name' => 'pkey_index', -+ 'offset' => '124', -+ 'type' => '992' -+ }, -+ '18' => { -+ 'name' => 'alt_pkey_index', -+ 'offset' => '126', -+ 'type' => '992' -+ }, -+ '19' => { -+ 'name' => 'en_sqd_async_notify', -+ 'offset' => '128', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'cur_qp_state', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '20' => { -+ 'name' => 'sq_draining', -+ 'offset' => '129', -+ 'type' => '980' -+ }, -+ '21' => { -+ 'name' => 'max_rd_atomic', -+ 'offset' => '130', -+ 'type' => '980' -+ }, -+ '22' => { -+ 'name' => 'max_dest_rd_atomic', -+ 'offset' => '131', -+ 'type' => '980' -+ }, -+ '23' => { -+ 'name' => 'min_rnr_timer', -+ 'offset' => '132', -+ 'type' => '980' -+ }, -+ '24' => { -+ 'name' => 'port_num', -+ 'offset' => '133', -+ 'type' => '980' -+ }, -+ '25' => { -+ 'name' => 'timeout', -+ 'offset' => '134', -+ 'type' => '980' -+ }, -+ '26' => { -+ 'name' => 'retry_cnt', -+ 'offset' => '135', -+ 'type' => '980' -+ }, -+ '27' => { -+ 'name' => 'rnr_retry', -+ 'offset' => '136', -+ 'type' => '980' -+ }, -+ '28' => { -+ 'name' => 'alt_port_num', -+ 'offset' => '137', -+ 'type' => '980' -+ }, -+ '29' => { -+ 'name' => 'alt_timeout', -+ 'offset' => '138', -+ 'type' => '980' -+ }, -+ '3' => { -+ 'name' => 'path_mtu', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '30' => { -+ 'name' => 'reserved', -+ 'offset' => '139', -+ 'type' => '3328' -+ }, -+ '4' => { -+ 'name' => 'path_mig_state', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'qkey', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'rq_psn', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'sq_psn', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'dest_qp_num', -+ 'offset' => '32', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'qp_access_flags', -+ 'offset' => '36', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_qp_attr', -+ 'Size' => '144', -+ 'Type' => 'Struct' -+ }, -+ '415498' => { -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '9296' -+ }, -+ '1' => { -+ 'name' => 'sgid', -+ 'offset' => '16', -+ 'type' => '9296' -+ }, -+ '10' => { -+ 'name' => 'pkey', -+ 'offset' => '54', -+ 'type' => '1028' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '56', -+ 'type' => '920' -+ }, -+ '12' => { -+ 'name' => 'mtu_selector', -+ 'offset' => '57', -+ 'type' => '920' -+ }, -+ '13' => { -+ 'name' => 'mtu', -+ 'offset' => '58', -+ 'type' => '920' -+ }, -+ '14' => { -+ 'name' => 'rate_selector', -+ 'offset' => '59', -+ 'type' => '920' -+ }, -+ '15' => { -+ 'name' => 'rate', -+ 'offset' => '60', -+ 'type' => '920' -+ }, -+ '16' => { -+ 'name' => 'packet_life_time_selector', -+ 'offset' => '61', -+ 'type' => '920' -+ }, -+ '17' => { -+ 'name' => 'packet_life_time', -+ 'offset' => '62', -+ 'type' => '920' -+ }, -+ '18' => { -+ 'name' => 'preference', -+ 'offset' => '63', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'dlid', -+ 'offset' => '32', -+ 'type' => '1028' -+ }, -+ '3' => { -+ 'name' => 'slid', -+ 'offset' => '34', -+ 'type' => '1028' -+ }, -+ '4' => { -+ 'name' => 'raw_traffic', -+ 'offset' => '36', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'flow_label', -+ 'offset' => '40', -+ 'type' => '1040' -+ }, -+ '6' => { -+ 'name' => 'hop_limit', -+ 'offset' => '44', -+ 'type' => '920' -+ }, -+ '7' => { -+ 'name' => 'traffic_class', -+ 'offset' => '45', -+ 'type' => '920' -+ }, -+ '8' => { -+ 'name' => 'reversible', -+ 'offset' => '48', -+ 'type' => '130' -+ }, -+ '9' => { -+ 'name' => 'numb_path', -+ 'offset' => '52', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct ibv_sa_path_rec', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '415758' => { -+ 'Header' => undef, -+ 'Line' => '55', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '3186' -+ }, -+ '1' => { -+ 'name' => 'sgid', -+ 'offset' => '16', -+ 'type' => '3186' -+ }, -+ '10' => { -+ 'name' => 'traffic_class', -+ 'offset' => '55', -+ 'type' => '980' -+ }, -+ '11' => { -+ 'name' => 'numb_path', -+ 'offset' => '56', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'sl', -+ 'offset' => '57', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'mtu_selector', -+ 'offset' => '58', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'rate_selector', -+ 'offset' => '59', -+ 'type' => '980' -+ }, -+ '15' => { -+ 'name' => 'rate', -+ 'offset' => '60', -+ 'type' => '980' -+ }, -+ '16' => { -+ 'name' => 'packet_life_time_selector', -+ 'offset' => '61', -+ 'type' => '980' -+ }, -+ '17' => { -+ 'name' => 'packet_life_time', -+ 'offset' => '62', -+ 'type' => '980' -+ }, -+ '18' => { -+ 'name' => 'preference', -+ 'offset' => '63', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'dlid', -+ 'offset' => '32', -+ 'type' => '1028' -+ }, -+ '3' => { -+ 'name' => 'slid', -+ 'offset' => '34', -+ 'type' => '1028' -+ }, -+ '4' => { -+ 'name' => 'raw_traffic', -+ 'offset' => '36', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'flow_label', -+ 'offset' => '40', -+ 'type' => '1040' -+ }, -+ '6' => { -+ 'name' => 'reversible', -+ 'offset' => '44', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'mtu', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'pkey', -+ 'offset' => '52', -+ 'type' => '1028' -+ }, -+ '9' => { -+ 'name' => 'hop_limit', -+ 'offset' => '54', -+ 'type' => '980' -+ } -+ }, -+ 'Name' => 'struct ib_user_path_rec', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '416227' => { -+ 'BaseType' => '415758', -+ 'Name' => 'struct ib_user_path_rec*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '416233' => { -+ 'BaseType' => '415498', -+ 'Name' => 'struct ibv_sa_path_rec*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '416583' => { -+ 'BaseType' => '414114', -+ 'Name' => 'struct ib_uverbs_qp_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '41671' => { -+ 'Header' => undef, -+ 'Line' => '85', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '41839' -+ }, -+ '1' => { -+ 'name' => 'next_attr', -+ 'offset' => '8', -+ 'type' => '41845' -+ }, -+ '10' => { -+ 'name' => 'hdr', -+ 'offset' => '32', -+ 'type' => '36273' -+ }, -+ '2' => { -+ 'name' => 'last_attr', -+ 'offset' => '16', -+ 'type' => '41845' -+ }, -+ '3' => { -+ 'name' => 'uhw_in_idx', -+ 'offset' => '24', -+ 'type' => '920' -+ }, -+ '4' => { -+ 'name' => 'uhw_out_idx', -+ 'offset' => '25', -+ 'type' => '920' -+ }, -+ '5' => { -+ 'name' => 'uhw_in_headroom_dwords', -+ 'offset' => '26', -+ 'type' => '920' -+ }, -+ '6' => { -+ 'name' => 'uhw_out_headroom_dwords', -+ 'offset' => '27', -+ 'type' => '920' -+ }, -+ '7' => { -+ 'bitfield' => '1', -+ 'name' => 'buffer_error', -+ 'offset' => '28', -+ 'type' => '920' -+ }, -+ '8' => { -+ 'bitfield' => '1', -+ 'name' => 'fallback_require_ex', -+ 'offset' => '28', -+ 'type' => '920' -+ }, -+ '9' => { -+ 'bitfield' => '1', -+ 'name' => 'fallback_ioctl_only', -+ 'offset' => '28', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct ibv_command_buffer', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '416727' => { -+ 'BaseType' => '3202', -+ 'Name' => 'struct ib_uverbs_ah_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '41839' => { -+ 'BaseType' => '41671', -+ 'Name' => 'struct ibv_command_buffer*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '41845' => { -+ 'BaseType' => '36199', -+ 'Name' => 'struct ib_uverbs_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '419513' => { -+ 'Header' => undef, -+ 'Line' => '142', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_FORK_DISABLED', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_FORK_ENABLED', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_FORK_UNNEEDED', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_fork_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '4399' => { -+ 'Header' => undef, -+ 'Line' => '709', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dest', -+ 'offset' => '0', -+ 'type' => '3660' -+ }, -+ '1' => { -+ 'name' => 'alt_dest', -+ 'offset' => '32', -+ 'type' => '3660' -+ }, -+ '10' => { -+ 'name' => 'alt_pkey_index', -+ 'offset' => '94', -+ 'type' => '992' -+ }, -+ '11' => { -+ 'name' => 'qp_state', -+ 'offset' => '96', -+ 'type' => '980' -+ }, -+ '12' => { -+ 'name' => 'cur_qp_state', -+ 'offset' => '97', -+ 'type' => '980' -+ }, -+ '13' => { -+ 'name' => 'path_mtu', -+ 'offset' => '98', -+ 'type' => '980' -+ }, -+ '14' => { -+ 'name' => 'path_mig_state', -+ 'offset' => '99', -+ 'type' => '980' -+ }, -+ '15' => { -+ 'name' => 'en_sqd_async_notify', -+ 'offset' => '100', -+ 'type' => '980' -+ }, -+ '16' => { -+ 'name' => 'max_rd_atomic', -+ 'offset' => '101', -+ 'type' => '980' -+ }, -+ '17' => { -+ 'name' => 'max_dest_rd_atomic', -+ 'offset' => '102', -+ 'type' => '980' -+ }, -+ '18' => { -+ 'name' => 'min_rnr_timer', -+ 'offset' => '103', -+ 'type' => '980' -+ }, -+ '19' => { -+ 'name' => 'port_num', -+ 'offset' => '104', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'qp_handle', -+ 'offset' => '64', -+ 'type' => '1004' -+ }, -+ '20' => { -+ 'name' => 'timeout', -+ 'offset' => '105', -+ 'type' => '980' -+ }, -+ '21' => { -+ 'name' => 'retry_cnt', -+ 'offset' => '106', -+ 'type' => '980' -+ }, -+ '22' => { -+ 'name' => 'rnr_retry', -+ 'offset' => '107', -+ 'type' => '980' -+ }, -+ '23' => { -+ 'name' => 'alt_port_num', -+ 'offset' => '108', -+ 'type' => '980' -+ }, -+ '24' => { -+ 'name' => 'alt_timeout', -+ 'offset' => '109', -+ 'type' => '980' -+ }, -+ '25' => { -+ 'name' => 'reserved', -+ 'offset' => '110', -+ 'type' => '4794' -+ }, -+ '26' => { -+ 'name' => 'driver_data', -+ 'offset' => '112', -+ 'type' => '1606' -+ }, -+ '3' => { -+ 'name' => 'attr_mask', -+ 'offset' => '68', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'offset' => '72', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'rq_psn', -+ 'offset' => '76', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'sq_psn', -+ 'offset' => '80', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'dest_qp_num', -+ 'offset' => '84', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'qp_access_flags', -+ 'offset' => '88', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '92', -+ 'type' => '992' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_modify_qp', -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '45' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '452765' => { -+ 'Header' => undef, -+ 'Line' => '693', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'version_tclass_flow', -+ 'offset' => '0', -+ 'type' => '1040' -+ }, -+ '1' => { -+ 'name' => 'paylen', -+ 'offset' => '4', -+ 'type' => '1028' -+ }, -+ '2' => { -+ 'name' => 'next_hdr', -+ 'offset' => '6', -+ 'type' => '920' -+ }, -+ '3' => { -+ 'name' => 'hop_limit', -+ 'offset' => '7', -+ 'type' => '920' -+ }, -+ '4' => { -+ 'name' => 'sgid', -+ 'offset' => '8', -+ 'type' => '9296' -+ }, -+ '5' => { -+ 'name' => 'dgid', -+ 'offset' => '24', -+ 'type' => '9296' -+ } -+ }, -+ 'Name' => 'struct ibv_grh', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '452864' => { -+ 'Header' => undef, -+ 'Line' => '702', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_RATE_MAX', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_RATE_2_5_GBPS', -+ 'value' => '2' -+ }, -+ '10' => { -+ 'name' => 'IBV_RATE_14_GBPS', -+ 'value' => '11' -+ }, -+ '11' => { -+ 'name' => 'IBV_RATE_56_GBPS', -+ 'value' => '12' -+ }, -+ '12' => { -+ 'name' => 'IBV_RATE_112_GBPS', -+ 'value' => '13' -+ }, -+ '13' => { -+ 'name' => 'IBV_RATE_168_GBPS', -+ 'value' => '14' -+ }, -+ '14' => { -+ 'name' => 'IBV_RATE_25_GBPS', -+ 'value' => '15' -+ }, -+ '15' => { -+ 'name' => 'IBV_RATE_100_GBPS', -+ 'value' => '16' -+ }, -+ '16' => { -+ 'name' => 'IBV_RATE_200_GBPS', -+ 'value' => '17' -+ }, -+ '17' => { -+ 'name' => 'IBV_RATE_300_GBPS', -+ 'value' => '18' -+ }, -+ '18' => { -+ 'name' => 'IBV_RATE_28_GBPS', -+ 'value' => '19' -+ }, -+ '19' => { -+ 'name' => 'IBV_RATE_50_GBPS', -+ 'value' => '20' -+ }, -+ '2' => { -+ 'name' => 'IBV_RATE_5_GBPS', -+ 'value' => '5' -+ }, -+ '20' => { -+ 'name' => 'IBV_RATE_400_GBPS', -+ 'value' => '21' -+ }, -+ '21' => { -+ 'name' => 'IBV_RATE_600_GBPS', -+ 'value' => '22' -+ }, -+ '22' => { -+ 'name' => 'IBV_RATE_800_GBPS', -+ 'value' => '23' -+ }, -+ '23' => { -+ 'name' => 'IBV_RATE_1200_GBPS', -+ 'value' => '24' -+ }, -+ '3' => { -+ 'name' => 'IBV_RATE_10_GBPS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_RATE_20_GBPS', -+ 'value' => '6' -+ }, -+ '5' => { -+ 'name' => 'IBV_RATE_30_GBPS', -+ 'value' => '4' -+ }, -+ '6' => { -+ 'name' => 'IBV_RATE_40_GBPS', -+ 'value' => '7' -+ }, -+ '7' => { -+ 'name' => 'IBV_RATE_60_GBPS', -+ 'value' => '8' -+ }, -+ '8' => { -+ 'name' => 'IBV_RATE_80_GBPS', -+ 'value' => '9' -+ }, -+ '9' => { -+ 'name' => 'IBV_RATE_120_GBPS', -+ 'value' => '10' -+ } -+ }, -+ 'Name' => 'enum ibv_rate', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '468450' => { -+ 'BaseType' => '932', -+ 'Name' => 'uint16_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '469456' => { -+ 'BaseType' => '452765', -+ 'Name' => 'struct ibv_grh*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '474' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '4794' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[2]', -+ 'Size' => '2', -+ 'Type' => 'Array' -+ }, -+ '4826' => { -+ 'Header' => undef, -+ 'Line' => '739', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'base', -+ 'offset' => '0', -+ 'type' => '4399' -+ }, -+ '1' => { -+ 'name' => 'rate_limit', -+ 'offset' => '112', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '116', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_modify_qp', -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '48701' => { -+ 'Header' => undef, -+ 'Line' => '2050', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_counters_init_attr', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '48730' => { -+ 'BaseType' => '956', -+ 'Name' => 'uint64_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '48736' => { -+ 'BaseType' => '48701', -+ 'Name' => 'struct ibv_counters_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4885' => { -+ 'Header' => undef, -+ 'Line' => '745', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'response_length', -+ 'offset' => '4', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_modify_qp_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '50290' => { -+ 'BaseType' => '24521', -+ 'Name' => 'struct verbs_counters*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '52' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '52207' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '160', -+ 'Name' => '__time_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '52226' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '196', -+ 'Name' => '__syscall_slong_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '52329' => { -+ 'BaseType' => '130', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => '__s32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '52772' => { -+ 'Header' => undef, -+ 'Line' => '10', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tv_sec', -+ 'offset' => '0', -+ 'type' => '52207' -+ }, -+ '1' => { -+ 'name' => 'tv_nsec', -+ 'offset' => '8', -+ 'type' => '52226' -+ } -+ }, -+ 'Name' => 'struct timespec', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '53863' => { -+ 'Header' => undef, -+ 'Line' => '404', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'cqe', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'comp_vector', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'comp_channel', -+ 'offset' => '24', -+ 'type' => '52329' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_cq', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '54028' => { -+ 'Header' => undef, -+ 'Line' => '419', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'user_handle', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'comp_vector', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'comp_channel', -+ 'offset' => '16', -+ 'type' => '52329' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'flags', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'reserved', -+ 'offset' => '28', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_cq', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '54143' => { -+ 'Header' => undef, -+ 'Line' => '429', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_cq_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '54218' => { -+ 'Header' => undef, -+ 'Line' => '435', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'base', -+ 'offset' => '0', -+ 'type' => '54143' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'response_length', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_cq_resp', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '54379' => { -+ 'Header' => undef, -+ 'Line' => '144', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum ib_uverbs_flow_action_esp_keymat', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '54404' => { -+ 'Header' => undef, -+ 'Line' => '163', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum ib_uverbs_flow_action_esp_replay', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '54435' => { -+ 'Header' => undef, -+ 'Line' => '189', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'val_ptr', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'val_ptr_data_u64', -+ 'offset' => '0', -+ 'type' => '1016' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '54471' => { -+ 'Header' => undef, -+ 'Line' => '190', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next_ptr', -+ 'offset' => '0', -+ 'type' => '54562' -+ }, -+ '1' => { -+ 'name' => 'next_ptr_data_u64', -+ 'offset' => '0', -+ 'type' => '1016' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '54507' => { -+ 'Header' => undef, -+ 'Line' => '185', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '54435' -+ }, -+ '1' => { -+ 'name' => 'unnamed1', -+ 'offset' => '8', -+ 'type' => '54471' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'offset' => '16', -+ 'type' => '992' -+ }, -+ '3' => { -+ 'name' => 'type', -+ 'offset' => '18', -+ 'type' => '992' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_flow_action_esp_encap', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '54562' => { -+ 'BaseType' => '54507', -+ 'Name' => 'struct ib_uverbs_flow_action_esp_encap*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '54568' => { -+ 'Header' => undef, -+ 'Line' => '195', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'spi', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'seq', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'tfc_pad', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'hard_limit_pkts', -+ 'offset' => '16', -+ 'type' => '1016' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_flow_action_esp', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '54649' => { -+ 'Header' => undef, -+ 'Line' => '208', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ib_uverbs_advise_mr_advice', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '54940' => { -+ 'Header' => undef, -+ 'Line' => '161', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'length', -+ 'offset' => '0', -+ 'type' => '52' -+ }, -+ '1' => { -+ 'name' => 'log_align_req', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_alloc_dm_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '54993' => { -+ 'Header' => undef, -+ 'Line' => '171', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'memcpy_to_dm', -+ 'offset' => '8', -+ 'type' => '55245' -+ }, -+ '2' => { -+ 'name' => 'memcpy_from_dm', -+ 'offset' => '16', -+ 'type' => '55281' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '28', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_dm', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '55227' => { -+ 'BaseType' => '54993', -+ 'Name' => 'struct ibv_dm*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '55245' => { -+ 'Name' => 'int(*)(struct ibv_dm*, uint64_t, void const*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '55227' -+ }, -+ '1' => { -+ 'type' => '956' -+ }, -+ '2' => { -+ 'type' => '908' -+ }, -+ '3' => { -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '55281' => { -+ 'Name' => 'int(*)(void*, struct ibv_dm*, uint64_t, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '71' -+ }, -+ '1' => { -+ 'type' => '55227' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '55837' => { -+ 'Header' => undef, -+ 'Line' => '227', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_query_device_ex_input', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '55864' => { -+ 'BaseType' => '55837', -+ 'Name' => 'struct ibv_query_device_ex_input const', -+ 'Size' => '4', -+ 'Type' => 'Const' -+ }, -+ '55869' => { -+ 'Header' => undef, -+ 'Line' => '242', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rc_odp_caps', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'uc_odp_caps', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'ud_odp_caps', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '55918' => { -+ 'Header' => undef, -+ 'Line' => '240', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'general_caps', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'per_transport_caps', -+ 'offset' => '8', -+ 'type' => '55869' -+ } -+ }, -+ 'Name' => 'struct ibv_odp_caps', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '55958' => { -+ 'Header' => undef, -+ 'Line' => '254', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_tso', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '4', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_tso_caps', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '55999' => { -+ 'Header' => undef, -+ 'Line' => '285', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_rwq_indirection_tables', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'max_rwq_indirection_table_size', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '24', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct ibv_rss_caps', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '56084' => { -+ 'Header' => undef, -+ 'Line' => '293', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_rate_limit_min', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'qp_rate_limit_max', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_packet_pacing_caps', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '56141' => { -+ 'Header' => undef, -+ 'Line' => '310', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_rndv_hdr_size', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'max_ops', -+ 'offset' => '12', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_tm_caps', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '56226' => { -+ 'Header' => undef, -+ 'Line' => '323', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_cq_count', -+ 'offset' => '0', -+ 'type' => '932' -+ }, -+ '1' => { -+ 'name' => 'max_cq_period', -+ 'offset' => '2', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_moderation_caps', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '56269' => { -+ 'Header' => undef, -+ 'Line' => '338', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fetch_add', -+ 'offset' => '0', -+ 'type' => '932' -+ }, -+ '1' => { -+ 'name' => 'swap', -+ 'offset' => '2', -+ 'type' => '932' -+ }, -+ '2' => { -+ 'name' => 'compare_swap', -+ 'offset' => '4', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct ibv_pci_atomic_caps', -+ 'Size' => '6', -+ 'Type' => 'Struct' -+ }, -+ '56326' => { -+ 'Header' => undef, -+ 'Line' => '344', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'orig_attr', -+ 'offset' => '0', -+ 'type' => '9639' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '232', -+ 'type' => '944' -+ }, -+ '10' => { -+ 'name' => 'raw_packet_caps', -+ 'offset' => '344', -+ 'type' => '944' -+ }, -+ '11' => { -+ 'name' => 'tm_caps', -+ 'offset' => '348', -+ 'type' => '56141' -+ }, -+ '12' => { -+ 'name' => 'cq_mod_caps', -+ 'offset' => '368', -+ 'type' => '56226' -+ }, -+ '13' => { -+ 'name' => 'max_dm_size', -+ 'offset' => '376', -+ 'type' => '956' -+ }, -+ '14' => { -+ 'name' => 'pci_atomic_caps', -+ 'offset' => '384', -+ 'type' => '56269' -+ }, -+ '15' => { -+ 'name' => 'xrc_odp_caps', -+ 'offset' => '392', -+ 'type' => '944' -+ }, -+ '16' => { -+ 'name' => 'phys_port_cnt_ex', -+ 'offset' => '396', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'odp_caps', -+ 'offset' => '240', -+ 'type' => '55918' -+ }, -+ '3' => { -+ 'name' => 'completion_timestamp_mask', -+ 'offset' => '264', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'hca_core_clock', -+ 'offset' => '272', -+ 'type' => '956' -+ }, -+ '5' => { -+ 'name' => 'device_cap_flags_ex', -+ 'offset' => '280', -+ 'type' => '956' -+ }, -+ '6' => { -+ 'name' => 'tso_caps', -+ 'offset' => '288', -+ 'type' => '55958' -+ }, -+ '7' => { -+ 'name' => 'rss_caps', -+ 'offset' => '296', -+ 'type' => '55999' -+ }, -+ '8' => { -+ 'name' => 'max_wq_type_rq', -+ 'offset' => '328', -+ 'type' => '944' -+ }, -+ '9' => { -+ 'name' => 'packet_pacing_caps', -+ 'offset' => '332', -+ 'type' => '56084' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr_ex', -+ 'Size' => '400', -+ 'Type' => 'Struct' -+ }, -+ '56644' => { -+ 'Header' => undef, -+ 'Line' => '372', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_PORT_NOP', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_PORT_DOWN', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_PORT_INIT', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_PORT_ARMED', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_PORT_ACTIVE', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_PORT_ACTIVE_DEFER', -+ 'value' => '5' -+ } -+ }, -+ 'Name' => 'enum ibv_port_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '56700' => { -+ 'Header' => undef, -+ 'Line' => '424', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'state', -+ 'offset' => '0', -+ 'type' => '56644' -+ }, -+ '1' => { -+ 'name' => 'max_mtu', -+ 'offset' => '4', -+ 'type' => '10189' -+ }, -+ '10' => { -+ 'name' => 'sm_lid', -+ 'offset' => '36', -+ 'type' => '932' -+ }, -+ '11' => { -+ 'name' => 'lmc', -+ 'offset' => '38', -+ 'type' => '920' -+ }, -+ '12' => { -+ 'name' => 'max_vl_num', -+ 'offset' => '39', -+ 'type' => '920' -+ }, -+ '13' => { -+ 'name' => 'sm_sl', -+ 'offset' => '40', -+ 'type' => '920' -+ }, -+ '14' => { -+ 'name' => 'subnet_timeout', -+ 'offset' => '41', -+ 'type' => '920' -+ }, -+ '15' => { -+ 'name' => 'init_type_reply', -+ 'offset' => '42', -+ 'type' => '920' -+ }, -+ '16' => { -+ 'name' => 'active_width', -+ 'offset' => '43', -+ 'type' => '920' -+ }, -+ '17' => { -+ 'name' => 'active_speed', -+ 'offset' => '44', -+ 'type' => '920' -+ }, -+ '18' => { -+ 'name' => 'phys_state', -+ 'offset' => '45', -+ 'type' => '920' -+ }, -+ '19' => { -+ 'name' => 'link_layer', -+ 'offset' => '46', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'active_mtu', -+ 'offset' => '8', -+ 'type' => '10189' -+ }, -+ '20' => { -+ 'name' => 'flags', -+ 'offset' => '47', -+ 'type' => '920' -+ }, -+ '21' => { -+ 'name' => 'port_cap_flags2', -+ 'offset' => '48', -+ 'type' => '932' -+ }, -+ '3' => { -+ 'name' => 'gid_tbl_len', -+ 'offset' => '12', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'port_cap_flags', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '5' => { -+ 'name' => 'max_msg_sz', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'bad_pkey_cntr', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'qkey_viol_cntr', -+ 'offset' => '28', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'pkey_tbl_len', -+ 'offset' => '32', -+ 'type' => '932' -+ }, -+ '9' => { -+ 'name' => 'lid', -+ 'offset' => '34', -+ 'type' => '932' -+ } -+ }, -+ 'Name' => 'struct ibv_port_attr', -+ 'Size' => '52', -+ 'Type' => 'Struct' -+ }, -+ '57023' => { -+ 'Header' => undef, -+ 'Line' => '449', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_EVENT_CQ_ERR', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_EVENT_QP_FATAL', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_EVENT_PORT_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_EVENT_LID_CHANGE', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_EVENT_PKEY_CHANGE', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_EVENT_SM_CHANGE', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_EVENT_SRQ_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_EVENT_SRQ_LIMIT_REACHED', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_EVENT_QP_LAST_WQE_REACHED', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_EVENT_CLIENT_REREGISTER', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_EVENT_GID_CHANGE', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_EVENT_WQ_FATAL', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_EVENT_QP_REQ_ERR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_EVENT_QP_ACCESS_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_EVENT_COMM_EST', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_EVENT_SQ_DRAINED', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_EVENT_PATH_MIG', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_EVENT_PATH_MIG_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_EVENT_DEVICE_FATAL', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_EVENT_PORT_ACTIVE', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_event_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '57163' => { -+ 'Header' => undef, -+ 'Line' => '473', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq', -+ 'offset' => '0', -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '10582' -+ }, -+ '2' => { -+ 'name' => 'srq', -+ 'offset' => '0', -+ 'type' => '10700' -+ }, -+ '3' => { -+ 'name' => 'wq', -+ 'offset' => '0', -+ 'type' => '10901' -+ }, -+ '4' => { -+ 'name' => 'port_num', -+ 'offset' => '0', -+ 'type' => '130' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '57904' => { -+ 'Header' => undef, -+ 'Line' => '472', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'element', -+ 'offset' => '0', -+ 'type' => '57163' -+ }, -+ '1' => { -+ 'name' => 'event_type', -+ 'offset' => '8', -+ 'type' => '57023' -+ } -+ }, -+ 'Name' => 'struct ibv_async_event', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '58791' => { -+ 'Header' => undef, -+ 'Line' => '631', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_td_init_attr', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '58820' => { -+ 'Header' => undef, -+ 'Line' => '635', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ } -+ }, -+ 'Name' => 'struct ibv_td', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '59310' => { -+ 'Header' => undef, -+ 'Line' => '777', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '12363' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_init_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '59353' => { -+ 'Header' => undef, -+ 'Line' => '782', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_SRQT_BASIC', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_SRQT_XRC', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_SRQT_TM', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_srq_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '59391' => { -+ 'Header' => undef, -+ 'Line' => '797', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_ops', -+ 'offset' => '4', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_tm_cap', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '59434' => { -+ 'Header' => undef, -+ 'Line' => '802', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '12363' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'srq_type', -+ 'offset' => '24', -+ 'type' => '59353' -+ }, -+ '4' => { -+ 'name' => 'pd', -+ 'offset' => '32', -+ 'type' => '12044' -+ }, -+ '5' => { -+ 'name' => 'xrcd', -+ 'offset' => '40', -+ 'type' => '12420' -+ }, -+ '6' => { -+ 'name' => 'cq', -+ 'offset' => '48', -+ 'type' => '10380' -+ }, -+ '7' => { -+ 'name' => 'tm_cap', -+ 'offset' => '56', -+ 'type' => '59391' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_init_attr_ex', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '5945' => { -+ 'Header' => undef, -+ 'Line' => '875', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '4', -+ 'type' => '1665' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_create_ah_resp', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '59591' => { -+ 'Header' => undef, -+ 'Line' => '831', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wq_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'wq_type', -+ 'offset' => '8', -+ 'type' => '12426' -+ }, -+ '2' => { -+ 'name' => 'max_wr', -+ 'offset' => '12', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'pd', -+ 'offset' => '24', -+ 'type' => '12044' -+ }, -+ '5' => { -+ 'name' => 'cq', -+ 'offset' => '32', -+ 'type' => '10380' -+ }, -+ '6' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'create_flags', -+ 'offset' => '44', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_wq_init_attr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '60239' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '0', -+ 'type' => '920' -+ }, -+ '1' => { -+ 'name' => 'rx_hash_key_len', -+ 'offset' => '1', -+ 'type' => '920' -+ }, -+ '2' => { -+ 'name' => 'rx_hash_key', -+ 'offset' => '8', -+ 'type' => '60310' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '956' -+ } -+ }, -+ 'Name' => 'struct ibv_rx_hash_conf', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '60310' => { -+ 'BaseType' => '920', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '60316' => { -+ 'Header' => undef, -+ 'Line' => '964', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '10380' -+ }, -+ '10' => { -+ 'name' => 'create_flags', -+ 'offset' => '80', -+ 'type' => '944' -+ }, -+ '11' => { -+ 'name' => 'max_tso_header', -+ 'offset' => '84', -+ 'type' => '932' -+ }, -+ '12' => { -+ 'name' => 'rwq_ind_tbl', -+ 'offset' => '88', -+ 'type' => '13095' -+ }, -+ '13' => { -+ 'name' => 'rx_hash_conf', -+ 'offset' => '96', -+ 'type' => '60239' -+ }, -+ '14' => { -+ 'name' => 'source_qpn', -+ 'offset' => '120', -+ 'type' => '944' -+ }, -+ '15' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '128', -+ 'type' => '956' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '10380' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '10700' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '12897' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '12835' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '130' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '60', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'pd', -+ 'offset' => '64', -+ 'type' => '12044' -+ }, -+ '9' => { -+ 'name' => 'xrcd', -+ 'offset' => '72', -+ 'type' => '12420' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_ex', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '61130' => { -+ 'Header' => undef, -+ 'Line' => '1079', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rate_limit', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'max_burst_sz', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'typical_pkt_sz', -+ 'offset' => '8', -+ 'type' => '932' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '12', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_rate_limit_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '62080' => { -+ 'Header' => undef, -+ 'Line' => '1177', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_TAG_ADD', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_TAG_DEL', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_TAG_SYNC', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_ops_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '62118' => { -+ 'Header' => undef, -+ 'Line' => '1196', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'recv_wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'sg_list', -+ 'offset' => '8', -+ 'type' => '14748' -+ }, -+ '2' => { -+ 'name' => 'num_sge', -+ 'offset' => '16', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'tag', -+ 'offset' => '24', -+ 'type' => '956' -+ }, -+ '4' => { -+ 'name' => 'mask', -+ 'offset' => '32', -+ 'type' => '956' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '62199' => { -+ 'Header' => undef, -+ 'Line' => '1193', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unexpected_cnt', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'add', -+ 'offset' => '8', -+ 'type' => '62118' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '62252' => { -+ 'Header' => undef, -+ 'Line' => '1188', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '62336' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '16', -+ 'type' => '62080' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'offset' => '20', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'tm', -+ 'offset' => '24', -+ 'type' => '62199' -+ } -+ }, -+ 'Name' => 'struct ibv_ops_wr', -+ 'Size' => '72', -+ 'Type' => 'Struct' -+ }, -+ '62336' => { -+ 'BaseType' => '62252', -+ 'Name' => 'struct ibv_ops_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '62436' => { -+ 'Header' => undef, -+ 'Line' => '1437', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vendor_id', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'options', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_ece', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '62555' => { -+ 'Header' => undef, -+ 'Line' => '1471', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_poll_cq_attr', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '62584' => { -+ 'Header' => undef, -+ 'Line' => '1475', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tag', -+ 'offset' => '0', -+ 'type' => '956' -+ }, -+ '1' => { -+ 'name' => 'priv', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_wc_tm_info', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '62627' => { -+ 'Header' => undef, -+ 'Line' => '1480', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '15787' -+ }, -+ '10' => { -+ 'name' => 'status', -+ 'offset' => '132', -+ 'type' => '10907' -+ }, -+ '11' => { -+ 'name' => 'wr_id', -+ 'offset' => '136', -+ 'type' => '956' -+ }, -+ '12' => { -+ 'name' => 'start_poll', -+ 'offset' => '144', -+ 'type' => '63099' -+ }, -+ '13' => { -+ 'name' => 'next_poll', -+ 'offset' => '152', -+ 'type' => '63120' -+ }, -+ '14' => { -+ 'name' => 'end_poll', -+ 'offset' => '160', -+ 'type' => '63137' -+ }, -+ '15' => { -+ 'name' => 'read_opcode', -+ 'offset' => '168', -+ 'type' => '63158' -+ }, -+ '16' => { -+ 'name' => 'read_vendor_err', -+ 'offset' => '176', -+ 'type' => '63179' -+ }, -+ '17' => { -+ 'name' => 'read_byte_len', -+ 'offset' => '184', -+ 'type' => '63179' -+ }, -+ '18' => { -+ 'name' => 'read_imm_data', -+ 'offset' => '192', -+ 'type' => '63200' -+ }, -+ '19' => { -+ 'name' => 'read_qp_num', -+ 'offset' => '200', -+ 'type' => '63179' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '20' => { -+ 'name' => 'read_src_qp', -+ 'offset' => '208', -+ 'type' => '63179' -+ }, -+ '21' => { -+ 'name' => 'read_wc_flags', -+ 'offset' => '216', -+ 'type' => '63221' -+ }, -+ '22' => { -+ 'name' => 'read_slid', -+ 'offset' => '224', -+ 'type' => '63179' -+ }, -+ '23' => { -+ 'name' => 'read_sl', -+ 'offset' => '232', -+ 'type' => '63242' -+ }, -+ '24' => { -+ 'name' => 'read_dlid_path_bits', -+ 'offset' => '240', -+ 'type' => '63242' -+ }, -+ '25' => { -+ 'name' => 'read_completion_ts', -+ 'offset' => '248', -+ 'type' => '63263' -+ }, -+ '26' => { -+ 'name' => 'read_cvlan', -+ 'offset' => '256', -+ 'type' => '63284' -+ }, -+ '27' => { -+ 'name' => 'read_flow_tag', -+ 'offset' => '264', -+ 'type' => '63179' -+ }, -+ '28' => { -+ 'name' => 'read_tm_info', -+ 'offset' => '272', -+ 'type' => '63312' -+ }, -+ '29' => { -+ 'name' => 'read_completion_wallclock_ns', -+ 'offset' => '280', -+ 'type' => '63263' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '53297' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '53371' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '944' -+ }, -+ '9' => { -+ 'name' => 'comp_mask', -+ 'offset' => '128', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_ex', -+ 'Size' => '288', -+ 'Type' => 'Struct' -+ }, -+ '63087' => { -+ 'BaseType' => '62627', -+ 'Name' => 'struct ibv_cq_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '63093' => { -+ 'BaseType' => '62555', -+ 'Name' => 'struct ibv_poll_cq_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '63099' => { -+ 'Name' => 'int(*)(struct ibv_cq_ex*, struct ibv_poll_cq_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ }, -+ '1' => { -+ 'type' => '63093' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63120' => { -+ 'Name' => 'int(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63137' => { -+ 'Name' => 'void(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63158' => { -+ 'Name' => 'enum ibv_wc_opcode(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '11071', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63179' => { -+ 'Name' => 'uint32_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '944', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63200' => { -+ 'Name' => '__be32(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '1040', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63221' => { -+ 'Name' => 'unsigned int(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63242' => { -+ 'Name' => 'uint8_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '920', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63263' => { -+ 'Name' => 'uint64_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '956', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63284' => { -+ 'Name' => 'uint16_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ } -+ }, -+ 'Return' => '932', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63306' => { -+ 'BaseType' => '62584', -+ 'Name' => 'struct ibv_wc_tm_info*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '63312' => { -+ 'Name' => 'void(*)(struct ibv_cq_ex*, struct ibv_wc_tm_info*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '63087' -+ }, -+ '1' => { -+ 'type' => '63306' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '63682' => { -+ 'Header' => undef, -+ 'Line' => '1897', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'esp_attr', -+ 'offset' => '0', -+ 'type' => '63837' -+ }, -+ '1' => { -+ 'name' => 'keymat_proto', -+ 'offset' => '8', -+ 'type' => '54379' -+ }, -+ '2' => { -+ 'name' => 'keymat_len', -+ 'offset' => '12', -+ 'type' => '932' -+ }, -+ '3' => { -+ 'name' => 'keymat_ptr', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'replay_proto', -+ 'offset' => '24', -+ 'type' => '54404' -+ }, -+ '5' => { -+ 'name' => 'replay_len', -+ 'offset' => '28', -+ 'type' => '932' -+ }, -+ '6' => { -+ 'name' => 'replay_ptr', -+ 'offset' => '32', -+ 'type' => '71' -+ }, -+ '7' => { -+ 'name' => 'esp_encap', -+ 'offset' => '40', -+ 'type' => '54562' -+ }, -+ '8' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '944' -+ }, -+ '9' => { -+ 'name' => 'esn', -+ 'offset' => '52', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_flow_action_esp_attr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '63837' => { -+ 'BaseType' => '54568', -+ 'Name' => 'struct ib_uverbs_flow_action_esp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '64' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '64925' => { -+ 'Header' => undef, -+ 'Line' => '2006', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cqe', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'cq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'channel', -+ 'offset' => '16', -+ 'type' => '15787' -+ }, -+ '3' => { -+ 'name' => 'comp_vector', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'wc_flags', -+ 'offset' => '32', -+ 'type' => '956' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'flags', -+ 'offset' => '44', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'parent_domain', -+ 'offset' => '48', -+ 'type' => '12044' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_init_attr_ex', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '65052' => { -+ 'BaseType' => '64925', -+ 'Name' => 'struct ibv_cq_init_attr_ex const', -+ 'Size' => '56', -+ 'Type' => 'Const' -+ }, -+ '65057' => { -+ 'Header' => undef, -+ 'Line' => '2039', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'pd', -+ 'offset' => '0', -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'name' => 'td', -+ 'offset' => '8', -+ 'type' => '65154' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'alloc', -+ 'offset' => '24', -+ 'type' => '65195' -+ }, -+ '4' => { -+ 'name' => 'free', -+ 'offset' => '32', -+ 'type' => '65227' -+ }, -+ '5' => { -+ 'name' => 'pd_context', -+ 'offset' => '40', -+ 'type' => '71' -+ } -+ }, -+ 'Name' => 'struct ibv_parent_domain_init_attr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '65154' => { -+ 'BaseType' => '58820', -+ 'Name' => 'struct ibv_td*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '65195' => { -+ 'Name' => 'void*(*)(struct ibv_pd*, void*, size_t, size_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '52' -+ }, -+ '3' => { -+ 'type' => '52' -+ }, -+ '4' => { -+ 'type' => '956' -+ } -+ }, -+ 'Return' => '71', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '65227' => { -+ 'Name' => 'void(*)(struct ibv_pd*, void*, void*, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '71' -+ }, -+ '3' => { -+ 'type' => '956' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '65262' => { -+ 'Header' => undef, -+ 'Line' => '2058', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_COUNTER_PACKETS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_COUNTER_BYTES', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum ibv_counter_description', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '65294' => { -+ 'Header' => undef, -+ 'Line' => '2063', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'counter_desc', -+ 'offset' => '0', -+ 'type' => '65262' -+ }, -+ '1' => { -+ 'name' => 'index', -+ 'offset' => '4', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_counter_attach_attr', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '65351' => { -+ 'Header' => undef, -+ 'Line' => '2078', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '944' -+ }, -+ '1' => { -+ 'name' => 'raw_clock', -+ 'offset' => '8', -+ 'type' => '52772' -+ } -+ }, -+ 'Name' => 'struct ibv_values_ex', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '65394' => { -+ 'Header' => undef, -+ 'Line' => '2083', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'query_port', -+ 'offset' => '0', -+ 'type' => '66028' -+ }, -+ '1' => { -+ 'name' => 'advise_mr', -+ 'offset' => '8', -+ 'type' => '66069' -+ }, -+ '10' => { -+ 'name' => 'modify_flow_action_esp', -+ 'offset' => '80', -+ 'type' => '66360' -+ }, -+ '11' => { -+ 'name' => 'destroy_flow_action', -+ 'offset' => '88', -+ 'type' => '66381' -+ }, -+ '12' => { -+ 'name' => 'create_flow_action_esp', -+ 'offset' => '96', -+ 'type' => '66407' -+ }, -+ '13' => { -+ 'name' => 'modify_qp_rate_limit', -+ 'offset' => '104', -+ 'type' => '66439' -+ }, -+ '14' => { -+ 'name' => 'alloc_parent_domain', -+ 'offset' => '112', -+ 'type' => '66471' -+ }, -+ '15' => { -+ 'name' => 'dealloc_td', -+ 'offset' => '120', -+ 'type' => '66492' -+ }, -+ '16' => { -+ 'name' => 'alloc_td', -+ 'offset' => '128', -+ 'type' => '66524' -+ }, -+ '17' => { -+ 'name' => 'modify_cq', -+ 'offset' => '136', -+ 'type' => '66556' -+ }, -+ '18' => { -+ 'name' => 'post_srq_ops', -+ 'offset' => '144', -+ 'type' => '66593' -+ }, -+ '19' => { -+ 'name' => 'destroy_rwq_ind_table', -+ 'offset' => '152', -+ 'type' => '66614' -+ }, -+ '2' => { -+ 'name' => 'alloc_null_mr', -+ 'offset' => '16', -+ 'type' => '66090' -+ }, -+ '20' => { -+ 'name' => 'create_rwq_ind_table', -+ 'offset' => '160', -+ 'type' => '66646' -+ }, -+ '21' => { -+ 'name' => 'destroy_wq', -+ 'offset' => '168', -+ 'type' => '66667' -+ }, -+ '22' => { -+ 'name' => 'modify_wq', -+ 'offset' => '176', -+ 'type' => '66699' -+ }, -+ '23' => { -+ 'name' => 'create_wq', -+ 'offset' => '184', -+ 'type' => '66731' -+ }, -+ '24' => { -+ 'name' => 'query_rt_values', -+ 'offset' => '192', -+ 'type' => '66763' -+ }, -+ '25' => { -+ 'name' => 'create_cq_ex', -+ 'offset' => '200', -+ 'type' => '66795' -+ }, -+ '26' => { -+ 'name' => 'priv', -+ 'offset' => '208', -+ 'type' => '66882' -+ }, -+ '27' => { -+ 'name' => 'query_device_ex', -+ 'offset' => '216', -+ 'type' => '66930' -+ }, -+ '28' => { -+ 'name' => 'ibv_destroy_flow', -+ 'offset' => '224', -+ 'type' => '66951' -+ }, -+ '29' => { -+ 'name' => 'ABI_placeholder2', -+ 'offset' => '232', -+ 'type' => '66958' -+ }, -+ '3' => { -+ 'name' => 'read_counters', -+ 'offset' => '24', -+ 'type' => '66132' -+ }, -+ '30' => { -+ 'name' => 'ibv_create_flow', -+ 'offset' => '240', -+ 'type' => '66990' -+ }, -+ '31' => { -+ 'name' => 'ABI_placeholder1', -+ 'offset' => '248', -+ 'type' => '66958' -+ }, -+ '32' => { -+ 'name' => 'open_qp', -+ 'offset' => '256', -+ 'type' => '67022' -+ }, -+ '33' => { -+ 'name' => 'create_qp_ex', -+ 'offset' => '264', -+ 'type' => '67054' -+ }, -+ '34' => { -+ 'name' => 'get_srq_num', -+ 'offset' => '272', -+ 'type' => '67086' -+ }, -+ '35' => { -+ 'name' => 'create_srq_ex', -+ 'offset' => '280', -+ 'type' => '67118' -+ }, -+ '36' => { -+ 'name' => 'open_xrcd', -+ 'offset' => '288', -+ 'type' => '67150' -+ }, -+ '37' => { -+ 'name' => 'close_xrcd', -+ 'offset' => '296', -+ 'type' => '67171' -+ }, -+ '38' => { -+ 'name' => '_ABI_placeholder3', -+ 'offset' => '304', -+ 'type' => '956' -+ }, -+ '39' => { -+ 'name' => 'sz', -+ 'offset' => '312', -+ 'type' => '52' -+ }, -+ '4' => { -+ 'name' => 'attach_counters_point_flow', -+ 'offset' => '32', -+ 'type' => '66175' -+ }, -+ '40' => { -+ 'name' => 'context', -+ 'offset' => '320', -+ 'type' => '9514' -+ }, -+ '5' => { -+ 'name' => 'create_counters', -+ 'offset' => '40', -+ 'type' => '66207' -+ }, -+ '6' => { -+ 'name' => 'destroy_counters', -+ 'offset' => '48', -+ 'type' => '66228' -+ }, -+ '7' => { -+ 'name' => 'reg_dm_mr', -+ 'offset' => '56', -+ 'type' => '66269' -+ }, -+ '8' => { -+ 'name' => 'alloc_dm', -+ 'offset' => '64', -+ 'type' => '66301' -+ }, -+ '9' => { -+ 'name' => 'free_dm', -+ 'offset' => '72', -+ 'type' => '66322' -+ } -+ }, -+ 'Name' => 'struct verbs_context', -+ 'Size' => '648', -+ 'Type' => 'Struct' -+ }, -+ '66022' => { -+ 'BaseType' => '56700', -+ 'Name' => 'struct ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66028' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct ibv_port_attr*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '920' -+ }, -+ '2' => { -+ 'type' => '66022' -+ }, -+ '3' => { -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66069' => { -+ 'Name' => 'int(*)(struct ibv_pd*, enum ib_uverbs_advise_mr_advice, uint32_t, struct ibv_sge*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '54649' -+ }, -+ '2' => { -+ 'type' => '944' -+ }, -+ '3' => { -+ 'type' => '14748' -+ }, -+ '4' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66090' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66132' => { -+ 'Name' => 'int(*)(struct ibv_counters*, uint64_t*, uint32_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17521' -+ }, -+ '1' => { -+ 'type' => '48730' -+ }, -+ '2' => { -+ 'type' => '944' -+ }, -+ '3' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66163' => { -+ 'BaseType' => '65294', -+ 'Name' => 'struct ibv_counter_attach_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66175' => { -+ 'Name' => 'int(*)(struct ibv_counters*, struct ibv_counter_attach_attr*, struct ibv_flow*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17521' -+ }, -+ '1' => { -+ 'type' => '66163' -+ }, -+ '2' => { -+ 'type' => '18997' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66207' => { -+ 'Name' => 'struct ibv_counters*(*)(struct ibv_context*, struct ibv_counters_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '48736' -+ } -+ }, -+ 'Return' => '17521', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66228' => { -+ 'Name' => 'int(*)(struct ibv_counters*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17521' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66269' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*, struct ibv_dm*, uint64_t, size_t, unsigned int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '55227' -+ }, -+ '2' => { -+ 'type' => '956' -+ }, -+ '3' => { -+ 'type' => '52' -+ }, -+ '4' => { -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66295' => { -+ 'BaseType' => '54940', -+ 'Name' => 'struct ibv_alloc_dm_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66301' => { -+ 'Name' => 'struct ibv_dm*(*)(struct ibv_context*, struct ibv_alloc_dm_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66295' -+ } -+ }, -+ 'Return' => '55227', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66322' => { -+ 'Name' => 'int(*)(struct ibv_dm*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '55227' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66348' => { -+ 'BaseType' => '17395', -+ 'Name' => 'struct ibv_flow_action*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66354' => { -+ 'BaseType' => '63682', -+ 'Name' => 'struct ibv_flow_action_esp_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66360' => { -+ 'Name' => 'int(*)(struct ibv_flow_action*, struct ibv_flow_action_esp_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '66348' -+ }, -+ '1' => { -+ 'type' => '66354' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66381' => { -+ 'Name' => 'int(*)(struct ibv_flow_action*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '66348' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66407' => { -+ 'Name' => 'struct ibv_flow_action*(*)(struct ibv_context*, struct ibv_flow_action_esp_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66354' -+ } -+ }, -+ 'Return' => '66348', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66433' => { -+ 'BaseType' => '61130', -+ 'Name' => 'struct ibv_qp_rate_limit_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66439' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_qp_rate_limit_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '66433' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66465' => { -+ 'BaseType' => '65057', -+ 'Name' => 'struct ibv_parent_domain_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66471' => { -+ 'Name' => 'struct ibv_pd*(*)(struct ibv_context*, struct ibv_parent_domain_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66465' -+ } -+ }, -+ 'Return' => '12044', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66492' => { -+ 'Name' => 'int(*)(struct ibv_td*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '65154' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66518' => { -+ 'BaseType' => '58791', -+ 'Name' => 'struct ibv_td_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66524' => { -+ 'Name' => 'struct ibv_td*(*)(struct ibv_context*, struct ibv_td_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66518' -+ } -+ }, -+ 'Return' => '65154', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66556' => { -+ 'Name' => 'int(*)(struct ibv_cq*, struct ibv_modify_cq_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10380' -+ }, -+ '1' => { -+ 'type' => '19003' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66587' => { -+ 'BaseType' => '62336', -+ 'Name' => 'struct ibv_ops_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66593' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_ops_wr*, struct ibv_ops_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'type' => '62336' -+ }, -+ '2' => { -+ 'type' => '66587' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66614' => { -+ 'Name' => 'int(*)(struct ibv_rwq_ind_table*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '13095' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66646' => { -+ 'Name' => 'struct ibv_rwq_ind_table*(*)(struct ibv_context*, struct ibv_rwq_ind_table_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '19009' -+ } -+ }, -+ 'Return' => '13095', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66667' => { -+ 'Name' => 'int(*)(struct ibv_wq*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10901' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66699' => { -+ 'Name' => 'int(*)(struct ibv_wq*, struct ibv_wq_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10901' -+ }, -+ '1' => { -+ 'type' => '19015' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66725' => { -+ 'BaseType' => '59591', -+ 'Name' => 'struct ibv_wq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66731' => { -+ 'Name' => 'struct ibv_wq*(*)(struct ibv_context*, struct ibv_wq_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66725' -+ } -+ }, -+ 'Return' => '10901', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66757' => { -+ 'BaseType' => '65351', -+ 'Name' => 'struct ibv_values_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66763' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_values_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66757' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66789' => { -+ 'BaseType' => '64925', -+ 'Name' => 'struct ibv_cq_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66795' => { -+ 'Name' => 'struct ibv_cq_ex*(*)(struct ibv_context*, struct ibv_cq_init_attr_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66789' -+ } -+ }, -+ 'Return' => '63087', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66801' => { -+ 'Header' => undef, -+ 'Line' => '72', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unsupported_ioctls', -+ 'offset' => '0', -+ 'type' => '70473' -+ }, -+ '1' => { -+ 'name' => 'driver_id', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'use_ioctl_write', -+ 'offset' => '20', -+ 'type' => '19039' -+ }, -+ '3' => { -+ 'name' => 'ops', -+ 'offset' => '24', -+ 'type' => '68184' -+ }, -+ '4' => { -+ 'name' => 'imported', -+ 'offset' => '632', -+ 'type' => '19039' -+ } -+ }, -+ 'Name' => 'struct verbs_ex_private', -+ 'Size' => '640', -+ 'Type' => 'Struct' -+ }, -+ '66882' => { -+ 'BaseType' => '66801', -+ 'Name' => 'struct verbs_ex_private*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66918' => { -+ 'BaseType' => '55864', -+ 'Name' => 'struct ibv_query_device_ex_input const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66924' => { -+ 'BaseType' => '56326', -+ 'Name' => 'struct ibv_device_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '66930' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_query_device_ex_input const*, struct ibv_device_attr_ex*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '66918' -+ }, -+ '2' => { -+ 'type' => '66924' -+ }, -+ '3' => { -+ 'type' => '52' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66951' => { -+ 'Name' => 'int(*)(struct ibv_flow*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '18997' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66958' => { -+ 'Name' => 'void(*)()', -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '66990' => { -+ 'Name' => 'struct ibv_flow*(*)(struct ibv_qp*, struct ibv_flow_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '19021' -+ } -+ }, -+ 'Return' => '18997', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67022' => { -+ 'Name' => 'struct ibv_qp*(*)(struct ibv_context*, struct ibv_qp_open_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '19027' -+ } -+ }, -+ 'Return' => '10582', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67048' => { -+ 'BaseType' => '60316', -+ 'Name' => 'struct ibv_qp_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '67054' => { -+ 'Name' => 'struct ibv_qp*(*)(struct ibv_context*, struct ibv_qp_init_attr_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '67048' -+ } -+ }, -+ 'Return' => '10582', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67080' => { -+ 'BaseType' => '944', -+ 'Name' => 'uint32_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '67086' => { -+ 'Name' => 'int(*)(struct ibv_srq*, uint32_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'type' => '67080' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67112' => { -+ 'BaseType' => '59434', -+ 'Name' => 'struct ibv_srq_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '67118' => { -+ 'Name' => 'struct ibv_srq*(*)(struct ibv_context*, struct ibv_srq_init_attr_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '67112' -+ } -+ }, -+ 'Return' => '10700', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67150' => { -+ 'Name' => 'struct ibv_xrcd*(*)(struct ibv_context*, struct ibv_xrcd_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '19033' -+ } -+ }, -+ 'Return' => '12420', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67171' => { -+ 'Name' => 'int(*)(struct ibv_xrcd*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12420' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '67427' => { -+ 'Header' => undef, -+ 'Line' => '181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'user_handle', -+ 'offset' => '8', -+ 'type' => '1016' -+ }, -+ '2' => { -+ 'name' => 'cqe', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'comp_vector', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'comp_channel', -+ 'offset' => '24', -+ 'type' => '52329' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '28', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'driver_data', -+ 'offset' => '32', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '67548' => { -+ 'Header' => undef, -+ 'Line' => '181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '67427' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '53863' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '67578' => { -+ 'Header' => undef, -+ 'Line' => '181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '67548' -+ } -+ }, -+ 'Name' => 'struct ibv_create_cq', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '67793' => { -+ 'Header' => undef, -+ 'Line' => '211', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'user_handle', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'cqe', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'comp_vector', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'comp_channel', -+ 'offset' => '16', -+ 'type' => '52329' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '20', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'flags', -+ 'offset' => '24', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'reserved', -+ 'offset' => '28', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '67896' => { -+ 'Header' => undef, -+ 'Line' => '211', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '67793' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '54028' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '67926' => { -+ 'Header' => undef, -+ 'Line' => '211', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '19046' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '67896' -+ } -+ }, -+ 'Name' => 'struct ibv_create_cq_ex', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '68122' => { -+ 'Header' => undef, -+ 'Line' => '170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq', -+ 'offset' => '0', -+ 'type' => '10239' -+ }, -+ '1' => { -+ 'name' => 'cq_ex', -+ 'offset' => '0', -+ 'type' => '62627' -+ } -+ }, -+ 'Size' => '288', -+ 'Type' => 'Union' -+ }, -+ '68156' => { -+ 'Header' => undef, -+ 'Line' => '169', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '68122' -+ } -+ }, -+ 'Name' => 'struct verbs_cq', -+ 'Size' => '288', -+ 'Type' => 'Struct' -+ }, -+ '68184' => { -+ 'Header' => undef, -+ 'Line' => '311', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'advise_mr', -+ 'offset' => '0', -+ 'type' => '66069' -+ }, -+ '1' => { -+ 'name' => 'alloc_dm', -+ 'offset' => '8', -+ 'type' => '66301' -+ }, -+ '10' => { -+ 'name' => 'bind_mw', -+ 'offset' => '80', -+ 'type' => '18808' -+ }, -+ '11' => { -+ 'name' => 'close_xrcd', -+ 'offset' => '88', -+ 'type' => '67171' -+ }, -+ '12' => { -+ 'name' => 'cq_event', -+ 'offset' => '96', -+ 'type' => '69405' -+ }, -+ '13' => { -+ 'name' => 'create_ah', -+ 'offset' => '104', -+ 'type' => '69437' -+ }, -+ '14' => { -+ 'name' => 'create_counters', -+ 'offset' => '112', -+ 'type' => '66207' -+ }, -+ '15' => { -+ 'name' => 'create_cq', -+ 'offset' => '120', -+ 'type' => '69473' -+ }, -+ '16' => { -+ 'name' => 'create_cq_ex', -+ 'offset' => '128', -+ 'type' => '66795' -+ }, -+ '17' => { -+ 'name' => 'create_flow', -+ 'offset' => '136', -+ 'type' => '66990' -+ }, -+ '18' => { -+ 'name' => 'create_flow_action_esp', -+ 'offset' => '144', -+ 'type' => '66407' -+ }, -+ '19' => { -+ 'name' => 'create_qp', -+ 'offset' => '152', -+ 'type' => '69505' -+ }, -+ '2' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '16', -+ 'type' => '18771' -+ }, -+ '20' => { -+ 'name' => 'create_qp_ex', -+ 'offset' => '160', -+ 'type' => '67054' -+ }, -+ '21' => { -+ 'name' => 'create_rwq_ind_table', -+ 'offset' => '168', -+ 'type' => '66646' -+ }, -+ '22' => { -+ 'name' => 'create_srq', -+ 'offset' => '176', -+ 'type' => '69537' -+ }, -+ '23' => { -+ 'name' => 'create_srq_ex', -+ 'offset' => '184', -+ 'type' => '67118' -+ }, -+ '24' => { -+ 'name' => 'create_wq', -+ 'offset' => '192', -+ 'type' => '66731' -+ }, -+ '25' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '200', -+ 'type' => '18829' -+ }, -+ '26' => { -+ 'name' => 'dealloc_pd', -+ 'offset' => '208', -+ 'type' => '69558' -+ }, -+ '27' => { -+ 'name' => 'dealloc_td', -+ 'offset' => '216', -+ 'type' => '66492' -+ }, -+ '28' => { -+ 'name' => 'dereg_mr', -+ 'offset' => '224', -+ 'type' => '69585' -+ }, -+ '29' => { -+ 'name' => 'destroy_ah', -+ 'offset' => '232', -+ 'type' => '69606' -+ }, -+ '3' => { -+ 'name' => 'alloc_null_mr', -+ 'offset' => '24', -+ 'type' => '66090' -+ }, -+ '30' => { -+ 'name' => 'destroy_counters', -+ 'offset' => '240', -+ 'type' => '66228' -+ }, -+ '31' => { -+ 'name' => 'destroy_cq', -+ 'offset' => '248', -+ 'type' => '69627' -+ }, -+ '32' => { -+ 'name' => 'destroy_flow', -+ 'offset' => '256', -+ 'type' => '66951' -+ }, -+ '33' => { -+ 'name' => 'destroy_flow_action', -+ 'offset' => '264', -+ 'type' => '66381' -+ }, -+ '34' => { -+ 'name' => 'destroy_qp', -+ 'offset' => '272', -+ 'type' => '69648' -+ }, -+ '35' => { -+ 'name' => 'destroy_rwq_ind_table', -+ 'offset' => '280', -+ 'type' => '66614' -+ }, -+ '36' => { -+ 'name' => 'destroy_srq', -+ 'offset' => '288', -+ 'type' => '69669' -+ }, -+ '37' => { -+ 'name' => 'destroy_wq', -+ 'offset' => '296', -+ 'type' => '66667' -+ }, -+ '38' => { -+ 'name' => 'detach_mcast', -+ 'offset' => '304', -+ 'type' => '69388' -+ }, -+ '39' => { -+ 'name' => 'free_context', -+ 'offset' => '312', -+ 'type' => '18151' -+ }, -+ '4' => { -+ 'name' => 'alloc_parent_domain', -+ 'offset' => '32', -+ 'type' => '66471' -+ }, -+ '40' => { -+ 'name' => 'free_dm', -+ 'offset' => '320', -+ 'type' => '66322' -+ }, -+ '41' => { -+ 'name' => 'get_srq_num', -+ 'offset' => '328', -+ 'type' => '67086' -+ }, -+ '42' => { -+ 'name' => 'import_dm', -+ 'offset' => '336', -+ 'type' => '69695' -+ }, -+ '43' => { -+ 'name' => 'import_mr', -+ 'offset' => '344', -+ 'type' => '69721' -+ }, -+ '44' => { -+ 'name' => 'import_pd', -+ 'offset' => '352', -+ 'type' => '69747' -+ }, -+ '45' => { -+ 'name' => 'modify_cq', -+ 'offset' => '360', -+ 'type' => '66556' -+ }, -+ '46' => { -+ 'name' => 'modify_flow_action_esp', -+ 'offset' => '368', -+ 'type' => '66360' -+ }, -+ '47' => { -+ 'name' => 'modify_qp', -+ 'offset' => '376', -+ 'type' => '69784' -+ }, -+ '48' => { -+ 'name' => 'modify_qp_rate_limit', -+ 'offset' => '384', -+ 'type' => '66439' -+ }, -+ '49' => { -+ 'name' => 'modify_srq', -+ 'offset' => '392', -+ 'type' => '69821' -+ }, -+ '5' => { -+ 'name' => 'alloc_pd', -+ 'offset' => '40', -+ 'type' => '69323' -+ }, -+ '50' => { -+ 'name' => 'modify_wq', -+ 'offset' => '400', -+ 'type' => '66699' -+ }, -+ '51' => { -+ 'name' => 'open_qp', -+ 'offset' => '408', -+ 'type' => '67022' -+ }, -+ '52' => { -+ 'name' => 'open_xrcd', -+ 'offset' => '416', -+ 'type' => '67150' -+ }, -+ '53' => { -+ 'name' => 'poll_cq', -+ 'offset' => '424', -+ 'type' => '18866' -+ }, -+ '54' => { -+ 'name' => 'post_recv', -+ 'offset' => '432', -+ 'type' => '18991' -+ }, -+ '55' => { -+ 'name' => 'post_send', -+ 'offset' => '440', -+ 'type' => '18960' -+ }, -+ '56' => { -+ 'name' => 'post_srq_ops', -+ 'offset' => '448', -+ 'type' => '66593' -+ }, -+ '57' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '456', -+ 'type' => '18923' -+ }, -+ '58' => { -+ 'name' => 'query_device_ex', -+ 'offset' => '464', -+ 'type' => '66930' -+ }, -+ '59' => { -+ 'name' => 'query_ece', -+ 'offset' => '472', -+ 'type' => '69853' -+ }, -+ '6' => { -+ 'name' => 'alloc_td', -+ 'offset' => '48', -+ 'type' => '66524' -+ }, -+ '60' => { -+ 'name' => 'query_port', -+ 'offset' => '480', -+ 'type' => '69884' -+ }, -+ '61' => { -+ 'name' => 'query_qp', -+ 'offset' => '488', -+ 'type' => '69920' -+ }, -+ '62' => { -+ 'name' => 'query_qp_data_in_order', -+ 'offset' => '496', -+ 'type' => '69951' -+ }, -+ '63' => { -+ 'name' => 'query_rt_values', -+ 'offset' => '504', -+ 'type' => '66763' -+ }, -+ '64' => { -+ 'name' => 'query_srq', -+ 'offset' => '512', -+ 'type' => '69977' -+ }, -+ '65' => { -+ 'name' => 'read_counters', -+ 'offset' => '520', -+ 'type' => '66132' -+ }, -+ '66' => { -+ 'name' => 'reg_dm_mr', -+ 'offset' => '528', -+ 'type' => '66269' -+ }, -+ '67' => { -+ 'name' => 'reg_dmabuf_mr', -+ 'offset' => '536', -+ 'type' => '70023' -+ }, -+ '68' => { -+ 'name' => 'reg_mr', -+ 'offset' => '544', -+ 'type' => '70064' -+ }, -+ '69' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '552', -+ 'type' => '18892' -+ }, -+ '7' => { -+ 'name' => 'async_event', -+ 'offset' => '56', -+ 'type' => '69351' -+ }, -+ '70' => { -+ 'name' => 'rereg_mr', -+ 'offset' => '560', -+ 'type' => '70110' -+ }, -+ '71' => { -+ 'name' => 'resize_cq', -+ 'offset' => '568', -+ 'type' => '18892' -+ }, -+ '72' => { -+ 'name' => 'set_ece', -+ 'offset' => '576', -+ 'type' => '69853' -+ }, -+ '73' => { -+ 'name' => 'unimport_dm', -+ 'offset' => '584', -+ 'type' => '70127' -+ }, -+ '74' => { -+ 'name' => 'unimport_mr', -+ 'offset' => '592', -+ 'type' => '70144' -+ }, -+ '75' => { -+ 'name' => 'unimport_pd', -+ 'offset' => '600', -+ 'type' => '70161' -+ }, -+ '8' => { -+ 'name' => 'attach_counters_point_flow', -+ 'offset' => '64', -+ 'type' => '66175' -+ }, -+ '9' => { -+ 'name' => 'attach_mcast', -+ 'offset' => '72', -+ 'type' => '69388' -+ } -+ }, -+ 'Name' => 'struct verbs_context_ops', -+ 'Size' => '608', -+ 'Type' => 'Struct' -+ }, -+ '69323' => { -+ 'Name' => 'struct ibv_pd*(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ } -+ }, -+ 'Return' => '12044', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69345' => { -+ 'BaseType' => '57904', -+ 'Name' => 'struct ibv_async_event*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '69351' => { -+ 'Name' => 'void(*)(struct ibv_context*, struct ibv_async_event*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '69345' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69388' => { -+ 'Name' => 'int(*)(struct ibv_qp*, union ibv_gid const*, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '24569' -+ }, -+ '2' => { -+ 'type' => '932' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69405' => { -+ 'Name' => 'void(*)(struct ibv_cq*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10380' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69437' => { -+ 'Name' => 'struct ibv_ah*(*)(struct ibv_pd*, struct ibv_ah_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '24575' -+ } -+ }, -+ 'Return' => '14352', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69473' => { -+ 'Name' => 'struct ibv_cq*(*)(struct ibv_context*, int, struct ibv_comp_channel*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '15787' -+ }, -+ '3' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '10380', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69505' => { -+ 'Name' => 'struct ibv_qp*(*)(struct ibv_pd*, struct ibv_qp_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '24581' -+ } -+ }, -+ 'Return' => '10582', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69531' => { -+ 'BaseType' => '59310', -+ 'Name' => 'struct ibv_srq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '69537' => { -+ 'Name' => 'struct ibv_srq*(*)(struct ibv_pd*, struct ibv_srq_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '69531' -+ } -+ }, -+ 'Return' => '10700', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69558' => { -+ 'Name' => 'int(*)(struct ibv_pd*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69585' => { -+ 'Name' => 'int(*)(struct verbs_mr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '24587' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69606' => { -+ 'Name' => 'int(*)(struct ibv_ah*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '14352' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69627' => { -+ 'Name' => 'int(*)(struct ibv_cq*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10380' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69648' => { -+ 'Name' => 'int(*)(struct ibv_qp*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69669' => { -+ 'Name' => 'int(*)(struct ibv_srq*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69695' => { -+ 'Name' => 'struct ibv_dm*(*)(struct ibv_context*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '55227', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69721' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69747' => { -+ 'Name' => 'struct ibv_pd*(*)(struct ibv_context*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '12044', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69784' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_qp_attr*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69821' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_srq_attr*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'type' => '24599' -+ }, -+ '2' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69847' => { -+ 'BaseType' => '62436', -+ 'Name' => 'struct ibv_ece*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '69853' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_ece*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '69847' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69884' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9633' -+ }, -+ '1' => { -+ 'type' => '920' -+ }, -+ '2' => { -+ 'type' => '66022' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69920' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_qp_attr*, int, struct ibv_qp_init_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '24593' -+ }, -+ '2' => { -+ 'type' => '130' -+ }, -+ '3' => { -+ 'type' => '24581' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69951' => { -+ 'Name' => 'int(*)(struct ibv_qp*, enum ibv_wr_opcode, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10582' -+ }, -+ '1' => { -+ 'type' => '13899' -+ }, -+ '2' => { -+ 'type' => '944' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '69977' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_srq_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10700' -+ }, -+ '1' => { -+ 'type' => '24599' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70023' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*, uint64_t, size_t, uint64_t, int, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '956' -+ }, -+ '2' => { -+ 'type' => '52' -+ }, -+ '3' => { -+ 'type' => '956' -+ }, -+ '4' => { -+ 'type' => '130' -+ }, -+ '5' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70064' => { -+ 'Name' => 'struct ibv_mr*(*)(struct ibv_pd*, void*, size_t, uint64_t, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ }, -+ '1' => { -+ 'type' => '71' -+ }, -+ '2' => { -+ 'type' => '52' -+ }, -+ '3' => { -+ 'type' => '956' -+ }, -+ '4' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '11828', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70110' => { -+ 'Name' => 'int(*)(struct verbs_mr*, int, struct ibv_pd*, void*, size_t, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '24587' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '12044' -+ }, -+ '3' => { -+ 'type' => '71' -+ }, -+ '4' => { -+ 'type' => '52' -+ }, -+ '5' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70127' => { -+ 'Name' => 'void(*)(struct ibv_dm*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '55227' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70144' => { -+ 'Name' => 'void(*)(struct ibv_mr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '11828' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70161' => { -+ 'Name' => 'void(*)(struct ibv_pd*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '12044' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '70473' => { -+ 'BaseType' => '45', -+ 'Name' => 'unsigned long[2]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '71' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72088' => { -+ 'BaseType' => '65052', -+ 'Name' => 'struct ibv_cq_init_attr_ex const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72094' => { -+ 'BaseType' => '68156', -+ 'Name' => 'struct verbs_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72100' => { -+ 'BaseType' => '67926', -+ 'Name' => 'struct ibv_create_cq_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72106' => { -+ 'BaseType' => '54218', -+ 'Name' => 'struct ib_uverbs_ex_create_cq_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72588' => { -+ 'BaseType' => '67578', -+ 'Name' => 'struct ibv_create_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72594' => { -+ 'BaseType' => '54143', -+ 'Name' => 'struct ib_uverbs_create_cq_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '76566' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '145', -+ 'Name' => '__dev_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '76627' => { -+ 'BaseType' => '186', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ }, -+ '76632' => { -+ 'BaseType' => '76627', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '76662' => { -+ 'BaseType' => '76566', -+ 'Header' => undef, -+ 'Line' => '59', -+ 'Name' => 'dev_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '78' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '78185' => { -+ 'Header' => undef, -+ 'Line' => '129', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_cq_moderation_count', -+ 'offset' => '0', -+ 'type' => '992' -+ }, -+ '1' => { -+ 'name' => 'max_cq_moderation_period', -+ 'offset' => '2', -+ 'type' => '992' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '4', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_cq_moderation_caps', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '78359' => { -+ 'Header' => undef, -+ 'Line' => '159', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_get_context', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '78418' => { -+ 'Header' => undef, -+ 'Line' => '164', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'async_fd', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_get_context_resp', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '78548' => { -+ 'Header' => undef, -+ 'Line' => '175', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '8', -+ 'type' => '1052' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '60', -+ 'type' => '1004' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '64', -+ 'type' => '1004' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '68', -+ 'type' => '1004' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '72', -+ 'type' => '1004' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '76', -+ 'type' => '1004' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '80', -+ 'type' => '1004' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '84', -+ 'type' => '1004' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '88', -+ 'type' => '1004' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '92', -+ 'type' => '1004' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '96', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '16', -+ 'type' => '1052' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '100', -+ 'type' => '1004' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '104', -+ 'type' => '1004' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '108', -+ 'type' => '1004' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '112', -+ 'type' => '1004' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '116', -+ 'type' => '1004' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '120', -+ 'type' => '1004' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '124', -+ 'type' => '1004' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '128', -+ 'type' => '1004' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '132', -+ 'type' => '1004' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '136', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '24', -+ 'type' => '1016' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '140', -+ 'type' => '1004' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '144', -+ 'type' => '1004' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '148', -+ 'type' => '1004' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '152', -+ 'type' => '1004' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '156', -+ 'type' => '1004' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '160', -+ 'type' => '1004' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '164', -+ 'type' => '1004' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '168', -+ 'type' => '992' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '170', -+ 'type' => '980' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '171', -+ 'type' => '980' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '32', -+ 'type' => '1016' -+ }, -+ '40' => { -+ 'name' => 'reserved', -+ 'offset' => '172', -+ 'type' => '79099' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '40', -+ 'type' => '1004' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '44', -+ 'type' => '1004' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '48', -+ 'type' => '1004' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '52', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '56', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_query_device_resp', -+ 'Size' => '176', -+ 'Type' => 'Struct' -+ }, -+ '79099' => { -+ 'BaseType' => '980', -+ 'Name' => '__u8[4]', -+ 'Size' => '4', -+ 'Type' => 'Array' -+ }, -+ '79155' => { -+ 'Header' => undef, -+ 'Line' => '226', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rc_odp_caps', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'uc_odp_caps', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'ud_odp_caps', -+ 'offset' => '8', -+ 'type' => '1004' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '79204' => { -+ 'Header' => undef, -+ 'Line' => '224', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'general_caps', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'per_transport_caps', -+ 'offset' => '8', -+ 'type' => '79155' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '20', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_odp_caps', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '79259' => { -+ 'Header' => undef, -+ 'Line' => '234', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'max_rwq_indirection_tables', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'max_rwq_indirection_table_size', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_rss_caps', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '79325' => { -+ 'Header' => undef, -+ 'Line' => '245', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_rndv_hdr_size', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'max_ops', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'reserved', -+ 'offset' => '20', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_tm_caps', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '79418' => { -+ 'Header' => undef, -+ 'Line' => '259', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'base', -+ 'offset' => '0', -+ 'type' => '78548' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '176', -+ 'type' => '1004' -+ }, -+ '10' => { -+ 'name' => 'tm_caps', -+ 'offset' => '256', -+ 'type' => '79325' -+ }, -+ '11' => { -+ 'name' => 'cq_moderation_caps', -+ 'offset' => '280', -+ 'type' => '78185' -+ }, -+ '12' => { -+ 'name' => 'max_dm_size', -+ 'offset' => '288', -+ 'type' => '1016' -+ }, -+ '13' => { -+ 'name' => 'xrc_odp_caps', -+ 'offset' => '296', -+ 'type' => '1004' -+ }, -+ '14' => { -+ 'name' => 'reserved', -+ 'offset' => '300', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'response_length', -+ 'offset' => '180', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'odp_caps', -+ 'offset' => '184', -+ 'type' => '79204' -+ }, -+ '4' => { -+ 'name' => 'timestamp_mask', -+ 'offset' => '208', -+ 'type' => '1016' -+ }, -+ '5' => { -+ 'name' => 'hca_core_clock', -+ 'offset' => '216', -+ 'type' => '1016' -+ }, -+ '6' => { -+ 'name' => 'device_cap_flags_ex', -+ 'offset' => '224', -+ 'type' => '1016' -+ }, -+ '7' => { -+ 'name' => 'rss_caps', -+ 'offset' => '232', -+ 'type' => '79259' -+ }, -+ '8' => { -+ 'name' => 'max_wq_type_rq', -+ 'offset' => '248', -+ 'type' => '1004' -+ }, -+ '9' => { -+ 'name' => 'raw_packet_caps', -+ 'offset' => '252', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_query_device_resp', -+ 'Size' => '304', -+ 'Type' => 'Struct' -+ }, -+ '79656' => { -+ 'Header' => undef, -+ 'Line' => '277', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'offset' => '8', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '9', -+ 'type' => '1544' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_query_port', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '80593' => { -+ 'Header' => undef, -+ 'Line' => '79', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'gid', -+ 'offset' => '0', -+ 'type' => '9296' -+ }, -+ '1' => { -+ 'name' => 'gid_index', -+ 'offset' => '16', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'port_num', -+ 'offset' => '20', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'gid_type', -+ 'offset' => '24', -+ 'type' => '944' -+ }, -+ '4' => { -+ 'name' => 'ndev_ifindex', -+ 'offset' => '28', -+ 'type' => '944' -+ } -+ }, -+ 'Name' => 'struct ibv_gid_entry', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '85' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '8639' => { -+ 'Header' => undef, -+ 'Line' => '1189', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'attr_mask', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'max_wr', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'srq_limit', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_modify_srq', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8742' => { -+ 'Header' => undef, -+ 'Line' => '1197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'srq_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_query_srq', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8903' => { -+ 'Header' => undef, -+ 'Line' => '1254', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'attr_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'wq_handle', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'wq_state', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'curr_wq_state', -+ 'offset' => '12', -+ 'type' => '1004' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'offset' => '16', -+ 'type' => '1004' -+ }, -+ '5' => { -+ 'name' => 'flags_mask', -+ 'offset' => '20', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_modify_wq', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '9075' => { -+ 'Header' => undef, -+ 'Line' => '1275', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'response_length', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '1004' -+ }, -+ '3' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_create_rwq_ind_table_resp', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '908' => { -+ 'BaseType' => '919', -+ 'Name' => 'void const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9146' => { -+ 'Header' => undef, -+ 'Line' => '1287', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq_count', -+ 'offset' => '0', -+ 'type' => '992' -+ }, -+ '1' => { -+ 'name' => 'cq_period', -+ 'offset' => '2', -+ 'type' => '992' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_cq_moderation', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '9189' => { -+ 'Header' => undef, -+ 'Line' => '1292', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq_handle', -+ 'offset' => '0', -+ 'type' => '1004' -+ }, -+ '1' => { -+ 'name' => 'attr_mask', -+ 'offset' => '4', -+ 'type' => '1004' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '9146' -+ }, -+ '3' => { -+ 'name' => 'reserved', -+ 'offset' => '12', -+ 'type' => '1004' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_ex_modify_cq', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '919' => { -+ 'BaseType' => '1', -+ 'Name' => 'void const', -+ 'Type' => 'Const' -+ }, -+ '920' => { -+ 'BaseType' => '99', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '92005' => { -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'driver_data', -+ 'offset' => '8', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '92060' => { -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '92005' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '78359' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '92090' => { -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '92060' -+ } -+ }, -+ 'Name' => 'struct ibv_get_context', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '92310' => { -+ 'Header' => undef, -+ 'Line' => '203', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'response', -+ 'offset' => '0', -+ 'type' => '1016' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'offset' => '8', -+ 'type' => '980' -+ }, -+ '2' => { -+ 'name' => 'reserved', -+ 'offset' => '9', -+ 'type' => '1544' -+ }, -+ '3' => { -+ 'name' => 'driver_data', -+ 'offset' => '16', -+ 'type' => '1606' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '92391' => { -+ 'Header' => undef, -+ 'Line' => '203', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '92310' -+ }, -+ '1' => { -+ 'name' => 'core_payload', -+ 'offset' => '0', -+ 'type' => '79656' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '92421' => { -+ 'Header' => undef, -+ 'Line' => '203', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '1423' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '92391' -+ } -+ }, -+ 'Name' => 'struct ibv_query_port', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '9260' => { -+ 'Header' => undef, -+ 'Line' => '67', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'subnet_prefix', -+ 'offset' => '0', -+ 'type' => '1052' -+ }, -+ '1' => { -+ 'name' => 'interface_id', -+ 'offset' => '8', -+ 'type' => '1052' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '92605' => { -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '92645' -+ }, -+ '1' => { -+ 'name' => 'prev', -+ 'offset' => '8', -+ 'type' => '92645' -+ } -+ }, -+ 'Name' => 'struct list_node', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '92645' => { -+ 'BaseType' => '92605', -+ 'Name' => 'struct list_node*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '92651' => { -+ 'Header' => undef, -+ 'Line' => '130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_GID_TYPE_SYSFS_IB_ROCE_V1', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_GID_TYPE_SYSFS_ROCE_V2', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum ibv_gid_type_sysfs', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '92719' => { -+ 'Header' => undef, -+ 'Line' => '201', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'modalias', -+ 'offset' => '0', -+ 'type' => '76632' -+ }, -+ '1' => { -+ 'name' => 'driver_id', -+ 'offset' => '0', -+ 'type' => '956' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '92753' => { -+ 'Header' => undef, -+ 'Line' => '199', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'driver_data', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'u', -+ 'offset' => '8', -+ 'type' => '92719' -+ }, -+ '2' => { -+ 'name' => 'vendor', -+ 'offset' => '16', -+ 'type' => '932' -+ }, -+ '3' => { -+ 'name' => 'device', -+ 'offset' => '18', -+ 'type' => '932' -+ }, -+ '4' => { -+ 'name' => 'kind', -+ 'offset' => '20', -+ 'type' => '920' -+ } -+ }, -+ 'Name' => 'struct verbs_match_ent', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '92830' => { -+ 'BaseType' => '92753', -+ 'Name' => 'struct verbs_match_ent const', -+ 'Size' => '24', -+ 'Type' => 'Const' -+ }, -+ '92835' => { -+ 'Header' => undef, -+ 'Line' => '249', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'entry', -+ 'offset' => '0', -+ 'type' => '92605' -+ }, -+ '1' => { -+ 'name' => 'provider_data', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '10' => { -+ 'name' => 'driver_id', -+ 'offset' => '952', -+ 'type' => '944' -+ }, -+ '11' => { -+ 'name' => 'node_type', -+ 'offset' => '956', -+ 'type' => '9355' -+ }, -+ '12' => { -+ 'name' => 'ibdev_idx', -+ 'offset' => '960', -+ 'type' => '130' -+ }, -+ '13' => { -+ 'name' => 'num_ports', -+ 'offset' => '964', -+ 'type' => '944' -+ }, -+ '14' => { -+ 'name' => 'abi_ver', -+ 'offset' => '968', -+ 'type' => '944' -+ }, -+ '15' => { -+ 'name' => 'time_created', -+ 'offset' => '976', -+ 'type' => '52772' -+ }, -+ '2' => { -+ 'name' => 'match', -+ 'offset' => '24', -+ 'type' => '93076' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'offset' => '32', -+ 'type' => '64' -+ }, -+ '4' => { -+ 'name' => 'sysfs_name', -+ 'offset' => '36', -+ 'type' => '10173' -+ }, -+ '5' => { -+ 'name' => 'sysfs_cdev', -+ 'offset' => '104', -+ 'type' => '76662' -+ }, -+ '6' => { -+ 'name' => 'ibdev_name', -+ 'offset' => '112', -+ 'type' => '10173' -+ }, -+ '7' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '176', -+ 'type' => '18186' -+ }, -+ '8' => { -+ 'name' => 'modalias', -+ 'offset' => '432', -+ 'type' => '93082' -+ }, -+ '9' => { -+ 'name' => 'node_guid', -+ 'offset' => '944', -+ 'type' => '956' -+ } -+ }, -+ 'Name' => 'struct verbs_sysfs_dev', -+ 'Size' => '992', -+ 'Type' => 'Struct' -+ }, -+ '9296' => { -+ 'Header' => undef, -+ 'Line' => '65', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'raw', -+ 'offset' => '0', -+ 'type' => '9339' -+ }, -+ '1' => { -+ 'name' => 'global', -+ 'offset' => '0', -+ 'type' => '9260' -+ } -+ }, -+ 'Name' => 'union ibv_gid', -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '93076' => { -+ 'BaseType' => '92830', -+ 'Name' => 'struct verbs_match_ent const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93082' => { -+ 'BaseType' => '186', -+ 'Name' => 'char[512]', -+ 'Size' => '512', -+ 'Type' => 'Array' -+ }, -+ '93099' => { -+ 'Header' => undef, -+ 'Line' => '269', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'name', -+ 'offset' => '0', -+ 'type' => '76632' -+ }, -+ '1' => { -+ 'name' => 'match_min_abi_version', -+ 'offset' => '8', -+ 'type' => '944' -+ }, -+ '2' => { -+ 'name' => 'match_max_abi_version', -+ 'offset' => '12', -+ 'type' => '944' -+ }, -+ '3' => { -+ 'name' => 'match_table', -+ 'offset' => '16', -+ 'type' => '93076' -+ }, -+ '4' => { -+ 'name' => 'static_providers', -+ 'offset' => '24', -+ 'type' => '93259' -+ }, -+ '5' => { -+ 'name' => 'match_device', -+ 'offset' => '32', -+ 'type' => '93292' -+ }, -+ '6' => { -+ 'name' => 'alloc_context', -+ 'offset' => '40', -+ 'type' => '93329' -+ }, -+ '7' => { -+ 'name' => 'import_context', -+ 'offset' => '48', -+ 'type' => '93355' -+ }, -+ '8' => { -+ 'name' => 'alloc_device', -+ 'offset' => '56', -+ 'type' => '93487' -+ }, -+ '9' => { -+ 'name' => 'uninit_device', -+ 'offset' => '64', -+ 'type' => '93504' -+ } -+ }, -+ 'Name' => 'struct verbs_device_ops', -+ 'Size' => '72', -+ 'Type' => 'Struct' -+ }, -+ '932' => { -+ 'BaseType' => '118', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '93254' => { -+ 'BaseType' => '93099', -+ 'Name' => 'struct verbs_device_ops const', -+ 'Size' => '72', -+ 'Type' => 'Const' -+ }, -+ '93259' => { -+ 'BaseType' => '93265', -+ 'Name' => 'struct verbs_device_ops const**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93265' => { -+ 'BaseType' => '93254', -+ 'Name' => 'struct verbs_device_ops const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93286' => { -+ 'BaseType' => '92835', -+ 'Name' => 'struct verbs_sysfs_dev*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93292' => { -+ 'Name' => '_Bool(*)(struct verbs_sysfs_dev*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '93286' -+ } -+ }, -+ 'Return' => '19039', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '93323' => { -+ 'BaseType' => '65394', -+ 'Name' => 'struct verbs_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93329' => { -+ 'Name' => 'struct verbs_context*(*)(struct ibv_device*, int, void*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '93323', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9334' => { -+ 'BaseType' => '9296', -+ 'Name' => 'union ibv_gid const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '93355' => { -+ 'Name' => 'struct verbs_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '93323', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '93361' => { -+ 'Header' => undef, -+ 'Line' => '290', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '18019' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '664', -+ 'type' => '93265' -+ }, -+ '2' => { -+ 'name' => 'refcount', -+ 'offset' => '672', -+ 'type' => '24514' -+ }, -+ '3' => { -+ 'name' => 'entry', -+ 'offset' => '680', -+ 'type' => '92605' -+ }, -+ '4' => { -+ 'name' => 'sysfs', -+ 'offset' => '696', -+ 'type' => '93286' -+ }, -+ '5' => { -+ 'name' => 'core_support', -+ 'offset' => '704', -+ 'type' => '956' -+ } -+ }, -+ 'Name' => 'struct verbs_device', -+ 'Size' => '712', -+ 'Type' => 'Struct' -+ }, -+ '9339' => { -+ 'BaseType' => '920', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '93481' => { -+ 'BaseType' => '93361', -+ 'Name' => 'struct verbs_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '93487' => { -+ 'Name' => 'struct verbs_device*(*)(struct verbs_sysfs_dev*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '93286' -+ } -+ }, -+ 'Return' => '93481', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '93504' => { -+ 'Name' => 'void(*)(struct verbs_device*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '93481' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9355' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_NODE_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_NODE_CA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_NODE_SWITCH', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_NODE_ROUTER', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_NODE_RNIC', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_NODE_USNIC', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_NODE_USNIC_UDP', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_NODE_UNSPECIFIED', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_node_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '9422' => { -+ 'Header' => undef, -+ 'Line' => '106', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_TRANSPORT_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_TRANSPORT_IB', -+ 'value' => '0' -+ }, -+ '2' => { -+ 'name' => 'IBV_TRANSPORT_IWARP', -+ 'value' => '1' -+ }, -+ '3' => { -+ 'name' => 'IBV_TRANSPORT_USNIC', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'IBV_TRANSPORT_USNIC_UDP', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'IBV_TRANSPORT_UNSPECIFIED', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum ibv_transport_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '944' => { -+ 'BaseType' => '137', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '9477' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_ATOMIC_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_ATOMIC_HCA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_ATOMIC_GLOB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_atomic_cap', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '9514' => { -+ 'Header' => undef, -+ 'Line' => '1986', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '18013' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '18202' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '264', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '268', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '272', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '280', -+ 'type' => '822' -+ }, -+ '6' => { -+ 'name' => 'abi_compat', -+ 'offset' => '320', -+ 'type' => '71' -+ } -+ }, -+ 'Name' => 'struct ibv_context', -+ 'Size' => '328', -+ 'Type' => 'Struct' -+ }, -+ '956' => { -+ 'BaseType' => '156', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '95747' => { -+ 'BaseType' => '79418', -+ 'Name' => 'struct ib_uverbs_ex_query_device_resp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '95753' => { -+ 'BaseType' => '52', -+ 'Name' => 'size_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9633' => { -+ 'BaseType' => '9514', -+ 'Name' => 'struct ibv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9639' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '10173' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '64', -+ 'type' => '1052' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '116', -+ 'type' => '64' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '120', -+ 'type' => '130' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '124', -+ 'type' => '130' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '128', -+ 'type' => '130' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '132', -+ 'type' => '130' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '136', -+ 'type' => '130' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '140', -+ 'type' => '130' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '144', -+ 'type' => '130' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '148', -+ 'type' => '130' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '152', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '72', -+ 'type' => '1052' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '156', -+ 'type' => '130' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '160', -+ 'type' => '130' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '164', -+ 'type' => '9477' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '168', -+ 'type' => '130' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '172', -+ 'type' => '130' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '176', -+ 'type' => '130' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '180', -+ 'type' => '130' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '184', -+ 'type' => '130' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '188', -+ 'type' => '130' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '192', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '80', -+ 'type' => '956' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '196', -+ 'type' => '130' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '200', -+ 'type' => '130' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '204', -+ 'type' => '130' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '208', -+ 'type' => '130' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '212', -+ 'type' => '130' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '216', -+ 'type' => '130' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '220', -+ 'type' => '130' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '224', -+ 'type' => '932' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '226', -+ 'type' => '920' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '227', -+ 'type' => '920' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '88', -+ 'type' => '956' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '96', -+ 'type' => '944' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '100', -+ 'type' => '944' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '104', -+ 'type' => '944' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '108', -+ 'type' => '130' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '112', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '97012' => { -+ 'BaseType' => '80593', -+ 'Name' => 'struct ibv_gid_entry*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '980' => { -+ 'BaseType' => '78', -+ 'Header' => undef, -+ 'Line' => '21', -+ 'Name' => '__u8', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '99' => { -+ 'BaseType' => '78', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '992' => { -+ 'BaseType' => '85', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => '__u16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libibverbs.so.1.14.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__asprintf_chk@GLIBC_2.8' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fdelt_chk@GLIBC_2.15' => 0, -+ '__fprintf_chk@GLIBC_2.3.4' => 0, -+ '__fxstat@GLIBC_2.2.5' => 0, -+ '__getdelim@GLIBC_2.2.5' => 0, -+ '__gmon_start__' => 0, -+ '__isoc99_sscanf@GLIBC_2.7' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '__strcpy_chk@GLIBC_2.3.4' => 0, -+ '__vasprintf_chk@GLIBC_2.8' => 0, -+ '__vfprintf_chk@GLIBC_2.3.4' => 0, -+ '__xstat@GLIBC_2.2.5' => 0, -+ 'bind@GLIBC_2.2.5' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'close@GLIBC_2.2.5' => 0, -+ 'closedir@GLIBC_2.2.5' => 0, -+ 'dirfd@GLIBC_2.2.5' => 0, -+ 'dlerror@GLIBC_2.2.5' => 0, -+ 'dlopen@GLIBC_2.2.5' => 0, -+ 'fclose@GLIBC_2.2.5' => 0, -+ 'fcntl@GLIBC_2.2.5' => 0, -+ 'fgets@GLIBC_2.2.5' => 0, -+ 'fnmatch@GLIBC_2.2.5' => 0, -+ 'fopen@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'freeaddrinfo@GLIBC_2.2.5' => 0, -+ 'freeifaddrs@GLIBC_2.3' => 0, -+ 'fwrite@GLIBC_2.2.5' => 0, -+ 'getenv@GLIBC_2.2.5' => 0, -+ 'geteuid@GLIBC_2.2.5' => 0, -+ 'getifaddrs@GLIBC_2.3' => 0, -+ 'getpid@GLIBC_2.2.5' => 0, -+ 'getrandom@GLIBC_2.25' => 0, -+ 'getrlimit@GLIBC_2.2.5' => 0, -+ 'getuid@GLIBC_2.2.5' => 0, -+ 'if_nametoindex@GLIBC_2.2.5' => 0, -+ 'inotify_add_watch@GLIBC_2.4' => 0, -+ 'inotify_init1@GLIBC_2.9' => 0, -+ 'ioctl@GLIBC_2.2.5' => 0, -+ 'madvise@GLIBC_2.2.5' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'memcmp@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'memset@GLIBC_2.2.5' => 0, -+ 'nl_addr_build' => 0, -+ 'nl_addr_clone' => 0, -+ 'nl_addr_fill_sockaddr' => 0, -+ 'nl_addr_get_binary_addr' => 0, -+ 'nl_addr_get_family' => 0, -+ 'nl_addr_get_len' => 0, -+ 'nl_addr_get_prefixlen' => 0, -+ 'nl_addr_info' => 0, -+ 'nl_addr_put' => 0, -+ 'nl_addr_set_prefixlen' => 0, -+ 'nl_cache_free' => 0, -+ 'nl_cache_mngt_provide' => 0, -+ 'nl_cache_mngt_unprovide' => 0, -+ 'nl_cache_refill' => 0, -+ 'nl_connect' => 0, -+ 'nl_msg_parse' => 0, -+ 'nl_object_match_filter' => 0, -+ 'nl_recvmsgs_default' => 0, -+ 'nl_send_auto' => 0, -+ 'nl_send_simple' => 0, -+ 'nl_socket_add_membership' => 0, -+ 'nl_socket_alloc' => 0, -+ 'nl_socket_disable_auto_ack' => 0, -+ 'nl_socket_disable_msg_peek' => 0, -+ 'nl_socket_disable_seq_check' => 0, -+ 'nl_socket_free' => 0, -+ 'nl_socket_get_fd' => 0, -+ 'nl_socket_modify_cb' => 0, -+ 'nl_socket_modify_err_cb' => 0, -+ 'nla_get_string' => 0, -+ 'nla_get_u32' => 0, -+ 'nla_get_u64' => 0, -+ 'nla_get_u8' => 0, -+ 'nla_put' => 0, -+ 'nlmsg_alloc_simple' => 0, -+ 'nlmsg_append' => 0, -+ 'nlmsg_free' => 0, -+ 'nlmsg_hdr' => 0, -+ 'nlmsg_parse' => 0, -+ 'open@GLIBC_2.2.5' => 0, -+ 'openat@GLIBC_2.4' => 0, -+ 'opendir@GLIBC_2.2.5' => 0, -+ 'poll@GLIBC_2.2.5' => 0, -+ 'posix_memalign@GLIBC_2.2.5' => 0, -+ 'pthread_cond_init@GLIBC_2.3.2' => 0, -+ 'pthread_cond_signal@GLIBC_2.3.2' => 0, -+ 'pthread_cond_wait@GLIBC_2.3.2' => 0, -+ 'pthread_mutex_init@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_lock@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_unlock@GLIBC_2.2.5' => 0, -+ 'rand_r@GLIBC_2.2.5' => 0, -+ 'read@GLIBC_2.2.5' => 0, -+ 'readdir@GLIBC_2.2.5' => 0, -+ 'rtnl_link_alloc_cache' => 0, -+ 'rtnl_link_get' => 0, -+ 'rtnl_link_get_addr' => 0, -+ 'rtnl_link_is_vlan' => 0, -+ 'rtnl_link_put' => 0, -+ 'rtnl_link_vlan_get_id' => 0, -+ 'rtnl_neigh_alloc' => 0, -+ 'rtnl_neigh_alloc_cache' => 0, -+ 'rtnl_neigh_get' => 0, -+ 'rtnl_neigh_get_lladdr' => 0, -+ 'rtnl_neigh_put' => 0, -+ 'rtnl_neigh_set_dst' => 0, -+ 'rtnl_neigh_set_ifindex' => 0, -+ 'rtnl_route_alloc_cache' => 0, -+ 'rtnl_route_get_pref_src' => 0, -+ 'rtnl_route_get_type' => 0, -+ 'rtnl_route_nexthop_n' => 0, -+ 'rtnl_route_nh_get_gateway' => 0, -+ 'rtnl_route_nh_get_ifindex' => 0, -+ 'select@GLIBC_2.2.5' => 0, -+ 'sendto@GLIBC_2.2.5' => 0, -+ 'snprintf@GLIBC_2.2.5' => 0, -+ 'socket@GLIBC_2.2.5' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'strcmp@GLIBC_2.2.5' => 0, -+ 'strcpy@GLIBC_2.2.5' => 0, -+ 'strdup@GLIBC_2.2.5' => 0, -+ 'strlen@GLIBC_2.2.5' => 0, -+ 'strndup@GLIBC_2.2.5' => 0, -+ 'strsep@GLIBC_2.2.5' => 0, -+ 'strspn@GLIBC_2.2.5' => 0, -+ 'strstr@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'strtoul@GLIBC_2.2.5' => 0, -+ 'sysconf@GLIBC_2.2.5' => 0, -+ 'time@GLIBC_2.2.5' => 0, -+ 'timerfd_create@GLIBC_2.8' => 0, -+ 'timerfd_settime@GLIBC_2.8' => 0, -+ 'write@GLIBC_2.2.5' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/mlx4.dump b/ABI/mlx4.dump -new file mode 100644 -index 0000000..1b37a99 ---- /dev/null -+++ b/ABI/mlx4.dump -@@ -0,0 +1,3245 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libmlx4.so.1.0.41.0', -+ 'LibraryVersion' => 'mlx4', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libibverbs.so.1' => 1, -+ 'libpthread.so.0' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '182050' => { -+ 'Header' => undef, -+ 'Line' => '1051', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '13294' -+ }, -+ '2' => { -+ 'name' => 'mlx4_qp_attr', -+ 'type' => '111768' -+ } -+ }, -+ 'Return' => '4072', -+ 'ShortName' => 'mlx4dv_create_qp' -+ }, -+ '89173' => { -+ 'Header' => undef, -+ 'Line' => '401', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'attr_type', -+ 'type' => '84975' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '197' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'mlx4dv_set_context_attr' -+ }, -+ '89275' => { -+ 'Header' => undef, -+ 'Line' => '388', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx_in', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'attrs_out', -+ 'type' => '89362' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'mlx4dv_query_device' -+ }, -+ '89368' => { -+ 'Header' => undef, -+ 'Line' => '372', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '89821' -+ }, -+ '1' => { -+ 'name' => 'obj_type', -+ 'type' => '917' -+ } -+ }, -+ 'Return' => '64', -+ 'ShortName' => 'mlx4dv_init_obj' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'mlx4dv_create_qp' => 'mlx4dv_create_qp@@MLX4_1.0', -+ 'mlx4dv_init_obj' => 'mlx4dv_init_obj@@MLX4_1.0', -+ 'mlx4dv_query_device' => 'mlx4dv_query_device@@MLX4_1.0', -+ 'mlx4dv_set_context_attr' => 'mlx4dv_set_context_attr@@MLX4_1.0' -+ }, -+ 'Symbols' => { -+ 'libmlx4.so.1.0.41.0' => { -+ 'mlx4dv_create_qp@@MLX4_1.0' => 1, -+ 'mlx4dv_init_obj@@MLX4_1.0' => 1, -+ 'mlx4dv_query_device@@MLX4_1.0' => 1, -+ 'mlx4dv_set_context_attr@@MLX4_1.0' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '10234' => { -+ 'Header' => undef, -+ 'Line' => '1918', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_dummy1', -+ 'offset' => '0', -+ 'type' => '10418' -+ }, -+ '1' => { -+ 'name' => '_dummy2', -+ 'offset' => '8', -+ 'type' => '10435' -+ } -+ }, -+ 'Name' => 'struct _ibv_device_ops', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10297' => { -+ 'BaseType' => '10303', -+ 'Name' => 'struct ibv_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10303' => { -+ 'Header' => undef, -+ 'Line' => '1928', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_ops', -+ 'offset' => '0', -+ 'type' => '10234' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '16', -+ 'type' => '1296' -+ }, -+ '2' => { -+ 'name' => 'transport_type', -+ 'offset' => '20', -+ 'type' => '1363' -+ }, -+ '3' => { -+ 'name' => 'name', -+ 'offset' => '24', -+ 'type' => '2324' -+ }, -+ '4' => { -+ 'name' => 'dev_name', -+ 'offset' => '88', -+ 'type' => '2324' -+ }, -+ '5' => { -+ 'name' => 'dev_path', -+ 'offset' => '152', -+ 'type' => '10441' -+ }, -+ '6' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '408', -+ 'type' => '10441' -+ } -+ }, -+ 'Name' => 'struct ibv_device', -+ 'Size' => '664', -+ 'Type' => 'Struct' -+ }, -+ '104' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '10418' => { -+ 'Name' => 'struct ibv_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10297' -+ }, -+ '1' => { -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '1706', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10435' => { -+ 'Name' => 'void(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '1706' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10441' => { -+ 'BaseType' => '211', -+ 'Name' => 'char[256]', -+ 'Size' => '256', -+ 'Type' => 'Array' -+ }, -+ '10457' => { -+ 'Header' => undef, -+ 'Line' => '1943', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_compat_query_device', -+ 'offset' => '0', -+ 'type' => '10947' -+ }, -+ '1' => { -+ 'name' => '_compat_query_port', -+ 'offset' => '8', -+ 'type' => '10989' -+ }, -+ '10' => { -+ 'name' => '_compat_create_cq', -+ 'offset' => '80', -+ 'type' => '11000' -+ }, -+ '11' => { -+ 'name' => 'poll_cq', -+ 'offset' => '88', -+ 'type' => '11121' -+ }, -+ '12' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '96', -+ 'type' => '11147' -+ }, -+ '13' => { -+ 'name' => '_compat_cq_event', -+ 'offset' => '104', -+ 'type' => '11000' -+ }, -+ '14' => { -+ 'name' => '_compat_resize_cq', -+ 'offset' => '112', -+ 'type' => '11000' -+ }, -+ '15' => { -+ 'name' => '_compat_destroy_cq', -+ 'offset' => '120', -+ 'type' => '11000' -+ }, -+ '16' => { -+ 'name' => '_compat_create_srq', -+ 'offset' => '128', -+ 'type' => '11000' -+ }, -+ '17' => { -+ 'name' => '_compat_modify_srq', -+ 'offset' => '136', -+ 'type' => '11000' -+ }, -+ '18' => { -+ 'name' => '_compat_query_srq', -+ 'offset' => '144', -+ 'type' => '11000' -+ }, -+ '19' => { -+ 'name' => '_compat_destroy_srq', -+ 'offset' => '152', -+ 'type' => '11000' -+ }, -+ '2' => { -+ 'name' => '_compat_alloc_pd', -+ 'offset' => '16', -+ 'type' => '11000' -+ }, -+ '20' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '160', -+ 'type' => '11178' -+ }, -+ '21' => { -+ 'name' => '_compat_create_qp', -+ 'offset' => '168', -+ 'type' => '11000' -+ }, -+ '22' => { -+ 'name' => '_compat_query_qp', -+ 'offset' => '176', -+ 'type' => '11000' -+ }, -+ '23' => { -+ 'name' => '_compat_modify_qp', -+ 'offset' => '184', -+ 'type' => '11000' -+ }, -+ '24' => { -+ 'name' => '_compat_destroy_qp', -+ 'offset' => '192', -+ 'type' => '11000' -+ }, -+ '25' => { -+ 'name' => 'post_send', -+ 'offset' => '200', -+ 'type' => '11215' -+ }, -+ '26' => { -+ 'name' => 'post_recv', -+ 'offset' => '208', -+ 'type' => '11246' -+ }, -+ '27' => { -+ 'name' => '_compat_create_ah', -+ 'offset' => '216', -+ 'type' => '11000' -+ }, -+ '28' => { -+ 'name' => '_compat_destroy_ah', -+ 'offset' => '224', -+ 'type' => '11000' -+ }, -+ '29' => { -+ 'name' => '_compat_attach_mcast', -+ 'offset' => '232', -+ 'type' => '11000' -+ }, -+ '3' => { -+ 'name' => '_compat_dealloc_pd', -+ 'offset' => '24', -+ 'type' => '11000' -+ }, -+ '30' => { -+ 'name' => '_compat_detach_mcast', -+ 'offset' => '240', -+ 'type' => '11000' -+ }, -+ '31' => { -+ 'name' => '_compat_async_event', -+ 'offset' => '248', -+ 'type' => '11000' -+ }, -+ '4' => { -+ 'name' => '_compat_reg_mr', -+ 'offset' => '32', -+ 'type' => '11000' -+ }, -+ '5' => { -+ 'name' => '_compat_rereg_mr', -+ 'offset' => '40', -+ 'type' => '11000' -+ }, -+ '6' => { -+ 'name' => '_compat_dereg_mr', -+ 'offset' => '48', -+ 'type' => '11000' -+ }, -+ '7' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '56', -+ 'type' => '11026' -+ }, -+ '8' => { -+ 'name' => 'bind_mw', -+ 'offset' => '64', -+ 'type' => '11063' -+ }, -+ '9' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '72', -+ 'type' => '11084' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops', -+ 'Size' => '256', -+ 'Type' => 'Struct' -+ }, -+ '108674' => { -+ 'Header' => undef, -+ 'Line' => '425', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'inl_recv_sz', -+ 'offset' => '8', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_qp_init_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10941' => { -+ 'BaseType' => '1790', -+ 'Name' => 'struct ibv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10947' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_device_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'type' => '10941' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10978' => { -+ 'BaseType' => '10984', -+ 'Name' => 'struct _compat_ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10984' => { -+ 'Name' => 'struct _compat_ibv_port_attr', -+ 'Type' => 'Struct' -+ }, -+ '10989' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct _compat_ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'type' => '881' -+ }, -+ '2' => { -+ 'type' => '10978' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11000' => { -+ 'Name' => 'void*(*)()', -+ 'Return' => '197', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11026' => { -+ 'Name' => 'struct ibv_mw*(*)(struct ibv_pd*, enum ibv_mw_type)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5293' -+ }, -+ '1' => { -+ 'type' => '5299' -+ } -+ }, -+ 'Return' => '7399', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11057' => { -+ 'BaseType' => '7984', -+ 'Name' => 'struct ibv_mw_bind*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11063' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_mw*, struct ibv_mw_bind*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4072' -+ }, -+ '1' => { -+ 'type' => '7399' -+ }, -+ '2' => { -+ 'type' => '11057' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11084' => { -+ 'Name' => 'int(*)(struct ibv_mw*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7399' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11115' => { -+ 'BaseType' => '4726', -+ 'Name' => 'struct ibv_wc*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11121' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '3870' -+ }, -+ '1' => { -+ 'type' => '64' -+ }, -+ '2' => { -+ 'type' => '11115' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11147' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '3870' -+ }, -+ '1' => { -+ 'type' => '64' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '111768' => { -+ 'BaseType' => '108674', -+ 'Name' => 'struct mlx4dv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11178' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4190' -+ }, -+ '1' => { -+ 'type' => '7716' -+ }, -+ '2' => { -+ 'type' => '8066' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11209' => { -+ 'BaseType' => '7633', -+ 'Name' => 'struct ibv_send_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11215' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_send_wr*, struct ibv_send_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4072' -+ }, -+ '1' => { -+ 'type' => '7633' -+ }, -+ '2' => { -+ 'type' => '11209' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11246' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4072' -+ }, -+ '1' => { -+ 'type' => '7716' -+ }, -+ '2' => { -+ 'type' => '8066' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '118' => { -+ 'BaseType' => '97', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '1296' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_NODE_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_NODE_CA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_NODE_SWITCH', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_NODE_ROUTER', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_NODE_RNIC', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_NODE_USNIC', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_NODE_USNIC_UDP', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_NODE_UNSPECIFIED', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_node_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '13294' => { -+ 'BaseType' => '6322', -+ 'Name' => 'struct ibv_qp_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13326' => { -+ 'BaseType' => '905', -+ 'Name' => 'uint32_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1363' => { -+ 'Header' => undef, -+ 'Line' => '106', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_TRANSPORT_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_TRANSPORT_IB', -+ 'value' => '0' -+ }, -+ '2' => { -+ 'name' => 'IBV_TRANSPORT_IWARP', -+ 'value' => '1' -+ }, -+ '3' => { -+ 'name' => 'IBV_TRANSPORT_USNIC', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'IBV_TRANSPORT_USNIC_UDP', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'IBV_TRANSPORT_UNSPECIFIED', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum ibv_transport_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '13650' => { -+ 'BaseType' => '965', -+ 'Name' => '__be32*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '137' => { -+ 'BaseType' => '104', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '1418' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_ATOMIC_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_ATOMIC_HCA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_ATOMIC_GLOB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_atomic_cap', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '149' => { -+ 'BaseType' => '76', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '1587' => { -+ 'Header' => undef, -+ 'Line' => '1986', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '10297' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '10457' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '264', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '268', -+ 'type' => '64' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '272', -+ 'type' => '64' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '280', -+ 'type' => '762' -+ }, -+ '6' => { -+ 'name' => 'abi_compat', -+ 'offset' => '320', -+ 'type' => '197' -+ } -+ }, -+ 'Name' => 'struct ibv_context', -+ 'Size' => '328', -+ 'Type' => 'Struct' -+ }, -+ '161' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1706' => { -+ 'BaseType' => '1587', -+ 'Name' => 'struct ibv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '173' => { -+ 'BaseType' => '83', -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Name' => '__off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1790' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '2324' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '64', -+ 'type' => '977' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '116', -+ 'type' => '76' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '120', -+ 'type' => '64' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '124', -+ 'type' => '64' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '128', -+ 'type' => '64' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '132', -+ 'type' => '64' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '136', -+ 'type' => '64' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '140', -+ 'type' => '64' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '144', -+ 'type' => '64' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '148', -+ 'type' => '64' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '152', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '72', -+ 'type' => '977' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '156', -+ 'type' => '64' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '160', -+ 'type' => '64' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '164', -+ 'type' => '1418' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '168', -+ 'type' => '64' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '172', -+ 'type' => '64' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '176', -+ 'type' => '64' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '180', -+ 'type' => '64' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '184', -+ 'type' => '64' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '188', -+ 'type' => '64' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '192', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '80', -+ 'type' => '917' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '196', -+ 'type' => '64' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '200', -+ 'type' => '64' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '204', -+ 'type' => '64' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '208', -+ 'type' => '64' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '212', -+ 'type' => '64' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '216', -+ 'type' => '64' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '220', -+ 'type' => '64' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '224', -+ 'type' => '893' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '226', -+ 'type' => '881' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '227', -+ 'type' => '881' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '88', -+ 'type' => '917' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '96', -+ 'type' => '905' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '100', -+ 'type' => '905' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '104', -+ 'type' => '905' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '108', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '112', -+ 'type' => '64' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '197' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '211' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '218' => { -+ 'BaseType' => '173', -+ 'Header' => undef, -+ 'Line' => '85', -+ 'Name' => 'off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '2324' => { -+ 'BaseType' => '211', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '3729' => { -+ 'Header' => undef, -+ 'Line' => '1458', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '8940' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '197' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '905' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '64' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '762' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '836' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '905' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_cq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '3870' => { -+ 'BaseType' => '3729', -+ 'Name' => 'struct ibv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3876' => { -+ 'Header' => undef, -+ 'Line' => '1252', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '197' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '762' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '836' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '5293' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '3870' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '3870' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '4190' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '905' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '905' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '6651' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '6098' -+ } -+ }, -+ 'Name' => 'struct ibv_qp', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '4072' => { -+ 'BaseType' => '3876', -+ 'Name' => 'struct ibv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4078' => { -+ 'Header' => undef, -+ 'Line' => '1212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '197' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '5293' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '905' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '762' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '836' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_srq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '4190' => { -+ 'BaseType' => '4078', -+ 'Name' => 'struct ibv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4196' => { -+ 'Header' => undef, -+ 'Line' => '1234', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'wq_context', -+ 'offset' => '8', -+ 'type' => '197' -+ }, -+ '10' => { -+ 'name' => 'cond', -+ 'offset' => '96', -+ 'type' => '836' -+ }, -+ '11' => { -+ 'name' => 'events_completed', -+ 'offset' => '144', -+ 'type' => '905' -+ }, -+ '12' => { -+ 'name' => 'comp_mask', -+ 'offset' => '148', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '5293' -+ }, -+ '3' => { -+ 'name' => 'cq', -+ 'offset' => '24', -+ 'type' => '3870' -+ }, -+ '4' => { -+ 'name' => 'wq_num', -+ 'offset' => '32', -+ 'type' => '905' -+ }, -+ '5' => { -+ 'name' => 'handle', -+ 'offset' => '36', -+ 'type' => '905' -+ }, -+ '6' => { -+ 'name' => 'state', -+ 'offset' => '40', -+ 'type' => '5835' -+ }, -+ '7' => { -+ 'name' => 'wq_type', -+ 'offset' => '44', -+ 'type' => '5684' -+ }, -+ '8' => { -+ 'name' => 'post_recv', -+ 'offset' => '48', -+ 'type' => '8072' -+ }, -+ '9' => { -+ 'name' => 'mutex', -+ 'offset' => '56', -+ 'type' => '762' -+ } -+ }, -+ 'Name' => 'struct ibv_wq', -+ 'Size' => '152', -+ 'Type' => 'Struct' -+ }, -+ '4391' => { -+ 'BaseType' => '4196', -+ 'Name' => 'struct ibv_wq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4397' => { -+ 'Header' => undef, -+ 'Line' => '483', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SUCCESS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_LOC_LEN_ERR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_REM_ACCESS_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_REM_OP_ERR', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_RETRY_EXC_ERR', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_RNR_RETRY_EXC_ERR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_LOC_RDD_VIOL_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_REM_INV_RD_REQ_ERR', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_REM_ABORT_ERR', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_INV_EECN_ERR', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_WC_INV_EEC_STATE_ERR', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_WC_FATAL_ERR', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_LOC_QP_OP_ERR', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IBV_WC_RESP_TIMEOUT_ERR', -+ 'value' => '20' -+ }, -+ '21' => { -+ 'name' => 'IBV_WC_GENERAL_ERR', -+ 'value' => '21' -+ }, -+ '22' => { -+ 'name' => 'IBV_WC_TM_ERR', -+ 'value' => '22' -+ }, -+ '23' => { -+ 'name' => 'IBV_WC_TM_RNDV_INCOMPLETE', -+ 'value' => '23' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_LOC_EEC_OP_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_LOC_PROT_ERR', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_WR_FLUSH_ERR', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_MW_BIND_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_BAD_RESP_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_LOC_ACCESS_ERR', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_REM_INV_REQ_ERR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '45' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '4561' => { -+ 'Header' => undef, -+ 'Line' => '511', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SEND', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_RDMA_WRITE', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_TM_ADD', -+ 'value' => '130' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_TM_DEL', -+ 'value' => '131' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_TM_SYNC', -+ 'value' => '132' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_TM_RECV', -+ 'value' => '133' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_TM_NO_TAG', -+ 'value' => '134' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_DRIVER1', -+ 'value' => '135' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_DRIVER2', -+ 'value' => '136' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_DRIVER3', -+ 'value' => '137' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_RDMA_READ', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_COMP_SWAP', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_FETCH_ADD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_BIND_MW', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_LOCAL_INV', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_TSO', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_RECV', -+ 'value' => '128' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_RECV_RDMA_WITH_IMM', -+ 'value' => '129' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '4689' => { -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '965' -+ }, -+ '1' => { -+ 'name' => 'invalidated_rkey', -+ 'offset' => '0', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '4726' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'status', -+ 'offset' => '8', -+ 'type' => '4397' -+ }, -+ '10' => { -+ 'name' => 'slid', -+ 'offset' => '42', -+ 'type' => '893' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '44', -+ 'type' => '881' -+ }, -+ '12' => { -+ 'name' => 'dlid_path_bits', -+ 'offset' => '45', -+ 'type' => '881' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '12', -+ 'type' => '4561' -+ }, -+ '3' => { -+ 'name' => 'vendor_err', -+ 'offset' => '16', -+ 'type' => '905' -+ }, -+ '4' => { -+ 'name' => 'byte_len', -+ 'offset' => '20', -+ 'type' => '905' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '4689' -+ }, -+ '6' => { -+ 'name' => 'qp_num', -+ 'offset' => '28', -+ 'type' => '905' -+ }, -+ '7' => { -+ 'name' => 'src_qp', -+ 'offset' => '32', -+ 'type' => '905' -+ }, -+ '8' => { -+ 'name' => 'wc_flags', -+ 'offset' => '36', -+ 'type' => '76' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '40', -+ 'type' => '893' -+ } -+ }, -+ 'Name' => 'struct ibv_wc', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '4914' => { -+ 'Header' => undef, -+ 'Line' => '619', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '917' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '917' -+ }, -+ '3' => { -+ 'name' => 'mw_access_flags', -+ 'offset' => '24', -+ 'type' => '76' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind_info', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '4989' => { -+ 'Header' => undef, -+ 'Line' => '662', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '5293' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '16', -+ 'type' => '197' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '45' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '905' -+ }, -+ '5' => { -+ 'name' => 'lkey', -+ 'offset' => '36', -+ 'type' => '905' -+ }, -+ '6' => { -+ 'name' => 'rkey', -+ 'offset' => '40', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '5101' => { -+ 'BaseType' => '4989', -+ 'Name' => 'struct ibv_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5107' => { -+ 'Header' => undef, -+ 'Line' => '626', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '516' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '5264' => { -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '5293' => { -+ 'BaseType' => '5107', -+ 'Name' => 'struct ibv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5299' => { -+ 'Header' => undef, -+ 'Line' => '672', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MW_TYPE_1', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MW_TYPE_2', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mw_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '5331' => { -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '5293' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '16', -+ 'type' => '905' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '20', -+ 'type' => '905' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '24', -+ 'type' => '5299' -+ } -+ }, -+ 'Name' => 'struct ibv_mw', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '5678' => { -+ 'BaseType' => '5264', -+ 'Name' => 'struct ibv_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5684' => { -+ 'Header' => undef, -+ 'Line' => '814', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQT_RQ', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '57' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '5835' => { -+ 'Header' => undef, -+ 'Line' => '842', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WQS_RDY', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_WQS_ERR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WQS_UNKNOWN', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '5964' => { -+ 'Header' => undef, -+ 'Line' => '874', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '6098' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPT_RC', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPT_UC', -+ 'value' => '3' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPT_UD', -+ 'value' => '4' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPT_RAW_PACKET', -+ 'value' => '8' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPT_XRC_SEND', -+ 'value' => '9' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPT_XRC_RECV', -+ 'value' => '10' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPT_DRIVER', -+ 'value' => '255' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6160' => { -+ 'Header' => undef, -+ 'Line' => '905', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '0', -+ 'type' => '905' -+ }, -+ '1' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '4', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '8', -+ 'type' => '905' -+ }, -+ '3' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '12', -+ 'type' => '905' -+ }, -+ '4' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '16', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_cap', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '6245' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '0', -+ 'type' => '881' -+ }, -+ '1' => { -+ 'name' => 'rx_hash_key_len', -+ 'offset' => '1', -+ 'type' => '881' -+ }, -+ '2' => { -+ 'name' => 'rx_hash_key', -+ 'offset' => '8', -+ 'type' => '6316' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '917' -+ } -+ }, -+ 'Name' => 'struct ibv_rx_hash_conf', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '6316' => { -+ 'BaseType' => '881', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6322' => { -+ 'Header' => undef, -+ 'Line' => '964', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '3870' -+ }, -+ '10' => { -+ 'name' => 'create_flags', -+ 'offset' => '80', -+ 'type' => '905' -+ }, -+ '11' => { -+ 'name' => 'max_tso_header', -+ 'offset' => '84', -+ 'type' => '893' -+ }, -+ '12' => { -+ 'name' => 'rwq_ind_tbl', -+ 'offset' => '88', -+ 'type' => '6560' -+ }, -+ '13' => { -+ 'name' => 'rx_hash_conf', -+ 'offset' => '96', -+ 'type' => '6245' -+ }, -+ '14' => { -+ 'name' => 'source_qpn', -+ 'offset' => '120', -+ 'type' => '905' -+ }, -+ '15' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '128', -+ 'type' => '917' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '3870' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '4190' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '6160' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '6098' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '64' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '60', -+ 'type' => '905' -+ }, -+ '8' => { -+ 'name' => 'pd', -+ 'offset' => '64', -+ 'type' => '5293' -+ }, -+ '9' => { -+ 'name' => 'xrcd', -+ 'offset' => '72', -+ 'type' => '5678' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_ex', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '64' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '6560' => { -+ 'BaseType' => '5964', -+ 'Name' => 'struct ibv_rwq_ind_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6651' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPS_INIT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPS_RTR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPS_RTS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPS_SQD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPS_SQE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPS_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_QPS_UNKNOWN', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6790' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_RDMA_WRITE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_RDMA_WRITE_WITH_IMM', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WR_TSO', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WR_DRIVER1', -+ 'value' => '11' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_SEND', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WR_SEND_WITH_IMM', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WR_RDMA_READ', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WR_ATOMIC_CMP_AND_SWP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WR_ATOMIC_FETCH_AND_ADD', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WR_LOCAL_INV', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WR_BIND_MW', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WR_SEND_WITH_INV', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6930' => { -+ 'Header' => undef, -+ 'Line' => '1114', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'lkey', -+ 'offset' => '12', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_sge', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '6992' => { -+ 'Header' => undef, -+ 'Line' => '1130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '965' -+ }, -+ '1' => { -+ 'name' => 'invalidate_rkey', -+ 'offset' => '0', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '7029' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '7068' => { -+ 'Header' => undef, -+ 'Line' => '1139', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '917' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '917' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '7135' => { -+ 'Header' => undef, -+ 'Line' => '1145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '7243' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '7187' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '5293' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '905' -+ } -+ }, -+ 'Name' => 'struct ibv_ah', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '7243' => { -+ 'BaseType' => '7187', -+ 'Name' => 'struct ibv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7249' => { -+ 'Header' => undef, -+ 'Line' => '1134', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '7029' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '7068' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '7135' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '7298' => { -+ 'Header' => undef, -+ 'Line' => '1152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_srqn', -+ 'offset' => '0', -+ 'type' => '905' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '7323' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrc', -+ 'offset' => '0', -+ 'type' => '7298' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '7347' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw', -+ 'offset' => '0', -+ 'type' => '7399' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '4914' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '7399' => { -+ 'BaseType' => '5331', -+ 'Name' => 'struct ibv_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7405' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'hdr_sz', -+ 'offset' => '8', -+ 'type' => '893' -+ }, -+ '2' => { -+ 'name' => 'mss', -+ 'offset' => '10', -+ 'type' => '893' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '7458' => { -+ 'Header' => undef, -+ 'Line' => '1156', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bind_mw', -+ 'offset' => '0', -+ 'type' => '7347' -+ }, -+ '1' => { -+ 'name' => 'tso', -+ 'offset' => '0', -+ 'type' => '7405' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '7495' => { -+ 'Header' => undef, -+ 'Line' => '1120', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '7633' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '7639' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '64' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '6790' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '76' -+ }, -+ '6' => { -+ 'name' => 'unnamed0', -+ 'offset' => '36', -+ 'type' => '6992' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '7249' -+ }, -+ '8' => { -+ 'name' => 'qp_type', -+ 'offset' => '72', -+ 'type' => '7323' -+ }, -+ '9' => { -+ 'name' => 'unnamed1', -+ 'offset' => '80', -+ 'type' => '7458' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '76' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '7633' => { -+ 'BaseType' => '7495', -+ 'Name' => 'struct ibv_send_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7639' => { -+ 'BaseType' => '6930', -+ 'Name' => 'struct ibv_sge*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7645' => { -+ 'Header' => undef, -+ 'Line' => '1170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '7716' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '7639' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '64' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '7716' => { -+ 'BaseType' => '7645', -+ 'Name' => 'struct ibv_recv_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7984' => { -+ 'Header' => undef, -+ 'Line' => '1206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '917' -+ }, -+ '1' => { -+ 'name' => 'send_flags', -+ 'offset' => '8', -+ 'type' => '76' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '4914' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '8066' => { -+ 'BaseType' => '7716', -+ 'Name' => 'struct ibv_recv_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8072' => { -+ 'Name' => 'int(*)(struct ibv_wq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4391' -+ }, -+ '1' => { -+ 'type' => '7716' -+ }, -+ '2' => { -+ 'type' => '8066' -+ } -+ }, -+ 'Return' => '64', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '83' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '83900' => { -+ 'Header' => undef, -+ 'Line' => '161', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '0', -+ 'type' => '905' -+ }, -+ '1' => { -+ 'name' => 'wqe_shift', -+ 'offset' => '4', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'offset' => '8', -+ 'type' => '64' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '83949' => { -+ 'Header' => undef, -+ 'Line' => '166', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '0', -+ 'type' => '905' -+ }, -+ '1' => { -+ 'name' => 'wqe_shift', -+ 'offset' => '4', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'offset' => '8', -+ 'type' => '64' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '83998' => { -+ 'Header' => undef, -+ 'Line' => '171', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '45' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84034' => { -+ 'Header' => undef, -+ 'Line' => '157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdb', -+ 'offset' => '0', -+ 'type' => '13650' -+ }, -+ '1' => { -+ 'name' => 'sdb', -+ 'offset' => '8', -+ 'type' => '13326' -+ }, -+ '2' => { -+ 'name' => 'doorbell_qpn', -+ 'offset' => '16', -+ 'type' => '965' -+ }, -+ '3' => { -+ 'name' => 'sq', -+ 'offset' => '20', -+ 'type' => '83900' -+ }, -+ '4' => { -+ 'name' => 'rq', -+ 'offset' => '32', -+ 'type' => '83949' -+ }, -+ '5' => { -+ 'name' => 'buf', -+ 'offset' => '48', -+ 'type' => '83998' -+ }, -+ '6' => { -+ 'name' => 'comp_mask', -+ 'offset' => '64', -+ 'type' => '917' -+ }, -+ '7' => { -+ 'name' => 'uar_mmap_offset', -+ 'offset' => '72', -+ 'type' => '218' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_qp', -+ 'Size' => '80', -+ 'Type' => 'Struct' -+ }, -+ '84181' => { -+ 'Header' => undef, -+ 'Line' => '184', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '45' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84217' => { -+ 'Header' => undef, -+ 'Line' => '183', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '84181' -+ }, -+ '1' => { -+ 'name' => 'cqe_cnt', -+ 'offset' => '16', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'cqn', -+ 'offset' => '20', -+ 'type' => '905' -+ }, -+ '3' => { -+ 'name' => 'set_ci_db', -+ 'offset' => '24', -+ 'type' => '13650' -+ }, -+ '4' => { -+ 'name' => 'arm_db', -+ 'offset' => '32', -+ 'type' => '13650' -+ }, -+ '5' => { -+ 'name' => 'arm_sn', -+ 'offset' => '40', -+ 'type' => '64' -+ }, -+ '6' => { -+ 'name' => 'cqe_size', -+ 'offset' => '44', -+ 'type' => '64' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '917' -+ }, -+ '8' => { -+ 'name' => 'cq_uar', -+ 'offset' => '56', -+ 'type' => '197' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_cq', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '84348' => { -+ 'Header' => undef, -+ 'Line' => '199', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '45' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84384' => { -+ 'Header' => undef, -+ 'Line' => '198', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '84348' -+ }, -+ '1' => { -+ 'name' => 'wqe_shift', -+ 'offset' => '16', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'head', -+ 'offset' => '20', -+ 'type' => '64' -+ }, -+ '3' => { -+ 'name' => 'tail', -+ 'offset' => '24', -+ 'type' => '64' -+ }, -+ '4' => { -+ 'name' => 'db', -+ 'offset' => '32', -+ 'type' => '13650' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '917' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_srq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '84475' => { -+ 'Header' => undef, -+ 'Line' => '212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '0', -+ 'type' => '905' -+ }, -+ '1' => { -+ 'name' => 'wqe_shift', -+ 'offset' => '4', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'offset' => '8', -+ 'type' => '64' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '84524' => { -+ 'Header' => undef, -+ 'Line' => '217', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '197' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '45' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84560' => { -+ 'Header' => undef, -+ 'Line' => '210', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdb', -+ 'offset' => '0', -+ 'type' => '13650' -+ }, -+ '1' => { -+ 'name' => 'rq', -+ 'offset' => '8', -+ 'type' => '84475' -+ }, -+ '2' => { -+ 'name' => 'buf', -+ 'offset' => '24', -+ 'type' => '84524' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '917' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_rwq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '84625' => { -+ 'Header' => undef, -+ 'Line' => '225', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '4072' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '84660' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84660' => { -+ 'BaseType' => '84034', -+ 'Name' => 'struct mlx4dv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '84666' => { -+ 'Header' => undef, -+ 'Line' => '229', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '3870' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '84701' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84701' => { -+ 'BaseType' => '84217', -+ 'Name' => 'struct mlx4dv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '84707' => { -+ 'Header' => undef, -+ 'Line' => '233', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '4190' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '84742' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84742' => { -+ 'BaseType' => '84384', -+ 'Name' => 'struct mlx4dv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '84748' => { -+ 'Header' => undef, -+ 'Line' => '237', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '4391' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '84783' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84783' => { -+ 'BaseType' => '84560', -+ 'Name' => 'struct mlx4dv_rwq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '84789' => { -+ 'Header' => undef, -+ 'Line' => '224', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '84625' -+ }, -+ '1' => { -+ 'name' => 'cq', -+ 'offset' => '16', -+ 'type' => '84666' -+ }, -+ '2' => { -+ 'name' => 'srq', -+ 'offset' => '32', -+ 'type' => '84707' -+ }, -+ '3' => { -+ 'name' => 'rwq', -+ 'offset' => '48', -+ 'type' => '84748' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_obj', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '84918' => { -+ 'Header' => undef, -+ 'Line' => '437', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'version', -+ 'offset' => '0', -+ 'type' => '881' -+ }, -+ '1' => { -+ 'name' => 'max_inl_recv_sz', -+ 'offset' => '4', -+ 'type' => '905' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '917' -+ } -+ }, -+ 'Name' => 'struct mlx4dv_context', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '84975' => { -+ 'Header' => undef, -+ 'Line' => '539', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX4DV_SET_CTX_ATTR_LOG_WQS_RANGE_SZ', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx4dv_set_ctx_attr_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '881' => { -+ 'BaseType' => '118', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '8884' => { -+ 'Header' => undef, -+ 'Line' => '1452', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '1706' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'refcnt', -+ 'offset' => '12', -+ 'type' => '64' -+ } -+ }, -+ 'Name' => 'struct ibv_comp_channel', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '893' => { -+ 'BaseType' => '137', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '89362' => { -+ 'BaseType' => '84918', -+ 'Name' => 'struct mlx4dv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8940' => { -+ 'BaseType' => '8884', -+ 'Name' => 'struct ibv_comp_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '89821' => { -+ 'BaseType' => '84789', -+ 'Name' => 'struct mlx4dv_obj*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '905' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '917' => { -+ 'BaseType' => '161', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '941' => { -+ 'BaseType' => '76', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '953' => { -+ 'BaseType' => '516', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '965' => { -+ 'BaseType' => '941', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '97' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '977' => { -+ 'BaseType' => '953', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libmlx4.so.1.0.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__gmon_start__' => 0, -+ '__printf_chk@GLIBC_2.3.4' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '_verbs_init_and_alloc_context@IBVERBS_PRIVATE_34' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'fwrite@GLIBC_2.2.5' => 0, -+ 'ibv_cmd_alloc_mw@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_alloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_attach_mcast@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_close_xrcd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_cq_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_flow@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_qp_ex2@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_qp_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_rwq_ind_table@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_srq_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dealloc_mw@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dealloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dereg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_flow@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_rwq_ind_table@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_detach_mcast@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_get_context@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_open_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_open_xrcd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_device_any@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_port@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_rereg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_resize_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_dofork_range@IBVERBS_1.1' => 0, -+ 'ibv_dontfork_range@IBVERBS_1.1' => 0, -+ 'ibv_query_device@IBVERBS_1.1' => 0, -+ 'ibv_query_gid@IBVERBS_1.1' => 0, -+ 'ibv_query_port@IBVERBS_1.1' => 0, -+ 'ibv_resolve_eth_l2_from_gid@IBVERBS_1.1' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'memset@GLIBC_2.2.5' => 0, -+ 'mmap@GLIBC_2.2.5' => 0, -+ 'munmap@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_init@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_lock@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_unlock@GLIBC_2.2.5' => 0, -+ 'pthread_spin_init@GLIBC_2.2.5' => 0, -+ 'pthread_spin_lock@GLIBC_2.2.5' => 0, -+ 'pthread_spin_unlock@GLIBC_2.2.5' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'sysconf@GLIBC_2.2.5' => 0, -+ 'verbs_register_driver_34@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_set_ops@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_uninit_context@IBVERBS_PRIVATE_34' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/mlx5.dump b/ABI/mlx5.dump -new file mode 100644 -index 0000000..180d00c ---- /dev/null -+++ b/ABI/mlx5.dump -@@ -0,0 +1,15572 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'libmlx5.so.1.23.41.0', -+ 'LibraryVersion' => 'mlx5', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'libc.so.6' => 1, -+ 'libibverbs.so.1' => 1, -+ 'libpthread.so.0' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '1162516' => { -+ 'Header' => undef, -+ 'Line' => '5526', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '267' -+ }, -+ '2' => { -+ 'name' => 'size', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'access', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '29560', -+ 'ShortName' => 'mlx5dv_devx_umem_reg' -+ }, -+ '1162721' => { -+ 'Header' => undef, -+ 'Line' => '5559', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_devx_umem', -+ 'type' => '29560' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_umem_dereg' -+ }, -+ '1184828' => { -+ 'Header' => undef, -+ 'Line' => '5804', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'info', -+ 'type' => '30859' -+ }, -+ '3' => { -+ 'name' => 'info_len', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => '_mlx5dv_query_port' -+ }, -+ '1253335' => { -+ 'Header' => undef, -+ 'Line' => '6014', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_qp_query' -+ }, -+ '1253463' => { -+ 'Header' => undef, -+ 'Line' => '6062', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_qp_modify' -+ }, -+ '1262050' => { -+ 'Header' => undef, -+ 'Line' => '2301', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '11342' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '1256719' -+ } -+ }, -+ 'Return' => '2938', -+ 'ShortName' => 'mlx5dv_open_device' -+ }, -+ '1262239' => { -+ 'Header' => undef, -+ 'Line' => '2295', -+ 'Param' => { -+ '0' => { -+ 'name' => 'device', -+ 'type' => '11342' -+ } -+ }, -+ 'Return' => '2098', -+ 'ShortName' => 'mlx5dv_is_supported' -+ }, -+ '1262738' => { -+ 'Header' => undef, -+ 'Line' => '2195', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibv_ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'type', -+ 'type' => '20910' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '267' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_set_context_attr' -+ }, -+ '1263705' => { -+ 'Header' => undef, -+ 'Line' => '2109', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '29971' -+ }, -+ '1' => { -+ 'name' => 'obj_type', -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => '__mlx5dv_init_obj_1_0' -+ }, -+ '1263764' => { -+ 'Alias' => '__mlx5dv_init_obj_1_2', -+ 'Header' => undef, -+ 'Line' => '2090', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '29971' -+ }, -+ '1' => { -+ 'name' => 'obj_type', -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_init_obj' -+ }, -+ '1264765' => { -+ 'Header' => undef, -+ 'Line' => '2037', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'qpn', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_reserved_qpn_dealloc' -+ }, -+ '1265771' => { -+ 'Header' => undef, -+ 'Line' => '1984', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'qpn', -+ 'type' => '14364' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_reserved_qpn_alloc' -+ }, -+ '1268088' => { -+ 'Header' => undef, -+ 'Line' => '1842', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'requestor', -+ 'type' => '30702' -+ }, -+ '2' => { -+ 'name' => 'responder', -+ 'type' => '30702' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_modify_qp_sched_elem' -+ }, -+ '1271341' => { -+ 'Header' => undef, -+ 'Line' => '1715', -+ 'Param' => { -+ '0' => { -+ 'name' => 'leaf', -+ 'type' => '30571' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_sched_leaf_destroy' -+ }, -+ '1271560' => { -+ 'Header' => undef, -+ 'Line' => '1693', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node', -+ 'type' => '21628' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_sched_node_destroy' -+ }, -+ '1271779' => { -+ 'Header' => undef, -+ 'Line' => '1670', -+ 'Param' => { -+ '0' => { -+ 'name' => 'leaf', -+ 'type' => '30571' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '30539' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_sched_leaf_modify' -+ }, -+ '1271960' => { -+ 'Header' => undef, -+ 'Line' => '1642', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node', -+ 'type' => '21628' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '30539' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_sched_node_modify' -+ }, -+ '1272141' => { -+ 'Header' => undef, -+ 'Line' => '1612', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '30539' -+ } -+ }, -+ 'Return' => '30571', -+ 'ShortName' => 'mlx5dv_sched_leaf_create' -+ }, -+ '1272386' => { -+ 'Header' => undef, -+ 'Line' => '1561', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '30539' -+ } -+ }, -+ 'Return' => '21628', -+ 'ShortName' => 'mlx5dv_sched_node_create' -+ }, -+ '1275854' => { -+ 'Header' => undef, -+ 'Line' => '1369', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'stream_id', -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dci_stream_id_reset' -+ }, -+ '1276845' => { -+ 'Header' => undef, -+ 'Line' => '1359', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'udp_sport', -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_modify_qp_udp_sport' -+ }, -+ '1277737' => { -+ 'Header' => undef, -+ 'Line' => '1320', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_modify_qp_lag_port' -+ }, -+ '1278870' => { -+ 'Header' => undef, -+ 'Line' => '1242', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'port_num', -+ 'type' => '7345' -+ }, -+ '2' => { -+ 'name' => 'active_port_num', -+ 'type' => '7345' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_query_qp_lag_port' -+ }, -+ '1281928' => { -+ 'Header' => undef, -+ 'Line' => '973', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx_in', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'attrs_out', -+ 'type' => '30424' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_query_device' -+ }, -+ '1355191' => { -+ 'Header' => undef, -+ 'Line' => '3540', -+ 'Param' => { -+ '0' => { -+ 'name' => 'attr', -+ 'type' => '1355913' -+ } -+ }, -+ 'Return' => '1355907', -+ 'ShortName' => 'mlx5dv_get_vfio_device_list' -+ }, -+ '1355931' => { -+ 'Header' => undef, -+ 'Line' => '3520', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibctx', -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_vfio_process_events' -+ }, -+ '1359784' => { -+ 'Header' => undef, -+ 'Line' => '3513', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibctx', -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_vfio_get_events_fd' -+ }, -+ '1480084' => { -+ 'Header' => undef, -+ 'Line' => '4164', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_qp', -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'name' => 'wr_id', -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_qp_cancel_posted_send_wrs' -+ }, -+ '1665899' => { -+ 'Header' => undef, -+ 'Line' => '7441', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dveq', -+ 'type' => '30980' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_destroy_eq' -+ }, -+ '1666033' => { -+ 'Header' => undef, -+ 'Line' => '7428', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '30980', -+ 'ShortName' => 'mlx5dv_devx_create_eq' -+ }, -+ '1666280' => { -+ 'Header' => undef, -+ 'Line' => '7415', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dvmsi', -+ 'type' => '30912' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_free_msi_vector' -+ }, -+ '1666415' => { -+ 'Header' => undef, -+ 'Line' => '7403', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibctx', -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '30912', -+ 'ShortName' => 'mlx5dv_devx_alloc_msi_vector' -+ }, -+ '1666551' => { -+ 'Header' => undef, -+ 'Line' => '7391', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_pp', -+ 'type' => '29922' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_pp_free' -+ }, -+ '1667101' => { -+ 'Header' => undef, -+ 'Line' => '7358', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'pp_context_sz', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'pp_context', -+ 'type' => '1980' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '29922', -+ 'ShortName' => 'mlx5dv_pp_alloc' -+ }, -+ '1668793' => { -+ 'Header' => undef, -+ 'Line' => '7299', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_var', -+ 'type' => '29863' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_free_var' -+ }, -+ '1669343' => { -+ 'Header' => undef, -+ 'Line' => '7270', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '29863', -+ 'ShortName' => 'mlx5dv_alloc_var' -+ }, -+ '1670832' => { -+ 'Header' => undef, -+ 'Line' => '7213', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dek', -+ 'type' => '17626' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dek_destroy' -+ }, -+ '1671051' => { -+ 'Header' => undef, -+ 'Line' => '7189', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dek', -+ 'type' => '17626' -+ }, -+ '1' => { -+ 'name' => 'dek_attr', -+ 'type' => '29810' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dek_query' -+ }, -+ '1671970' => { -+ 'Header' => undef, -+ 'Line' => '7136', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'init_attr', -+ 'type' => '29778' -+ } -+ }, -+ 'Return' => '17626', -+ 'ShortName' => 'mlx5dv_dek_create' -+ }, -+ '1673345' => { -+ 'Header' => undef, -+ 'Line' => '7053', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_crypto_logout' -+ }, -+ '1673661' => { -+ 'Header' => undef, -+ 'Line' => '7020', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'state', -+ 'type' => '29725' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_crypto_login_query_state' -+ }, -+ '1674899' => { -+ 'Header' => undef, -+ 'Line' => '6957', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'login_attr', -+ 'type' => '29693' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_crypto_login' -+ }, -+ '1676286' => { -+ 'Header' => undef, -+ 'Line' => '6840', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_mkey', -+ 'type' => '17946' -+ }, -+ '1' => { -+ 'name' => 'err_info', -+ 'type' => '1676566' -+ }, -+ '2' => { -+ 'name' => 'err_info_size', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => '_mlx5dv_mkey_check' -+ }, -+ '1676656' => { -+ 'Header' => undef, -+ 'Line' => '6779', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_mkey', -+ 'type' => '17946' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_destroy_mkey' -+ }, -+ '1677121' => { -+ 'Header' => undef, -+ 'Line' => '6740', -+ 'Param' => { -+ '0' => { -+ 'name' => 'mkey_init_attr', -+ 'type' => '29640' -+ } -+ }, -+ 'Return' => '17946', -+ 'ShortName' => 'mlx5dv_create_mkey' -+ }, -+ '1680318' => { -+ 'Header' => undef, -+ 'Line' => '6624', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event_channel', -+ 'type' => '29249' -+ }, -+ '1' => { -+ 'name' => 'event_data', -+ 'type' => '29469' -+ }, -+ '2' => { -+ 'name' => 'event_resp_len', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '1933', -+ 'ShortName' => 'mlx5dv_devx_get_event' -+ }, -+ '1680985' => { -+ 'Header' => undef, -+ 'Line' => '6510', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cmd_comp', -+ 'type' => '29200' -+ }, -+ '1' => { -+ 'name' => 'cmd_resp', -+ 'type' => '29432' -+ }, -+ '2' => { -+ 'name' => 'cmd_resp_len', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_get_async_cmd_comp' -+ }, -+ '1681345' => { -+ 'Header' => undef, -+ 'Line' => '6480', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ }, -+ '4' => { -+ 'name' => 'wr_id', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'cmd_comp', -+ 'type' => '29200' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_obj_query_async' -+ }, -+ '1682907' => { -+ 'Header' => undef, -+ 'Line' => '6444', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_event_channel', -+ 'type' => '29249' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ }, -+ '3' => { -+ 'name' => 'event_num', -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_subscribe_devx_event_fd' -+ }, -+ '1684210' => { -+ 'Header' => undef, -+ 'Line' => '6402', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_event_channel', -+ 'type' => '29249' -+ }, -+ '1' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ }, -+ '2' => { -+ 'name' => 'events_sz', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'events_num', -+ 'type' => '29313' -+ }, -+ '4' => { -+ 'name' => 'cookie', -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_subscribe_devx_event' -+ }, -+ '1685586' => { -+ 'Header' => undef, -+ 'Line' => '6363', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_event_channel', -+ 'type' => '29249' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_devx_destroy_event_channel' -+ }, -+ '1685821' => { -+ 'Header' => undef, -+ 'Line' => '6339', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '15599' -+ } -+ }, -+ 'Return' => '29249', -+ 'ShortName' => 'mlx5dv_devx_create_event_channel' -+ }, -+ '1686800' => { -+ 'Header' => undef, -+ 'Line' => '6295', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cmd_comp', -+ 'type' => '29200' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_devx_destroy_cmd_comp' -+ }, -+ '1686952' => { -+ 'Header' => undef, -+ 'Line' => '6276', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '29200', -+ 'ShortName' => 'mlx5dv_devx_create_cmd_comp' -+ }, -+ '1687672' => { -+ 'Header' => undef, -+ 'Line' => '6230', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ind_tbl', -+ 'type' => '7589' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_ind_tbl_modify' -+ }, -+ '1688929' => { -+ 'Header' => undef, -+ 'Line' => '6203', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ind_tbl', -+ 'type' => '7589' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_ind_tbl_query' -+ }, -+ '1690186' => { -+ 'Header' => undef, -+ 'Line' => '6175', -+ 'Param' => { -+ '0' => { -+ 'name' => 'wq', -+ 'type' => '5420' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_wq_modify' -+ }, -+ '1691441' => { -+ 'Header' => undef, -+ 'Line' => '6149', -+ 'Param' => { -+ '0' => { -+ 'name' => 'wq', -+ 'type' => '5420' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_wq_query' -+ }, -+ '1692696' => { -+ 'Header' => undef, -+ 'Line' => '6123', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '5219' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_srq_modify' -+ }, -+ '1693953' => { -+ 'Header' => undef, -+ 'Line' => '6097', -+ 'Param' => { -+ '0' => { -+ 'name' => 'srq', -+ 'type' => '5219' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_srq_query' -+ }, -+ '1698172' => { -+ 'Header' => undef, -+ 'Line' => '5988', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '4899' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_cq_modify' -+ }, -+ '1699427' => { -+ 'Header' => undef, -+ 'Line' => '5962', -+ 'Param' => { -+ '0' => { -+ 'name' => 'cq', -+ 'type' => '4899' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_cq_query' -+ }, -+ '1700682' => { -+ 'Header' => undef, -+ 'Line' => '5936', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'vector', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'eqn', -+ 'type' => '14364' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_query_eqn' -+ }, -+ '1713573' => { -+ 'Header' => undef, -+ 'Line' => '5513', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'umem_in', -+ 'type' => '29592' -+ } -+ }, -+ 'Return' => '29560', -+ 'ShortName' => 'mlx5dv_devx_umem_reg_ex' -+ }, -+ '1715766' => { -+ 'Header' => undef, -+ 'Line' => '5415', -+ 'Param' => { -+ '0' => { -+ 'name' => 'flow_matcher', -+ 'type' => '30312' -+ }, -+ '1' => { -+ 'name' => 'match_value', -+ 'type' => '18881' -+ }, -+ '2' => { -+ 'name' => 'num_actions', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'actions_attr', -+ 'type' => '30386' -+ } -+ }, -+ 'Return' => '13536', -+ 'ShortName' => 'mlx5dv_create_flow' -+ }, -+ '1727774' => { -+ 'Header' => undef, -+ 'Line' => '4833', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dm', -+ 'type' => '2974' -+ }, -+ '1' => { -+ 'name' => 'op', -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '267', -+ 'ShortName' => 'mlx5dv_dm_map_op_addr' -+ }, -+ '1733579' => { -+ 'Header' => undef, -+ 'Line' => '4574', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'esp', -+ 'type' => '13721' -+ }, -+ '2' => { -+ 'name' => 'mlx5_attr', -+ 'type' => '30203' -+ } -+ }, -+ 'Return' => '13715', -+ 'ShortName' => 'mlx5dv_create_flow_action_esp' -+ }, -+ '1738360' => { -+ 'Header' => undef, -+ 'Line' => '4255', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '14092' -+ }, -+ '2' => { -+ 'name' => 'mlx5_wq_attr', -+ 'type' => '30103' -+ } -+ }, -+ 'Return' => '5420', -+ 'ShortName' => 'mlx5dv_create_wq' -+ }, -+ '1750041' => { -+ 'Header' => undef, -+ 'Line' => '3354', -+ 'Param' => { -+ '0' => { -+ 'name' => 'qp', -+ 'type' => '9501' -+ } -+ }, -+ 'Return' => '17898', -+ 'ShortName' => 'mlx5dv_qp_ex_from_ibv_qp_ex' -+ }, -+ '1750091' => { -+ 'Header' => undef, -+ 'Line' => '3340', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'qp_attr', -+ 'type' => '14332' -+ }, -+ '2' => { -+ 'name' => 'mlx5_qp_attr', -+ 'type' => '30045' -+ } -+ }, -+ 'Return' => '5101', -+ 'ShortName' => 'mlx5dv_create_qp' -+ }, -+ '1750802' => { -+ 'Header' => undef, -+ 'Line' => '3307', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ah', -+ 'type' => '8272' -+ }, -+ '1' => { -+ 'name' => 'qp_num', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_map_ah_to_qp' -+ }, -+ '1773365' => { -+ 'Header' => undef, -+ 'Line' => '1198', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'cq_attr', -+ 'type' => '14156' -+ }, -+ '2' => { -+ 'name' => 'mlx5_cq_attr', -+ 'type' => '30008' -+ } -+ }, -+ 'Return' => '10507', -+ 'ShortName' => 'mlx5dv_create_cq' -+ }, -+ '316753' => { -+ 'Header' => undef, -+ 'Line' => '1633', -+ 'Param' => { -+ '0' => { -+ 'name' => 'rule', -+ 'type' => '314191' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_rule_destroy' -+ }, -+ '316843' => { -+ 'Header' => undef, -+ 'Line' => '220', -+ 'Param' => { -+ '0' => { -+ 'name' => 'tbl', -+ 'type' => '293256' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_table_destroy' -+ }, -+ '316866' => { -+ 'Header' => undef, -+ 'Line' => '1567', -+ 'Param' => { -+ '0' => { -+ 'name' => 'matcher', -+ 'type' => '314108' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_matcher_destroy' -+ }, -+ '316889' => { -+ 'Header' => undef, -+ 'Line' => '1613', -+ 'Param' => { -+ '0' => { -+ 'name' => 'matcher', -+ 'type' => '314108' -+ }, -+ '1' => { -+ 'name' => 'value', -+ 'type' => '18881' -+ }, -+ '2' => { -+ 'name' => 'num_actions', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'actions', -+ 'type' => '293396' -+ } -+ }, -+ 'Return' => '314191', -+ 'ShortName' => 'mlx5dv_dr_rule_create' -+ }, -+ '316927' => { -+ 'Header' => undef, -+ 'Line' => '1454', -+ 'Param' => { -+ '0' => { -+ 'name' => 'tbl', -+ 'type' => '293256' -+ }, -+ '1' => { -+ 'name' => 'priority', -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'name' => 'match_criteria_enable', -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'name' => 'mask', -+ 'type' => '18881' -+ } -+ }, -+ 'Return' => '314108', -+ 'ShortName' => 'mlx5dv_dr_matcher_create' -+ }, -+ '316965' => { -+ 'Header' => undef, -+ 'Line' => '166', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '293256', -+ 'ShortName' => 'mlx5dv_dr_table_create' -+ }, -+ '317105' => { -+ 'Header' => undef, -+ 'Line' => '5754', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_obj_destroy' -+ }, -+ '317404' => { -+ 'Header' => undef, -+ 'Line' => '4640', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'actions_sz', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'actions', -+ 'type' => '13493' -+ }, -+ '3' => { -+ 'name' => 'ft_type', -+ 'type' => '15413' -+ } -+ }, -+ 'Return' => '13715', -+ 'ShortName' => 'mlx5dv_create_flow_action_modify_header' -+ }, -+ '317603' => { -+ 'Header' => undef, -+ 'Line' => '4708', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'data_sz', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'data', -+ 'type' => '267' -+ }, -+ '3' => { -+ 'name' => 'reformat_type', -+ 'type' => '15462' -+ }, -+ '4' => { -+ 'name' => 'ft_type', -+ 'type' => '15413' -+ } -+ }, -+ 'Return' => '13715', -+ 'ShortName' => 'mlx5dv_create_flow_action_packet_reformat' -+ }, -+ '317789' => { -+ 'Header' => undef, -+ 'Line' => '2810', -+ 'Param' => { -+ '0' => { -+ 'name' => 'action', -+ 'type' => '293402' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_action_destroy' -+ }, -+ '318253' => { -+ 'Header' => undef, -+ 'Line' => '2778', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'num_dest', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'dests', -+ 'type' => '319715' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_array' -+ }, -+ '320385' => { -+ 'Header' => undef, -+ 'Line' => '2568', -+ 'Param' => { -+ '0' => { -+ 'name' => 'attr', -+ 'type' => '322458' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_flow_sampler' -+ }, -+ '323700' => { -+ 'Header' => undef, -+ 'Line' => '2183', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'ib_port', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_ib_port' -+ }, -+ '324086' => { -+ 'Header' => undef, -+ 'Line' => '2147', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'vport', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_vport' -+ }, -+ '324472' => { -+ 'Header' => undef, -+ 'Line' => '2100', -+ 'Param' => { -+ '0' => { -+ 'name' => 'attr', -+ 'type' => '317189' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_flow_meter' -+ }, -+ '325033' => { -+ 'Header' => undef, -+ 'Line' => '2083', -+ 'Param' => { -+ '0' => { -+ 'name' => 'action', -+ 'type' => '293402' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '317189' -+ }, -+ '2' => { -+ 'name' => 'modify_field_select', -+ 'type' => '2177' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_action_modify_flow_meter' -+ }, -+ '325171' => { -+ 'Header' => undef, -+ 'Line' => '2020', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'actions_sz', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'actions', -+ 'type' => '317277' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_modify_header' -+ }, -+ '330346' => { -+ 'Header' => undef, -+ 'Line' => '1500', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'vlan_hdr', -+ 'type' => '2165' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_push_vlan' -+ }, -+ '330749' => { -+ 'Header' => undef, -+ 'Line' => '1495', -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_pop_vlan' -+ }, -+ '330989' => { -+ 'Header' => undef, -+ 'Line' => '1430', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'reformat_type', -+ 'type' => '15462' -+ }, -+ '3' => { -+ 'name' => 'data_sz', -+ 'type' => '386' -+ }, -+ '4' => { -+ 'name' => 'data', -+ 'type' => '267' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_packet_reformat' -+ }, -+ '332463' => { -+ 'Header' => undef, -+ 'Line' => '1276', -+ 'Param' => { -+ '0' => { -+ 'name' => 'tag_value', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_tag' -+ }, -+ '332745' => { -+ 'Header' => undef, -+ 'Line' => '1257', -+ 'Param' => { -+ '0' => { -+ 'name' => 'action', -+ 'type' => '293402' -+ }, -+ '1' => { -+ 'name' => 'offset', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'return_reg_c', -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_action_modify_aso' -+ }, -+ '333173' => { -+ 'Header' => undef, -+ 'Line' => '1166', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'devx_obj', -+ 'type' => '19143' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'return_reg_c', -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_aso' -+ }, -+ '334357' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Param' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'offset', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_flow_counter' -+ }, -+ '334677' => { -+ 'Header' => undef, -+ 'Line' => '1007', -+ 'Param' => { -+ '0' => { -+ 'name' => 'tbl', -+ 'type' => '293256' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_table' -+ }, -+ '335046' => { -+ 'Header' => undef, -+ 'Line' => '989', -+ 'Param' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'type' => '19143' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_devx_tir' -+ }, -+ '335345' => { -+ 'Header' => undef, -+ 'Line' => '969', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ibqp', -+ 'type' => '5101' -+ } -+ }, -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_dest_ibv_qp' -+ }, -+ '335644' => { -+ 'Header' => undef, -+ 'Line' => '963', -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_default_miss' -+ }, -+ '335884' => { -+ 'Header' => undef, -+ 'Line' => '958', -+ 'Return' => '293402', -+ 'ShortName' => 'mlx5dv_dr_action_create_drop' -+ }, -+ '375206' => { -+ 'Header' => undef, -+ 'Line' => '840', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fout', -+ 'type' => '1945' -+ }, -+ '1' => { -+ 'name' => 'rule', -+ 'type' => '314191' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dump_dr_rule' -+ }, -+ '375852' => { -+ 'Header' => undef, -+ 'Line' => '815', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fout', -+ 'type' => '1945' -+ }, -+ '1' => { -+ 'name' => 'matcher', -+ 'type' => '314108' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dump_dr_matcher' -+ }, -+ '376474' => { -+ 'Header' => undef, -+ 'Line' => '794', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fout', -+ 'type' => '1945' -+ }, -+ '1' => { -+ 'name' => 'tbl', -+ 'type' => '293256' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dump_dr_table' -+ }, -+ '377072' => { -+ 'Header' => undef, -+ 'Line' => '776', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fout', -+ 'type' => '1945' -+ }, -+ '1' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dump_dr_domain' -+ }, -+ '446397' => { -+ 'Header' => undef, -+ 'Line' => '5726', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_obj_modify' -+ }, -+ '446463' => { -+ 'Header' => undef, -+ 'Line' => '5700', -+ 'Param' => { -+ '0' => { -+ 'name' => 'obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_obj_query' -+ }, -+ '446506' => { -+ 'Header' => undef, -+ 'Line' => '5671', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '19143', -+ 'ShortName' => 'mlx5dv_devx_obj_create' -+ }, -+ '446642' => { -+ 'Header' => undef, -+ 'Line' => '5778', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'in', -+ 'type' => '1980' -+ }, -+ '2' => { -+ 'name' => 'inlen', -+ 'type' => '386' -+ }, -+ '3' => { -+ 'name' => 'out', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'outlen', -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_devx_general_cmd' -+ }, -+ '514440' => { -+ 'Header' => undef, -+ 'Line' => '5014', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'dm_attr', -+ 'type' => '13662' -+ }, -+ '2' => { -+ 'name' => 'mlx5_dm_attr', -+ 'type' => '30140' -+ } -+ }, -+ 'Return' => '2974', -+ 'ShortName' => 'mlx5dv_alloc_dm' -+ }, -+ '561080' => { -+ 'Header' => undef, -+ 'Line' => '5258', -+ 'Param' => { -+ '0' => { -+ 'name' => 'flow_matcher', -+ 'type' => '30312' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_destroy_flow_matcher' -+ }, -+ '563033' => { -+ 'Header' => undef, -+ 'Line' => '5227', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '30318' -+ } -+ }, -+ 'Return' => '30312', -+ 'ShortName' => 'mlx5dv_create_flow_matcher' -+ }, -+ '567450' => { -+ 'Header' => undef, -+ 'Line' => '1404', -+ 'Param' => { -+ '0' => { -+ 'name' => 'matcher', -+ 'type' => '314108' -+ }, -+ '1' => { -+ 'name' => 'matcher_layout', -+ 'type' => '567800' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_matcher_set_layout' -+ }, -+ '619095' => { -+ 'Header' => undef, -+ 'Line' => '5910', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dv_devx_uar', -+ 'type' => '29501' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_devx_free_uar' -+ }, -+ '619184' => { -+ 'Header' => undef, -+ 'Line' => '5887', -+ 'Param' => { -+ '0' => { -+ 'name' => 'context', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '29501', -+ 'ShortName' => 'mlx5dv_devx_alloc_uar' -+ }, -+ '619733' => { -+ 'Header' => undef, -+ 'Line' => '543', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_domain_destroy' -+ }, -+ '620343' => { -+ 'Header' => undef, -+ 'Line' => '532', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'allow', -+ 'type' => '2098' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_dr_domain_allow_duplicate_rules' -+ }, -+ '620765' => { -+ 'Header' => undef, -+ 'Line' => '521', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'enable', -+ 'type' => '2098' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'mlx5dv_dr_domain_set_reclaim_device_memory' -+ }, -+ '621187' => { -+ 'Header' => undef, -+ 'Line' => '1909', -+ 'Param' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_domain_sync' -+ }, -+ '621417' => { -+ 'Header' => undef, -+ 'Line' => '409', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'type', -+ 'type' => '292994' -+ } -+ }, -+ 'Return' => '308152', -+ 'ShortName' => 'mlx5dv_dr_domain_create' -+ }, -+ '734032' => { -+ 'Header' => undef, -+ 'Line' => '1638', -+ 'Param' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_aso_other_domain_unlink' -+ }, -+ '734165' => { -+ 'Header' => undef, -+ 'Line' => '1617', -+ 'Param' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'peer_dmn', -+ 'type' => '308152' -+ }, -+ '2' => { -+ 'name' => 'dmn', -+ 'type' => '308152' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'return_reg_c', -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_dr_aso_other_domain_link' -+ }, -+ '76089' => { -+ 'Header' => undef, -+ 'Line' => '2245', -+ 'Param' => { -+ '0' => { -+ 'name' => 'ctx_in', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'clock_info', -+ 'type' => '30817' -+ } -+ }, -+ 'Return' => '128', -+ 'ShortName' => 'mlx5dv_get_clock_info' -+ } -+ }, -+ 'SymbolVersion' => { -+ '__mlx5dv_init_obj_1_0' => 'mlx5dv_init_obj@MLX5_1.0', -+ '__mlx5dv_init_obj_1_2' => 'mlx5dv_init_obj@@MLX5_1.2', -+ '_mlx5dv_mkey_check' => '_mlx5dv_mkey_check@@MLX5_1.20', -+ '_mlx5dv_query_port' => '_mlx5dv_query_port@@MLX5_1.19', -+ 'mlx5dv_alloc_dm' => 'mlx5dv_alloc_dm@@MLX5_1.10', -+ 'mlx5dv_alloc_var' => 'mlx5dv_alloc_var@@MLX5_1.12', -+ 'mlx5dv_create_cq' => 'mlx5dv_create_cq@@MLX5_1.1', -+ 'mlx5dv_create_flow' => 'mlx5dv_create_flow@@MLX5_1.6', -+ 'mlx5dv_create_flow_action_esp' => 'mlx5dv_create_flow_action_esp@@MLX5_1.5', -+ 'mlx5dv_create_flow_action_modify_header' => 'mlx5dv_create_flow_action_modify_header@@MLX5_1.7', -+ 'mlx5dv_create_flow_action_packet_reformat' => 'mlx5dv_create_flow_action_packet_reformat@@MLX5_1.7', -+ 'mlx5dv_create_flow_matcher' => 'mlx5dv_create_flow_matcher@@MLX5_1.6', -+ 'mlx5dv_create_mkey' => 'mlx5dv_create_mkey@@MLX5_1.10', -+ 'mlx5dv_create_qp' => 'mlx5dv_create_qp@@MLX5_1.3', -+ 'mlx5dv_create_wq' => 'mlx5dv_create_wq@@MLX5_1.3', -+ 'mlx5dv_crypto_login' => 'mlx5dv_crypto_login@@MLX5_1.21', -+ 'mlx5dv_crypto_login_query_state' => 'mlx5dv_crypto_login_query_state@@MLX5_1.21', -+ 'mlx5dv_crypto_logout' => 'mlx5dv_crypto_logout@@MLX5_1.21', -+ 'mlx5dv_dci_stream_id_reset' => 'mlx5dv_dci_stream_id_reset@@MLX5_1.21', -+ 'mlx5dv_dek_create' => 'mlx5dv_dek_create@@MLX5_1.21', -+ 'mlx5dv_dek_destroy' => 'mlx5dv_dek_destroy@@MLX5_1.21', -+ 'mlx5dv_dek_query' => 'mlx5dv_dek_query@@MLX5_1.21', -+ 'mlx5dv_destroy_flow_matcher' => 'mlx5dv_destroy_flow_matcher@@MLX5_1.6', -+ 'mlx5dv_destroy_mkey' => 'mlx5dv_destroy_mkey@@MLX5_1.10', -+ 'mlx5dv_devx_alloc_msi_vector' => 'mlx5dv_devx_alloc_msi_vector@@MLX5_1.23', -+ 'mlx5dv_devx_alloc_uar' => 'mlx5dv_devx_alloc_uar@@MLX5_1.7', -+ 'mlx5dv_devx_cq_modify' => 'mlx5dv_devx_cq_modify@@MLX5_1.8', -+ 'mlx5dv_devx_cq_query' => 'mlx5dv_devx_cq_query@@MLX5_1.8', -+ 'mlx5dv_devx_create_cmd_comp' => 'mlx5dv_devx_create_cmd_comp@@MLX5_1.9', -+ 'mlx5dv_devx_create_eq' => 'mlx5dv_devx_create_eq@@MLX5_1.23', -+ 'mlx5dv_devx_create_event_channel' => 'mlx5dv_devx_create_event_channel@@MLX5_1.11', -+ 'mlx5dv_devx_destroy_cmd_comp' => 'mlx5dv_devx_destroy_cmd_comp@@MLX5_1.9', -+ 'mlx5dv_devx_destroy_eq' => 'mlx5dv_devx_destroy_eq@@MLX5_1.23', -+ 'mlx5dv_devx_destroy_event_channel' => 'mlx5dv_devx_destroy_event_channel@@MLX5_1.11', -+ 'mlx5dv_devx_free_msi_vector' => 'mlx5dv_devx_free_msi_vector@@MLX5_1.23', -+ 'mlx5dv_devx_free_uar' => 'mlx5dv_devx_free_uar@@MLX5_1.7', -+ 'mlx5dv_devx_general_cmd' => 'mlx5dv_devx_general_cmd@@MLX5_1.7', -+ 'mlx5dv_devx_get_async_cmd_comp' => 'mlx5dv_devx_get_async_cmd_comp@@MLX5_1.9', -+ 'mlx5dv_devx_get_event' => 'mlx5dv_devx_get_event@@MLX5_1.11', -+ 'mlx5dv_devx_ind_tbl_modify' => 'mlx5dv_devx_ind_tbl_modify@@MLX5_1.8', -+ 'mlx5dv_devx_ind_tbl_query' => 'mlx5dv_devx_ind_tbl_query@@MLX5_1.8', -+ 'mlx5dv_devx_obj_create' => 'mlx5dv_devx_obj_create@@MLX5_1.7', -+ 'mlx5dv_devx_obj_destroy' => 'mlx5dv_devx_obj_destroy@@MLX5_1.7', -+ 'mlx5dv_devx_obj_modify' => 'mlx5dv_devx_obj_modify@@MLX5_1.7', -+ 'mlx5dv_devx_obj_query' => 'mlx5dv_devx_obj_query@@MLX5_1.7', -+ 'mlx5dv_devx_obj_query_async' => 'mlx5dv_devx_obj_query_async@@MLX5_1.9', -+ 'mlx5dv_devx_qp_modify' => 'mlx5dv_devx_qp_modify@@MLX5_1.8', -+ 'mlx5dv_devx_qp_query' => 'mlx5dv_devx_qp_query@@MLX5_1.8', -+ 'mlx5dv_devx_query_eqn' => 'mlx5dv_devx_query_eqn@@MLX5_1.7', -+ 'mlx5dv_devx_srq_modify' => 'mlx5dv_devx_srq_modify@@MLX5_1.8', -+ 'mlx5dv_devx_srq_query' => 'mlx5dv_devx_srq_query@@MLX5_1.8', -+ 'mlx5dv_devx_subscribe_devx_event' => 'mlx5dv_devx_subscribe_devx_event@@MLX5_1.11', -+ 'mlx5dv_devx_subscribe_devx_event_fd' => 'mlx5dv_devx_subscribe_devx_event_fd@@MLX5_1.11', -+ 'mlx5dv_devx_umem_dereg' => 'mlx5dv_devx_umem_dereg@@MLX5_1.7', -+ 'mlx5dv_devx_umem_reg' => 'mlx5dv_devx_umem_reg@@MLX5_1.7', -+ 'mlx5dv_devx_umem_reg_ex' => 'mlx5dv_devx_umem_reg_ex@@MLX5_1.19', -+ 'mlx5dv_devx_wq_modify' => 'mlx5dv_devx_wq_modify@@MLX5_1.8', -+ 'mlx5dv_devx_wq_query' => 'mlx5dv_devx_wq_query@@MLX5_1.8', -+ 'mlx5dv_dm_map_op_addr' => 'mlx5dv_dm_map_op_addr@@MLX5_1.19', -+ 'mlx5dv_dr_action_create_aso' => 'mlx5dv_dr_action_create_aso@@MLX5_1.17', -+ 'mlx5dv_dr_action_create_default_miss' => 'mlx5dv_dr_action_create_default_miss@@MLX5_1.14', -+ 'mlx5dv_dr_action_create_dest_array' => 'mlx5dv_dr_action_create_dest_array@@MLX5_1.16', -+ 'mlx5dv_dr_action_create_dest_devx_tir' => 'mlx5dv_dr_action_create_dest_devx_tir@@MLX5_1.15', -+ 'mlx5dv_dr_action_create_dest_ib_port' => 'mlx5dv_dr_action_create_dest_ib_port@@MLX5_1.21', -+ 'mlx5dv_dr_action_create_dest_ibv_qp' => 'mlx5dv_dr_action_create_dest_ibv_qp@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_dest_table' => 'mlx5dv_dr_action_create_dest_table@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_dest_vport' => 'mlx5dv_dr_action_create_dest_vport@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_drop' => 'mlx5dv_dr_action_create_drop@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_flow_counter' => 'mlx5dv_dr_action_create_flow_counter@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_flow_meter' => 'mlx5dv_dr_action_create_flow_meter@@MLX5_1.12', -+ 'mlx5dv_dr_action_create_flow_sampler' => 'mlx5dv_dr_action_create_flow_sampler@@MLX5_1.16', -+ 'mlx5dv_dr_action_create_modify_header' => 'mlx5dv_dr_action_create_modify_header@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_packet_reformat' => 'mlx5dv_dr_action_create_packet_reformat@@MLX5_1.10', -+ 'mlx5dv_dr_action_create_pop_vlan' => 'mlx5dv_dr_action_create_pop_vlan@@MLX5_1.17', -+ 'mlx5dv_dr_action_create_push_vlan' => 'mlx5dv_dr_action_create_push_vlan@@MLX5_1.17', -+ 'mlx5dv_dr_action_create_tag' => 'mlx5dv_dr_action_create_tag@@MLX5_1.10', -+ 'mlx5dv_dr_action_destroy' => 'mlx5dv_dr_action_destroy@@MLX5_1.10', -+ 'mlx5dv_dr_action_modify_aso' => 'mlx5dv_dr_action_modify_aso@@MLX5_1.17', -+ 'mlx5dv_dr_action_modify_flow_meter' => 'mlx5dv_dr_action_modify_flow_meter@@MLX5_1.12', -+ 'mlx5dv_dr_aso_other_domain_link' => 'mlx5dv_dr_aso_other_domain_link@@MLX5_1.22', -+ 'mlx5dv_dr_aso_other_domain_unlink' => 'mlx5dv_dr_aso_other_domain_unlink@@MLX5_1.22', -+ 'mlx5dv_dr_domain_allow_duplicate_rules' => 'mlx5dv_dr_domain_allow_duplicate_rules@@MLX5_1.20', -+ 'mlx5dv_dr_domain_create' => 'mlx5dv_dr_domain_create@@MLX5_1.10', -+ 'mlx5dv_dr_domain_destroy' => 'mlx5dv_dr_domain_destroy@@MLX5_1.10', -+ 'mlx5dv_dr_domain_set_reclaim_device_memory' => 'mlx5dv_dr_domain_set_reclaim_device_memory@@MLX5_1.14', -+ 'mlx5dv_dr_domain_sync' => 'mlx5dv_dr_domain_sync@@MLX5_1.10', -+ 'mlx5dv_dr_matcher_create' => 'mlx5dv_dr_matcher_create@@MLX5_1.10', -+ 'mlx5dv_dr_matcher_destroy' => 'mlx5dv_dr_matcher_destroy@@MLX5_1.10', -+ 'mlx5dv_dr_matcher_set_layout' => 'mlx5dv_dr_matcher_set_layout@@MLX5_1.21', -+ 'mlx5dv_dr_rule_create' => 'mlx5dv_dr_rule_create@@MLX5_1.10', -+ 'mlx5dv_dr_rule_destroy' => 'mlx5dv_dr_rule_destroy@@MLX5_1.10', -+ 'mlx5dv_dr_table_create' => 'mlx5dv_dr_table_create@@MLX5_1.10', -+ 'mlx5dv_dr_table_destroy' => 'mlx5dv_dr_table_destroy@@MLX5_1.10', -+ 'mlx5dv_dump_dr_domain' => 'mlx5dv_dump_dr_domain@@MLX5_1.12', -+ 'mlx5dv_dump_dr_matcher' => 'mlx5dv_dump_dr_matcher@@MLX5_1.12', -+ 'mlx5dv_dump_dr_rule' => 'mlx5dv_dump_dr_rule@@MLX5_1.12', -+ 'mlx5dv_dump_dr_table' => 'mlx5dv_dump_dr_table@@MLX5_1.12', -+ 'mlx5dv_free_var' => 'mlx5dv_free_var@@MLX5_1.12', -+ 'mlx5dv_get_clock_info' => 'mlx5dv_get_clock_info@@MLX5_1.4', -+ 'mlx5dv_get_vfio_device_list' => 'mlx5dv_get_vfio_device_list@@MLX5_1.21', -+ 'mlx5dv_is_supported' => 'mlx5dv_is_supported@@MLX5_1.8', -+ 'mlx5dv_map_ah_to_qp' => 'mlx5dv_map_ah_to_qp@@MLX5_1.20', -+ 'mlx5dv_modify_qp_lag_port' => 'mlx5dv_modify_qp_lag_port@@MLX5_1.14', -+ 'mlx5dv_modify_qp_sched_elem' => 'mlx5dv_modify_qp_sched_elem@@MLX5_1.17', -+ 'mlx5dv_modify_qp_udp_sport' => 'mlx5dv_modify_qp_udp_sport@@MLX5_1.17', -+ 'mlx5dv_open_device' => 'mlx5dv_open_device@@MLX5_1.7', -+ 'mlx5dv_pp_alloc' => 'mlx5dv_pp_alloc@@MLX5_1.13', -+ 'mlx5dv_pp_free' => 'mlx5dv_pp_free@@MLX5_1.13', -+ 'mlx5dv_qp_cancel_posted_send_wrs' => 'mlx5dv_qp_cancel_posted_send_wrs@@MLX5_1.20', -+ 'mlx5dv_qp_ex_from_ibv_qp_ex' => 'mlx5dv_qp_ex_from_ibv_qp_ex@@MLX5_1.10', -+ 'mlx5dv_query_device' => 'mlx5dv_query_device@@MLX5_1.0', -+ 'mlx5dv_query_qp_lag_port' => 'mlx5dv_query_qp_lag_port@@MLX5_1.14', -+ 'mlx5dv_reserved_qpn_alloc' => 'mlx5dv_reserved_qpn_alloc@@MLX5_1.18', -+ 'mlx5dv_reserved_qpn_dealloc' => 'mlx5dv_reserved_qpn_dealloc@@MLX5_1.18', -+ 'mlx5dv_sched_leaf_create' => 'mlx5dv_sched_leaf_create@@MLX5_1.17', -+ 'mlx5dv_sched_leaf_destroy' => 'mlx5dv_sched_leaf_destroy@@MLX5_1.17', -+ 'mlx5dv_sched_leaf_modify' => 'mlx5dv_sched_leaf_modify@@MLX5_1.17', -+ 'mlx5dv_sched_node_create' => 'mlx5dv_sched_node_create@@MLX5_1.17', -+ 'mlx5dv_sched_node_destroy' => 'mlx5dv_sched_node_destroy@@MLX5_1.17', -+ 'mlx5dv_sched_node_modify' => 'mlx5dv_sched_node_modify@@MLX5_1.17', -+ 'mlx5dv_set_context_attr' => 'mlx5dv_set_context_attr@@MLX5_1.2', -+ 'mlx5dv_vfio_get_events_fd' => 'mlx5dv_vfio_get_events_fd@@MLX5_1.21', -+ 'mlx5dv_vfio_process_events' => 'mlx5dv_vfio_process_events@@MLX5_1.21' -+ }, -+ 'Symbols' => { -+ 'libmlx5.so.1.23.41.0' => { -+ '_mlx5dv_mkey_check@@MLX5_1.20' => 1, -+ '_mlx5dv_query_port@@MLX5_1.19' => 1, -+ 'mlx5dv_alloc_dm@@MLX5_1.10' => 1, -+ 'mlx5dv_alloc_var@@MLX5_1.12' => 1, -+ 'mlx5dv_create_cq@@MLX5_1.1' => 1, -+ 'mlx5dv_create_flow@@MLX5_1.6' => 1, -+ 'mlx5dv_create_flow_action_esp@@MLX5_1.5' => 1, -+ 'mlx5dv_create_flow_action_modify_header@@MLX5_1.7' => 1, -+ 'mlx5dv_create_flow_action_packet_reformat@@MLX5_1.7' => 1, -+ 'mlx5dv_create_flow_matcher@@MLX5_1.6' => 1, -+ 'mlx5dv_create_mkey@@MLX5_1.10' => 1, -+ 'mlx5dv_create_qp@@MLX5_1.3' => 1, -+ 'mlx5dv_create_wq@@MLX5_1.3' => 1, -+ 'mlx5dv_crypto_login@@MLX5_1.21' => 1, -+ 'mlx5dv_crypto_login_query_state@@MLX5_1.21' => 1, -+ 'mlx5dv_crypto_logout@@MLX5_1.21' => 1, -+ 'mlx5dv_dci_stream_id_reset@@MLX5_1.21' => 1, -+ 'mlx5dv_dek_create@@MLX5_1.21' => 1, -+ 'mlx5dv_dek_destroy@@MLX5_1.21' => 1, -+ 'mlx5dv_dek_query@@MLX5_1.21' => 1, -+ 'mlx5dv_destroy_flow_matcher@@MLX5_1.6' => 1, -+ 'mlx5dv_destroy_mkey@@MLX5_1.10' => 1, -+ 'mlx5dv_devx_alloc_msi_vector@@MLX5_1.23' => 1, -+ 'mlx5dv_devx_alloc_uar@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_cq_modify@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_cq_query@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_create_cmd_comp@@MLX5_1.9' => 1, -+ 'mlx5dv_devx_create_eq@@MLX5_1.23' => 1, -+ 'mlx5dv_devx_create_event_channel@@MLX5_1.11' => 1, -+ 'mlx5dv_devx_destroy_cmd_comp@@MLX5_1.9' => 1, -+ 'mlx5dv_devx_destroy_eq@@MLX5_1.23' => 1, -+ 'mlx5dv_devx_destroy_event_channel@@MLX5_1.11' => 1, -+ 'mlx5dv_devx_free_msi_vector@@MLX5_1.23' => 1, -+ 'mlx5dv_devx_free_uar@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_general_cmd@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_get_async_cmd_comp@@MLX5_1.9' => 1, -+ 'mlx5dv_devx_get_event@@MLX5_1.11' => 1, -+ 'mlx5dv_devx_ind_tbl_modify@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_ind_tbl_query@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_obj_create@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_obj_destroy@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_obj_modify@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_obj_query@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_obj_query_async@@MLX5_1.9' => 1, -+ 'mlx5dv_devx_qp_modify@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_qp_query@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_query_eqn@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_srq_modify@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_srq_query@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_subscribe_devx_event@@MLX5_1.11' => 1, -+ 'mlx5dv_devx_subscribe_devx_event_fd@@MLX5_1.11' => 1, -+ 'mlx5dv_devx_umem_dereg@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_umem_reg@@MLX5_1.7' => 1, -+ 'mlx5dv_devx_umem_reg_ex@@MLX5_1.19' => 1, -+ 'mlx5dv_devx_wq_modify@@MLX5_1.8' => 1, -+ 'mlx5dv_devx_wq_query@@MLX5_1.8' => 1, -+ 'mlx5dv_dm_map_op_addr@@MLX5_1.19' => 1, -+ 'mlx5dv_dr_action_create_aso@@MLX5_1.17' => 1, -+ 'mlx5dv_dr_action_create_default_miss@@MLX5_1.14' => 1, -+ 'mlx5dv_dr_action_create_dest_array@@MLX5_1.16' => 1, -+ 'mlx5dv_dr_action_create_dest_devx_tir@@MLX5_1.15' => 1, -+ 'mlx5dv_dr_action_create_dest_ib_port@@MLX5_1.21' => 1, -+ 'mlx5dv_dr_action_create_dest_ibv_qp@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_dest_table@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_dest_vport@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_drop@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_flow_counter@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_flow_meter@@MLX5_1.12' => 1, -+ 'mlx5dv_dr_action_create_flow_sampler@@MLX5_1.16' => 1, -+ 'mlx5dv_dr_action_create_modify_header@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_packet_reformat@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_create_pop_vlan@@MLX5_1.17' => 1, -+ 'mlx5dv_dr_action_create_push_vlan@@MLX5_1.17' => 1, -+ 'mlx5dv_dr_action_create_tag@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_destroy@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_action_modify_aso@@MLX5_1.17' => 1, -+ 'mlx5dv_dr_action_modify_flow_meter@@MLX5_1.12' => 1, -+ 'mlx5dv_dr_aso_other_domain_link@@MLX5_1.22' => 1, -+ 'mlx5dv_dr_aso_other_domain_unlink@@MLX5_1.22' => 1, -+ 'mlx5dv_dr_domain_allow_duplicate_rules@@MLX5_1.20' => 1, -+ 'mlx5dv_dr_domain_create@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_domain_destroy@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_domain_set_reclaim_device_memory@@MLX5_1.14' => 1, -+ 'mlx5dv_dr_domain_sync@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_matcher_create@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_matcher_destroy@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_matcher_set_layout@@MLX5_1.21' => 1, -+ 'mlx5dv_dr_rule_create@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_rule_destroy@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_table_create@@MLX5_1.10' => 1, -+ 'mlx5dv_dr_table_destroy@@MLX5_1.10' => 1, -+ 'mlx5dv_dump_dr_domain@@MLX5_1.12' => 1, -+ 'mlx5dv_dump_dr_matcher@@MLX5_1.12' => 1, -+ 'mlx5dv_dump_dr_rule@@MLX5_1.12' => 1, -+ 'mlx5dv_dump_dr_table@@MLX5_1.12' => 1, -+ 'mlx5dv_free_var@@MLX5_1.12' => 1, -+ 'mlx5dv_get_clock_info@@MLX5_1.4' => 1, -+ 'mlx5dv_get_vfio_device_list@@MLX5_1.21' => 1, -+ 'mlx5dv_init_obj@@MLX5_1.2' => 1, -+ 'mlx5dv_init_obj@MLX5_1.0' => 1, -+ 'mlx5dv_is_supported@@MLX5_1.8' => 1, -+ 'mlx5dv_map_ah_to_qp@@MLX5_1.20' => 1, -+ 'mlx5dv_modify_qp_lag_port@@MLX5_1.14' => 1, -+ 'mlx5dv_modify_qp_sched_elem@@MLX5_1.17' => 1, -+ 'mlx5dv_modify_qp_udp_sport@@MLX5_1.17' => 1, -+ 'mlx5dv_open_device@@MLX5_1.7' => 1, -+ 'mlx5dv_pp_alloc@@MLX5_1.13' => 1, -+ 'mlx5dv_pp_free@@MLX5_1.13' => 1, -+ 'mlx5dv_qp_cancel_posted_send_wrs@@MLX5_1.20' => 1, -+ 'mlx5dv_qp_ex_from_ibv_qp_ex@@MLX5_1.10' => 1, -+ 'mlx5dv_query_device@@MLX5_1.0' => 1, -+ 'mlx5dv_query_qp_lag_port@@MLX5_1.14' => 1, -+ 'mlx5dv_reserved_qpn_alloc@@MLX5_1.18' => 1, -+ 'mlx5dv_reserved_qpn_dealloc@@MLX5_1.18' => 1, -+ 'mlx5dv_sched_leaf_create@@MLX5_1.17' => 1, -+ 'mlx5dv_sched_leaf_destroy@@MLX5_1.17' => 1, -+ 'mlx5dv_sched_leaf_modify@@MLX5_1.17' => 1, -+ 'mlx5dv_sched_node_create@@MLX5_1.17' => 1, -+ 'mlx5dv_sched_node_destroy@@MLX5_1.17' => 1, -+ 'mlx5dv_sched_node_modify@@MLX5_1.17' => 1, -+ 'mlx5dv_set_context_attr@@MLX5_1.2' => 1, -+ 'mlx5dv_vfio_get_events_fd@@MLX5_1.21' => 1, -+ 'mlx5dv_vfio_process_events@@MLX5_1.21' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '10004' => { -+ 'Header' => undef, -+ 'Line' => '1475', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tag', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'priv', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_wc_tm_info', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '10047' => { -+ 'Header' => undef, -+ 'Line' => '1480', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '9969' -+ }, -+ '10' => { -+ 'name' => 'status', -+ 'offset' => '132', -+ 'type' => '5426' -+ }, -+ '11' => { -+ 'name' => 'wr_id', -+ 'offset' => '136', -+ 'type' => '2028' -+ }, -+ '12' => { -+ 'name' => 'start_poll', -+ 'offset' => '144', -+ 'type' => '10519' -+ }, -+ '13' => { -+ 'name' => 'next_poll', -+ 'offset' => '152', -+ 'type' => '10540' -+ }, -+ '14' => { -+ 'name' => 'end_poll', -+ 'offset' => '160', -+ 'type' => '10557' -+ }, -+ '15' => { -+ 'name' => 'read_opcode', -+ 'offset' => '168', -+ 'type' => '10578' -+ }, -+ '16' => { -+ 'name' => 'read_vendor_err', -+ 'offset' => '176', -+ 'type' => '10599' -+ }, -+ '17' => { -+ 'name' => 'read_byte_len', -+ 'offset' => '184', -+ 'type' => '10599' -+ }, -+ '18' => { -+ 'name' => 'read_imm_data', -+ 'offset' => '192', -+ 'type' => '10620' -+ }, -+ '19' => { -+ 'name' => 'read_qp_num', -+ 'offset' => '200', -+ 'type' => '10599' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '267' -+ }, -+ '20' => { -+ 'name' => 'read_src_qp', -+ 'offset' => '208', -+ 'type' => '10599' -+ }, -+ '21' => { -+ 'name' => 'read_wc_flags', -+ 'offset' => '216', -+ 'type' => '10641' -+ }, -+ '22' => { -+ 'name' => 'read_slid', -+ 'offset' => '224', -+ 'type' => '10599' -+ }, -+ '23' => { -+ 'name' => 'read_sl', -+ 'offset' => '232', -+ 'type' => '10662' -+ }, -+ '24' => { -+ 'name' => 'read_dlid_path_bits', -+ 'offset' => '240', -+ 'type' => '10662' -+ }, -+ '25' => { -+ 'name' => 'read_completion_ts', -+ 'offset' => '248', -+ 'type' => '10683' -+ }, -+ '26' => { -+ 'name' => 'read_cvlan', -+ 'offset' => '256', -+ 'type' => '10704' -+ }, -+ '27' => { -+ 'name' => 'read_flow_tag', -+ 'offset' => '264', -+ 'type' => '10599' -+ }, -+ '28' => { -+ 'name' => 'read_tm_info', -+ 'offset' => '272', -+ 'type' => '10732' -+ }, -+ '29' => { -+ 'name' => 'read_completion_wallclock_ns', -+ 'offset' => '280', -+ 'type' => '10683' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '128' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '897' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '971' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'comp_mask', -+ 'offset' => '128', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_ex', -+ 'Size' => '288', -+ 'Type' => 'Struct' -+ }, -+ '10507' => { -+ 'BaseType' => '10047', -+ 'Name' => 'struct ibv_cq_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10513' => { -+ 'BaseType' => '9975', -+ 'Name' => 'struct ibv_poll_cq_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10519' => { -+ 'Name' => 'int(*)(struct ibv_cq_ex*, struct ibv_poll_cq_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ }, -+ '1' => { -+ 'type' => '10513' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10540' => { -+ 'Name' => 'int(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10557' => { -+ 'Name' => 'void(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10578' => { -+ 'Name' => 'enum ibv_wc_opcode(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '5590', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10599' => { -+ 'Name' => 'uint32_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '2011', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10620' => { -+ 'Name' => '__be32(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '2165', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10641' => { -+ 'Name' => 'unsigned int(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '59', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10662' => { -+ 'Name' => 'uint8_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '1987', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10683' => { -+ 'Name' => 'uint64_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '2028', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10704' => { -+ 'Name' => 'uint16_t(*)(struct ibv_cq_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ } -+ }, -+ 'Return' => '1999', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10726' => { -+ 'BaseType' => '10004', -+ 'Name' => 'struct ibv_wc_tm_info*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '10732' => { -+ 'Name' => 'void(*)(struct ibv_cq_ex*, struct ibv_wc_tm_info*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '10507' -+ }, -+ '1' => { -+ 'type' => '10726' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '10824' => { -+ 'Header' => undef, -+ 'Line' => '1657', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_FLOW_ATTR_NORMAL', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_FLOW_ATTR_ALL_DEFAULT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_FLOW_ATTR_MC_DEFAULT', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_FLOW_ATTR_SNIFFER', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_flow_attr_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '10868' => { -+ 'BaseType' => '1987', -+ 'Name' => 'uint8_t[6]', -+ 'Size' => '6', -+ 'Type' => 'Array' -+ }, -+ '10884' => { -+ 'Header' => undef, -+ 'Line' => '1889', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ } -+ }, -+ 'Name' => 'struct ibv_flow_action', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '10913' => { -+ 'Header' => undef, -+ 'Line' => '2054', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ } -+ }, -+ 'Name' => 'struct ibv_counters', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '10942' => { -+ 'BaseType' => '10913', -+ 'Name' => 'struct ibv_counters*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11061' => { -+ 'Header' => undef, -+ 'Line' => '1883', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'context', -+ 'offset' => '8', -+ 'type' => '2938' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_flow', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '11118' => { -+ 'Header' => undef, -+ 'Line' => '1897', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'esp_attr', -+ 'offset' => '0', -+ 'type' => '11273' -+ }, -+ '1' => { -+ 'name' => 'keymat_proto', -+ 'offset' => '8', -+ 'type' => '2205' -+ }, -+ '2' => { -+ 'name' => 'keymat_len', -+ 'offset' => '12', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'keymat_ptr', -+ 'offset' => '16', -+ 'type' => '267' -+ }, -+ '4' => { -+ 'name' => 'replay_proto', -+ 'offset' => '24', -+ 'type' => '2230' -+ }, -+ '5' => { -+ 'name' => 'replay_len', -+ 'offset' => '28', -+ 'type' => '1999' -+ }, -+ '6' => { -+ 'name' => 'replay_ptr', -+ 'offset' => '32', -+ 'type' => '267' -+ }, -+ '7' => { -+ 'name' => 'esp_encap', -+ 'offset' => '40', -+ 'type' => '2388' -+ }, -+ '8' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'esn', -+ 'offset' => '52', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_flow_action_esp_attr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '11273' => { -+ 'BaseType' => '2394', -+ 'Name' => 'struct ib_uverbs_flow_action_esp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11279' => { -+ 'Header' => undef, -+ 'Line' => '1918', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_dummy1', -+ 'offset' => '0', -+ 'type' => '11463' -+ }, -+ '1' => { -+ 'name' => '_dummy2', -+ 'offset' => '8', -+ 'type' => '11480' -+ } -+ }, -+ 'Name' => 'struct _ibv_device_ops', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '11342' => { -+ 'BaseType' => '11348', -+ 'Name' => 'struct ibv_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11348' => { -+ 'Header' => undef, -+ 'Line' => '1928', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_ops', -+ 'offset' => '0', -+ 'type' => '11279' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '16', -+ 'type' => '2528' -+ }, -+ '2' => { -+ 'name' => 'transport_type', -+ 'offset' => '20', -+ 'type' => '2595' -+ }, -+ '3' => { -+ 'name' => 'name', -+ 'offset' => '24', -+ 'type' => '3556' -+ }, -+ '4' => { -+ 'name' => 'dev_name', -+ 'offset' => '88', -+ 'type' => '3556' -+ }, -+ '5' => { -+ 'name' => 'dev_path', -+ 'offset' => '152', -+ 'type' => '11486' -+ }, -+ '6' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '408', -+ 'type' => '11486' -+ } -+ }, -+ 'Name' => 'struct ibv_device', -+ 'Size' => '664', -+ 'Type' => 'Struct' -+ }, -+ '11463' => { -+ 'Name' => 'struct ibv_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '11342' -+ }, -+ '1' => { -+ 'type' => '128' -+ } -+ }, -+ 'Return' => '2938', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11480' => { -+ 'Name' => 'void(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '2938' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '11486' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[256]', -+ 'Size' => '256', -+ 'Type' => 'Array' -+ }, -+ '11502' => { -+ 'Header' => undef, -+ 'Line' => '1943', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_compat_query_device', -+ 'offset' => '0', -+ 'type' => '11992' -+ }, -+ '1' => { -+ 'name' => '_compat_query_port', -+ 'offset' => '8', -+ 'type' => '12034' -+ }, -+ '10' => { -+ 'name' => '_compat_create_cq', -+ 'offset' => '80', -+ 'type' => '12045' -+ }, -+ '11' => { -+ 'name' => 'poll_cq', -+ 'offset' => '88', -+ 'type' => '12166' -+ }, -+ '12' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '96', -+ 'type' => '12192' -+ }, -+ '13' => { -+ 'name' => '_compat_cq_event', -+ 'offset' => '104', -+ 'type' => '12045' -+ }, -+ '14' => { -+ 'name' => '_compat_resize_cq', -+ 'offset' => '112', -+ 'type' => '12045' -+ }, -+ '15' => { -+ 'name' => '_compat_destroy_cq', -+ 'offset' => '120', -+ 'type' => '12045' -+ }, -+ '16' => { -+ 'name' => '_compat_create_srq', -+ 'offset' => '128', -+ 'type' => '12045' -+ }, -+ '17' => { -+ 'name' => '_compat_modify_srq', -+ 'offset' => '136', -+ 'type' => '12045' -+ }, -+ '18' => { -+ 'name' => '_compat_query_srq', -+ 'offset' => '144', -+ 'type' => '12045' -+ }, -+ '19' => { -+ 'name' => '_compat_destroy_srq', -+ 'offset' => '152', -+ 'type' => '12045' -+ }, -+ '2' => { -+ 'name' => '_compat_alloc_pd', -+ 'offset' => '16', -+ 'type' => '12045' -+ }, -+ '20' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '160', -+ 'type' => '12223' -+ }, -+ '21' => { -+ 'name' => '_compat_create_qp', -+ 'offset' => '168', -+ 'type' => '12045' -+ }, -+ '22' => { -+ 'name' => '_compat_query_qp', -+ 'offset' => '176', -+ 'type' => '12045' -+ }, -+ '23' => { -+ 'name' => '_compat_modify_qp', -+ 'offset' => '184', -+ 'type' => '12045' -+ }, -+ '24' => { -+ 'name' => '_compat_destroy_qp', -+ 'offset' => '192', -+ 'type' => '12045' -+ }, -+ '25' => { -+ 'name' => 'post_send', -+ 'offset' => '200', -+ 'type' => '12260' -+ }, -+ '26' => { -+ 'name' => 'post_recv', -+ 'offset' => '208', -+ 'type' => '12291' -+ }, -+ '27' => { -+ 'name' => '_compat_create_ah', -+ 'offset' => '216', -+ 'type' => '12045' -+ }, -+ '28' => { -+ 'name' => '_compat_destroy_ah', -+ 'offset' => '224', -+ 'type' => '12045' -+ }, -+ '29' => { -+ 'name' => '_compat_attach_mcast', -+ 'offset' => '232', -+ 'type' => '12045' -+ }, -+ '3' => { -+ 'name' => '_compat_dealloc_pd', -+ 'offset' => '24', -+ 'type' => '12045' -+ }, -+ '30' => { -+ 'name' => '_compat_detach_mcast', -+ 'offset' => '240', -+ 'type' => '12045' -+ }, -+ '31' => { -+ 'name' => '_compat_async_event', -+ 'offset' => '248', -+ 'type' => '12045' -+ }, -+ '4' => { -+ 'name' => '_compat_reg_mr', -+ 'offset' => '32', -+ 'type' => '12045' -+ }, -+ '5' => { -+ 'name' => '_compat_rereg_mr', -+ 'offset' => '40', -+ 'type' => '12045' -+ }, -+ '6' => { -+ 'name' => '_compat_dereg_mr', -+ 'offset' => '48', -+ 'type' => '12045' -+ }, -+ '7' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '56', -+ 'type' => '12071' -+ }, -+ '8' => { -+ 'name' => 'bind_mw', -+ 'offset' => '64', -+ 'type' => '12108' -+ }, -+ '9' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '72', -+ 'type' => '12129' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops', -+ 'Size' => '256', -+ 'Type' => 'Struct' -+ }, -+ '116' => { -+ 'BaseType' => '52', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '11986' => { -+ 'BaseType' => '3022', -+ 'Name' => 'struct ibv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '11992' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_device_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'type' => '11986' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12023' => { -+ 'BaseType' => '12029', -+ 'Name' => 'struct _compat_ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12029' => { -+ 'Name' => 'struct _compat_ibv_port_attr', -+ 'Type' => 'Struct' -+ }, -+ '12034' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct _compat_ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'type' => '12023' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12045' => { -+ 'Name' => 'void*(*)()', -+ 'Return' => '267', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12071' => { -+ 'Name' => 'struct ibv_mw*(*)(struct ibv_pd*, enum ibv_mw_type)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6322' -+ }, -+ '1' => { -+ 'type' => '6328' -+ } -+ }, -+ 'Return' => '8428', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12102' => { -+ 'BaseType' => '9013', -+ 'Name' => 'struct ibv_mw_bind*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12108' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_mw*, struct ibv_mw_bind*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'type' => '8428' -+ }, -+ '2' => { -+ 'type' => '12102' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12129' => { -+ 'Name' => 'int(*)(struct ibv_mw*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '8428' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12160' => { -+ 'BaseType' => '5755', -+ 'Name' => 'struct ibv_wc*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12166' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4899' -+ }, -+ '1' => { -+ 'type' => '128' -+ }, -+ '2' => { -+ 'type' => '12160' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '1218753' => { -+ 'Header' => undef, -+ 'Line' => '1637', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'flags', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_context_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '12192' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '4899' -+ }, -+ '1' => { -+ 'type' => '128' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12223' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5219' -+ }, -+ '1' => { -+ 'type' => '8745' -+ }, -+ '2' => { -+ 'type' => '9095' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12254' => { -+ 'BaseType' => '8662', -+ 'Name' => 'struct ibv_send_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12260' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_send_wr*, struct ibv_send_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'type' => '8662' -+ }, -+ '2' => { -+ 'type' => '12254' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12291' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'type' => '8745' -+ }, -+ '2' => { -+ 'type' => '9095' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '12297' => { -+ 'Header' => undef, -+ 'Line' => '2006', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cqe', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'cq_context', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '2' => { -+ 'name' => 'channel', -+ 'offset' => '16', -+ 'type' => '9969' -+ }, -+ '3' => { -+ 'name' => 'comp_vector', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'wc_flags', -+ 'offset' => '32', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'flags', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'parent_domain', -+ 'offset' => '48', -+ 'type' => '6322' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_init_attr_ex', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '12562' => { -+ 'Name' => 'void*(*)(struct ibv_pd*, void*, size_t, size_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6322' -+ }, -+ '1' => { -+ 'type' => '267' -+ }, -+ '2' => { -+ 'type' => '386' -+ }, -+ '3' => { -+ 'type' => '386' -+ }, -+ '4' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '267', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '1256719' => { -+ 'BaseType' => '1218753', -+ 'Name' => 'struct mlx5dv_context_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '12594' => { -+ 'Name' => 'void(*)(struct ibv_pd*, void*, void*, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '6322' -+ }, -+ '1' => { -+ 'type' => '267' -+ }, -+ '2' => { -+ 'type' => '267' -+ }, -+ '3' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '128' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '1317970' => { -+ 'Header' => undef, -+ 'Line' => '1648', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'pci_name', -+ 'offset' => '0', -+ 'type' => '375' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_vfio_context_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '13493' => { -+ 'BaseType' => '2028', -+ 'Name' => 'uint64_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '135' => { -+ 'BaseType' => '128', -+ 'Name' => 'int volatile', -+ 'Size' => '4', -+ 'Type' => 'Volatile' -+ }, -+ '13536' => { -+ 'BaseType' => '11061', -+ 'Name' => 'struct ibv_flow*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1355907' => { -+ 'BaseType' => '11342', -+ 'Name' => 'struct ibv_device**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1355913' => { -+ 'BaseType' => '1317970', -+ 'Name' => 'struct mlx5dv_vfio_context_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13662' => { -+ 'BaseType' => '2687', -+ 'Name' => 'struct ibv_alloc_dm_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13715' => { -+ 'BaseType' => '10884', -+ 'Name' => 'struct ibv_flow_action*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '13721' => { -+ 'BaseType' => '11118', -+ 'Name' => 'struct ibv_flow_action_esp_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '140' => { -+ 'BaseType' => '59', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '14092' => { -+ 'BaseType' => '6739', -+ 'Name' => 'struct ibv_wq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14156' => { -+ 'BaseType' => '12297', -+ 'Name' => 'struct ibv_cq_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1421' => { -+ 'Header' => undef, -+ 'Line' => '49', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_flags', -+ 'offset' => '0', -+ 'type' => '128' -+ }, -+ '1' => { -+ 'name' => '_IO_read_ptr', -+ 'offset' => '8', -+ 'type' => '305' -+ }, -+ '10' => { -+ 'name' => '_IO_backup_base', -+ 'offset' => '80', -+ 'type' => '305' -+ }, -+ '11' => { -+ 'name' => '_IO_save_end', -+ 'offset' => '88', -+ 'type' => '305' -+ }, -+ '12' => { -+ 'name' => '_markers', -+ 'offset' => '96', -+ 'type' => '1837' -+ }, -+ '13' => { -+ 'name' => '_chain', -+ 'offset' => '104', -+ 'type' => '1843' -+ }, -+ '14' => { -+ 'name' => '_fileno', -+ 'offset' => '112', -+ 'type' => '128' -+ }, -+ '15' => { -+ 'name' => '_flags2', -+ 'offset' => '116', -+ 'type' => '128' -+ }, -+ '16' => { -+ 'name' => '_old_offset', -+ 'offset' => '120', -+ 'type' => '207' -+ }, -+ '17' => { -+ 'name' => '_cur_column', -+ 'offset' => '128', -+ 'type' => '52' -+ }, -+ '18' => { -+ 'name' => '_vtable_offset', -+ 'offset' => '130', -+ 'type' => '90' -+ }, -+ '19' => { -+ 'name' => '_shortbuf', -+ 'offset' => '131', -+ 'type' => '1849' -+ }, -+ '2' => { -+ 'name' => '_IO_read_end', -+ 'offset' => '16', -+ 'type' => '305' -+ }, -+ '20' => { -+ 'name' => '_lock', -+ 'offset' => '136', -+ 'type' => '1865' -+ }, -+ '21' => { -+ 'name' => '_offset', -+ 'offset' => '144', -+ 'type' => '219' -+ }, -+ '22' => { -+ 'name' => '_codecvt', -+ 'offset' => '152', -+ 'type' => '1876' -+ }, -+ '23' => { -+ 'name' => '_wide_data', -+ 'offset' => '160', -+ 'type' => '1887' -+ }, -+ '24' => { -+ 'name' => '_freeres_list', -+ 'offset' => '168', -+ 'type' => '1843' -+ }, -+ '25' => { -+ 'name' => '_freeres_buf', -+ 'offset' => '176', -+ 'type' => '267' -+ }, -+ '26' => { -+ 'name' => '__pad5', -+ 'offset' => '184', -+ 'type' => '386' -+ }, -+ '27' => { -+ 'name' => '_mode', -+ 'offset' => '192', -+ 'type' => '128' -+ }, -+ '28' => { -+ 'name' => '_unused2', -+ 'offset' => '196', -+ 'type' => '1893' -+ }, -+ '3' => { -+ 'name' => '_IO_read_base', -+ 'offset' => '24', -+ 'type' => '305' -+ }, -+ '4' => { -+ 'name' => '_IO_write_base', -+ 'offset' => '32', -+ 'type' => '305' -+ }, -+ '5' => { -+ 'name' => '_IO_write_ptr', -+ 'offset' => '40', -+ 'type' => '305' -+ }, -+ '6' => { -+ 'name' => '_IO_write_end', -+ 'offset' => '48', -+ 'type' => '305' -+ }, -+ '7' => { -+ 'name' => '_IO_buf_base', -+ 'offset' => '56', -+ 'type' => '305' -+ }, -+ '8' => { -+ 'name' => '_IO_buf_end', -+ 'offset' => '64', -+ 'type' => '305' -+ }, -+ '9' => { -+ 'name' => '_IO_save_base', -+ 'offset' => '72', -+ 'type' => '305' -+ } -+ }, -+ 'Name' => 'struct _IO_FILE', -+ 'Size' => '216', -+ 'Type' => 'Struct' -+ }, -+ '14332' => { -+ 'BaseType' => '7351', -+ 'Name' => 'struct ibv_qp_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14364' => { -+ 'BaseType' => '2011', -+ 'Name' => 'uint32_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14461' => { -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next', -+ 'offset' => '0', -+ 'type' => '14501' -+ }, -+ '1' => { -+ 'name' => 'prev', -+ 'offset' => '8', -+ 'type' => '14501' -+ } -+ }, -+ 'Name' => 'struct list_node', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14501' => { -+ 'BaseType' => '14461', -+ 'Name' => 'struct list_node*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '14507' => { -+ 'Header' => undef, -+ 'Line' => '41', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'n', -+ 'offset' => '0', -+ 'type' => '14461' -+ } -+ }, -+ 'Name' => 'struct list_head', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '14752' => { -+ 'Name' => 'atomic_int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '152' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '15413' => { -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_RX', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_TX', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum mlx5_ib_uapi_flow_table_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '15462' => { -+ 'Header' => undef, -+ 'Line' => '50', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum mlx5_ib_uapi_flow_action_packet_reformat_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '15505' => { -+ 'Header' => undef, -+ 'Line' => '57', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2141' -+ }, -+ '1' => { -+ 'name' => 'out_data', -+ 'offset' => '8', -+ 'type' => '15547' -+ } -+ }, -+ 'Name' => 'struct mlx5_ib_uapi_devx_async_cmd_hdr', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15547' => { -+ 'BaseType' => '2105', -+ 'Name' => '__u8[]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '15562' => { -+ 'Header' => undef, -+ 'Line' => '62', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_IB_UAPI_DM_TYPE_MEMIC', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum mlx5_ib_uapi_dm_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '15599' => { -+ 'Header' => undef, -+ 'Line' => '68', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_IB_UAPI_DEVX_CR_EV_CH_FLAGS_OMIT_DATA', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5_ib_uapi_devx_create_event_channel_flags', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '15624' => { -+ 'Header' => undef, -+ 'Line' => '72', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cookie', -+ 'offset' => '0', -+ 'type' => '2141' -+ }, -+ '1' => { -+ 'name' => 'out_data', -+ 'offset' => '8', -+ 'type' => '15547' -+ } -+ }, -+ 'Name' => 'struct mlx5_ib_uapi_devx_async_event_hdr', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15666' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'value', -+ 'offset' => '0', -+ 'type' => '2129' -+ }, -+ '1' => { -+ 'name' => 'mask', -+ 'offset' => '4', -+ 'type' => '2129' -+ } -+ }, -+ 'Name' => 'struct mlx5_ib_uapi_reg', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15706' => { -+ 'Header' => undef, -+ 'Line' => '100', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'flags', -+ 'offset' => '0', -+ 'type' => '2141' -+ }, -+ '1' => { -+ 'name' => 'vport', -+ 'offset' => '8', -+ 'type' => '2117' -+ }, -+ '2' => { -+ 'name' => 'vport_vhca_id', -+ 'offset' => '10', -+ 'type' => '2117' -+ }, -+ '3' => { -+ 'name' => 'esw_owner_vhca_id', -+ 'offset' => '12', -+ 'type' => '2117' -+ }, -+ '4' => { -+ 'name' => 'rsvd0', -+ 'offset' => '14', -+ 'type' => '2117' -+ }, -+ '5' => { -+ 'name' => 'vport_steering_icm_rx', -+ 'offset' => '16', -+ 'type' => '2141' -+ }, -+ '6' => { -+ 'name' => 'vport_steering_icm_tx', -+ 'offset' => '24', -+ 'type' => '2141' -+ }, -+ '7' => { -+ 'name' => 'reg_c0', -+ 'offset' => '32', -+ 'type' => '15666' -+ } -+ }, -+ 'Name' => 'struct mlx5_ib_uapi_query_port', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '15828' => { -+ 'Header' => undef, -+ 'Line' => '91', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_num', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'supported_format', -+ 'offset' => '4', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_cqe_comp_caps', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '15868' => { -+ 'Header' => undef, -+ 'Line' => '96', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sw_parsing_offloads', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '4', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sw_parsing_caps', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '159' => { -+ 'BaseType' => '66', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '15908' => { -+ 'Header' => undef, -+ 'Line' => '101', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'min_single_stride_log_num_of_bytes', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'max_single_stride_log_num_of_bytes', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'min_single_wqe_log_num_of_strides', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_single_wqe_log_num_of_strides', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_striding_rq_caps', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '15987' => { -+ 'Header' => undef, -+ 'Line' => '109', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_log_num_concurent', -+ 'offset' => '0', -+ 'type' => '1987' -+ }, -+ '1' => { -+ 'name' => 'max_log_num_errored', -+ 'offset' => '1', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dci_streams_caps', -+ 'Size' => '2', -+ 'Type' => 'Struct' -+ }, -+ '16027' => { -+ 'Header' => undef, -+ 'Line' => '130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_SIG_TYPE_T10DIF', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_SIG_TYPE_CRC', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_sig_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '16058' => { -+ 'Header' => undef, -+ 'Line' => '140', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_SIG_T10DIF_CRC', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_SIG_T10DIF_CSUM', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_sig_t10dif_bg_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '16089' => { -+ 'Header' => undef, -+ 'Line' => '150', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_SIG_CRC_TYPE_CRC32', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_SIG_CRC_TYPE_CRC32C', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_SIG_CRC_TYPE_CRC64_XP10', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_sig_crc_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '16126' => { -+ 'Header' => undef, -+ 'Line' => '162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_BLOCK_SIZE_512', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_BLOCK_SIZE_520', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_BLOCK_SIZE_4048', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5DV_BLOCK_SIZE_4096', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'MLX5DV_BLOCK_SIZE_4160', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_block_size', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '16175' => { -+ 'Header' => undef, -+ 'Line' => '178', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'block_size', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'block_prot', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 't10dif_bg', -+ 'offset' => '12', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'crc_type', -+ 'offset' => '14', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_caps', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '16241' => { -+ 'Header' => undef, -+ 'Line' => '199', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'failed_selftests', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'crypto_engines', -+ 'offset' => '2', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'wrapped_import_method', -+ 'offset' => '3', -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'name' => 'log_max_num_deks', -+ 'offset' => '4', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_crypto_caps', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '1624226' => { -+ 'Header' => undef, -+ 'Line' => '578', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_MKEY_NO_ERR', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_MKEY_SIG_BLOCK_BAD_GUARD', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_MKEY_SIG_BLOCK_BAD_REFTAG', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5DV_MKEY_SIG_BLOCK_BAD_APPTAG', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_mkey_err_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1624270' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'actual_value', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'expected_value', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_err', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '1624327' => { -+ 'Header' => undef, -+ 'Line' => '593', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sig', -+ 'offset' => '0', -+ 'type' => '1624270' -+ } -+ }, -+ 'Size' => '24', -+ 'Type' => 'Union' -+ }, -+ '1624351' => { -+ 'Header' => undef, -+ 'Line' => '591', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'err_type', -+ 'offset' => '0', -+ 'type' => '1624226' -+ }, -+ '1' => { -+ 'name' => 'err', -+ 'offset' => '8', -+ 'type' => '1624327' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_mkey_err', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '16320' => { -+ 'Header' => undef, -+ 'Line' => '215', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'version', -+ 'offset' => '0', -+ 'type' => '1987' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '10' => { -+ 'name' => 'dc_odp_caps', -+ 'offset' => '84', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'hca_core_clock', -+ 'offset' => '88', -+ 'type' => '267' -+ }, -+ '12' => { -+ 'name' => 'num_lag_ports', -+ 'offset' => '96', -+ 'type' => '1987' -+ }, -+ '13' => { -+ 'name' => 'sig_caps', -+ 'offset' => '104', -+ 'type' => '16175' -+ }, -+ '14' => { -+ 'name' => 'dci_streams_caps', -+ 'offset' => '120', -+ 'type' => '15987' -+ }, -+ '15' => { -+ 'name' => 'max_wr_memcpy_length', -+ 'offset' => '128', -+ 'type' => '386' -+ }, -+ '16' => { -+ 'name' => 'crypto_caps', -+ 'offset' => '136', -+ 'type' => '16241' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'cqe_comp_caps', -+ 'offset' => '24', -+ 'type' => '15828' -+ }, -+ '4' => { -+ 'name' => 'sw_parsing_caps', -+ 'offset' => '32', -+ 'type' => '15868' -+ }, -+ '5' => { -+ 'name' => 'striding_rq_caps', -+ 'offset' => '40', -+ 'type' => '15908' -+ }, -+ '6' => { -+ 'name' => 'tunnel_offloads_caps', -+ 'offset' => '60', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'max_dynamic_bfregs', -+ 'offset' => '64', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'max_clock_info_update_nsec', -+ 'offset' => '72', -+ 'type' => '2028' -+ }, -+ '9' => { -+ 'name' => 'flow_action_flags', -+ 'offset' => '80', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_context', -+ 'Size' => '152', -+ 'Type' => 'Struct' -+ }, -+ '16555' => { -+ 'Header' => undef, -+ 'Line' => '260', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'cqe_comp_res_format', -+ 'offset' => '8', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'cqe_size', -+ 'offset' => '16', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_cq_init_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '16626' => { -+ 'Header' => undef, -+ 'Line' => '287', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'pd', -+ 'offset' => '0', -+ 'type' => '6322' -+ }, -+ '1' => { -+ 'name' => 'create_flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'max_entries', -+ 'offset' => '12', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_mkey_init_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '16682' => { -+ 'Header' => undef, -+ 'Line' => '293', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'lkey', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '4', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_mkey', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '16725' => { -+ 'Header' => undef, -+ 'Line' => '308', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_DCTYPE_DCT', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_DCTYPE_DCI', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_dc_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '16757' => { -+ 'Header' => undef, -+ 'Line' => '313', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'log_num_concurent', -+ 'offset' => '0', -+ 'type' => '1987' -+ }, -+ '1' => { -+ 'name' => 'log_num_errored', -+ 'offset' => '1', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dci_streams', -+ 'Size' => '2', -+ 'Type' => 'Struct' -+ }, -+ '1676566' => { -+ 'BaseType' => '1624351', -+ 'Name' => 'struct mlx5dv_mkey_err*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '16800' => { -+ 'Header' => undef, -+ 'Line' => '320', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dct_access_key', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'dci_streams', -+ 'offset' => '0', -+ 'type' => '16757' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '16837' => { -+ 'Header' => undef, -+ 'Line' => '318', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dc_type', -+ 'offset' => '0', -+ 'type' => '16725' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '16800' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dc_init_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '16872' => { -+ 'Header' => undef, -+ 'Line' => '334', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'create_flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'dc_init_attr', -+ 'offset' => '16', -+ 'type' => '16837' -+ }, -+ '3' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '32', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_qp_init_attr', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '16943' => { -+ 'Header' => undef, -+ 'Line' => '345', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'bytes_count', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'bytes_skip', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'lkey', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_mr_interleaved', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '17014' => { -+ 'BaseType' => '16943', -+ 'Name' => 'struct mlx5dv_mr_interleaved const', -+ 'Size' => '24', -+ 'Type' => 'Const' -+ }, -+ '17019' => { -+ 'Header' => undef, -+ 'Line' => '358', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bg_type', -+ 'offset' => '0', -+ 'type' => '16058' -+ }, -+ '1' => { -+ 'name' => 'bg', -+ 'offset' => '4', -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'name' => 'app_tag', -+ 'offset' => '6', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'ref_tag', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_t10dif', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '17103' => { -+ 'BaseType' => '17019', -+ 'Name' => 'struct mlx5dv_sig_t10dif const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '17108' => { -+ 'Header' => undef, -+ 'Line' => '366', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '16089' -+ }, -+ '1' => { -+ 'name' => 'seed', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_crc', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '17151' => { -+ 'BaseType' => '17108', -+ 'Name' => 'struct mlx5dv_sig_crc const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '17156' => { -+ 'Header' => undef, -+ 'Line' => '373', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dif', -+ 'offset' => '0', -+ 'type' => '17193' -+ }, -+ '1' => { -+ 'name' => 'crc', -+ 'offset' => '0', -+ 'type' => '17199' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '17193' => { -+ 'BaseType' => '17103', -+ 'Name' => 'struct mlx5dv_sig_t10dif const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17199' => { -+ 'BaseType' => '17151', -+ 'Name' => 'struct mlx5dv_sig_crc const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17205' => { -+ 'Header' => undef, -+ 'Line' => '371', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sig_type', -+ 'offset' => '0', -+ 'type' => '16027' -+ }, -+ '1' => { -+ 'name' => 'sig', -+ 'offset' => '8', -+ 'type' => '17156' -+ }, -+ '2' => { -+ 'name' => 'block_size', -+ 'offset' => '16', -+ 'type' => '16126' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_block_domain', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '17276' => { -+ 'BaseType' => '17205', -+ 'Name' => 'struct mlx5dv_sig_block_domain const', -+ 'Size' => '32', -+ 'Type' => 'Const' -+ }, -+ '17281' => { -+ 'Header' => undef, -+ 'Line' => '394', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mem', -+ 'offset' => '0', -+ 'type' => '17385' -+ }, -+ '1' => { -+ 'name' => 'wire', -+ 'offset' => '8', -+ 'type' => '17385' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'check_mask', -+ 'offset' => '20', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'copy_mask', -+ 'offset' => '21', -+ 'type' => '1987' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sig_block_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '17380' => { -+ 'BaseType' => '17281', -+ 'Name' => 'struct mlx5dv_sig_block_attr const', -+ 'Size' => '32', -+ 'Type' => 'Const' -+ }, -+ '17385' => { -+ 'BaseType' => '17276', -+ 'Name' => 'struct mlx5dv_sig_block_domain const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17391' => { -+ 'Header' => undef, -+ 'Line' => '403', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_CRYPTO_STANDARD_AES_XTS', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_crypto_standard', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '17417' => { -+ 'Header' => undef, -+ 'Line' => '407', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_SIGNATURE_CRYPTO_ORDER_SIGNATURE_AFTER_CRYPTO_ON_TX', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_SIGNATURE_CRYPTO_ORDER_SIGNATURE_BEFORE_CRYPTO_ON_TX', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_signature_crypto_order', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '17449' => { -+ 'Header' => undef, -+ 'Line' => '412', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'crypto_standard', -+ 'offset' => '0', -+ 'type' => '17391' -+ }, -+ '1' => { -+ 'name' => 'encrypt_on_tx', -+ 'offset' => '4', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'signature_crypto_order', -+ 'offset' => '8', -+ 'type' => '17417' -+ }, -+ '3' => { -+ 'name' => 'data_unit_size', -+ 'offset' => '12', -+ 'type' => '16126' -+ }, -+ '4' => { -+ 'name' => 'initial_tweak', -+ 'offset' => '16', -+ 'type' => '17581' -+ }, -+ '5' => { -+ 'name' => 'dek', -+ 'offset' => '32', -+ 'type' => '17626' -+ }, -+ '6' => { -+ 'name' => 'keytag', -+ 'offset' => '40', -+ 'type' => '983' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '48', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_crypto_attr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '17576' => { -+ 'BaseType' => '17449', -+ 'Name' => 'struct mlx5dv_crypto_attr const', -+ 'Size' => '56', -+ 'Type' => 'Const' -+ }, -+ '17581' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '17597' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'offset' => '0', -+ 'type' => '19143' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dek', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '17626' => { -+ 'BaseType' => '17597', -+ 'Name' => 'struct mlx5dv_dek*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17632' => { -+ 'Header' => undef, -+ 'Line' => '427', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'conf_flags', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_mkey_conf_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '17675' => { -+ 'Header' => undef, -+ 'Line' => '438', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'wr_set_dc_addr', -+ 'offset' => '8', -+ 'type' => '17904' -+ }, -+ '10' => { -+ 'name' => 'wr_set_dc_addr_stream', -+ 'offset' => '80', -+ 'type' => '18207' -+ }, -+ '11' => { -+ 'name' => 'wr_memcpy', -+ 'offset' => '88', -+ 'type' => '18249' -+ }, -+ '12' => { -+ 'name' => 'wr_set_mkey_crypto', -+ 'offset' => '96', -+ 'type' => '18277' -+ }, -+ '2' => { -+ 'name' => 'wr_mr_interleaved', -+ 'offset' => '16', -+ 'type' => '17958' -+ }, -+ '3' => { -+ 'name' => 'wr_mr_list', -+ 'offset' => '24', -+ 'type' => '17995' -+ }, -+ '4' => { -+ 'name' => 'wr_mkey_configure', -+ 'offset' => '32', -+ 'type' => '18033' -+ }, -+ '5' => { -+ 'name' => 'wr_set_mkey_access_flags', -+ 'offset' => '40', -+ 'type' => '18055' -+ }, -+ '6' => { -+ 'name' => 'wr_set_mkey_layout_list', -+ 'offset' => '48', -+ 'type' => '18082' -+ }, -+ '7' => { -+ 'name' => 'wr_set_mkey_layout_interleaved', -+ 'offset' => '56', -+ 'type' => '18120' -+ }, -+ '8' => { -+ 'name' => 'wr_set_mkey_sig_block', -+ 'offset' => '64', -+ 'type' => '18148' -+ }, -+ '9' => { -+ 'name' => 'wr_raw_wqe', -+ 'offset' => '72', -+ 'type' => '18170' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_qp_ex', -+ 'Size' => '104', -+ 'Type' => 'Struct' -+ }, -+ '17898' => { -+ 'BaseType' => '17675', -+ 'Name' => 'struct mlx5dv_qp_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17904' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct ibv_ah*, uint32_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '8272' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '17946' => { -+ 'BaseType' => '16682', -+ 'Name' => 'struct mlx5dv_mkey*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17952' => { -+ 'BaseType' => '16943', -+ 'Name' => 'struct mlx5dv_mr_interleaved*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '17958' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct mlx5dv_mkey*, uint32_t, uint32_t, uint16_t, struct mlx5dv_mr_interleaved*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '17946' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'type' => '17952' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '17995' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct mlx5dv_mkey*, uint32_t, uint16_t, struct ibv_sge*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '17946' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '1999' -+ }, -+ '4' => { -+ 'type' => '8668' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18027' => { -+ 'BaseType' => '17632', -+ 'Name' => 'struct mlx5dv_mkey_conf_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18033' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct mlx5dv_mkey*, uint8_t, struct mlx5dv_mkey_conf_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '17946' -+ }, -+ '2' => { -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'type' => '18027' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18055' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18082' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, uint16_t, struct ibv_sge const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'type' => '9880' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18114' => { -+ 'BaseType' => '17014', -+ 'Name' => 'struct mlx5dv_mr_interleaved const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1812' => { -+ 'BaseType' => '1421', -+ 'Header' => undef, -+ 'Line' => '7', -+ 'Name' => 'FILE', -+ 'Size' => '216', -+ 'Type' => 'Typedef' -+ }, -+ '18120' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, uint32_t, uint16_t, struct mlx5dv_mr_interleaved const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'type' => '18114' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18142' => { -+ 'BaseType' => '17380', -+ 'Name' => 'struct mlx5dv_sig_block_attr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18148' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct mlx5dv_sig_block_attr const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '18142' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18170' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, void const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '1980' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18207' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct ibv_ah*, uint32_t, uint64_t, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '8272' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '1824' => { -+ 'BaseType' => '1', -+ 'Header' => undef, -+ 'Line' => '43', -+ 'Name' => '_IO_lock_t', -+ 'Type' => 'Typedef' -+ }, -+ '18249' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, uint32_t, uint64_t, uint32_t, uint64_t, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18271' => { -+ 'BaseType' => '17576', -+ 'Name' => 'struct mlx5dv_crypto_attr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18277' => { -+ 'Name' => 'void(*)(struct mlx5dv_qp_ex*, struct mlx5dv_crypto_attr const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '17898' -+ }, -+ '1' => { -+ 'type' => '18271' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '18283' => { -+ 'Header' => undef, -+ 'Line' => '615', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'credential_id', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'import_kek_id', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'credential', -+ 'offset' => '8', -+ 'type' => '955' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '56', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_crypto_login_attr', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '1832' => { -+ 'Name' => 'struct _IO_marker', -+ 'Type' => 'Struct' -+ }, -+ '18354' => { -+ 'Header' => undef, -+ 'Line' => '622', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_CRYPTO_LOGIN_STATE_VALID', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_CRYPTO_LOGIN_STATE_NO_LOGIN', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_CRYPTO_LOGIN_STATE_INVALID', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_crypto_login_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1837' => { -+ 'BaseType' => '1832', -+ 'Name' => 'struct _IO_marker*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18392' => { -+ 'Header' => undef, -+ 'Line' => '636', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_CRYPTO_KEY_SIZE_128', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_CRYPTO_KEY_SIZE_256', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_crypto_key_size', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '18424' => { -+ 'Header' => undef, -+ 'Line' => '641', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_CRYPTO_KEY_PURPOSE_AES_XTS', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_crypto_key_purpose', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1843' => { -+ 'BaseType' => '1421', -+ 'Name' => 'struct _IO_FILE*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18450' => { -+ 'Header' => undef, -+ 'Line' => '645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_DEK_STATE_READY', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_DEK_STATE_ERROR', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_dek_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '18482' => { -+ 'Header' => undef, -+ 'Line' => '650', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'key_size', -+ 'offset' => '0', -+ 'type' => '18392' -+ }, -+ '1' => { -+ 'name' => 'has_keytag', -+ 'offset' => '4', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'key_purpose', -+ 'offset' => '8', -+ 'type' => '18424' -+ }, -+ '3' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '6322' -+ }, -+ '4' => { -+ 'name' => 'opaque', -+ 'offset' => '24', -+ 'type' => '983' -+ }, -+ '5' => { -+ 'name' => 'key', -+ 'offset' => '32', -+ 'type' => '18594' -+ }, -+ '6' => { -+ 'name' => 'comp_mask', -+ 'offset' => '160', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dek_init_attr', -+ 'Size' => '168', -+ 'Type' => 'Struct' -+ }, -+ '1849' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[1]', -+ 'Size' => '1', -+ 'Type' => 'Array' -+ }, -+ '18594' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[128]', -+ 'Size' => '128', -+ 'Type' => 'Array' -+ }, -+ '18610' => { -+ 'Header' => undef, -+ 'Line' => '660', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'state', -+ 'offset' => '0', -+ 'type' => '18450' -+ }, -+ '1' => { -+ 'name' => 'opaque', -+ 'offset' => '4', -+ 'type' => '983' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dek_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '1865' => { -+ 'BaseType' => '1824', -+ 'Name' => '_IO_lock_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18667' => { -+ 'Header' => undef, -+ 'Line' => '679', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'action_flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_flow_action_esp', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '1871' => { -+ 'Name' => 'struct _IO_codecvt', -+ 'Type' => 'Struct' -+ }, -+ '18710' => { -+ 'Header' => undef, -+ 'Line' => '684', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'match_sz', -+ 'offset' => '0', -+ 'type' => '386' -+ }, -+ '1' => { -+ 'name' => 'match_buf', -+ 'offset' => '8', -+ 'type' => '18753' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_flow_match_parameters', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '18753' => { -+ 'BaseType' => '2028', -+ 'Name' => 'uint64_t[]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '1876' => { -+ 'BaseType' => '1871', -+ 'Name' => 'struct _IO_codecvt*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18768' => { -+ 'Header' => undef, -+ 'Line' => '693', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '10824' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'priority', -+ 'offset' => '8', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'match_criteria_enable', -+ 'offset' => '10', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'match_mask', -+ 'offset' => '16', -+ 'type' => '18881' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'ft_type', -+ 'offset' => '32', -+ 'type' => '15413' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_flow_matcher_attr', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '1882' => { -+ 'Name' => 'struct _IO_wide_data', -+ 'Type' => 'Struct' -+ }, -+ '1887' => { -+ 'BaseType' => '1882', -+ 'Name' => 'struct _IO_wide_data*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18881' => { -+ 'BaseType' => '18710', -+ 'Name' => 'struct mlx5dv_flow_match_parameters*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '18887' => { -+ 'Header' => undef, -+ 'Line' => '711', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_DEST_IBV_QP', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_DROP', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_IBV_COUNTER', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_TAG', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_DEST_DEVX', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_COUNTERS_DEVX', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'MLX5DV_FLOW_ACTION_DEFAULT_MISS', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_flow_action_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1893' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[20]', -+ 'Size' => '20', -+ 'Type' => 'Array' -+ }, -+ '18955' => { -+ 'Header' => undef, -+ 'Line' => '724', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'counter', -+ 'offset' => '0', -+ 'type' => '10942' -+ }, -+ '2' => { -+ 'name' => 'action', -+ 'offset' => '0', -+ 'type' => '13715' -+ }, -+ '3' => { -+ 'name' => 'tag_value', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'obj', -+ 'offset' => '0', -+ 'type' => '19143' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '19030' => { -+ 'Header' => undef, -+ 'Line' => '774', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'type', -+ 'offset' => '12', -+ 'type' => '27892' -+ }, -+ '3' => { -+ 'name' => 'object_id', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'rx_icm_addr', -+ 'offset' => '24', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'log_obj_range', -+ 'offset' => '32', -+ 'type' => '1987' -+ }, -+ '6' => { -+ 'name' => 'priv', -+ 'offset' => '40', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_obj', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '19143' => { -+ 'BaseType' => '19030', -+ 'Name' => 'struct mlx5dv_devx_obj*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19149' => { -+ 'Header' => undef, -+ 'Line' => '722', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '18887' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '18955' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_flow_action_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19184' => { -+ 'Header' => undef, -+ 'Line' => '793', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'stride', -+ 'offset' => '12', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '1921' => { -+ 'BaseType' => '207', -+ 'Header' => undef, -+ 'Line' => '63', -+ 'Name' => 'off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '19237' => { -+ 'Header' => undef, -+ 'Line' => '798', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'stride', -+ 'offset' => '12', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19290' => { -+ 'Header' => undef, -+ 'Line' => '803', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'reg', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19329' => { -+ 'Header' => undef, -+ 'Line' => '791', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dbrec', -+ 'offset' => '0', -+ 'type' => '19495' -+ }, -+ '1' => { -+ 'name' => 'sq', -+ 'offset' => '8', -+ 'type' => '19184' -+ }, -+ '10' => { -+ 'name' => 'tir_icm_addr', -+ 'offset' => '88', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'rq', -+ 'offset' => '24', -+ 'type' => '19237' -+ }, -+ '3' => { -+ 'name' => 'bf', -+ 'offset' => '40', -+ 'type' => '19290' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '56', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'uar_mmap_offset', -+ 'offset' => '64', -+ 'type' => '1921' -+ }, -+ '6' => { -+ 'name' => 'tirn', -+ 'offset' => '72', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'tisn', -+ 'offset' => '76', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'rqn', -+ 'offset' => '80', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'sqn', -+ 'offset' => '84', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_qp', -+ 'Size' => '96', -+ 'Type' => 'Struct' -+ }, -+ '1933' => { -+ 'BaseType' => '269', -+ 'Header' => undef, -+ 'Line' => '77', -+ 'Name' => 'ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1945' => { -+ 'BaseType' => '1812', -+ 'Name' => 'FILE*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19495' => { -+ 'BaseType' => '2165', -+ 'Name' => '__be32*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19501' => { -+ 'Header' => undef, -+ 'Line' => '816', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'dbrec', -+ 'offset' => '8', -+ 'type' => '19495' -+ }, -+ '2' => { -+ 'name' => 'cqe_cnt', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'cqe_size', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'cq_uar', -+ 'offset' => '24', -+ 'type' => '267' -+ }, -+ '5' => { -+ 'name' => 'cqn', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_cq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '19614' => { -+ 'Header' => undef, -+ 'Line' => '830', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'dbrec', -+ 'offset' => '8', -+ 'type' => '19495' -+ }, -+ '2' => { -+ 'name' => 'stride', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'head', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'tail', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'comp_mask', -+ 'offset' => '32', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'srqn', -+ 'offset' => '40', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_srq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '19727' => { -+ 'Header' => undef, -+ 'Line' => '840', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'dbrec', -+ 'offset' => '8', -+ 'type' => '19495' -+ }, -+ '2' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'stride', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_rwq', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '1980' => { -+ 'BaseType' => '1986', -+ 'Name' => 'void const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '19812' => { -+ 'Header' => undef, -+ 'Line' => '848', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '15562' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_alloc_dm_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19855' => { -+ 'Header' => undef, -+ 'Line' => '857', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'remote_va', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dm', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '1986' => { -+ 'BaseType' => '1', -+ 'Name' => 'void const', -+ 'Type' => 'Const' -+ }, -+ '1987' => { -+ 'BaseType' => '97', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '19926' => { -+ 'Header' => undef, -+ 'Line' => '872', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'av', -+ 'offset' => '0', -+ 'type' => '20137' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_ah', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '19968' => { -+ 'Header' => undef, -+ 'Line' => '1216', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'key', -+ 'offset' => '0', -+ 'type' => '20873' -+ }, -+ '1' => { -+ 'name' => 'dqp_dct', -+ 'offset' => '8', -+ 'type' => '2165' -+ }, -+ '10' => { -+ 'name' => 'rgid', -+ 'offset' => '32', -+ 'type' => '2512' -+ }, -+ '2' => { -+ 'name' => 'stat_rate_sl', -+ 'offset' => '12', -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'name' => 'fl_mlid', -+ 'offset' => '13', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'rlid', -+ 'offset' => '14', -+ 'type' => '2153' -+ }, -+ '5' => { -+ 'name' => 'reserved0', -+ 'offset' => '16', -+ 'type' => '20718' -+ }, -+ '6' => { -+ 'name' => 'rmac', -+ 'offset' => '20', -+ 'type' => '10868' -+ }, -+ '7' => { -+ 'name' => 'tclass', -+ 'offset' => '26', -+ 'type' => '1987' -+ }, -+ '8' => { -+ 'name' => 'hop_limit', -+ 'offset' => '27', -+ 'type' => '1987' -+ }, -+ '9' => { -+ 'name' => 'grh_gid_fl', -+ 'offset' => '28', -+ 'type' => '2165' -+ } -+ }, -+ 'Name' => 'struct mlx5_wqe_av', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '1999' => { -+ 'BaseType' => '116', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '2011' => { -+ 'BaseType' => '140', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '20137' => { -+ 'BaseType' => '19968', -+ 'Name' => 'struct mlx5_wqe_av*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20143' => { -+ 'Header' => undef, -+ 'Line' => '877', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'pdn', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20186' => { -+ 'Header' => undef, -+ 'Line' => '883', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '5101' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20224' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20224' => { -+ 'BaseType' => '19329', -+ 'Name' => 'struct mlx5dv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20230' => { -+ 'Header' => undef, -+ 'Line' => '887', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '4899' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20268' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20268' => { -+ 'BaseType' => '19501', -+ 'Name' => 'struct mlx5dv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20274' => { -+ 'Header' => undef, -+ 'Line' => '891', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '5219' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20312' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '2028' => { -+ 'BaseType' => '159', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '20312' => { -+ 'BaseType' => '19614', -+ 'Name' => 'struct mlx5dv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20318' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '5420' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20356' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20356' => { -+ 'BaseType' => '19727', -+ 'Name' => 'struct mlx5dv_rwq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20362' => { -+ 'Header' => undef, -+ 'Line' => '899', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '2974' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20400' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20400' => { -+ 'BaseType' => '19855', -+ 'Name' => 'struct mlx5dv_dm*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20406' => { -+ 'Header' => undef, -+ 'Line' => '903', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '8272' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20444' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20444' => { -+ 'BaseType' => '19926', -+ 'Name' => 'struct mlx5dv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20450' => { -+ 'Header' => undef, -+ 'Line' => '907', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'in', -+ 'offset' => '0', -+ 'type' => '6322' -+ }, -+ '1' => { -+ 'name' => 'out', -+ 'offset' => '8', -+ 'type' => '20488' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '20488' => { -+ 'BaseType' => '20143', -+ 'Name' => 'struct mlx5dv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20494' => { -+ 'Header' => undef, -+ 'Line' => '882', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '20186' -+ }, -+ '1' => { -+ 'name' => 'cq', -+ 'offset' => '16', -+ 'type' => '20230' -+ }, -+ '2' => { -+ 'name' => 'srq', -+ 'offset' => '32', -+ 'type' => '20274' -+ }, -+ '3' => { -+ 'name' => 'rwq', -+ 'offset' => '48', -+ 'type' => '20318' -+ }, -+ '4' => { -+ 'name' => 'dm', -+ 'offset' => '64', -+ 'type' => '20362' -+ }, -+ '5' => { -+ 'name' => 'ah', -+ 'offset' => '80', -+ 'type' => '20406' -+ }, -+ '6' => { -+ 'name' => 'pd', -+ 'offset' => '96', -+ 'type' => '20450' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_obj', -+ 'Size' => '112', -+ 'Type' => 'Struct' -+ }, -+ '20602' => { -+ 'Header' => undef, -+ 'Line' => '927', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'single_stride_log_num_of_bytes', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'single_wqe_log_num_of_strides', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'two_byte_shift_en', -+ 'offset' => '8', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_striding_rq_init_attr', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '20659' => { -+ 'Header' => undef, -+ 'Line' => '933', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'striding_rq_attrs', -+ 'offset' => '8', -+ 'type' => '20602' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_wq_init_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '207' => { -+ 'BaseType' => '152', -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Name' => '__off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '20718' => { -+ 'BaseType' => '1987', -+ 'Name' => 'uint8_t[4]', -+ 'Size' => '4', -+ 'Type' => 'Array' -+ }, -+ '20834' => { -+ 'Header' => undef, -+ 'Line' => '1218', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qkey', -+ 'offset' => '0', -+ 'type' => '2165' -+ }, -+ '1' => { -+ 'name' => 'reserved', -+ 'offset' => '4', -+ 'type' => '2165' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '20873' => { -+ 'Header' => undef, -+ 'Line' => '1217', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qkey', -+ 'offset' => '0', -+ 'type' => '20834' -+ }, -+ '1' => { -+ 'name' => 'dc_key', -+ 'offset' => '0', -+ 'type' => '2177' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '20910' => { -+ 'Header' => undef, -+ 'Line' => '1547', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_CTX_ATTR_BUF_ALLOCATORS', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_set_ctx_attr_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '2098' => { -+ 'Name' => '_Bool', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '21041' => { -+ 'Header' => undef, -+ 'Line' => '1571', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'nsec', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'last_cycles', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'frac', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'mult', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'shift', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'mask', -+ 'offset' => '32', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_clock_info', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '2105' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '21', -+ 'Name' => '__u8', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '21140' => { -+ 'Header' => undef, -+ 'Line' => '1693', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'umem_id', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_umem', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '21169' => { -+ 'Header' => undef, -+ 'Line' => '1700', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'size', -+ 'offset' => '8', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'access', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'pgsz_bitmap', -+ 'offset' => '24', -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '32', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_umem_in', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '2117' => { -+ 'BaseType' => '52', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => '__u16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '21254' => { -+ 'Header' => undef, -+ 'Line' => '1713', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'reg_addr', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'base_addr', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '2' => { -+ 'name' => 'page_id', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'mmap_off', -+ 'offset' => '24', -+ 'type' => '1921' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '32', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_uar', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '2129' => { -+ 'BaseType' => '59', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '21339' => { -+ 'Header' => undef, -+ 'Line' => '1726', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'page_id', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'mmap_off', -+ 'offset' => '8', -+ 'type' => '1921' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_var', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '2141' => { -+ 'BaseType' => '405', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '21410' => { -+ 'Header' => undef, -+ 'Line' => '1763', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fd', -+ 'offset' => '0', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_cmd_comp', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '21438' => { -+ 'Header' => undef, -+ 'Line' => '1779', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fd', -+ 'offset' => '0', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_event_channel', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '21466' => { -+ 'Header' => undef, -+ 'Line' => '2069', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'index', -+ 'offset' => '0', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_pp', -+ 'Size' => '2', -+ 'Type' => 'Struct' -+ }, -+ '21495' => { -+ 'Header' => undef, -+ 'Line' => '2095', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'parent', -+ 'offset' => '0', -+ 'type' => '21628' -+ }, -+ '1' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'bw_share', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_avg_bw', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sched_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '2153' => { -+ 'BaseType' => '2117', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => '__be16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '21580' => { -+ 'BaseType' => '21495', -+ 'Name' => 'struct mlx5dv_sched_attr const', -+ 'Size' => '32', -+ 'Type' => 'Const' -+ }, -+ '21585' => { -+ 'Header' => undef, -+ 'Line' => '913', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'parent', -+ 'offset' => '0', -+ 'type' => '21628' -+ }, -+ '1' => { -+ 'name' => 'obj', -+ 'offset' => '8', -+ 'type' => '19143' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sched_node', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '21628' => { -+ 'BaseType' => '21585', -+ 'Name' => 'struct mlx5dv_sched_node*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '21634' => { -+ 'Header' => undef, -+ 'Line' => '2138', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vector', -+ 'offset' => '0', -+ 'type' => '128' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '4', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_msi_vector', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '2165' => { -+ 'BaseType' => '2129', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '21676' => { -+ 'Header' => undef, -+ 'Line' => '2148', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vaddr', -+ 'offset' => '0', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_devx_eq', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '2177' => { -+ 'BaseType' => '2141', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '21789' => { -+ 'Header' => undef, -+ 'Line' => '197', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_ALLOC_TYPE_ANON', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5_ALLOC_TYPE_HUGE', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5_ALLOC_TYPE_CONTIG', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'MLX5_ALLOC_TYPE_PREFER_HUGE', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'MLX5_ALLOC_TYPE_PREFER_CONTIG', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'MLX5_ALLOC_TYPE_EXTERNAL', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'MLX5_ALLOC_TYPE_CUSTOM', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'MLX5_ALLOC_TYPE_ALL', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum mlx5_alloc_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '219' => { -+ 'BaseType' => '152', -+ 'Header' => undef, -+ 'Line' => '153', -+ 'Name' => '__off64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '21945' => { -+ 'Header' => undef, -+ 'Line' => '243', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'lock', -+ 'offset' => '0', -+ 'type' => '999' -+ }, -+ '1' => { -+ 'name' => 'in_use', -+ 'offset' => '4', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'need_lock', -+ 'offset' => '8', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct mlx5_spinlock', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '2205' => { -+ 'Header' => undef, -+ 'Line' => '144', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum ib_uverbs_flow_action_esp_keymat', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '2230' => { -+ 'Header' => undef, -+ 'Line' => '163', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum ib_uverbs_flow_action_esp_replay', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '22314' => { -+ 'BaseType' => '66', -+ 'Name' => 'unsigned long*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2261' => { -+ 'Header' => undef, -+ 'Line' => '189', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'val_ptr', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'val_ptr_data_u64', -+ 'offset' => '0', -+ 'type' => '2141' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '2297' => { -+ 'Header' => undef, -+ 'Line' => '190', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next_ptr', -+ 'offset' => '0', -+ 'type' => '2388' -+ }, -+ '1' => { -+ 'name' => 'next_ptr_data_u64', -+ 'offset' => '0', -+ 'type' => '2141' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '2333' => { -+ 'Header' => undef, -+ 'Line' => '185', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '2261' -+ }, -+ '1' => { -+ 'name' => 'unnamed1', -+ 'offset' => '8', -+ 'type' => '2297' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'offset' => '16', -+ 'type' => '2117' -+ }, -+ '3' => { -+ 'name' => 'type', -+ 'offset' => '18', -+ 'type' => '2117' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_flow_action_esp_encap', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '2388' => { -+ 'BaseType' => '2333', -+ 'Name' => 'struct ib_uverbs_flow_action_esp_encap*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2394' => { -+ 'Header' => undef, -+ 'Line' => '195', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'spi', -+ 'offset' => '0', -+ 'type' => '2129' -+ }, -+ '1' => { -+ 'name' => 'seq', -+ 'offset' => '4', -+ 'type' => '2129' -+ }, -+ '2' => { -+ 'name' => 'tfc_pad', -+ 'offset' => '8', -+ 'type' => '2129' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'offset' => '12', -+ 'type' => '2129' -+ }, -+ '4' => { -+ 'name' => 'hard_limit_pkts', -+ 'offset' => '16', -+ 'type' => '2141' -+ } -+ }, -+ 'Name' => 'struct ib_uverbs_flow_action_esp', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '2512' => { -+ 'BaseType' => '1987', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '2528' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_NODE_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_NODE_CA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_NODE_SWITCH', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_NODE_ROUTER', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_NODE_RNIC', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_NODE_USNIC', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_NODE_USNIC_UDP', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_NODE_UNSPECIFIED', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_node_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '25436' => { -+ 'Header' => undef, -+ 'Line' => '603', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'reg', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'need_lock', -+ 'offset' => '8', -+ 'type' => '128' -+ }, -+ '10' => { -+ 'bitfield' => '1', -+ 'name' => 'dyn_alloc_uar', -+ 'offset' => '112', -+ 'type' => '1987' -+ }, -+ '11' => { -+ 'bitfield' => '1', -+ 'name' => 'mmaped_entry', -+ 'offset' => '112', -+ 'type' => '1987' -+ }, -+ '12' => { -+ 'bitfield' => '1', -+ 'name' => 'nc_mode', -+ 'offset' => '112', -+ 'type' => '1987' -+ }, -+ '13' => { -+ 'bitfield' => '1', -+ 'name' => 'qp_dedicated', -+ 'offset' => '112', -+ 'type' => '1987' -+ }, -+ '14' => { -+ 'bitfield' => '1', -+ 'name' => 'qp_shared', -+ 'offset' => '112', -+ 'type' => '1987' -+ }, -+ '15' => { -+ 'name' => 'count', -+ 'offset' => '116', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'name' => 'uar_entry', -+ 'offset' => '120', -+ 'type' => '14461' -+ }, -+ '17' => { -+ 'name' => 'uar_handle', -+ 'offset' => '136', -+ 'type' => '2011' -+ }, -+ '18' => { -+ 'name' => 'length', -+ 'offset' => '140', -+ 'type' => '2011' -+ }, -+ '19' => { -+ 'name' => 'page_id', -+ 'offset' => '144', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'lock', -+ 'offset' => '12', -+ 'type' => '21945' -+ }, -+ '3' => { -+ 'name' => 'offset', -+ 'offset' => '24', -+ 'type' => '59' -+ }, -+ '4' => { -+ 'name' => 'buf_size', -+ 'offset' => '28', -+ 'type' => '59' -+ }, -+ '5' => { -+ 'name' => 'uuarn', -+ 'offset' => '32', -+ 'type' => '59' -+ }, -+ '6' => { -+ 'name' => 'uar_mmap_offset', -+ 'offset' => '40', -+ 'type' => '1921' -+ }, -+ '7' => { -+ 'name' => 'uar', -+ 'offset' => '48', -+ 'type' => '267' -+ }, -+ '8' => { -+ 'name' => 'bfreg_dyn_index', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'devx_uar', -+ 'offset' => '64', -+ 'type' => '27800' -+ } -+ }, -+ 'Name' => 'struct mlx5_bf', -+ 'Size' => '152', -+ 'Type' => 'Struct' -+ }, -+ '25746' => { -+ 'BaseType' => '25436', -+ 'Name' => 'struct mlx5_bf*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2595' => { -+ 'Header' => undef, -+ 'Line' => '106', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_TRANSPORT_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_TRANSPORT_IB', -+ 'value' => '0' -+ }, -+ '2' => { -+ 'name' => 'IBV_TRANSPORT_IWARP', -+ 'value' => '1' -+ }, -+ '3' => { -+ 'name' => 'IBV_TRANSPORT_USNIC', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'IBV_TRANSPORT_USNIC_UDP', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'IBV_TRANSPORT_UNSPECIFIED', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum ibv_transport_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '2650' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_ATOMIC_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_ATOMIC_HCA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_ATOMIC_GLOB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_atomic_cap', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '267' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2687' => { -+ 'Header' => undef, -+ 'Line' => '161', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'length', -+ 'offset' => '0', -+ 'type' => '386' -+ }, -+ '1' => { -+ 'name' => 'log_align_req', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '12', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_alloc_dm_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '26888' => { -+ 'Header' => undef, -+ 'Line' => '423', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'shmid', -+ 'offset' => '0', -+ 'type' => '128' -+ }, -+ '1' => { -+ 'name' => 'shmaddr', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '2' => { -+ 'name' => 'bitmap', -+ 'offset' => '16', -+ 'type' => '22314' -+ }, -+ '3' => { -+ 'name' => 'bmp_size', -+ 'offset' => '24', -+ 'type' => '66' -+ }, -+ '4' => { -+ 'name' => 'entry', -+ 'offset' => '32', -+ 'type' => '14461' -+ } -+ }, -+ 'Name' => 'struct mlx5_hugetlb_mem', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '269' => { -+ 'BaseType' => '152', -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Name' => '__ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '26973' => { -+ 'Header' => undef, -+ 'Line' => '431', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '386' -+ }, -+ '2' => { -+ 'name' => 'base', -+ 'offset' => '16', -+ 'type' => '128' -+ }, -+ '3' => { -+ 'name' => 'hmem', -+ 'offset' => '24', -+ 'type' => '27100' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '32', -+ 'type' => '21789' -+ }, -+ '5' => { -+ 'name' => 'resource_type', -+ 'offset' => '40', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'req_alignment', -+ 'offset' => '48', -+ 'type' => '386' -+ }, -+ '7' => { -+ 'name' => 'mparent_domain', -+ 'offset' => '56', -+ 'type' => '27191' -+ } -+ }, -+ 'Name' => 'struct mlx5_buf', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '27100' => { -+ 'BaseType' => '26888', -+ 'Name' => 'struct mlx5_hugetlb_mem*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '27106' => { -+ 'Header' => undef, -+ 'Line' => '460', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mpd', -+ 'offset' => '0', -+ 'type' => '27313' -+ }, -+ '1' => { -+ 'name' => 'mtd', -+ 'offset' => '88', -+ 'type' => '27403' -+ }, -+ '2' => { -+ 'name' => 'alloc', -+ 'offset' => '96', -+ 'type' => '12562' -+ }, -+ '3' => { -+ 'name' => 'free', -+ 'offset' => '104', -+ 'type' => '12594' -+ }, -+ '4' => { -+ 'name' => 'pd_context', -+ 'offset' => '112', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct mlx5_parent_domain', -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '27191' => { -+ 'BaseType' => '27106', -+ 'Name' => 'struct mlx5_parent_domain*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '27197' => { -+ 'Header' => undef, -+ 'Line' => '442', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ibv_td', -+ 'offset' => '0', -+ 'type' => '6208' -+ }, -+ '1' => { -+ 'name' => 'bf', -+ 'offset' => '8', -+ 'type' => '25746' -+ }, -+ '2' => { -+ 'name' => 'refcount', -+ 'offset' => '16', -+ 'type' => '14752' -+ } -+ }, -+ 'Name' => 'struct mlx5_td', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '27260' => { -+ 'Header' => undef, -+ 'Line' => '453', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'opaque_buf', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'opaque_mr', -+ 'offset' => '8', -+ 'type' => '6130' -+ }, -+ '2' => { -+ 'name' => 'opaque_mr_mutex', -+ 'offset' => '16', -+ 'type' => '897' -+ } -+ }, -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '27313' => { -+ 'Header' => undef, -+ 'Line' => '448', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ibv_pd', -+ 'offset' => '0', -+ 'type' => '6136' -+ }, -+ '1' => { -+ 'name' => 'pdn', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'refcount', -+ 'offset' => '20', -+ 'type' => '14752' -+ }, -+ '3' => { -+ 'name' => 'mprotection_domain', -+ 'offset' => '24', -+ 'type' => '27397' -+ }, -+ '4' => { -+ 'name' => 'unnamed0', -+ 'offset' => '32', -+ 'type' => '27260' -+ } -+ }, -+ 'Name' => 'struct mlx5_pd', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '27397' => { -+ 'BaseType' => '27313', -+ 'Name' => 'struct mlx5_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2740' => { -+ 'Header' => undef, -+ 'Line' => '171', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'memcpy_to_dm', -+ 'offset' => '8', -+ 'type' => '2980' -+ }, -+ '2' => { -+ 'name' => 'memcpy_from_dm', -+ 'offset' => '16', -+ 'type' => '3016' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '28', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_dm', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '27403' => { -+ 'BaseType' => '27197', -+ 'Name' => 'struct mlx5_td*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '27794' => { -+ 'BaseType' => '59', -+ 'Name' => 'unsigned int*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '27800' => { -+ 'Header' => undef, -+ 'Line' => '598', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dv_devx_uar', -+ 'offset' => '0', -+ 'type' => '21254' -+ }, -+ '1' => { -+ 'name' => 'context', -+ 'offset' => '40', -+ 'type' => '2938' -+ } -+ }, -+ 'Name' => 'struct mlx5_devx_uar', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '27849' => { -+ 'Header' => undef, -+ 'Line' => '754', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_flow_matcher', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '27892' => { -+ 'Header' => undef, -+ 'Line' => '759', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5_DEVX_FLOW_TABLE', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'MLX5_DEVX_FLOW_COUNTER', -+ 'value' => '2' -+ }, -+ '10' => { -+ 'name' => 'MLX5_DEVX_ASO_FLOW_METER', -+ 'value' => '11' -+ }, -+ '11' => { -+ 'name' => 'MLX5_DEVX_ASO_CT', -+ 'value' => '12' -+ }, -+ '2' => { -+ 'name' => 'MLX5_DEVX_FLOW_METER', -+ 'value' => '3' -+ }, -+ '3' => { -+ 'name' => 'MLX5_DEVX_QP', -+ 'value' => '4' -+ }, -+ '4' => { -+ 'name' => 'MLX5_DEVX_PKT_REFORMAT_CTX', -+ 'value' => '5' -+ }, -+ '5' => { -+ 'name' => 'MLX5_DEVX_TIR', -+ 'value' => '6' -+ }, -+ '6' => { -+ 'name' => 'MLX5_DEVX_FLOW_GROUP', -+ 'value' => '7' -+ }, -+ '7' => { -+ 'name' => 'MLX5_DEVX_FLOW_TABLE_ENTRY', -+ 'value' => '8' -+ }, -+ '8' => { -+ 'name' => 'MLX5_DEVX_FLOW_SAMPLER', -+ 'value' => '9' -+ }, -+ '9' => { -+ 'name' => 'MLX5_DEVX_ASO_FIRST_HIT', -+ 'value' => '10' -+ } -+ }, -+ 'Name' => 'enum mlx5_devx_obj_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '2819' => { -+ 'Header' => undef, -+ 'Line' => '1986', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '11342' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '11502' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '264', -+ 'type' => '128' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '268', -+ 'type' => '128' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '272', -+ 'type' => '128' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '280', -+ 'type' => '897' -+ }, -+ '6' => { -+ 'name' => 'abi_compat', -+ 'offset' => '320', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct ibv_context', -+ 'Size' => '328', -+ 'Type' => 'Struct' -+ }, -+ '28757' => { -+ 'Header' => undef, -+ 'Line' => '918', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'parent', -+ 'offset' => '0', -+ 'type' => '21628' -+ }, -+ '1' => { -+ 'name' => 'obj', -+ 'offset' => '8', -+ 'type' => '19143' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_sched_leaf', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '28800' => { -+ 'BaseType' => '28757', -+ 'Name' => 'struct mlx5dv_sched_leaf const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '28943' => { -+ 'Name' => 'int(*)(struct mlx5dv_devx_obj*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '19143' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29200' => { -+ 'BaseType' => '21410', -+ 'Name' => 'struct mlx5dv_devx_cmd_comp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29249' => { -+ 'BaseType' => '21438', -+ 'Name' => 'struct mlx5dv_devx_event_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '292994' => { -+ 'Header' => undef, -+ 'Line' => '1875', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_DR_DOMAIN_TYPE_NIC_RX', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_DR_DOMAIN_TYPE_NIC_TX', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'MLX5DV_DR_DOMAIN_TYPE_FDB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_dr_domain_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '293032' => { -+ 'Header' => undef, -+ 'Line' => '1887', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next_table', -+ 'offset' => '0', -+ 'type' => '293256' -+ }, -+ '1' => { -+ 'name' => 'active', -+ 'offset' => '8', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'reg_c_index', -+ 'offset' => '9', -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'name' => 'flow_meter_parameter_sz', -+ 'offset' => '16', -+ 'type' => '386' -+ }, -+ '4' => { -+ 'name' => 'flow_meter_parameter', -+ 'offset' => '24', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_flow_meter_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '293117' => { -+ 'Header' => undef, -+ 'Line' => '1107', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'rx', -+ 'offset' => '8', -+ 'type' => '313434' -+ }, -+ '2' => { -+ 'name' => 'tx', -+ 'offset' => '24', -+ 'type' => '313434' -+ }, -+ '3' => { -+ 'name' => 'level', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'table_type', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'matcher_list', -+ 'offset' => '48', -+ 'type' => '14507' -+ }, -+ '6' => { -+ 'name' => 'devx_obj', -+ 'offset' => '64', -+ 'type' => '19143' -+ }, -+ '7' => { -+ 'name' => 'refcount', -+ 'offset' => '72', -+ 'type' => '128' -+ }, -+ '8' => { -+ 'name' => 'tbl_list', -+ 'offset' => '80', -+ 'type' => '14461' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_table', -+ 'Size' => '96', -+ 'Type' => 'Struct' -+ }, -+ '29313' => { -+ 'BaseType' => '1999', -+ 'Name' => 'uint16_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '293256' => { -+ 'BaseType' => '293117', -+ 'Name' => 'struct mlx5dv_dr_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '293262' => { -+ 'Header' => undef, -+ 'Line' => '1895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sample_ratio', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'default_next_table', -+ 'offset' => '8', -+ 'type' => '293256' -+ }, -+ '2' => { -+ 'name' => 'num_sample_actions', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'sample_actions', -+ 'offset' => '24', -+ 'type' => '293396' -+ }, -+ '4' => { -+ 'name' => 'action', -+ 'offset' => '32', -+ 'type' => '2177' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_flow_sampler_attr', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '293347' => { -+ 'Header' => undef, -+ 'Line' => '1172', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'action_type', -+ 'offset' => '0', -+ 'type' => '305966' -+ }, -+ '1' => { -+ 'name' => 'refcount', -+ 'offset' => '4', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '314933' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_action', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '293396' => { -+ 'BaseType' => '293402', -+ 'Name' => 'struct mlx5dv_dr_action**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '293402' => { -+ 'BaseType' => '293347', -+ 'Name' => 'struct mlx5dv_dr_action*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '293434' => { -+ 'Header' => undef, -+ 'Line' => '1972', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'MLX5DV_DR_ACTION_DEST', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'MLX5DV_DR_ACTION_DEST_REFORMAT', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum mlx5dv_dr_action_dest_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '293466' => { -+ 'Header' => undef, -+ 'Line' => '1977', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'reformat', -+ 'offset' => '0', -+ 'type' => '293402' -+ }, -+ '1' => { -+ 'name' => 'dest', -+ 'offset' => '8', -+ 'type' => '293402' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_action_dest_reformat', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '293509' => { -+ 'Header' => undef, -+ 'Line' => '1984', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dest', -+ 'offset' => '0', -+ 'type' => '293402' -+ }, -+ '1' => { -+ 'name' => 'dest_reformat', -+ 'offset' => '0', -+ 'type' => '293546' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '293546' => { -+ 'BaseType' => '293466', -+ 'Name' => 'struct mlx5dv_dr_action_dest_reformat*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '293552' => { -+ 'Header' => undef, -+ 'Line' => '1982', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '293434' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '293509' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_action_dest_attr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '2938' => { -+ 'BaseType' => '2819', -+ 'Name' => 'struct ibv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29432' => { -+ 'BaseType' => '15505', -+ 'Name' => 'struct mlx5_ib_uapi_devx_async_cmd_hdr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29469' => { -+ 'BaseType' => '15624', -+ 'Name' => 'struct mlx5_ib_uapi_devx_async_event_hdr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29501' => { -+ 'BaseType' => '21254', -+ 'Name' => 'struct mlx5dv_devx_uar*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29560' => { -+ 'BaseType' => '21140', -+ 'Name' => 'struct mlx5dv_devx_umem*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29592' => { -+ 'BaseType' => '21169', -+ 'Name' => 'struct mlx5dv_devx_umem_in*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29640' => { -+ 'BaseType' => '16626', -+ 'Name' => 'struct mlx5dv_mkey_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29693' => { -+ 'BaseType' => '18283', -+ 'Name' => 'struct mlx5dv_crypto_login_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29725' => { -+ 'BaseType' => '18354', -+ 'Name' => 'enum mlx5dv_crypto_login_state*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2974' => { -+ 'BaseType' => '2740', -+ 'Name' => 'struct ibv_dm*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29778' => { -+ 'BaseType' => '18482', -+ 'Name' => 'struct mlx5dv_dek_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '2980' => { -+ 'Name' => 'int(*)(struct ibv_dm*, uint64_t, void const*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '2974' -+ }, -+ '1' => { -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'type' => '1980' -+ }, -+ '3' => { -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29810' => { -+ 'BaseType' => '18610', -+ 'Name' => 'struct mlx5dv_dek_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29863' => { -+ 'BaseType' => '21339', -+ 'Name' => 'struct mlx5dv_var*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29922' => { -+ 'BaseType' => '21466', -+ 'Name' => 'struct mlx5dv_pp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29971' => { -+ 'BaseType' => '20494', -+ 'Name' => 'struct mlx5dv_obj*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30008' => { -+ 'BaseType' => '16555', -+ 'Name' => 'struct mlx5dv_cq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30045' => { -+ 'BaseType' => '16872', -+ 'Name' => 'struct mlx5dv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30103' => { -+ 'BaseType' => '20659', -+ 'Name' => 'struct mlx5dv_wq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30140' => { -+ 'BaseType' => '19812', -+ 'Name' => 'struct mlx5dv_alloc_dm_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3016' => { -+ 'Name' => 'int(*)(void*, struct ibv_dm*, uint64_t, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '267' -+ }, -+ '1' => { -+ 'type' => '2974' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '30203' => { -+ 'BaseType' => '18667', -+ 'Name' => 'struct mlx5dv_flow_action_esp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3022' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '3556' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '64', -+ 'type' => '2177' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '116', -+ 'type' => '59' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '120', -+ 'type' => '128' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '124', -+ 'type' => '128' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '128', -+ 'type' => '128' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '132', -+ 'type' => '128' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '136', -+ 'type' => '128' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '140', -+ 'type' => '128' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '144', -+ 'type' => '128' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '148', -+ 'type' => '128' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '152', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '72', -+ 'type' => '2177' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '156', -+ 'type' => '128' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '160', -+ 'type' => '128' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '164', -+ 'type' => '2650' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '168', -+ 'type' => '128' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '172', -+ 'type' => '128' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '176', -+ 'type' => '128' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '180', -+ 'type' => '128' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '184', -+ 'type' => '128' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '188', -+ 'type' => '128' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '192', -+ 'type' => '128' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '80', -+ 'type' => '2028' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '196', -+ 'type' => '128' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '200', -+ 'type' => '128' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '204', -+ 'type' => '128' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '208', -+ 'type' => '128' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '212', -+ 'type' => '128' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '216', -+ 'type' => '128' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '220', -+ 'type' => '128' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '224', -+ 'type' => '1999' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '226', -+ 'type' => '1987' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '227', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '88', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '96', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '100', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '104', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '108', -+ 'type' => '128' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '112', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '30312' => { -+ 'BaseType' => '27849', -+ 'Name' => 'struct mlx5dv_flow_matcher*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30318' => { -+ 'BaseType' => '18768', -+ 'Name' => 'struct mlx5dv_flow_matcher_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30386' => { -+ 'BaseType' => '19149', -+ 'Name' => 'struct mlx5dv_flow_action_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30424' => { -+ 'BaseType' => '16320', -+ 'Name' => 'struct mlx5dv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '305' => { -+ 'BaseType' => '316', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30539' => { -+ 'BaseType' => '21580', -+ 'Name' => 'struct mlx5dv_sched_attr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '305664' => { -+ 'Header' => undef, -+ 'Line' => '66', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'DR_CHUNK_SIZE_1', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'DR_CHUNK_SIZE_MIN', -+ 'value' => '0' -+ }, -+ '10' => { -+ 'name' => 'DR_CHUNK_SIZE_512', -+ 'value' => '9' -+ }, -+ '11' => { -+ 'name' => 'DR_CHUNK_SIZE_1K', -+ 'value' => '10' -+ }, -+ '12' => { -+ 'name' => 'DR_CHUNK_SIZE_2K', -+ 'value' => '11' -+ }, -+ '13' => { -+ 'name' => 'DR_CHUNK_SIZE_4K', -+ 'value' => '12' -+ }, -+ '14' => { -+ 'name' => 'DR_CHUNK_SIZE_8K', -+ 'value' => '13' -+ }, -+ '15' => { -+ 'name' => 'DR_CHUNK_SIZE_16K', -+ 'value' => '14' -+ }, -+ '16' => { -+ 'name' => 'DR_CHUNK_SIZE_32K', -+ 'value' => '15' -+ }, -+ '17' => { -+ 'name' => 'DR_CHUNK_SIZE_64K', -+ 'value' => '16' -+ }, -+ '18' => { -+ 'name' => 'DR_CHUNK_SIZE_128K', -+ 'value' => '17' -+ }, -+ '19' => { -+ 'name' => 'DR_CHUNK_SIZE_256K', -+ 'value' => '18' -+ }, -+ '2' => { -+ 'name' => 'DR_CHUNK_SIZE_2', -+ 'value' => '1' -+ }, -+ '20' => { -+ 'name' => 'DR_CHUNK_SIZE_512K', -+ 'value' => '19' -+ }, -+ '21' => { -+ 'name' => 'DR_CHUNK_SIZE_1024K', -+ 'value' => '20' -+ }, -+ '22' => { -+ 'name' => 'DR_CHUNK_SIZE_2048K', -+ 'value' => '21' -+ }, -+ '23' => { -+ 'name' => 'DR_CHUNK_SIZE_MAX', -+ 'value' => '22' -+ }, -+ '3' => { -+ 'name' => 'DR_CHUNK_SIZE_4', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'DR_CHUNK_SIZE_8', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'DR_CHUNK_SIZE_16', -+ 'value' => '4' -+ }, -+ '6' => { -+ 'name' => 'DR_CHUNK_SIZE_32', -+ 'value' => '5' -+ }, -+ '7' => { -+ 'name' => 'DR_CHUNK_SIZE_64', -+ 'value' => '6' -+ }, -+ '8' => { -+ 'name' => 'DR_CHUNK_SIZE_128', -+ 'value' => '7' -+ }, -+ '9' => { -+ 'name' => 'DR_CHUNK_SIZE_256', -+ 'value' => '8' -+ } -+ }, -+ 'Name' => 'enum dr_icm_chunk_size', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '30571' => { -+ 'BaseType' => '28757', -+ 'Name' => 'struct mlx5dv_sched_leaf*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '305966' => { -+ 'Header' => undef, -+ 'Line' => '161', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'DR_ACTION_TYP_TNL_L2_TO_L2', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'DR_ACTION_TYP_L2_TO_TNL_L2', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'DR_ACTION_TYP_VPORT', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'DR_ACTION_TYP_METER', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'DR_ACTION_TYP_MISS', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'DR_ACTION_TYP_SAMPLER', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'DR_ACTION_TYP_DEST_ARRAY', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'DR_ACTION_TYP_POP_VLAN', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'DR_ACTION_TYP_PUSH_VLAN', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'DR_ACTION_TYP_ASO_FIRST_HIT', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'DR_ACTION_TYP_ASO_FLOW_METER', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'DR_ACTION_TYP_ASO_CT', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'DR_ACTION_TYP_TNL_L3_TO_L2', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'DR_ACTION_TYP_MAX', -+ 'value' => '20' -+ }, -+ '3' => { -+ 'name' => 'DR_ACTION_TYP_L2_TO_TNL_L3', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'DR_ACTION_TYP_DROP', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'DR_ACTION_TYP_QP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'DR_ACTION_TYP_FT', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'DR_ACTION_TYP_CTR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'DR_ACTION_TYP_TAG', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'DR_ACTION_TYP_MODIFY_HDR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum dr_action_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '306111' => { -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hw_ste', -+ 'offset' => '0', -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'name' => 'refcount', -+ 'offset' => '8', -+ 'type' => '14752' -+ }, -+ '2' => { -+ 'name' => 'miss_list_node', -+ 'offset' => '16', -+ 'type' => '14461' -+ }, -+ '3' => { -+ 'name' => 'htbl', -+ 'offset' => '32', -+ 'type' => '306396' -+ }, -+ '4' => { -+ 'name' => 'next_htbl', -+ 'offset' => '40', -+ 'type' => '306396' -+ }, -+ '5' => { -+ 'name' => 'rule_rx_tx', -+ 'offset' => '48', -+ 'type' => '306459' -+ }, -+ '6' => { -+ 'name' => 'ste_chain_location', -+ 'offset' => '56', -+ 'type' => '1987' -+ }, -+ '7' => { -+ 'name' => 'size', -+ 'offset' => '57', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct dr_ste', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '306236' => { -+ 'Header' => undef, -+ 'Line' => '245', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '306505' -+ }, -+ '1' => { -+ 'name' => 'lu_type', -+ 'offset' => '4', -+ 'type' => '1999' -+ }, -+ '10' => { -+ 'name' => 'ctrl', -+ 'offset' => '64', -+ 'type' => '306465' -+ }, -+ '2' => { -+ 'name' => 'byte_mask', -+ 'offset' => '6', -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'name' => 'refcount', -+ 'offset' => '8', -+ 'type' => '14752' -+ }, -+ '4' => { -+ 'name' => 'chunk', -+ 'offset' => '16', -+ 'type' => '306712' -+ }, -+ '5' => { -+ 'name' => 'ste_arr', -+ 'offset' => '24', -+ 'type' => '306718' -+ }, -+ '6' => { -+ 'name' => 'hw_ste_arr', -+ 'offset' => '32', -+ 'type' => '7345' -+ }, -+ '7' => { -+ 'name' => 'miss_list', -+ 'offset' => '40', -+ 'type' => '39434' -+ }, -+ '8' => { -+ 'name' => 'chunk_size', -+ 'offset' => '48', -+ 'type' => '305664' -+ }, -+ '9' => { -+ 'name' => 'pointing_ste', -+ 'offset' => '56', -+ 'type' => '306718' -+ } -+ }, -+ 'Name' => 'struct dr_ste_htbl', -+ 'Size' => '72', -+ 'Type' => 'Struct' -+ }, -+ '306396' => { -+ 'BaseType' => '306236', -+ 'Name' => 'struct dr_ste_htbl*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '306402' => { -+ 'Header' => undef, -+ 'Line' => '1267', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'nic_matcher', -+ 'offset' => '0', -+ 'type' => '315156' -+ }, -+ '1' => { -+ 'name' => 'last_rule_ste', -+ 'offset' => '8', -+ 'type' => '306718' -+ }, -+ '2' => { -+ 'name' => 'lock_index', -+ 'offset' => '16', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct dr_rule_rx_tx', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '306459' => { -+ 'BaseType' => '306402', -+ 'Name' => 'struct dr_rule_rx_tx*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '306465' => { -+ 'Header' => undef, -+ 'Line' => '230', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'num_of_valid_entries', -+ 'offset' => '0', -+ 'type' => '128' -+ }, -+ '1' => { -+ 'name' => 'num_of_collisions', -+ 'offset' => '4', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct dr_ste_htbl_ctrl', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '306505' => { -+ 'Header' => undef, -+ 'Line' => '240', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'DR_STE_HTBL_TYPE_LEGACY', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'DR_STE_HTBL_TYPE_MATCH', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum dr_ste_htbl_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '306543' => { -+ 'Header' => undef, -+ 'Line' => '1330', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buddy_mem', -+ 'offset' => '0', -+ 'type' => '315439' -+ }, -+ '1' => { -+ 'name' => 'chunk_list', -+ 'offset' => '8', -+ 'type' => '14461' -+ }, -+ '10' => { -+ 'name' => 'miss_list', -+ 'offset' => '80', -+ 'type' => '39434' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'num_of_entries', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'byte_size', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'icm_addr', -+ 'offset' => '40', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'mr_addr', -+ 'offset' => '48', -+ 'type' => '2028' -+ }, -+ '7' => { -+ 'name' => 'seg', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'ste_arr', -+ 'offset' => '64', -+ 'type' => '306718' -+ }, -+ '9' => { -+ 'name' => 'hw_ste_arr', -+ 'offset' => '72', -+ 'type' => '7345' -+ } -+ }, -+ 'Name' => 'struct dr_icm_chunk', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '306712' => { -+ 'BaseType' => '306543', -+ 'Name' => 'struct dr_icm_chunk*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '306718' => { -+ 'BaseType' => '306111', -+ 'Name' => 'struct dr_ste*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '306730' => { -+ 'Header' => undef, -+ 'Line' => '284', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'byte_mask', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'bit_mask', -+ 'offset' => '2', -+ 'type' => '2512' -+ } -+ }, -+ 'Size' => '18', -+ 'Type' => 'Struct' -+ }, -+ '306769' => { -+ 'Header' => undef, -+ 'Line' => '288', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'format_id', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'match', -+ 'offset' => '2', -+ 'type' => '63227' -+ }, -+ '2' => { -+ 'name' => 'definer_obj', -+ 'offset' => '40', -+ 'type' => '19143' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '306822' => { -+ 'Header' => undef, -+ 'Line' => '283', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '306730' -+ }, -+ '1' => { -+ 'name' => 'unnamed1', -+ 'offset' => '0', -+ 'type' => '306769' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '306843' => { -+ 'Header' => undef, -+ 'Line' => '277', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'inner', -+ 'offset' => '0', -+ 'type' => '2098' -+ }, -+ '1' => { -+ 'name' => 'rx', -+ 'offset' => '1', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'caps', -+ 'offset' => '8', -+ 'type' => '307536' -+ }, -+ '3' => { -+ 'name' => 'lu_type', -+ 'offset' => '16', -+ 'type' => '1999' -+ }, -+ '4' => { -+ 'name' => 'htbl_type', -+ 'offset' => '20', -+ 'type' => '306505' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '306822' -+ }, -+ '6' => { -+ 'name' => 'ste_build_tag_func', -+ 'offset' => '72', -+ 'type' => '307696' -+ } -+ }, -+ 'Name' => 'struct dr_ste_build', -+ 'Size' => '80', -+ 'Type' => 'Struct' -+ }, -+ '306947' => { -+ 'Header' => undef, -+ 'Line' => '898', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'gvmi', -+ 'offset' => '8', -+ 'type' => '1999' -+ }, -+ '10' => { -+ 'name' => 'flex_protocols', -+ 'offset' => '72', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'flex_parser_header_modify', -+ 'offset' => '76', -+ 'type' => '1987' -+ }, -+ '12' => { -+ 'name' => 'flex_parser_id_icmp_dw0', -+ 'offset' => '77', -+ 'type' => '1987' -+ }, -+ '13' => { -+ 'name' => 'flex_parser_id_icmp_dw1', -+ 'offset' => '78', -+ 'type' => '1987' -+ }, -+ '14' => { -+ 'name' => 'flex_parser_id_icmpv6_dw0', -+ 'offset' => '79', -+ 'type' => '1987' -+ }, -+ '15' => { -+ 'name' => 'flex_parser_id_icmpv6_dw1', -+ 'offset' => '80', -+ 'type' => '1987' -+ }, -+ '16' => { -+ 'name' => 'flex_parser_id_geneve_opt_0', -+ 'offset' => '81', -+ 'type' => '1987' -+ }, -+ '17' => { -+ 'name' => 'flex_parser_id_mpls_over_gre', -+ 'offset' => '82', -+ 'type' => '1987' -+ }, -+ '18' => { -+ 'name' => 'flex_parser_id_mpls_over_udp', -+ 'offset' => '83', -+ 'type' => '1987' -+ }, -+ '19' => { -+ 'name' => 'flex_parser_id_gtpu_dw_0', -+ 'offset' => '84', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'nic_rx_drop_address', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '20' => { -+ 'name' => 'flex_parser_id_gtpu_teid', -+ 'offset' => '85', -+ 'type' => '1987' -+ }, -+ '21' => { -+ 'name' => 'flex_parser_id_gtpu_dw_2', -+ 'offset' => '86', -+ 'type' => '1987' -+ }, -+ '22' => { -+ 'name' => 'flex_parser_id_gtpu_first_ext_dw_0', -+ 'offset' => '87', -+ 'type' => '1987' -+ }, -+ '23' => { -+ 'name' => 'flex_parser_ok_bits_supp', -+ 'offset' => '88', -+ 'type' => '1987' -+ }, -+ '24' => { -+ 'name' => 'definer_supp_checksum', -+ 'offset' => '89', -+ 'type' => '1987' -+ }, -+ '25' => { -+ 'name' => 'max_ft_level', -+ 'offset' => '90', -+ 'type' => '1987' -+ }, -+ '26' => { -+ 'name' => 'sw_format_ver', -+ 'offset' => '91', -+ 'type' => '1987' -+ }, -+ '27' => { -+ 'name' => 'isolate_vl_tc', -+ 'offset' => '92', -+ 'type' => '2098' -+ }, -+ '28' => { -+ 'name' => 'eswitch_manager', -+ 'offset' => '93', -+ 'type' => '2098' -+ }, -+ '29' => { -+ 'name' => 'rx_sw_owner', -+ 'offset' => '94', -+ 'type' => '2098' -+ }, -+ '3' => { -+ 'name' => 'nic_tx_drop_address', -+ 'offset' => '24', -+ 'type' => '2028' -+ }, -+ '30' => { -+ 'name' => 'tx_sw_owner', -+ 'offset' => '95', -+ 'type' => '2098' -+ }, -+ '31' => { -+ 'name' => 'fdb_sw_owner', -+ 'offset' => '96', -+ 'type' => '2098' -+ }, -+ '32' => { -+ 'name' => 'rx_sw_owner_v2', -+ 'offset' => '97', -+ 'type' => '2098' -+ }, -+ '33' => { -+ 'name' => 'tx_sw_owner_v2', -+ 'offset' => '98', -+ 'type' => '2098' -+ }, -+ '34' => { -+ 'name' => 'fdb_sw_owner_v2', -+ 'offset' => '99', -+ 'type' => '2098' -+ }, -+ '35' => { -+ 'name' => 'roce_caps', -+ 'offset' => '100', -+ 'type' => '311227' -+ }, -+ '36' => { -+ 'name' => 'definer_format_sup', -+ 'offset' => '104', -+ 'type' => '2028' -+ }, -+ '37' => { -+ 'name' => 'prio_tag_required', -+ 'offset' => '112', -+ 'type' => '2098' -+ }, -+ '38' => { -+ 'name' => 'is_ecpf', -+ 'offset' => '113', -+ 'type' => '2098' -+ }, -+ '39' => { -+ 'name' => 'vports', -+ 'offset' => '120', -+ 'type' => '311344' -+ }, -+ '4' => { -+ 'name' => 'nic_tx_allow_address', -+ 'offset' => '32', -+ 'type' => '2028' -+ }, -+ '40' => { -+ 'name' => 'support_full_tnl_hdr', -+ 'offset' => '240', -+ 'type' => '2098' -+ }, -+ '5' => { -+ 'name' => 'esw_rx_drop_address', -+ 'offset' => '40', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'esw_tx_drop_address', -+ 'offset' => '48', -+ 'type' => '2028' -+ }, -+ '7' => { -+ 'name' => 'log_icm_size', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'log_modify_hdr_icm_size', -+ 'offset' => '60', -+ 'type' => '1987' -+ }, -+ '9' => { -+ 'name' => 'hdr_modify_icm_addr', -+ 'offset' => '64', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct dr_devx_caps', -+ 'Size' => '248', -+ 'Type' => 'Struct' -+ }, -+ '30702' => { -+ 'BaseType' => '28800', -+ 'Name' => 'struct mlx5dv_sched_leaf const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '307536' => { -+ 'BaseType' => '306947', -+ 'Name' => 'struct dr_devx_caps*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '307567' => { -+ 'BaseType' => '307573', -+ 'Name' => 'struct dr_match_param*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '307573' => { -+ 'Header' => undef, -+ 'Line' => '837', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'outer', -+ 'offset' => '0', -+ 'type' => '308529' -+ }, -+ '1' => { -+ 'name' => 'misc', -+ 'offset' => '64', -+ 'type' => '309109' -+ }, -+ '2' => { -+ 'name' => 'inner', -+ 'offset' => '128', -+ 'type' => '308529' -+ }, -+ '3' => { -+ 'name' => 'misc2', -+ 'offset' => '192', -+ 'type' => '309828' -+ }, -+ '4' => { -+ 'name' => 'misc3', -+ 'offset' => '256', -+ 'type' => '310323' -+ }, -+ '5' => { -+ 'name' => 'misc4', -+ 'offset' => '320', -+ 'type' => '310698' -+ }, -+ '6' => { -+ 'name' => 'misc5', -+ 'offset' => '384', -+ 'type' => '310937' -+ } -+ }, -+ 'Name' => 'struct dr_match_param', -+ 'Size' => '448', -+ 'Type' => 'Struct' -+ }, -+ '307690' => { -+ 'BaseType' => '306843', -+ 'Name' => 'struct dr_ste_build*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '307696' => { -+ 'Name' => 'int(*)(struct dr_match_param*, struct dr_ste_build*, uint8_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '307567' -+ }, -+ '1' => { -+ 'type' => '307690' -+ }, -+ '2' => { -+ 'type' => '7345' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '307751' => { -+ 'Header' => undef, -+ 'Line' => '356', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'set', -+ 'offset' => '0', -+ 'type' => '2098' -+ } -+ }, -+ 'Size' => '1', -+ 'Type' => 'Struct' -+ }, -+ '307776' => { -+ 'Header' => undef, -+ 'Line' => '359', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'initial_color', -+ 'offset' => '0', -+ 'type' => '1987' -+ } -+ }, -+ 'Size' => '1', -+ 'Type' => 'Struct' -+ }, -+ '307801' => { -+ 'Header' => undef, -+ 'Line' => '362', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'direction', -+ 'offset' => '0', -+ 'type' => '2098' -+ } -+ }, -+ 'Size' => '1', -+ 'Type' => 'Struct' -+ }, -+ '307826' => { -+ 'Header' => undef, -+ 'Line' => '355', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'first_hit', -+ 'offset' => '0', -+ 'type' => '307751' -+ }, -+ '1' => { -+ 'name' => 'flow_meter', -+ 'offset' => '0', -+ 'type' => '307776' -+ }, -+ '2' => { -+ 'name' => 'ct', -+ 'offset' => '0', -+ 'type' => '307801' -+ } -+ }, -+ 'Size' => '1', -+ 'Type' => 'Union' -+ }, -+ '307875' => { -+ 'Header' => undef, -+ 'Line' => '350', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'devx_obj', -+ 'offset' => '8', -+ 'type' => '19143' -+ }, -+ '2' => { -+ 'name' => 'offset', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'dest_reg_id', -+ 'offset' => '20', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'unnamed0', -+ 'offset' => '21', -+ 'type' => '307826' -+ } -+ }, -+ 'Name' => 'struct dr_action_aso', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '307952' => { -+ 'Header' => undef, -+ 'Line' => '1028', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ctx', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'ste_ctx', -+ 'offset' => '8', -+ 'type' => '313215' -+ }, -+ '10' => { -+ 'name' => 'tbl_list', -+ 'offset' => '1008', -+ 'type' => '14507' -+ }, -+ '11' => { -+ 'name' => 'flags', -+ 'offset' => '1024', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'name' => 'debug_lock', -+ 'offset' => '1028', -+ 'type' => '999' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '6322' -+ }, -+ '3' => { -+ 'name' => 'uar', -+ 'offset' => '24', -+ 'type' => '29501' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '32', -+ 'type' => '292994' -+ }, -+ '5' => { -+ 'name' => 'refcount', -+ 'offset' => '36', -+ 'type' => '128' -+ }, -+ '6' => { -+ 'name' => 'ste_icm_pool', -+ 'offset' => '40', -+ 'type' => '313226' -+ }, -+ '7' => { -+ 'name' => 'action_icm_pool', -+ 'offset' => '48', -+ 'type' => '313226' -+ }, -+ '8' => { -+ 'name' => 'send_ring', -+ 'offset' => '56', -+ 'type' => '313232' -+ }, -+ '9' => { -+ 'name' => 'info', -+ 'offset' => '168', -+ 'type' => '312178' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_domain', -+ 'Size' => '1032', -+ 'Type' => 'Struct' -+ }, -+ '308152' => { -+ 'BaseType' => '307952', -+ 'Name' => 'struct mlx5dv_dr_domain*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '308158' => { -+ 'Header' => undef, -+ 'Line' => '383', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'count_pop', -+ 'offset' => '0', -+ 'type' => '128' -+ }, -+ '1' => { -+ 'name' => 'count_push', -+ 'offset' => '4', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'headers', -+ 'offset' => '8', -+ 'type' => '308211' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '30817' => { -+ 'BaseType' => '21041', -+ 'Name' => 'struct mlx5dv_clock_info*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '308211' => { -+ 'BaseType' => '2011', -+ 'Name' => 'uint32_t[2]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '308227' => { -+ 'Header' => undef, -+ 'Line' => '368', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'modify_index', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'modify_actions', -+ 'offset' => '4', -+ 'type' => '1999' -+ }, -+ '10' => { -+ 'name' => 'hit_gvmi', -+ 'offset' => '42', -+ 'type' => '1999' -+ }, -+ '11' => { -+ 'name' => 'reformat_id', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'name' => 'reformat_size', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '13' => { -+ 'name' => 'prio_tag_required', -+ 'offset' => '52', -+ 'type' => '2098' -+ }, -+ '14' => { -+ 'name' => 'vlans', -+ 'offset' => '56', -+ 'type' => '308158' -+ }, -+ '15' => { -+ 'name' => 'aso', -+ 'offset' => '72', -+ 'type' => '308480' -+ }, -+ '16' => { -+ 'name' => 'aso_ste_loc', -+ 'offset' => '80', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'single_modify_action', -+ 'offset' => '8', -+ 'type' => '7345' -+ }, -+ '3' => { -+ 'name' => 'decap_index', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'decap_actions', -+ 'offset' => '20', -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'name' => 'decap_with_vlan', -+ 'offset' => '22', -+ 'type' => '2098' -+ }, -+ '6' => { -+ 'name' => 'final_icm_addr', -+ 'offset' => '24', -+ 'type' => '2028' -+ }, -+ '7' => { -+ 'name' => 'flow_tag', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'ctr_id', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'gvmi', -+ 'offset' => '40', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct dr_ste_actions_attr', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '308480' => { -+ 'BaseType' => '307875', -+ 'Name' => 'struct dr_action_aso*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '308529' => { -+ 'Header' => undef, -+ 'Line' => '664', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'smac_47_16', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'bitfield' => '16', -+ 'name' => 'smac_15_0', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'bitfield' => '2', -+ 'name' => 'ip_ecn', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'bitfield' => '1', -+ 'name' => 'cvlan_tag', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'bitfield' => '1', -+ 'name' => 'svlan_tag', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '13' => { -+ 'bitfield' => '1', -+ 'name' => 'frag', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '14' => { -+ 'bitfield' => '4', -+ 'name' => 'ip_version', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '15' => { -+ 'bitfield' => '9', -+ 'name' => 'tcp_flags', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'bitfield' => '16', -+ 'name' => 'tcp_sport', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '17' => { -+ 'bitfield' => '16', -+ 'name' => 'tcp_dport', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '18' => { -+ 'bitfield' => '16', -+ 'name' => 'reserved_at_c0', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '19' => { -+ 'bitfield' => '4', -+ 'name' => 'ipv4_ihl', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'bitfield' => '16', -+ 'name' => 'ethertype', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '20' => { -+ 'bitfield' => '1', -+ 'name' => 'l3_ok', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '21' => { -+ 'bitfield' => '1', -+ 'name' => 'l4_ok', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '22' => { -+ 'bitfield' => '1', -+ 'name' => 'ipv4_checksum_ok', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '23' => { -+ 'bitfield' => '1', -+ 'name' => 'l4_checksum_ok', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '24' => { -+ 'bitfield' => '8', -+ 'name' => 'ip_ttl_hoplimit', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '25' => { -+ 'bitfield' => '16', -+ 'name' => 'udp_sport', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '26' => { -+ 'bitfield' => '16', -+ 'name' => 'udp_dport', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '27' => { -+ 'name' => 'src_ip_127_96', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '28' => { -+ 'name' => 'src_ip_95_64', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '29' => { -+ 'name' => 'src_ip_63_32', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'dmac_47_16', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '30' => { -+ 'name' => 'src_ip_31_0', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '31' => { -+ 'name' => 'dst_ip_127_96', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '32' => { -+ 'name' => 'dst_ip_95_64', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '33' => { -+ 'name' => 'dst_ip_63_32', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '34' => { -+ 'name' => 'dst_ip_31_0', -+ 'offset' => '60', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'bitfield' => '16', -+ 'name' => 'dmac_15_0', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'bitfield' => '3', -+ 'name' => 'first_prio', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'bitfield' => '1', -+ 'name' => 'first_cfi', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'bitfield' => '12', -+ 'name' => 'first_vid', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'bitfield' => '8', -+ 'name' => 'ip_protocol', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'bitfield' => '6', -+ 'name' => 'ip_dscp', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_match_spec', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '30859' => { -+ 'BaseType' => '15706', -+ 'Name' => 'struct mlx5_ib_uapi_query_port*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '309109' => { -+ 'Header' => undef, -+ 'Line' => '702', -+ 'Memb' => { -+ '0' => { -+ 'bitfield' => '1', -+ 'name' => 'gre_c_present', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'bitfield' => '1', -+ 'name' => 'reserved_at1', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'bitfield' => '12', -+ 'name' => 'outer_second_vid', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'bitfield' => '3', -+ 'name' => 'inner_second_prio', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'bitfield' => '1', -+ 'name' => 'inner_second_cfi', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '13' => { -+ 'bitfield' => '12', -+ 'name' => 'inner_second_vid', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '14' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_second_cvlan_tag', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '15' => { -+ 'bitfield' => '1', -+ 'name' => 'inner_second_cvlan_tag', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_second_svlan_tag', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '17' => { -+ 'bitfield' => '1', -+ 'name' => 'inner_second_svlan_tag', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '18' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_emd_tag', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '19' => { -+ 'bitfield' => '11', -+ 'name' => 'reserved_at_65', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'bitfield' => '1', -+ 'name' => 'gre_k_present', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '20' => { -+ 'bitfield' => '16', -+ 'name' => 'gre_protocol', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '21' => { -+ 'bitfield' => '24', -+ 'name' => 'gre_key_h', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '22' => { -+ 'bitfield' => '8', -+ 'name' => 'gre_key_l', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '23' => { -+ 'bitfield' => '24', -+ 'name' => 'vxlan_vni', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '24' => { -+ 'bitfield' => '8', -+ 'name' => 'reserved_at_b8', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '25' => { -+ 'bitfield' => '24', -+ 'name' => 'geneve_vni', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '26' => { -+ 'bitfield' => '6', -+ 'name' => 'reserved_at_e4', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '27' => { -+ 'bitfield' => '1', -+ 'name' => 'geneve_tlv_option_0_exist', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '28' => { -+ 'bitfield' => '1', -+ 'name' => 'geneve_oam', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '29' => { -+ 'bitfield' => '12', -+ 'name' => 'reserved_at_ec', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'bitfield' => '1', -+ 'name' => 'gre_s_present', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '30' => { -+ 'bitfield' => '20', -+ 'name' => 'outer_ipv6_flow_label', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '31' => { -+ 'bitfield' => '12', -+ 'name' => 'reserved_at_100', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '32' => { -+ 'bitfield' => '20', -+ 'name' => 'inner_ipv6_flow_label', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '33' => { -+ 'bitfield' => '10', -+ 'name' => 'reserved_at_120', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '34' => { -+ 'bitfield' => '6', -+ 'name' => 'geneve_opt_len', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '35' => { -+ 'bitfield' => '16', -+ 'name' => 'geneve_protocol_type', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '36' => { -+ 'bitfield' => '8', -+ 'name' => 'reserved_at_140', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '37' => { -+ 'bitfield' => '24', -+ 'name' => 'bth_dst_qp', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '38' => { -+ 'name' => 'inner_esp_spi', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '39' => { -+ 'name' => 'outer_esp_spi', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'bitfield' => '4', -+ 'name' => 'source_vhca_port', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '40' => { -+ 'name' => 'reserved_at_1a0', -+ 'offset' => '52', -+ 'type' => '309812' -+ }, -+ '5' => { -+ 'bitfield' => '24', -+ 'name' => 'source_sqn', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'bitfield' => '16', -+ 'name' => 'source_eswitch_owner_vhca_id', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'bitfield' => '16', -+ 'name' => 'source_port', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'bitfield' => '3', -+ 'name' => 'outer_second_prio', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_second_cfi', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_match_misc', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '30912' => { -+ 'BaseType' => '21634', -+ 'Name' => 'struct mlx5dv_devx_msi_vector*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '30980' => { -+ 'BaseType' => '21676', -+ 'Name' => 'struct mlx5dv_devx_eq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '309812' => { -+ 'BaseType' => '2011', -+ 'Name' => 'uint32_t[3]', -+ 'Size' => '12', -+ 'Type' => 'Array' -+ }, -+ '309828' => { -+ 'Header' => undef, -+ 'Line' => '746', -+ 'Memb' => { -+ '0' => { -+ 'bitfield' => '20', -+ 'name' => 'outer_first_mpls_label', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'bitfield' => '3', -+ 'name' => 'outer_first_mpls_exp', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_first_mpls_over_gre_s_bos', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'bitfield' => '8', -+ 'name' => 'outer_first_mpls_over_gre_ttl', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'bitfield' => '20', -+ 'name' => 'outer_first_mpls_over_udp_label', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '13' => { -+ 'bitfield' => '3', -+ 'name' => 'outer_first_mpls_over_udp_exp', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '14' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_first_mpls_over_udp_s_bos', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '15' => { -+ 'bitfield' => '8', -+ 'name' => 'outer_first_mpls_over_udp_ttl', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'name' => 'metadata_reg_c_7', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '17' => { -+ 'name' => 'metadata_reg_c_6', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '18' => { -+ 'name' => 'metadata_reg_c_5', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '19' => { -+ 'name' => 'metadata_reg_c_4', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'bitfield' => '1', -+ 'name' => 'outer_first_mpls_s_bos', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '20' => { -+ 'name' => 'metadata_reg_c_3', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '21' => { -+ 'name' => 'metadata_reg_c_2', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '22' => { -+ 'name' => 'metadata_reg_c_1', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '23' => { -+ 'name' => 'metadata_reg_c_0', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '24' => { -+ 'name' => 'metadata_reg_a', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '25' => { -+ 'bitfield' => '8', -+ 'name' => 'psp_syndrome', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '26' => { -+ 'bitfield' => '8', -+ 'name' => 'reserved_at_1a8', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '27' => { -+ 'bitfield' => '8', -+ 'name' => 'ipsec_syndrome', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '28' => { -+ 'bitfield' => '8', -+ 'name' => 'ipsec_next_header', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '29' => { -+ 'name' => 'reserved_at_260', -+ 'offset' => '56', -+ 'type' => '308211' -+ }, -+ '3' => { -+ 'bitfield' => '8', -+ 'name' => 'outer_first_mpls_ttl', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'bitfield' => '20', -+ 'name' => 'inner_first_mpls_label', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'bitfield' => '3', -+ 'name' => 'inner_first_mpls_exp', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'bitfield' => '1', -+ 'name' => 'inner_first_mpls_s_bos', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'bitfield' => '8', -+ 'name' => 'inner_first_mpls_ttl', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'bitfield' => '20', -+ 'name' => 'outer_first_mpls_over_gre_label', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'bitfield' => '3', -+ 'name' => 'outer_first_mpls_over_gre_exp', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_match_misc2', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '310323' => { -+ 'Header' => undef, -+ 'Line' => '779', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'inner_tcp_seq_num', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'outer_tcp_seq_num', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'name' => 'icmpv6_header_data', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'icmpv4_type', -+ 'offset' => '32', -+ 'type' => '1987' -+ }, -+ '12' => { -+ 'name' => 'icmpv4_code', -+ 'offset' => '33', -+ 'type' => '1987' -+ }, -+ '13' => { -+ 'name' => 'icmpv6_type', -+ 'offset' => '34', -+ 'type' => '1987' -+ }, -+ '14' => { -+ 'name' => 'icmpv6_code', -+ 'offset' => '35', -+ 'type' => '1987' -+ }, -+ '15' => { -+ 'name' => 'geneve_tlv_option_0_data', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'name' => 'gtpu_teid', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '17' => { -+ 'bitfield' => '8', -+ 'name' => 'gtpu_msg_type', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '18' => { -+ 'bitfield' => '8', -+ 'name' => 'gtpu_msg_flags', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '19' => { -+ 'bitfield' => '16', -+ 'name' => 'reserved_at_150', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'inner_tcp_ack_num', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '20' => { -+ 'name' => 'gtpu_dw_2', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '21' => { -+ 'name' => 'gtpu_first_ext_dw_0', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '22' => { -+ 'name' => 'gtpu_dw_0', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '23' => { -+ 'name' => 'reserved_at_1c0', -+ 'offset' => '60', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'outer_tcp_ack_num', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'bitfield' => '8', -+ 'name' => 'reserved_at_80', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'bitfield' => '24', -+ 'name' => 'outer_vxlan_gpe_vni', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'bitfield' => '8', -+ 'name' => 'outer_vxlan_gpe_next_protocol', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'bitfield' => '8', -+ 'name' => 'outer_vxlan_gpe_flags', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'bitfield' => '16', -+ 'name' => 'reserved_at_b0', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'icmpv4_header_data', -+ 'offset' => '24', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_match_misc3', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '310698' => { -+ 'Header' => undef, -+ 'Line' => '806', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'prog_sample_field_value_0', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'prog_sample_field_id_0', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'name' => 'prog_sample_field_value_5', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'prog_sample_field_id_5', -+ 'offset' => '44', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'name' => 'prog_sample_field_value_6', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '13' => { -+ 'name' => 'prog_sample_field_id_6', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '14' => { -+ 'name' => 'prog_sample_field_value_7', -+ 'offset' => '56', -+ 'type' => '2011' -+ }, -+ '15' => { -+ 'name' => 'prog_sample_field_id_7', -+ 'offset' => '60', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'prog_sample_field_value_1', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'prog_sample_field_id_1', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'prog_sample_field_value_2', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'prog_sample_field_id_2', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'prog_sample_field_value_3', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'prog_sample_field_id_3', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'prog_sample_field_value_4', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'prog_sample_field_id_4', -+ 'offset' => '36', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_match_misc4', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '310937' => { -+ 'Header' => undef, -+ 'Line' => '825', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'macsec_tag_0', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'macsec_tag_1', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'macsec_tag_2', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'macsec_tag_3', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'tunnel_header_0', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'tunnel_header_1', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'tunnel_header_2', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'tunnel_header_3', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'reserved', -+ 'offset' => '32', -+ 'type' => '311078' -+ } -+ }, -+ 'Name' => 'struct dr_match_misc5', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '311078' => { -+ 'BaseType' => '2011', -+ 'Name' => 'uint32_t[8]', -+ 'Size' => '32', -+ 'Type' => 'Array' -+ }, -+ '311094' => { -+ 'Header' => undef, -+ 'Line' => '860', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vport_gvmi', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'vhca_gvmi', -+ 'offset' => '2', -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'name' => 'icm_address_rx', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'icm_address_tx', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'name' => 'num', -+ 'offset' => '24', -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'name' => 'metadata_c', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'metadata_c_mask', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'next', -+ 'offset' => '40', -+ 'type' => '311221' -+ } -+ }, -+ 'Name' => 'struct dr_devx_vport_cap', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '311221' => { -+ 'BaseType' => '311094', -+ 'Name' => 'struct dr_devx_vport_cap*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '311227' => { -+ 'Header' => undef, -+ 'Line' => '872', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'roce_en', -+ 'offset' => '0', -+ 'type' => '2098' -+ }, -+ '1' => { -+ 'name' => 'fl_rc_qp_when_roce_disabled', -+ 'offset' => '1', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'fl_rc_qp_when_roce_enabled', -+ 'offset' => '2', -+ 'type' => '2098' -+ }, -+ '3' => { -+ 'name' => 'qp_ts_format', -+ 'offset' => '3', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct dr_devx_roce_cap', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '311298' => { -+ 'Header' => undef, -+ 'Line' => '879', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buckets', -+ 'offset' => '0', -+ 'type' => '311328' -+ } -+ }, -+ 'Name' => 'struct dr_vports_table', -+ 'Size' => '2048', -+ 'Type' => 'Struct' -+ }, -+ '311328' => { -+ 'BaseType' => '311221', -+ 'Name' => 'struct dr_devx_vport_cap*[256]', -+ 'Size' => '2048', -+ 'Type' => 'Array' -+ }, -+ '311344' => { -+ 'Header' => undef, -+ 'Line' => '883', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'esw_mngr', -+ 'offset' => '0', -+ 'type' => '311094' -+ }, -+ '1' => { -+ 'name' => 'wire', -+ 'offset' => '48', -+ 'type' => '311094' -+ }, -+ '2' => { -+ 'name' => 'vports', -+ 'offset' => '96', -+ 'type' => '311443' -+ }, -+ '3' => { -+ 'name' => 'ib_ports', -+ 'offset' => '104', -+ 'type' => '311449' -+ }, -+ '4' => { -+ 'name' => 'num_ports', -+ 'offset' => '112', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'lock', -+ 'offset' => '116', -+ 'type' => '999' -+ } -+ }, -+ 'Name' => 'struct dr_devx_vports', -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '311443' => { -+ 'BaseType' => '311298', -+ 'Name' => 'struct dr_vports_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '311449' => { -+ 'BaseType' => '311221', -+ 'Name' => 'struct dr_devx_vport_cap**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '311870' => { -+ 'Header' => undef, -+ 'Line' => '980', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'type', -+ 'offset' => '0', -+ 'type' => '1987' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'offset' => '1', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'ft_dvo', -+ 'offset' => '8', -+ 'type' => '19143' -+ }, -+ '3' => { -+ 'name' => 'fg_dvo', -+ 'offset' => '16', -+ 'type' => '19143' -+ }, -+ '4' => { -+ 'name' => 'fte_dvo', -+ 'offset' => '24', -+ 'type' => '19143' -+ } -+ }, -+ 'Name' => 'struct dr_devx_tbl', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '312054' => { -+ 'Header' => undef, -+ 'Line' => '997', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'DR_DOMAIN_NIC_TYPE_RX', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'DR_DOMAIN_NIC_TYPE_TX', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum dr_domain_nic_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '312086' => { -+ 'Header' => undef, -+ 'Line' => '1002', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'drop_icm_addr', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'default_icm_addr', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'type', -+ 'offset' => '16', -+ 'type' => '312054' -+ }, -+ '3' => { -+ 'name' => 'locks', -+ 'offset' => '20', -+ 'type' => '312173' -+ } -+ }, -+ 'Name' => 'struct dr_domain_rx_tx', -+ 'Size' => '80', -+ 'Type' => 'Struct' -+ }, -+ '312157' => { -+ 'BaseType' => '999', -+ 'Name' => 'pthread_spinlock_t[14]', -+ 'Size' => '56', -+ 'Type' => 'Array' -+ }, -+ '312173' => { -+ 'BaseType' => '312157', -+ 'Name' => 'pthread_spinlock_t[14] volatile', -+ 'Size' => '56', -+ 'Type' => 'Volatile' -+ }, -+ '312178' => { -+ 'Header' => undef, -+ 'Line' => '1010', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'supp_sw_steering', -+ 'offset' => '0', -+ 'type' => '2098' -+ }, -+ '1' => { -+ 'name' => 'max_inline_size', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'max_log_sw_icm_sz', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_log_action_icm_sz', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'max_send_size', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'rx', -+ 'offset' => '24', -+ 'type' => '312086' -+ }, -+ '6' => { -+ 'name' => 'tx', -+ 'offset' => '104', -+ 'type' => '312086' -+ }, -+ '7' => { -+ 'name' => 'attr', -+ 'offset' => '184', -+ 'type' => '4061' -+ }, -+ '8' => { -+ 'name' => 'caps', -+ 'offset' => '584', -+ 'type' => '306947' -+ }, -+ '9' => { -+ 'name' => 'use_mqs', -+ 'offset' => '832', -+ 'type' => '2098' -+ } -+ }, -+ 'Name' => 'struct dr_domain_info', -+ 'Size' => '840', -+ 'Type' => 'Struct' -+ }, -+ '312334' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'build_eth_l2_src_dst_init', -+ 'offset' => '0', -+ 'type' => '315931' -+ }, -+ '1' => { -+ 'name' => 'build_eth_l3_ipv6_src_init', -+ 'offset' => '8', -+ 'type' => '315931' -+ }, -+ '10' => { -+ 'name' => 'build_tnl_gre_init', -+ 'offset' => '80', -+ 'type' => '315931' -+ }, -+ '11' => { -+ 'name' => 'build_tnl_mpls_over_gre_init', -+ 'offset' => '88', -+ 'type' => '315931' -+ }, -+ '12' => { -+ 'name' => 'build_tnl_mpls_over_udp_init', -+ 'offset' => '96', -+ 'type' => '315931' -+ }, -+ '13' => { -+ 'name' => 'build_icmp_init', -+ 'offset' => '104', -+ 'type' => '315931' -+ }, -+ '14' => { -+ 'name' => 'build_general_purpose_init', -+ 'offset' => '112', -+ 'type' => '315931' -+ }, -+ '15' => { -+ 'name' => 'build_eth_l4_misc_init', -+ 'offset' => '120', -+ 'type' => '315931' -+ }, -+ '16' => { -+ 'name' => 'build_tnl_vxlan_gpe_init', -+ 'offset' => '128', -+ 'type' => '315931' -+ }, -+ '17' => { -+ 'name' => 'build_tnl_geneve_init', -+ 'offset' => '136', -+ 'type' => '315931' -+ }, -+ '18' => { -+ 'name' => 'build_tnl_geneve_tlv_opt_init', -+ 'offset' => '144', -+ 'type' => '315931' -+ }, -+ '19' => { -+ 'name' => 'build_tnl_geneve_tlv_opt_exist_init', -+ 'offset' => '152', -+ 'type' => '315931' -+ }, -+ '2' => { -+ 'name' => 'build_eth_l3_ipv6_dst_init', -+ 'offset' => '16', -+ 'type' => '315931' -+ }, -+ '20' => { -+ 'name' => 'build_tnl_gtpu_init', -+ 'offset' => '160', -+ 'type' => '315931' -+ }, -+ '21' => { -+ 'name' => 'build_tnl_gtpu_flex_parser_0', -+ 'offset' => '168', -+ 'type' => '315931' -+ }, -+ '22' => { -+ 'name' => 'build_tnl_gtpu_flex_parser_1', -+ 'offset' => '176', -+ 'type' => '315931' -+ }, -+ '23' => { -+ 'name' => 'build_register_0_init', -+ 'offset' => '184', -+ 'type' => '315931' -+ }, -+ '24' => { -+ 'name' => 'build_register_1_init', -+ 'offset' => '192', -+ 'type' => '315931' -+ }, -+ '25' => { -+ 'name' => 'build_src_gvmi_qpn_init', -+ 'offset' => '200', -+ 'type' => '315931' -+ }, -+ '26' => { -+ 'name' => 'build_flex_parser_0_init', -+ 'offset' => '208', -+ 'type' => '315931' -+ }, -+ '27' => { -+ 'name' => 'build_flex_parser_1_init', -+ 'offset' => '216', -+ 'type' => '315931' -+ }, -+ '28' => { -+ 'name' => 'build_tunnel_header_init', -+ 'offset' => '224', -+ 'type' => '315931' -+ }, -+ '29' => { -+ 'name' => 'build_def0_init', -+ 'offset' => '232', -+ 'type' => '315931' -+ }, -+ '3' => { -+ 'name' => 'build_eth_l3_ipv4_5_tuple_init', -+ 'offset' => '24', -+ 'type' => '315931' -+ }, -+ '30' => { -+ 'name' => 'build_def2_init', -+ 'offset' => '240', -+ 'type' => '315931' -+ }, -+ '31' => { -+ 'name' => 'build_def6_init', -+ 'offset' => '248', -+ 'type' => '315931' -+ }, -+ '32' => { -+ 'name' => 'build_def16_init', -+ 'offset' => '256', -+ 'type' => '315931' -+ }, -+ '33' => { -+ 'name' => 'build_def22_init', -+ 'offset' => '264', -+ 'type' => '315931' -+ }, -+ '34' => { -+ 'name' => 'build_def24_init', -+ 'offset' => '272', -+ 'type' => '315931' -+ }, -+ '35' => { -+ 'name' => 'build_def25_init', -+ 'offset' => '280', -+ 'type' => '315931' -+ }, -+ '36' => { -+ 'name' => 'build_def26_init', -+ 'offset' => '288', -+ 'type' => '315931' -+ }, -+ '37' => { -+ 'name' => 'build_def28_init', -+ 'offset' => '296', -+ 'type' => '315931' -+ }, -+ '38' => { -+ 'name' => 'build_def33_init', -+ 'offset' => '304', -+ 'type' => '315931' -+ }, -+ '39' => { -+ 'name' => 'aso_other_domain_link', -+ 'offset' => '312', -+ 'type' => '316000' -+ }, -+ '4' => { -+ 'name' => 'build_eth_l2_src_init', -+ 'offset' => '32', -+ 'type' => '315931' -+ }, -+ '40' => { -+ 'name' => 'aso_other_domain_unlink', -+ 'offset' => '320', -+ 'type' => '28943' -+ }, -+ '41' => { -+ 'name' => 'ste_init', -+ 'offset' => '328', -+ 'type' => '316032' -+ }, -+ '42' => { -+ 'name' => 'set_next_lu_type', -+ 'offset' => '336', -+ 'type' => '316054' -+ }, -+ '43' => { -+ 'name' => 'get_next_lu_type', -+ 'offset' => '344', -+ 'type' => '316075' -+ }, -+ '44' => { -+ 'name' => 'set_miss_addr', -+ 'offset' => '352', -+ 'type' => '316097' -+ }, -+ '45' => { -+ 'name' => 'get_miss_addr', -+ 'offset' => '360', -+ 'type' => '316118' -+ }, -+ '46' => { -+ 'name' => 'set_hit_addr', -+ 'offset' => '368', -+ 'type' => '316145' -+ }, -+ '47' => { -+ 'name' => 'set_byte_mask', -+ 'offset' => '376', -+ 'type' => '316054' -+ }, -+ '48' => { -+ 'name' => 'get_byte_mask', -+ 'offset' => '384', -+ 'type' => '316075' -+ }, -+ '49' => { -+ 'name' => 'set_ctrl_always_hit_htbl', -+ 'offset' => '392', -+ 'type' => '316187' -+ }, -+ '5' => { -+ 'name' => 'build_eth_l2_dst_init', -+ 'offset' => '40', -+ 'type' => '315931' -+ }, -+ '50' => { -+ 'name' => 'set_ctrl_always_miss', -+ 'offset' => '400', -+ 'type' => '316214' -+ }, -+ '51' => { -+ 'name' => 'set_hit_gvmi', -+ 'offset' => '408', -+ 'type' => '316054' -+ }, -+ '52' => { -+ 'name' => 'actions_caps', -+ 'offset' => '416', -+ 'type' => '2011' -+ }, -+ '53' => { -+ 'name' => 'action_modify_field_arr', -+ 'offset' => '424', -+ 'type' => '316220' -+ }, -+ '54' => { -+ 'name' => 'action_modify_field_arr_size', -+ 'offset' => '432', -+ 'type' => '386' -+ }, -+ '55' => { -+ 'name' => 'set_actions_rx', -+ 'offset' => '440', -+ 'type' => '316263' -+ }, -+ '56' => { -+ 'name' => 'set_actions_tx', -+ 'offset' => '448', -+ 'type' => '316263' -+ }, -+ '57' => { -+ 'name' => 'set_action_set', -+ 'offset' => '456', -+ 'type' => '316300' -+ }, -+ '58' => { -+ 'name' => 'set_action_add', -+ 'offset' => '464', -+ 'type' => '316300' -+ }, -+ '59' => { -+ 'name' => 'set_action_copy', -+ 'offset' => '472', -+ 'type' => '316342' -+ }, -+ '6' => { -+ 'name' => 'build_eth_l2_tnl_init', -+ 'offset' => '48', -+ 'type' => '315931' -+ }, -+ '60' => { -+ 'name' => 'get_action_hw_field', -+ 'offset' => '480', -+ 'type' => '316373' -+ }, -+ '61' => { -+ 'name' => 'set_action_decap_l3_list', -+ 'offset' => '488', -+ 'type' => '316414' -+ }, -+ '62' => { -+ 'name' => 'set_aso_ct_cross_dmn', -+ 'offset' => '496', -+ 'type' => '316451' -+ }, -+ '63' => { -+ 'name' => 'prepare_for_postsend', -+ 'offset' => '504', -+ 'type' => '316473' -+ }, -+ '7' => { -+ 'name' => 'build_eth_l3_ipv4_misc_init', -+ 'offset' => '56', -+ 'type' => '315931' -+ }, -+ '8' => { -+ 'name' => 'build_eth_ipv6_l3_l4_init', -+ 'offset' => '64', -+ 'type' => '315931' -+ }, -+ '9' => { -+ 'name' => 'build_mpls_init', -+ 'offset' => '72', -+ 'type' => '315931' -+ } -+ }, -+ 'Name' => 'struct dr_ste_ctx', -+ 'Size' => '512', -+ 'Type' => 'Struct' -+ }, -+ '313215' => { -+ 'BaseType' => '312334', -+ 'Name' => 'struct dr_ste_ctx*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313221' => { -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'icm_type', -+ 'offset' => '0', -+ 'type' => '507926' -+ }, -+ '1' => { -+ 'name' => 'dmn', -+ 'offset' => '8', -+ 'type' => '308152' -+ }, -+ '2' => { -+ 'name' => 'max_log_chunk_sz', -+ 'offset' => '16', -+ 'type' => '305664' -+ }, -+ '3' => { -+ 'name' => 'lock', -+ 'offset' => '20', -+ 'type' => '999' -+ }, -+ '4' => { -+ 'name' => 'buddy_mem_list', -+ 'offset' => '24', -+ 'type' => '14507' -+ }, -+ '5' => { -+ 'name' => 'hot_memory_size', -+ 'offset' => '40', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'syncing', -+ 'offset' => '48', -+ 'type' => '2098' -+ } -+ }, -+ 'Name' => 'struct dr_icm_pool', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '313226' => { -+ 'BaseType' => '313221', -+ 'Name' => 'struct dr_icm_pool*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313232' => { -+ 'BaseType' => '313248', -+ 'Name' => 'struct dr_send_ring*[14]', -+ 'Size' => '112', -+ 'Type' => 'Array' -+ }, -+ '313248' => { -+ 'BaseType' => '313254', -+ 'Name' => 'struct dr_send_ring*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313254' => { -+ 'Header' => undef, -+ 'Line' => '1588', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'cq', -+ 'offset' => '0', -+ 'type' => '315783' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'offset' => '48', -+ 'type' => '315908' -+ }, -+ '10' => { -+ 'name' => 'sync_buff', -+ 'offset' => '104', -+ 'type' => '267' -+ }, -+ '11' => { -+ 'name' => 'sync_mr', -+ 'offset' => '112', -+ 'type' => '6130' -+ }, -+ '2' => { -+ 'name' => 'mr', -+ 'offset' => '56', -+ 'type' => '6130' -+ }, -+ '3' => { -+ 'name' => 'pending_wqe', -+ 'offset' => '64', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'signal_th', -+ 'offset' => '68', -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'name' => 'max_inline_size', -+ 'offset' => '72', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'tx_head', -+ 'offset' => '76', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'lock', -+ 'offset' => '80', -+ 'type' => '999' -+ }, -+ '8' => { -+ 'name' => 'buf', -+ 'offset' => '88', -+ 'type' => '267' -+ }, -+ '9' => { -+ 'name' => 'buf_size', -+ 'offset' => '96', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_send_ring', -+ 'Size' => '120', -+ 'Type' => 'Struct' -+ }, -+ '313434' => { -+ 'Header' => undef, -+ 'Line' => '1102', -+ 'Memb' => { -+ '0' => { -+ 'name' => 's_anchor', -+ 'offset' => '0', -+ 'type' => '306396' -+ }, -+ '1' => { -+ 'name' => 'nic_dmn', -+ 'offset' => '8', -+ 'type' => '313477' -+ } -+ }, -+ 'Name' => 'struct dr_table_rx_tx', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '313477' => { -+ 'BaseType' => '312086', -+ 'Name' => 'struct dr_domain_rx_tx*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313483' => { -+ 'Header' => undef, -+ 'Line' => '1119', -+ 'Memb' => { -+ '0' => { -+ 'name' => 's_htbl', -+ 'offset' => '0', -+ 'type' => '306396' -+ }, -+ '1' => { -+ 'name' => 'e_anchor', -+ 'offset' => '8', -+ 'type' => '306396' -+ }, -+ '2' => { -+ 'name' => 'ste_builder', -+ 'offset' => '16', -+ 'type' => '313601' -+ }, -+ '3' => { -+ 'name' => 'num_of_builders', -+ 'offset' => '1616', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'default_icm_addr', -+ 'offset' => '1624', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'nic_tbl', -+ 'offset' => '1632', -+ 'type' => '313617' -+ }, -+ '6' => { -+ 'name' => 'fixed_size', -+ 'offset' => '1640', -+ 'type' => '2098' -+ } -+ }, -+ 'Name' => 'struct dr_matcher_rx_tx', -+ 'Size' => '1648', -+ 'Type' => 'Struct' -+ }, -+ '313601' => { -+ 'BaseType' => '306843', -+ 'Name' => 'struct dr_ste_build[20]', -+ 'Size' => '1600', -+ 'Type' => 'Array' -+ }, -+ '313617' => { -+ 'BaseType' => '313434', -+ 'Name' => 'struct dr_table_rx_tx*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313623' => { -+ 'Header' => undef, -+ 'Line' => '1129', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tbl', -+ 'offset' => '0', -+ 'type' => '293256' -+ }, -+ '1' => { -+ 'name' => 'rx', -+ 'offset' => '8', -+ 'type' => '313483' -+ }, -+ '2' => { -+ 'name' => 'tx', -+ 'offset' => '1656', -+ 'type' => '313483' -+ }, -+ '3' => { -+ 'name' => 'matcher_list', -+ 'offset' => '3304', -+ 'type' => '14461' -+ }, -+ '4' => { -+ 'name' => 'prio', -+ 'offset' => '3320', -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'name' => 'mask', -+ 'offset' => '3324', -+ 'type' => '307573' -+ }, -+ '6' => { -+ 'name' => 'match_criteria', -+ 'offset' => '3772', -+ 'type' => '1987' -+ }, -+ '7' => { -+ 'name' => 'refcount', -+ 'offset' => '3776', -+ 'type' => '128' -+ }, -+ '8' => { -+ 'name' => 'dv_matcher', -+ 'offset' => '3784', -+ 'type' => '30312' -+ }, -+ '9' => { -+ 'name' => 'rule_list', -+ 'offset' => '3792', -+ 'type' => '14507' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_matcher', -+ 'Size' => '3808', -+ 'Type' => 'Struct' -+ }, -+ '313785' => { -+ 'Header' => undef, -+ 'Line' => '1142', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hw_field', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'start', -+ 'offset' => '2', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'end', -+ 'offset' => '3', -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'name' => 'l3_type', -+ 'offset' => '4', -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'name' => 'l4_type', -+ 'offset' => '5', -+ 'type' => '1987' -+ }, -+ '5' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_ste_action_modify_field', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '313884' => { -+ 'BaseType' => '313785', -+ 'Name' => 'struct dr_ste_action_modify_field const', -+ 'Size' => '12', -+ 'Type' => 'Const' -+ }, -+ '313889' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ref_actions_num', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'ref_actions', -+ 'offset' => '8', -+ 'type' => '293396' -+ }, -+ '2' => { -+ 'name' => 'devx_tbl', -+ 'offset' => '16', -+ 'type' => '313946' -+ } -+ }, -+ 'Name' => 'struct dr_devx_tbl_with_refs', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '313946' => { -+ 'BaseType' => '311870', -+ 'Name' => 'struct dr_devx_tbl*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '313952' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'offset' => '0', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'rx_icm_addr', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'tx_icm_addr', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'next_ft', -+ 'offset' => '24', -+ 'type' => '293256' -+ } -+ }, -+ 'Name' => 'struct dr_flow_sampler', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314023' => { -+ 'Header' => undef, -+ 'Line' => '1164', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tbl', -+ 'offset' => '0', -+ 'type' => '293256' -+ }, -+ '1' => { -+ 'name' => 'matcher', -+ 'offset' => '8', -+ 'type' => '314108' -+ }, -+ '2' => { -+ 'name' => 'rule', -+ 'offset' => '16', -+ 'type' => '314191' -+ }, -+ '3' => { -+ 'name' => 'actions', -+ 'offset' => '24', -+ 'type' => '293396' -+ }, -+ '4' => { -+ 'name' => 'num_of_actions', -+ 'offset' => '32', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct dr_flow_sampler_restore_tbl', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '314108' => { -+ 'BaseType' => '313623', -+ 'Name' => 'struct mlx5dv_dr_matcher*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314114' => { -+ 'Header' => undef, -+ 'Line' => '1273', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'matcher', -+ 'offset' => '0', -+ 'type' => '314108' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '315199' -+ }, -+ '2' => { -+ 'name' => 'rule_list', -+ 'offset' => '56', -+ 'type' => '14461' -+ }, -+ '3' => { -+ 'name' => 'actions', -+ 'offset' => '72', -+ 'type' => '293396' -+ }, -+ '4' => { -+ 'name' => 'num_actions', -+ 'offset' => '80', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_rule', -+ 'Size' => '88', -+ 'Type' => 'Struct' -+ }, -+ '314191' => { -+ 'BaseType' => '314114', -+ 'Name' => 'struct mlx5dv_dr_rule*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314197' => { -+ 'Header' => undef, -+ 'Line' => '1181', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'chunk', -+ 'offset' => '0', -+ 'type' => '306712' -+ }, -+ '1' => { -+ 'name' => 'data', -+ 'offset' => '8', -+ 'type' => '7345' -+ }, -+ '2' => { -+ 'name' => 'data_size', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'index', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'num_of_actions', -+ 'offset' => '24', -+ 'type' => '1999' -+ }, -+ '5' => { -+ 'bitfield' => '1', -+ 'name' => 'single_action_opt', -+ 'offset' => '26', -+ 'type' => '1987' -+ }, -+ '6' => { -+ 'bitfield' => '1', -+ 'name' => 'allow_rx', -+ 'offset' => '26', -+ 'type' => '1987' -+ }, -+ '7' => { -+ 'bitfield' => '1', -+ 'name' => 'allow_tx', -+ 'offset' => '26', -+ 'type' => '1987' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314329' => { -+ 'Header' => undef, -+ 'Line' => '1179', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'flow_action', -+ 'offset' => '0', -+ 'type' => '13715' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '314197' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '314358' => { -+ 'Header' => undef, -+ 'Line' => '1176', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'is_root_level', -+ 'offset' => '8', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'unnamed0', -+ 'offset' => '16', -+ 'type' => '314329' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '314403' => { -+ 'Header' => undef, -+ 'Line' => '1198', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dvo', -+ 'offset' => '0', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'reformat_size', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314442' => { -+ 'Header' => undef, -+ 'Line' => '1196', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'flow_action', -+ 'offset' => '0', -+ 'type' => '13715' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '314403' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '314471' => { -+ 'Header' => undef, -+ 'Line' => '1193', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'is_root_level', -+ 'offset' => '8', -+ 'type' => '2098' -+ }, -+ '2' => { -+ 'name' => 'unnamed0', -+ 'offset' => '16', -+ 'type' => '314442' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314516' => { -+ 'Header' => undef, -+ 'Line' => '1204', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'next_ft', -+ 'offset' => '0', -+ 'type' => '293256' -+ }, -+ '1' => { -+ 'name' => 'devx_obj', -+ 'offset' => '8', -+ 'type' => '19143' -+ }, -+ '2' => { -+ 'name' => 'rx_icm_addr', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'tx_icm_addr', -+ 'offset' => '24', -+ 'type' => '2028' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '314583' => { -+ 'Header' => undef, -+ 'Line' => '1210', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'term_tbl', -+ 'offset' => '8', -+ 'type' => '314664' -+ }, -+ '2' => { -+ 'name' => 'sampler_default', -+ 'offset' => '16', -+ 'type' => '314670' -+ }, -+ '3' => { -+ 'name' => 'restore_tbl', -+ 'offset' => '24', -+ 'type' => '314676' -+ }, -+ '4' => { -+ 'name' => 'sampler_restore', -+ 'offset' => '32', -+ 'type' => '314670' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '314664' => { -+ 'BaseType' => '313889', -+ 'Name' => 'struct dr_devx_tbl_with_refs*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314670' => { -+ 'BaseType' => '313952', -+ 'Name' => 'struct dr_flow_sampler*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314676' => { -+ 'BaseType' => '314023', -+ 'Name' => 'struct dr_flow_sampler_restore_tbl*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '314682' => { -+ 'Header' => undef, -+ 'Line' => '1218', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'actions_list', -+ 'offset' => '8', -+ 'type' => '14507' -+ }, -+ '2' => { -+ 'name' => 'devx_tbl', -+ 'offset' => '24', -+ 'type' => '313946' -+ }, -+ '3' => { -+ 'name' => 'rx_icm_addr', -+ 'offset' => '32', -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'name' => 'tx_icm_addr', -+ 'offset' => '40', -+ 'type' => '2028' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '314763' => { -+ 'Header' => undef, -+ 'Line' => '1225', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'devx_obj', -+ 'offset' => '0', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'offset', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314802' => { -+ 'Header' => undef, -+ 'Line' => '1229', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dmn', -+ 'offset' => '0', -+ 'type' => '308152' -+ }, -+ '1' => { -+ 'name' => 'caps', -+ 'offset' => '8', -+ 'type' => '311221' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314841' => { -+ 'Header' => undef, -+ 'Line' => '1233', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vlan_hdr', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '314866' => { -+ 'Header' => undef, -+ 'Line' => '1238', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'devx_tir', -+ 'offset' => '0', -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'name' => 'qp', -+ 'offset' => '0', -+ 'type' => '5101' -+ } -+ }, -+ 'Size' => '8', -+ 'Type' => 'Union' -+ }, -+ '314902' => { -+ 'Header' => undef, -+ 'Line' => '1236', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'is_qp', -+ 'offset' => '0', -+ 'type' => '2098' -+ }, -+ '1' => { -+ 'name' => 'unnamed0', -+ 'offset' => '8', -+ 'type' => '314866' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '314933' => { -+ 'Header' => undef, -+ 'Line' => '1175', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rewrite', -+ 'offset' => '0', -+ 'type' => '314358' -+ }, -+ '1' => { -+ 'name' => 'reformat', -+ 'offset' => '0', -+ 'type' => '314471' -+ }, -+ '10' => { -+ 'name' => 'aso', -+ 'offset' => '0', -+ 'type' => '307875' -+ }, -+ '11' => { -+ 'name' => 'devx_obj', -+ 'offset' => '0', -+ 'type' => '19143' -+ }, -+ '12' => { -+ 'name' => 'flow_tag', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'meter', -+ 'offset' => '0', -+ 'type' => '314516' -+ }, -+ '3' => { -+ 'name' => 'sampler', -+ 'offset' => '0', -+ 'type' => '314583' -+ }, -+ '4' => { -+ 'name' => 'dest_tbl', -+ 'offset' => '0', -+ 'type' => '293256' -+ }, -+ '5' => { -+ 'name' => 'dest_array', -+ 'offset' => '0', -+ 'type' => '314682' -+ }, -+ '6' => { -+ 'name' => 'ctr', -+ 'offset' => '0', -+ 'type' => '314763' -+ }, -+ '7' => { -+ 'name' => 'vport', -+ 'offset' => '0', -+ 'type' => '314802' -+ }, -+ '8' => { -+ 'name' => 'push_vlan', -+ 'offset' => '0', -+ 'type' => '314841' -+ }, -+ '9' => { -+ 'name' => 'dest_qp', -+ 'offset' => '0', -+ 'type' => '314902' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '315156' => { -+ 'BaseType' => '313483', -+ 'Name' => 'struct dr_matcher_rx_tx*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315162' => { -+ 'Header' => undef, -+ 'Line' => '1276', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx', -+ 'offset' => '0', -+ 'type' => '306402' -+ }, -+ '1' => { -+ 'name' => 'tx', -+ 'offset' => '24', -+ 'type' => '306402' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '315199' => { -+ 'Header' => undef, -+ 'Line' => '1275', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '315162' -+ }, -+ '1' => { -+ 'name' => 'flow', -+ 'offset' => '0', -+ 'type' => '13536' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '315228' => { -+ 'Header' => undef, -+ 'Line' => '1627', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bits', -+ 'offset' => '0', -+ 'type' => '315914' -+ }, -+ '1' => { -+ 'name' => 'num_free', -+ 'offset' => '8', -+ 'type' => '27794' -+ }, -+ '10' => { -+ 'name' => 'ste_arr', -+ 'offset' => '104', -+ 'type' => '306718' -+ }, -+ '11' => { -+ 'name' => 'miss_list', -+ 'offset' => '112', -+ 'type' => '39434' -+ }, -+ '12' => { -+ 'name' => 'hw_ste_arr', -+ 'offset' => '120', -+ 'type' => '7345' -+ }, -+ '13' => { -+ 'name' => 'hw_ste_sz', -+ 'offset' => '128', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'set_bit', -+ 'offset' => '16', -+ 'type' => '315914' -+ }, -+ '3' => { -+ 'name' => 'max_order', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'list_node', -+ 'offset' => '32', -+ 'type' => '14461' -+ }, -+ '5' => { -+ 'name' => 'icm_mr', -+ 'offset' => '48', -+ 'type' => '315925' -+ }, -+ '6' => { -+ 'name' => 'pool', -+ 'offset' => '56', -+ 'type' => '313226' -+ }, -+ '7' => { -+ 'name' => 'used_list', -+ 'offset' => '64', -+ 'type' => '14507' -+ }, -+ '8' => { -+ 'name' => 'used_memory', -+ 'offset' => '80', -+ 'type' => '386' -+ }, -+ '9' => { -+ 'name' => 'hot_list', -+ 'offset' => '88', -+ 'type' => '14507' -+ } -+ }, -+ 'Name' => 'struct dr_icm_buddy_mem', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '315439' => { -+ 'BaseType' => '315228', -+ 'Name' => 'struct dr_icm_buddy_mem*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315445' => { -+ 'Header' => undef, -+ 'Line' => '1547', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wqe_head', -+ 'offset' => '0', -+ 'type' => '27794' -+ }, -+ '1' => { -+ 'name' => 'wqe_cnt', -+ 'offset' => '8', -+ 'type' => '59' -+ }, -+ '2' => { -+ 'name' => 'max_post', -+ 'offset' => '12', -+ 'type' => '59' -+ }, -+ '3' => { -+ 'name' => 'head', -+ 'offset' => '16', -+ 'type' => '59' -+ }, -+ '4' => { -+ 'name' => 'tail', -+ 'offset' => '20', -+ 'type' => '59' -+ }, -+ '5' => { -+ 'name' => 'cur_post', -+ 'offset' => '24', -+ 'type' => '59' -+ }, -+ '6' => { -+ 'name' => 'max_gs', -+ 'offset' => '28', -+ 'type' => '128' -+ }, -+ '7' => { -+ 'name' => 'wqe_shift', -+ 'offset' => '32', -+ 'type' => '128' -+ }, -+ '8' => { -+ 'name' => 'offset', -+ 'offset' => '36', -+ 'type' => '128' -+ }, -+ '9' => { -+ 'name' => 'qend', -+ 'offset' => '40', -+ 'type' => '267' -+ } -+ }, -+ 'Name' => 'struct dr_wq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '315600' => { -+ 'Header' => undef, -+ 'Line' => '1560', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '26973' -+ }, -+ '1' => { -+ 'name' => 'sq', -+ 'offset' => '64', -+ 'type' => '315445' -+ }, -+ '10' => { -+ 'name' => 'db_umem', -+ 'offset' => '216', -+ 'type' => '29560' -+ }, -+ '11' => { -+ 'bitfield' => '1', -+ 'name' => 'nc_uar', -+ 'offset' => '224', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'rq', -+ 'offset' => '112', -+ 'type' => '315445' -+ }, -+ '3' => { -+ 'name' => 'sq_size', -+ 'offset' => '160', -+ 'type' => '128' -+ }, -+ '4' => { -+ 'name' => 'sq_start', -+ 'offset' => '168', -+ 'type' => '267' -+ }, -+ '5' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '176', -+ 'type' => '128' -+ }, -+ '6' => { -+ 'name' => 'db', -+ 'offset' => '184', -+ 'type' => '19495' -+ }, -+ '7' => { -+ 'name' => 'obj', -+ 'offset' => '192', -+ 'type' => '19143' -+ }, -+ '8' => { -+ 'name' => 'uar', -+ 'offset' => '200', -+ 'type' => '29501' -+ }, -+ '9' => { -+ 'name' => 'buf_umem', -+ 'offset' => '208', -+ 'type' => '29560' -+ } -+ }, -+ 'Name' => 'struct dr_qp', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '315783' => { -+ 'Header' => undef, -+ 'Line' => '1575', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'buf', -+ 'offset' => '0', -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'name' => 'cons_index', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'ncqe', -+ 'offset' => '12', -+ 'type' => '128' -+ }, -+ '3' => { -+ 'name' => 'qp', -+ 'offset' => '16', -+ 'type' => '315908' -+ }, -+ '4' => { -+ 'name' => 'db', -+ 'offset' => '24', -+ 'type' => '19495' -+ }, -+ '5' => { -+ 'name' => 'ibv_cq', -+ 'offset' => '32', -+ 'type' => '4899' -+ }, -+ '6' => { -+ 'name' => 'cqn', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'cqe_sz', -+ 'offset' => '44', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct dr_cq', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '315908' => { -+ 'BaseType' => '315600', -+ 'Name' => 'struct dr_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315914' => { -+ 'BaseType' => '22314', -+ 'Name' => 'unsigned long**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315920' => { -+ 'Header' => undef, -+ 'Line' => '49', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '6130' -+ }, -+ '1' => { -+ 'name' => 'dm', -+ 'offset' => '8', -+ 'type' => '2974' -+ }, -+ '2' => { -+ 'name' => 'icm_start_addr', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct dr_icm_mr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '315925' => { -+ 'BaseType' => '315920', -+ 'Name' => 'struct dr_icm_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '315931' => { -+ 'BaseType' => '315943', -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Name' => 'dr_ste_builder_void_init', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '315943' => { -+ 'Name' => 'void(*)(struct dr_ste_build*, struct dr_match_param*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '307690' -+ }, -+ '1' => { -+ 'type' => '307567' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '316000' => { -+ 'Name' => 'int(*)(struct mlx5dv_devx_obj*, struct mlx5dv_dr_domain*, struct mlx5dv_dr_domain*, uint32_t, uint8_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '19143' -+ }, -+ '1' => { -+ 'type' => '308152' -+ }, -+ '2' => { -+ 'type' => '308152' -+ }, -+ '3' => { -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316032' => { -+ 'Name' => 'void(*)(uint8_t*, uint16_t, _Bool, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'type' => '2098' -+ }, -+ '3' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316054' => { -+ 'Name' => 'void(*)(uint8_t*, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316075' => { -+ 'Name' => 'uint16_t(*)(uint8_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ } -+ }, -+ 'Return' => '1999', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316097' => { -+ 'Name' => 'void(*)(uint8_t*, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316118' => { -+ 'Name' => 'uint64_t(*)(uint8_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ } -+ }, -+ 'Return' => '2028', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316145' => { -+ 'Name' => 'void(*)(uint8_t*, uint64_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316187' => { -+ 'Name' => 'void(*)(uint8_t*, uint16_t, uint16_t, uint64_t, uint32_t, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316214' => { -+ 'Name' => 'void(*)(uint8_t*, uint64_t, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316220' => { -+ 'BaseType' => '313884', -+ 'Name' => 'struct dr_ste_action_modify_field const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '316257' => { -+ 'BaseType' => '308227', -+ 'Name' => 'struct dr_ste_actions_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '316263' => { -+ 'Name' => 'void(*)(uint8_t*, uint32_t, uint8_t*, struct dr_ste_actions_attr*, uint32_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '7345' -+ }, -+ '3' => { -+ 'type' => '316257' -+ }, -+ '4' => { -+ 'type' => '14364' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316300' => { -+ 'Name' => 'void(*)(uint8_t*, uint8_t, uint8_t, uint8_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316342' => { -+ 'Name' => 'void(*)(uint8_t*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'type' => '1987' -+ }, -+ '3' => { -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'type' => '1987' -+ }, -+ '5' => { -+ 'type' => '1987' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316373' => { -+ 'Name' => 'struct dr_ste_action_modify_field const*(*)(struct dr_ste_ctx*, uint16_t, struct dr_devx_caps*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '313215' -+ }, -+ '1' => { -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'type' => '307536' -+ } -+ }, -+ 'Return' => '316220', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316414' => { -+ 'Name' => 'int(*)(void*, uint32_t, uint8_t*, uint32_t, uint16_t*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '267' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '7345' -+ }, -+ '3' => { -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'type' => '29313' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316451' => { -+ 'Name' => 'void(*)(uint8_t*, uint32_t, uint32_t, uint8_t, _Bool)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '1987' -+ }, -+ '4' => { -+ 'type' => '2098' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '316473' => { -+ 'Name' => 'void(*)(uint8_t*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '7345' -+ }, -+ '1' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '317189' => { -+ 'BaseType' => '293032', -+ 'Name' => 'struct mlx5dv_dr_flow_meter_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '317277' => { -+ 'BaseType' => '2177', -+ 'Name' => '__be64*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '319715' => { -+ 'BaseType' => '319721', -+ 'Name' => 'struct mlx5dv_dr_action_dest_attr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '319721' => { -+ 'BaseType' => '293552', -+ 'Name' => 'struct mlx5dv_dr_action_dest_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '322458' => { -+ 'BaseType' => '293262', -+ 'Name' => 'struct mlx5dv_dr_flow_sampler_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '323' => { -+ 'BaseType' => '316', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ }, -+ '3556' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '3604' => { -+ 'Header' => undef, -+ 'Line' => '242', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rc_odp_caps', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'uc_odp_caps', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'ud_odp_caps', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '3653' => { -+ 'Header' => undef, -+ 'Line' => '240', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'general_caps', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'per_transport_caps', -+ 'offset' => '8', -+ 'type' => '3604' -+ } -+ }, -+ 'Name' => 'struct ibv_odp_caps', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '3693' => { -+ 'Header' => undef, -+ 'Line' => '254', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_tso', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '4', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_tso_caps', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '3734' => { -+ 'Header' => undef, -+ 'Line' => '285', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'max_rwq_indirection_tables', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'max_rwq_indirection_table_size', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '24', -+ 'type' => '1987' -+ } -+ }, -+ 'Name' => 'struct ibv_rss_caps', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '375' => { -+ 'BaseType' => '323', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3819' => { -+ 'Header' => undef, -+ 'Line' => '293', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_rate_limit_min', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'qp_rate_limit_max', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'supported_qpts', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_packet_pacing_caps', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '386' => { -+ 'BaseType' => '66', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '3876' => { -+ 'Header' => undef, -+ 'Line' => '310', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_rndv_hdr_size', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_ops', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_tm_caps', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '39434' => { -+ 'BaseType' => '14507', -+ 'Name' => 'struct list_head*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '3961' => { -+ 'Header' => undef, -+ 'Line' => '323', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_cq_count', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'max_cq_period', -+ 'offset' => '2', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct ibv_cq_moderation_caps', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '4004' => { -+ 'Header' => undef, -+ 'Line' => '338', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fetch_add', -+ 'offset' => '0', -+ 'type' => '1999' -+ }, -+ '1' => { -+ 'name' => 'swap', -+ 'offset' => '2', -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'name' => 'compare_swap', -+ 'offset' => '4', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct ibv_pci_atomic_caps', -+ 'Size' => '6', -+ 'Type' => 'Struct' -+ }, -+ '405' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '4061' => { -+ 'Header' => undef, -+ 'Line' => '344', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'orig_attr', -+ 'offset' => '0', -+ 'type' => '3022' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '232', -+ 'type' => '2011' -+ }, -+ '10' => { -+ 'name' => 'raw_packet_caps', -+ 'offset' => '344', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'tm_caps', -+ 'offset' => '348', -+ 'type' => '3876' -+ }, -+ '12' => { -+ 'name' => 'cq_mod_caps', -+ 'offset' => '368', -+ 'type' => '3961' -+ }, -+ '13' => { -+ 'name' => 'max_dm_size', -+ 'offset' => '376', -+ 'type' => '2028' -+ }, -+ '14' => { -+ 'name' => 'pci_atomic_caps', -+ 'offset' => '384', -+ 'type' => '4004' -+ }, -+ '15' => { -+ 'name' => 'xrc_odp_caps', -+ 'offset' => '392', -+ 'type' => '2011' -+ }, -+ '16' => { -+ 'name' => 'phys_port_cnt_ex', -+ 'offset' => '396', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'odp_caps', -+ 'offset' => '240', -+ 'type' => '3653' -+ }, -+ '3' => { -+ 'name' => 'completion_timestamp_mask', -+ 'offset' => '264', -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'name' => 'hca_core_clock', -+ 'offset' => '272', -+ 'type' => '2028' -+ }, -+ '5' => { -+ 'name' => 'device_cap_flags_ex', -+ 'offset' => '280', -+ 'type' => '2028' -+ }, -+ '6' => { -+ 'name' => 'tso_caps', -+ 'offset' => '288', -+ 'type' => '3693' -+ }, -+ '7' => { -+ 'name' => 'rss_caps', -+ 'offset' => '296', -+ 'type' => '3734' -+ }, -+ '8' => { -+ 'name' => 'max_wq_type_rq', -+ 'offset' => '328', -+ 'type' => '2011' -+ }, -+ '9' => { -+ 'name' => 'packet_pacing_caps', -+ 'offset' => '332', -+ 'type' => '3819' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr_ex', -+ 'Size' => '400', -+ 'Type' => 'Struct' -+ }, -+ '45' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '4758' => { -+ 'Header' => undef, -+ 'Line' => '1458', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '9969' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '267' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '128' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '897' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '971' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_cq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '4899' => { -+ 'BaseType' => '4758', -+ 'Name' => 'struct ibv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4905' => { -+ 'Header' => undef, -+ 'Line' => '1252', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '897' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '971' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '6322' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '4899' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '4899' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '5219' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '7680' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '7127' -+ } -+ }, -+ 'Name' => 'struct ibv_qp', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '507926' => { -+ 'Header' => undef, -+ 'Line' => '93', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'DR_ICM_TYPE_STE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'DR_ICM_TYPE_MODIFY_ACTION', -+ 'value' => '1' -+ } -+ }, -+ 'Name' => 'enum dr_icm_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '5101' => { -+ 'BaseType' => '4905', -+ 'Name' => 'struct ibv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5107' => { -+ 'Header' => undef, -+ 'Line' => '1212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '6322' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '897' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '971' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_srq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '52' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '5219' => { -+ 'BaseType' => '5107', -+ 'Name' => 'struct ibv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5225' => { -+ 'Header' => undef, -+ 'Line' => '1234', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'wq_context', -+ 'offset' => '8', -+ 'type' => '267' -+ }, -+ '10' => { -+ 'name' => 'cond', -+ 'offset' => '96', -+ 'type' => '971' -+ }, -+ '11' => { -+ 'name' => 'events_completed', -+ 'offset' => '144', -+ 'type' => '2011' -+ }, -+ '12' => { -+ 'name' => 'comp_mask', -+ 'offset' => '148', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '6322' -+ }, -+ '3' => { -+ 'name' => 'cq', -+ 'offset' => '24', -+ 'type' => '4899' -+ }, -+ '4' => { -+ 'name' => 'wq_num', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'handle', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'state', -+ 'offset' => '40', -+ 'type' => '6864' -+ }, -+ '7' => { -+ 'name' => 'wq_type', -+ 'offset' => '44', -+ 'type' => '6713' -+ }, -+ '8' => { -+ 'name' => 'post_recv', -+ 'offset' => '48', -+ 'type' => '9101' -+ }, -+ '9' => { -+ 'name' => 'mutex', -+ 'offset' => '56', -+ 'type' => '897' -+ } -+ }, -+ 'Name' => 'struct ibv_wq', -+ 'Size' => '152', -+ 'Type' => 'Struct' -+ }, -+ '5420' => { -+ 'BaseType' => '5225', -+ 'Name' => 'struct ibv_wq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5426' => { -+ 'Header' => undef, -+ 'Line' => '483', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SUCCESS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_LOC_LEN_ERR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_REM_ACCESS_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_REM_OP_ERR', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_RETRY_EXC_ERR', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_RNR_RETRY_EXC_ERR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_LOC_RDD_VIOL_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_REM_INV_RD_REQ_ERR', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_REM_ABORT_ERR', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_INV_EECN_ERR', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_WC_INV_EEC_STATE_ERR', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_WC_FATAL_ERR', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_LOC_QP_OP_ERR', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IBV_WC_RESP_TIMEOUT_ERR', -+ 'value' => '20' -+ }, -+ '21' => { -+ 'name' => 'IBV_WC_GENERAL_ERR', -+ 'value' => '21' -+ }, -+ '22' => { -+ 'name' => 'IBV_WC_TM_ERR', -+ 'value' => '22' -+ }, -+ '23' => { -+ 'name' => 'IBV_WC_TM_RNDV_INCOMPLETE', -+ 'value' => '23' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_LOC_EEC_OP_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_LOC_PROT_ERR', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_WR_FLUSH_ERR', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_MW_BIND_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_BAD_RESP_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_LOC_ACCESS_ERR', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_REM_INV_REQ_ERR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '543815' => { -+ 'Header' => undef, -+ 'Line' => '1935', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'flags', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'log_num_of_rules_hint', -+ 'offset' => '4', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct mlx5dv_dr_matcher_layout', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '5590' => { -+ 'Header' => undef, -+ 'Line' => '511', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SEND', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_RDMA_WRITE', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_TM_ADD', -+ 'value' => '130' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_TM_DEL', -+ 'value' => '131' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_TM_SYNC', -+ 'value' => '132' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_TM_RECV', -+ 'value' => '133' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_TM_NO_TAG', -+ 'value' => '134' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_DRIVER1', -+ 'value' => '135' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_DRIVER2', -+ 'value' => '136' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_DRIVER3', -+ 'value' => '137' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_RDMA_READ', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_COMP_SWAP', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_FETCH_ADD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_BIND_MW', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_LOCAL_INV', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_TSO', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_RECV', -+ 'value' => '128' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_RECV_RDMA_WITH_IMM', -+ 'value' => '129' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '567800' => { -+ 'BaseType' => '543815', -+ 'Name' => 'struct mlx5dv_dr_matcher_layout*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '5718' => { -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '2165' -+ }, -+ '1' => { -+ 'name' => 'invalidated_rkey', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '5755' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'status', -+ 'offset' => '8', -+ 'type' => '5426' -+ }, -+ '10' => { -+ 'name' => 'slid', -+ 'offset' => '42', -+ 'type' => '1999' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '44', -+ 'type' => '1987' -+ }, -+ '12' => { -+ 'name' => 'dlid_path_bits', -+ 'offset' => '45', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '12', -+ 'type' => '5590' -+ }, -+ '3' => { -+ 'name' => 'vendor_err', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'byte_len', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '5718' -+ }, -+ '6' => { -+ 'name' => 'qp_num', -+ 'offset' => '28', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'src_qp', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'wc_flags', -+ 'offset' => '36', -+ 'type' => '59' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '40', -+ 'type' => '1999' -+ } -+ }, -+ 'Name' => 'struct ibv_wc', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '59' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '5943' => { -+ 'Header' => undef, -+ 'Line' => '619', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '6130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'mw_access_flags', -+ 'offset' => '24', -+ 'type' => '59' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind_info', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '6013' => { -+ 'BaseType' => '5943', -+ 'Name' => 'struct ibv_mw_bind_info const', -+ 'Size' => '32', -+ 'Type' => 'Const' -+ }, -+ '6018' => { -+ 'Header' => undef, -+ 'Line' => '662', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '6322' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '16', -+ 'type' => '267' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '386' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '2011' -+ }, -+ '5' => { -+ 'name' => 'lkey', -+ 'offset' => '36', -+ 'type' => '2011' -+ }, -+ '6' => { -+ 'name' => 'rkey', -+ 'offset' => '40', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '6130' => { -+ 'BaseType' => '6018', -+ 'Name' => 'struct ibv_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6136' => { -+ 'Header' => undef, -+ 'Line' => '626', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '6208' => { -+ 'Header' => undef, -+ 'Line' => '635', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ } -+ }, -+ 'Name' => 'struct ibv_td', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '6293' => { -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '6322' => { -+ 'BaseType' => '6136', -+ 'Name' => 'struct ibv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '63227' => { -+ 'BaseType' => '1987', -+ 'Name' => 'uint8_t[32]', -+ 'Size' => '32', -+ 'Type' => 'Array' -+ }, -+ '6328' => { -+ 'Header' => undef, -+ 'Line' => '672', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MW_TYPE_1', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MW_TYPE_2', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mw_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6360' => { -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '6322' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '20', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '24', -+ 'type' => '6328' -+ } -+ }, -+ 'Name' => 'struct ibv_mw', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '66' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '6707' => { -+ 'BaseType' => '6293', -+ 'Name' => 'struct ibv_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '6713' => { -+ 'Header' => undef, -+ 'Line' => '814', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQT_RQ', -+ 'value' => '0' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6739' => { -+ 'Header' => undef, -+ 'Line' => '831', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wq_context', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'wq_type', -+ 'offset' => '8', -+ 'type' => '6713' -+ }, -+ '2' => { -+ 'name' => 'max_wr', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_sge', -+ 'offset' => '16', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'pd', -+ 'offset' => '24', -+ 'type' => '6322' -+ }, -+ '5' => { -+ 'name' => 'cq', -+ 'offset' => '32', -+ 'type' => '4899' -+ }, -+ '6' => { -+ 'name' => 'comp_mask', -+ 'offset' => '40', -+ 'type' => '2011' -+ }, -+ '7' => { -+ 'name' => 'create_flags', -+ 'offset' => '44', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_wq_init_attr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '6864' => { -+ 'Header' => undef, -+ 'Line' => '842', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WQS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WQS_RDY', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_WQS_ERR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WQS_UNKNOWN', -+ 'value' => '3' -+ } -+ }, -+ 'Name' => 'enum ibv_wq_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '6993' => { -+ 'Header' => undef, -+ 'Line' => '874', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '128' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '7127' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPT_RC', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPT_UC', -+ 'value' => '3' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPT_UD', -+ 'value' => '4' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPT_RAW_PACKET', -+ 'value' => '8' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPT_XRC_SEND', -+ 'value' => '9' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPT_XRC_RECV', -+ 'value' => '10' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPT_DRIVER', -+ 'value' => '255' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '7189' => { -+ 'Header' => undef, -+ 'Line' => '905', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '0', -+ 'type' => '2011' -+ }, -+ '1' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '4', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '12', -+ 'type' => '2011' -+ }, -+ '4' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_cap', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '7274' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '0', -+ 'type' => '1987' -+ }, -+ '1' => { -+ 'name' => 'rx_hash_key_len', -+ 'offset' => '1', -+ 'type' => '1987' -+ }, -+ '2' => { -+ 'name' => 'rx_hash_key', -+ 'offset' => '8', -+ 'type' => '7345' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '2028' -+ } -+ }, -+ 'Name' => 'struct ibv_rx_hash_conf', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '7345' => { -+ 'BaseType' => '1987', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7351' => { -+ 'Header' => undef, -+ 'Line' => '964', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '4899' -+ }, -+ '10' => { -+ 'name' => 'create_flags', -+ 'offset' => '80', -+ 'type' => '2011' -+ }, -+ '11' => { -+ 'name' => 'max_tso_header', -+ 'offset' => '84', -+ 'type' => '1999' -+ }, -+ '12' => { -+ 'name' => 'rwq_ind_tbl', -+ 'offset' => '88', -+ 'type' => '7589' -+ }, -+ '13' => { -+ 'name' => 'rx_hash_conf', -+ 'offset' => '96', -+ 'type' => '7274' -+ }, -+ '14' => { -+ 'name' => 'source_qpn', -+ 'offset' => '120', -+ 'type' => '2011' -+ }, -+ '15' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '128', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '4899' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '5219' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '7189' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '7127' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '128' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '60', -+ 'type' => '2011' -+ }, -+ '8' => { -+ 'name' => 'pd', -+ 'offset' => '64', -+ 'type' => '6322' -+ }, -+ '9' => { -+ 'name' => 'xrcd', -+ 'offset' => '72', -+ 'type' => '6707' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_ex', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '7589' => { -+ 'BaseType' => '6993', -+ 'Name' => 'struct ibv_rwq_ind_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7680' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPS_INIT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPS_RTR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPS_RTS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPS_SQD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPS_SQE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPS_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_QPS_UNKNOWN', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '7819' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_RDMA_WRITE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_RDMA_WRITE_WITH_IMM', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WR_TSO', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WR_DRIVER1', -+ 'value' => '11' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_SEND', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WR_SEND_WITH_IMM', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WR_RDMA_READ', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WR_ATOMIC_CMP_AND_SWP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WR_ATOMIC_FETCH_AND_ADD', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WR_LOCAL_INV', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WR_BIND_MW', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WR_SEND_WITH_INV', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '7911' => { -+ 'Header' => undef, -+ 'Line' => '1109', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '386' -+ } -+ }, -+ 'Name' => 'struct ibv_data_buf', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '7954' => { -+ 'BaseType' => '7911', -+ 'Name' => 'struct ibv_data_buf const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '7959' => { -+ 'Header' => undef, -+ 'Line' => '1114', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'lkey', -+ 'offset' => '12', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_sge', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8016' => { -+ 'BaseType' => '7959', -+ 'Name' => 'struct ibv_sge const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '8021' => { -+ 'Header' => undef, -+ 'Line' => '1130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '2165' -+ }, -+ '1' => { -+ 'name' => 'invalidate_rkey', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '8058' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8097' => { -+ 'Header' => undef, -+ 'Line' => '1139', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '2028' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '8164' => { -+ 'Header' => undef, -+ 'Line' => '1145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '8272' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8216' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '6322' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_ah', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '8272' => { -+ 'BaseType' => '8216', -+ 'Name' => 'struct ibv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8278' => { -+ 'Header' => undef, -+ 'Line' => '1134', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '8058' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '8097' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '8164' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '8327' => { -+ 'Header' => undef, -+ 'Line' => '1152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_srqn', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '8352' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrc', -+ 'offset' => '0', -+ 'type' => '8327' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '8376' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw', -+ 'offset' => '0', -+ 'type' => '8428' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '5943' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '8428' => { -+ 'BaseType' => '6360', -+ 'Name' => 'struct ibv_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8434' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '267' -+ }, -+ '1' => { -+ 'name' => 'hdr_sz', -+ 'offset' => '8', -+ 'type' => '1999' -+ }, -+ '2' => { -+ 'name' => 'mss', -+ 'offset' => '10', -+ 'type' => '1999' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '8487' => { -+ 'Header' => undef, -+ 'Line' => '1156', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bind_mw', -+ 'offset' => '0', -+ 'type' => '8376' -+ }, -+ '1' => { -+ 'name' => 'tso', -+ 'offset' => '0', -+ 'type' => '8434' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '8524' => { -+ 'Header' => undef, -+ 'Line' => '1120', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '8662' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '8668' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '128' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '7819' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '59' -+ }, -+ '6' => { -+ 'name' => 'unnamed0', -+ 'offset' => '36', -+ 'type' => '8021' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '8278' -+ }, -+ '8' => { -+ 'name' => 'qp_type', -+ 'offset' => '72', -+ 'type' => '8352' -+ }, -+ '9' => { -+ 'name' => 'unnamed1', -+ 'offset' => '80', -+ 'type' => '8487' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '8662' => { -+ 'BaseType' => '8524', -+ 'Name' => 'struct ibv_send_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8668' => { -+ 'BaseType' => '7959', -+ 'Name' => 'struct ibv_sge*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '8674' => { -+ 'Header' => undef, -+ 'Line' => '1170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '8745' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '8668' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '8745' => { -+ 'BaseType' => '8674', -+ 'Name' => 'struct ibv_recv_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '90' => { -+ 'Name' => 'signed char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '9013' => { -+ 'Header' => undef, -+ 'Line' => '1206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '2028' -+ }, -+ '1' => { -+ 'name' => 'send_flags', -+ 'offset' => '8', -+ 'type' => '59' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '5943' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '9095' => { -+ 'BaseType' => '8745', -+ 'Name' => 'struct ibv_recv_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9101' => { -+ 'Name' => 'int(*)(struct ibv_wq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '5420' -+ }, -+ '1' => { -+ 'type' => '8745' -+ }, -+ '2' => { -+ 'type' => '9095' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9107' => { -+ 'Header' => undef, -+ 'Line' => '1269', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_base', -+ 'offset' => '0', -+ 'type' => '4905' -+ }, -+ '1' => { -+ 'name' => 'comp_mask', -+ 'offset' => '160', -+ 'type' => '2028' -+ }, -+ '10' => { -+ 'name' => 'wr_rdma_write_imm', -+ 'offset' => '232', -+ 'type' => '9658' -+ }, -+ '11' => { -+ 'name' => 'wr_send', -+ 'offset' => '240', -+ 'type' => '9675' -+ }, -+ '12' => { -+ 'name' => 'wr_send_imm', -+ 'offset' => '248', -+ 'type' => '9697' -+ }, -+ '13' => { -+ 'name' => 'wr_send_inv', -+ 'offset' => '256', -+ 'type' => '9599' -+ }, -+ '14' => { -+ 'name' => 'wr_send_tso', -+ 'offset' => '264', -+ 'type' => '9729' -+ }, -+ '15' => { -+ 'name' => 'wr_set_ud_addr', -+ 'offset' => '272', -+ 'type' => '9761' -+ }, -+ '16' => { -+ 'name' => 'wr_set_xrc_srqn', -+ 'offset' => '280', -+ 'type' => '9599' -+ }, -+ '17' => { -+ 'name' => 'wr_set_inline_data', -+ 'offset' => '288', -+ 'type' => '9788' -+ }, -+ '18' => { -+ 'name' => 'wr_set_inline_data_list', -+ 'offset' => '296', -+ 'type' => '9821' -+ }, -+ '19' => { -+ 'name' => 'wr_set_sge', -+ 'offset' => '304', -+ 'type' => '9853' -+ }, -+ '2' => { -+ 'name' => 'wr_id', -+ 'offset' => '168', -+ 'type' => '2028' -+ }, -+ '20' => { -+ 'name' => 'wr_set_sge_list', -+ 'offset' => '312', -+ 'type' => '9886' -+ }, -+ '21' => { -+ 'name' => 'wr_start', -+ 'offset' => '320', -+ 'type' => '9675' -+ }, -+ '22' => { -+ 'name' => 'wr_complete', -+ 'offset' => '328', -+ 'type' => '9907' -+ }, -+ '23' => { -+ 'name' => 'wr_abort', -+ 'offset' => '336', -+ 'type' => '9675' -+ }, -+ '3' => { -+ 'name' => 'wr_flags', -+ 'offset' => '176', -+ 'type' => '59' -+ }, -+ '4' => { -+ 'name' => 'wr_atomic_cmp_swp', -+ 'offset' => '184', -+ 'type' => '9507' -+ }, -+ '5' => { -+ 'name' => 'wr_atomic_fetch_add', -+ 'offset' => '192', -+ 'type' => '9539' -+ }, -+ '6' => { -+ 'name' => 'wr_bind_mw', -+ 'offset' => '200', -+ 'type' => '9577' -+ }, -+ '7' => { -+ 'name' => 'wr_local_inv', -+ 'offset' => '208', -+ 'type' => '9599' -+ }, -+ '8' => { -+ 'name' => 'wr_rdma_read', -+ 'offset' => '216', -+ 'type' => '9626' -+ }, -+ '9' => { -+ 'name' => 'wr_rdma_write', -+ 'offset' => '224', -+ 'type' => '9626' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_ex', -+ 'Size' => '344', -+ 'Type' => 'Struct' -+ }, -+ '9501' => { -+ 'BaseType' => '9107', -+ 'Name' => 'struct ibv_qp_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9507' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint64_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '2028' -+ }, -+ '4' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9539' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '955' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[48]', -+ 'Size' => '48', -+ 'Type' => 'Array' -+ }, -+ '9571' => { -+ 'BaseType' => '6013', -+ 'Name' => 'struct ibv_mw_bind_info const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9577' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, struct ibv_mw*, uint32_t, struct ibv_mw_bind_info const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '8428' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '9571' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9599' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9626' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9658' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, __be32)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '2165' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9675' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9697' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, __be32)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2165' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '97' => { -+ 'BaseType' => '45', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '9729' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, void*, uint16_t, uint16_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '267' -+ }, -+ '2' => { -+ 'type' => '1999' -+ }, -+ '3' => { -+ 'type' => '1999' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9761' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, struct ibv_ah*, uint32_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '8272' -+ }, -+ '2' => { -+ 'type' => '2011' -+ }, -+ '3' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9788' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, void*, size_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '267' -+ }, -+ '2' => { -+ 'type' => '386' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9815' => { -+ 'BaseType' => '7954', -+ 'Name' => 'struct ibv_data_buf const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9821' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, size_t, struct ibv_data_buf const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '386' -+ }, -+ '2' => { -+ 'type' => '9815' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '983' => { -+ 'BaseType' => '316', -+ 'Name' => 'char[8]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '9853' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, uint32_t, uint64_t, uint32_t)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '2011' -+ }, -+ '2' => { -+ 'type' => '2028' -+ }, -+ '3' => { -+ 'type' => '2011' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9880' => { -+ 'BaseType' => '8016', -+ 'Name' => 'struct ibv_sge const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9886' => { -+ 'Name' => 'void(*)(struct ibv_qp_ex*, size_t, struct ibv_sge const*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ }, -+ '1' => { -+ 'type' => '386' -+ }, -+ '2' => { -+ 'type' => '9880' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9907' => { -+ 'Name' => 'int(*)(struct ibv_qp_ex*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '9501' -+ } -+ }, -+ 'Return' => '128', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '9913' => { -+ 'Header' => undef, -+ 'Line' => '1452', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '2938' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '128' -+ }, -+ '2' => { -+ 'name' => 'refcnt', -+ 'offset' => '12', -+ 'type' => '128' -+ } -+ }, -+ 'Name' => 'struct ibv_comp_channel', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '9969' => { -+ 'BaseType' => '9913', -+ 'Name' => 'struct ibv_comp_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '9975' => { -+ 'Header' => undef, -+ 'Line' => '1471', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '2011' -+ } -+ }, -+ 'Name' => 'struct ibv_poll_cq_attr', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '999' => { -+ 'BaseType' => '135', -+ 'Header' => undef, -+ 'Line' => '103', -+ 'Name' => 'pthread_spinlock_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'libmlx5.so.1.23.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fprintf_chk@GLIBC_2.3.4' => 0, -+ '__gmon_start__' => 0, -+ '__isoc99_sscanf@GLIBC_2.7' => 0, -+ '__memcpy_chk@GLIBC_2.3.4' => 0, -+ '__pread_chk@GLIBC_2.4' => 0, -+ '__snprintf_chk@GLIBC_2.3.4' => 0, -+ '__sprintf_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '__strncat_chk@GLIBC_2.3.4' => 0, -+ '__vfprintf_chk@GLIBC_2.3.4' => 0, -+ '__xstat@GLIBC_2.2.5' => 0, -+ '_verbs_init_and_alloc_context@IBVERBS_PRIVATE_34' => 0, -+ 'abort@GLIBC_2.2.5' => 0, -+ 'basename@GLIBC_2.2.5' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'close@GLIBC_2.2.5' => 0, -+ 'eventfd@GLIBC_2.7' => 0, -+ 'execute_ioctl@IBVERBS_PRIVATE_34' => 0, -+ 'fclose@GLIBC_2.2.5' => 0, -+ 'fcntl@GLIBC_2.2.5' => 0, -+ 'fgets@GLIBC_2.2.5' => 0, -+ 'fopen@GLIBC_2.2.5' => 0, -+ 'fputc@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'fwrite@GLIBC_2.2.5' => 0, -+ 'getenv@GLIBC_2.2.5' => 0, -+ 'gethostname@GLIBC_2.2.5' => 0, -+ 'getpid@GLIBC_2.2.5' => 0, -+ 'getrandom@GLIBC_2.25' => 0, -+ 'gettimeofday@GLIBC_2.2.5' => 0, -+ 'ibv_alloc_pd@IBVERBS_1.1' => 0, -+ 'ibv_cmd_advise_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_alloc_dm@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_alloc_mw@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_alloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_attach_mcast@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_close_xrcd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_ah@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_counters@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_cq_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_flow@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_flow_action_esp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_qp_ex2@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_qp_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_rwq_ind_table@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_srq_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_create_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dealloc_mw@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dealloc_pd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_dereg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_ah@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_counters@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_flow@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_flow_action@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_rwq_ind_table@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_destroy_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_detach_mcast@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_free_dm@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_get_context@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_flow_action_esp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_qp_ex@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_modify_wq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_open_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_open_xrcd@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_context@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_device_any@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_port@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_qp@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_query_srq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_read_counters@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_dm_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_dmabuf_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_reg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_rereg_mr@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_cmd_resize_cq@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_create_cq@IBVERBS_1.1' => 0, -+ 'ibv_dealloc_pd@IBVERBS_1.1' => 0, -+ 'ibv_dereg_mr@IBVERBS_1.1' => 0, -+ 'ibv_destroy_cq@IBVERBS_1.1' => 0, -+ 'ibv_dofork_range@IBVERBS_1.1' => 0, -+ 'ibv_dontfork_range@IBVERBS_1.1' => 0, -+ 'ibv_get_device_name@IBVERBS_1.1' => 0, -+ 'ibv_qp_to_qp_ex@IBVERBS_1.6' => 0, -+ 'ibv_query_device@IBVERBS_1.1' => 0, -+ 'ibv_query_gid_type@IBVERBS_PRIVATE_34' => 0, -+ 'ibv_query_port@IBVERBS_1.1' => 0, -+ 'ibv_reg_mr@IBVERBS_1.1' => 0, -+ 'ibv_resolve_eth_l2_from_gid@IBVERBS_1.1' => 0, -+ 'ioctl@GLIBC_2.2.5' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'memcmp@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'memset@GLIBC_2.2.5' => 0, -+ 'mmap@GLIBC_2.2.5' => 0, -+ 'munmap@GLIBC_2.2.5' => 0, -+ 'open@GLIBC_2.2.5' => 0, -+ 'poll@GLIBC_2.2.5' => 0, -+ 'posix_memalign@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_init@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_lock@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_unlock@GLIBC_2.2.5' => 0, -+ 'pthread_spin_destroy@GLIBC_2.2.5' => 0, -+ 'pthread_spin_init@GLIBC_2.2.5' => 0, -+ 'pthread_spin_lock@GLIBC_2.2.5' => 0, -+ 'pthread_spin_unlock@GLIBC_2.2.5' => 0, -+ 'pwrite@GLIBC_2.2.5' => 0, -+ 'rand_r@GLIBC_2.2.5' => 0, -+ 'read@GLIBC_2.2.5' => 0, -+ 'readlink@GLIBC_2.2.5' => 0, -+ 'realloc@GLIBC_2.2.5' => 0, -+ 'sched_getaffinity@GLIBC_2.3.4' => 0, -+ 'sched_yield@GLIBC_2.2.5' => 0, -+ 'shmat@GLIBC_2.2.5' => 0, -+ 'shmctl@GLIBC_2.2.5' => 0, -+ 'shmdt@GLIBC_2.2.5' => 0, -+ 'shmget@GLIBC_2.2.5' => 0, -+ 'sleep@GLIBC_2.2.5' => 0, -+ 'stderr@GLIBC_2.2.5' => 0, -+ 'strcasecmp@GLIBC_2.2.5' => 0, -+ 'strchr@GLIBC_2.2.5' => 0, -+ 'strdup@GLIBC_2.2.5' => 0, -+ 'strerror@GLIBC_2.2.5' => 0, -+ 'strlen@GLIBC_2.2.5' => 0, -+ 'strncpy@GLIBC_2.2.5' => 0, -+ 'strrchr@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'strtoul@GLIBC_2.2.5' => 0, -+ 'sysconf@GLIBC_2.2.5' => 0, -+ 'time@GLIBC_2.2.5' => 0, -+ 'usleep@GLIBC_2.2.5' => 0, -+ 'verbs_allow_disassociate_destroy@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_init_cq@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_open_device@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_register_driver_34@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_set_ops@IBVERBS_PRIVATE_34' => 0, -+ 'verbs_uninit_context@IBVERBS_PRIVATE_34' => 0, -+ 'write@GLIBC_2.2.5' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; -diff --git a/ABI/rdmacm.dump b/ABI/rdmacm.dump -new file mode 100644 -index 0000000..c83a163 ---- /dev/null -+++ b/ABI/rdmacm.dump -@@ -0,0 +1,5867 @@ -+$VAR1 = { -+ 'ABI_DUMPER_VERSION' => '1.1', -+ 'ABI_DUMP_VERSION' => '3.5', -+ 'Arch' => 'x86_64', -+ 'GccVersion' => '11.1.0', -+ 'Headers' => {}, -+ 'Language' => 'C', -+ 'LibraryName' => 'librdmacm.so.1.3.41.0', -+ 'LibraryVersion' => 'rdmacm', -+ 'MissedOffsets' => '1', -+ 'MissedRegs' => '1', -+ 'NameSpaces' => {}, -+ 'Needed' => { -+ 'ld-linux-x86-64.so.2' => 1, -+ 'libc.so.6' => 1, -+ 'libibverbs.so.1' => 1, -+ 'libnl-3.so.200' => 1, -+ 'libpthread.so.0' => 1 -+ }, -+ 'Sources' => {}, -+ 'SymbolInfo' => { -+ '112284' => { -+ 'Header' => undef, -+ 'Line' => '4125', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'count', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'offset', -+ 'type' => '82081' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '45', -+ 'ShortName' => 'riowrite' -+ }, -+ '114082' => { -+ 'Header' => undef, -+ 'Line' => '4078', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'riounmap' -+ }, -+ '114627' => { -+ 'Header' => undef, -+ 'Line' => '4029', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'prot', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'offset', -+ 'type' => '82081' -+ } -+ }, -+ 'Return' => '82081', -+ 'ShortName' => 'riomap' -+ }, -+ '115863' => { -+ 'Header' => undef, -+ 'Line' => '3972', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'cmd', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '-1' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rfcntl' -+ }, -+ '116334' => { -+ 'Header' => undef, -+ 'Line' => '3827', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'optname', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'optval', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'optlen', -+ 'type' => '14411' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rgetsockopt' -+ }, -+ '117325' => { -+ 'Header' => undef, -+ 'Line' => '3646', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'optname', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'optval', -+ 'type' => '1839' -+ }, -+ '4' => { -+ 'name' => 'optlen', -+ 'type' => '1073' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rsetsockopt' -+ }, -+ '118987' => { -+ 'Header' => undef, -+ 'Line' => '3604', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ }, -+ '2' => { -+ 'name' => 'addrlen', -+ 'type' => '14411' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rgetsockname' -+ }, -+ '119638' => { -+ 'Header' => undef, -+ 'Line' => '3589', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ }, -+ '2' => { -+ 'name' => 'addrlen', -+ 'type' => '14411' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rgetpeername' -+ }, -+ '119888' => { -+ 'Header' => undef, -+ 'Line' => '3551', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rclose' -+ }, -+ '120481' => { -+ 'Header' => undef, -+ 'Line' => '3480', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'how', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rshutdown' -+ }, -+ '121220' => { -+ 'Header' => undef, -+ 'Line' => '3449', -+ 'Param' => { -+ '0' => { -+ 'name' => 'nfds', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'readfds', -+ 'type' => '122188' -+ }, -+ '2' => { -+ 'name' => 'writefds', -+ 'type' => '122188' -+ }, -+ '3' => { -+ 'name' => 'exceptfds', -+ 'type' => '122188' -+ }, -+ '4' => { -+ 'name' => 'timeout', -+ 'type' => '122194' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rselect' -+ }, -+ '12234' => { -+ 'Header' => undef, -+ 'Line' => '748', -+ 'Param' => { -+ '0' => { -+ 'name' => 'node', -+ 'type' => '750' -+ }, -+ '1' => { -+ 'name' => 'service', -+ 'type' => '750' -+ }, -+ '2' => { -+ 'name' => 'hints', -+ 'type' => '7878' -+ }, -+ '3' => { -+ 'name' => 'res', -+ 'type' => '7872' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_getaddrinfo' -+ }, -+ '122553' => { -+ 'Header' => undef, -+ 'Line' => '3334', -+ 'Param' => { -+ '0' => { -+ 'name' => 'fds', -+ 'type' => '102454' -+ }, -+ '1' => { -+ 'name' => 'nfds', -+ 'type' => '101211' -+ }, -+ '2' => { -+ 'name' => 'timeout', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rpoll' -+ }, -+ '126542' => { -+ 'Header' => undef, -+ 'Line' => '3031', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'iov', -+ 'type' => '126681' -+ }, -+ '2' => { -+ 'name' => 'iovcnt', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rwritev' -+ }, -+ '126687' => { -+ 'Header' => undef, -+ 'Line' => '3026', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'count', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rwrite' -+ }, -+ '126826' => { -+ 'Header' => undef, -+ 'Line' => '3018', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'msg', -+ 'type' => '105672' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rsendmsg' -+ }, -+ '128470' => { -+ 'Header' => undef, -+ 'Line' => '2877', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'dest_addr', -+ 'type' => '4547' -+ }, -+ '5' => { -+ 'name' => 'addrlen', -+ 'type' => '1073' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rsendto' -+ }, -+ '129282' => { -+ 'Header' => undef, -+ 'Line' => '2788', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rsend' -+ }, -+ '133587' => { -+ 'Header' => undef, -+ 'Line' => '2630', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'iov', -+ 'type' => '126681' -+ }, -+ '2' => { -+ 'name' => 'iovcnt', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rreadv' -+ }, -+ '133794' => { -+ 'Header' => undef, -+ 'Line' => '2625', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'count', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rread' -+ }, -+ '133933' => { -+ 'Header' => undef, -+ 'Line' => '2617', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'msg', -+ 'type' => '134195' -+ }, -+ '2' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rrecvmsg' -+ }, -+ '134272' => { -+ 'Header' => undef, -+ 'Line' => '2585', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'src_addr', -+ 'type' => '1833' -+ }, -+ '5' => { -+ 'name' => 'addrlen', -+ 'type' => '14411' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rrecvfrom' -+ }, -+ '134861' => { -+ 'Header' => undef, -+ 'Line' => '2514', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'buf', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'len', -+ 'type' => '45' -+ }, -+ '3' => { -+ 'name' => 'flags', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '727', -+ 'ShortName' => 'rrecv' -+ }, -+ '144114' => { -+ 'Header' => undef, -+ 'Line' => '1713', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '4547' -+ }, -+ '2' => { -+ 'name' => 'addrlen', -+ 'type' => '1073' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rconnect' -+ }, -+ '150026' => { -+ 'Header' => undef, -+ 'Line' => '1348', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ }, -+ '2' => { -+ 'name' => 'addrlen', -+ 'type' => '14411' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'raccept' -+ }, -+ '150695' => { -+ 'Header' => undef, -+ 'Line' => '1257', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'backlog', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rlisten' -+ }, -+ '151157' => { -+ 'Header' => undef, -+ 'Line' => '1234', -+ 'Param' => { -+ '0' => { -+ 'name' => 'socket', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '4547' -+ }, -+ '2' => { -+ 'name' => 'addrlen', -+ 'type' => '1073' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rbind' -+ }, -+ '151560' => { -+ 'Header' => undef, -+ 'Line' => '1192', -+ 'Param' => { -+ '0' => { -+ 'name' => 'domain', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'type', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'protocol', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rsocket' -+ }, -+ '40994' => { -+ 'Header' => undef, -+ 'Line' => '2909', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'ece', -+ 'type' => '34038' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_get_remote_ece' -+ }, -+ '41142' => { -+ 'Header' => undef, -+ 'Line' => '2895', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'ece', -+ 'type' => '34038' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_set_local_ece' -+ }, -+ '4119' => { -+ 'Header' => undef, -+ 'Line' => '752', -+ 'Param' => { -+ '0' => { -+ 'name' => 'res', -+ 'type' => '3116' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_freeaddrinfo' -+ }, -+ '41290' => { -+ 'Header' => undef, -+ 'Line' => '2890', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '1976', -+ 'ShortName' => 'rdma_get_dst_port' -+ }, -+ '41370' => { -+ 'Header' => undef, -+ 'Line' => '2885', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '1976', -+ 'ShortName' => 'rdma_get_src_port' -+ }, -+ '42238' => { -+ 'Header' => undef, -+ 'Line' => '2833', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_destroy_ep' -+ }, -+ '42393' => { -+ 'Header' => undef, -+ 'Line' => '2769', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '43365' -+ }, -+ '1' => { -+ 'name' => 'res', -+ 'type' => '3116' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'type' => '22902' -+ }, -+ '3' => { -+ 'name' => 'qp_init_attr', -+ 'type' => '34020' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_ep' -+ }, -+ '43466' => { -+ 'Header' => undef, -+ 'Line' => '2685', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'type' => '32561' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_migrate_id' -+ }, -+ '44100' => { -+ 'Header' => undef, -+ 'Line' => '735', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'level', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'optname', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'optval', -+ 'type' => '71' -+ }, -+ '4' => { -+ 'name' => 'optlen', -+ 'type' => '45' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_set_option' -+ }, -+ '44474' => { -+ 'Header' => undef, -+ 'Line' => '2623', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event', -+ 'type' => '31863' -+ } -+ }, -+ 'Return' => '750', -+ 'ShortName' => 'rdma_event_str' -+ }, -+ '44525' => { -+ 'Header' => undef, -+ 'Line' => '2478', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '32561' -+ }, -+ '1' => { -+ 'name' => 'event', -+ 'type' => '48543' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_get_cm_event' -+ }, -+ '48555' => { -+ 'Header' => undef, -+ 'Line' => '2466', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_establish' -+ }, -+ '49802' => { -+ 'Header' => undef, -+ 'Line' => '2229', -+ 'Param' => { -+ '0' => { -+ 'name' => 'event', -+ 'type' => '32645' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_ack_cm_event' -+ }, -+ '49902' => { -+ 'Header' => undef, -+ 'Line' => '2161', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_leave_multicast' -+ }, -+ '50740' => { -+ 'Header' => undef, -+ 'Line' => '2148', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ }, -+ '2' => { -+ 'name' => 'context', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_join_multicast' -+ }, -+ '50989' => { -+ 'Header' => undef, -+ 'Line' => '2124', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'mc_join_attr', -+ 'type' => '51281' -+ }, -+ '2' => { -+ 'name' => 'context', -+ 'type' => '71' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_join_multicast_ex' -+ }, -+ '52523' => { -+ 'Header' => undef, -+ 'Line' => '2029', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_disconnect' -+ }, -+ '53283' => { -+ 'Header' => undef, -+ 'Line' => '1996', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'event', -+ 'type' => '21025' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_notify' -+ }, -+ '53593' => { -+ 'Header' => undef, -+ 'Line' => '1989', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'private_data', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'private_data_len', -+ 'type' => '761' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_reject_ece' -+ }, -+ '53735' => { -+ 'Header' => undef, -+ 'Line' => '524', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'private_data', -+ 'type' => '1839' -+ }, -+ '2' => { -+ 'name' => 'private_data_len', -+ 'type' => '761' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_reject' -+ }, -+ '54343' => { -+ 'Header' => undef, -+ 'Line' => '506', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'conn_param', -+ 'type' => '48812' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_accept' -+ }, -+ '55420' => { -+ 'Header' => undef, -+ 'Line' => '485', -+ 'Param' => { -+ '0' => { -+ 'name' => 'listen', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'id', -+ 'type' => '43365' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_get_request' -+ }, -+ '55888' => { -+ 'Header' => undef, -+ 'Line' => '480', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'backlog', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_listen' -+ }, -+ '56235' => { -+ 'Header' => undef, -+ 'Line' => '442', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'conn_param', -+ 'type' => '48812' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_connect' -+ }, -+ '57224' => { -+ 'Header' => undef, -+ 'Line' => '424', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_destroy_qp' -+ }, -+ '57310' => { -+ 'Header' => undef, -+ 'Line' => '408', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'type' => '22902' -+ }, -+ '2' => { -+ 'name' => 'qp_init_attr', -+ 'type' => '34020' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_qp' -+ }, -+ '57629' => { -+ 'Header' => undef, -+ 'Line' => '1621', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '31212' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_qp_ex' -+ }, -+ '58805' => { -+ 'Header' => undef, -+ 'Line' => '1559', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_destroy_srq' -+ }, -+ '58891' => { -+ 'Header' => undef, -+ 'Line' => '1540', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'type' => '22902' -+ }, -+ '2' => { -+ 'name' => 'attr', -+ 'type' => '34026' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_srq' -+ }, -+ '59205' => { -+ 'Header' => undef, -+ 'Line' => '1495', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'type' => '31276' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_srq_ex' -+ }, -+ '61412' => { -+ 'Header' => undef, -+ 'Line' => '1242', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'qp_attr', -+ 'type' => '34032' -+ }, -+ '2' => { -+ 'name' => 'qp_attr_mask', -+ 'type' => '4113' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_init_qp_attr' -+ }, -+ '61802' => { -+ 'Header' => undef, -+ 'Line' => '385', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'timeout_ms', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_resolve_route' -+ }, -+ '62511' => { -+ 'Header' => undef, -+ 'Line' => '368', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'src_addr', -+ 'type' => '1833' -+ }, -+ '2' => { -+ 'name' => 'dst_addr', -+ 'type' => '1833' -+ }, -+ '3' => { -+ 'name' => 'timeout_ms', -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_resolve_addr' -+ }, -+ '64238' => { -+ 'Header' => undef, -+ 'Line' => '343', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'type' => '1833' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_bind_addr' -+ }, -+ '67751' => { -+ 'Header' => undef, -+ 'Line' => '325', -+ 'Param' => { -+ '0' => { -+ 'name' => 'id', -+ 'type' => '32921' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_destroy_id' -+ }, -+ '68332' => { -+ 'Header' => undef, -+ 'Line' => '272', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '32561' -+ }, -+ '1' => { -+ 'name' => 'id', -+ 'type' => '43365' -+ }, -+ '2' => { -+ 'name' => 'context', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'ps', -+ 'type' => '2856' -+ } -+ }, -+ 'Return' => '130', -+ 'ShortName' => 'rdma_create_id' -+ }, -+ '71389' => { -+ 'Header' => undef, -+ 'Line' => '587', -+ 'Param' => { -+ '0' => { -+ 'name' => 'channel', -+ 'type' => '32561' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_destroy_event_channel' -+ }, -+ '71476' => { -+ 'Header' => undef, -+ 'Line' => '566', -+ 'Return' => '32561', -+ 'ShortName' => 'rdma_create_event_channel' -+ }, -+ '71637' => { -+ 'Header' => undef, -+ 'Line' => '542', -+ 'Param' => { -+ '0' => { -+ 'name' => 'list', -+ 'type' => '72119' -+ } -+ }, -+ 'Return' => '1', -+ 'ShortName' => 'rdma_free_devices' -+ }, -+ '72125' => { -+ 'Header' => undef, -+ 'Line' => '496', -+ 'Param' => { -+ '0' => { -+ 'name' => 'num_devices', -+ 'type' => '4113' -+ } -+ }, -+ 'Return' => '72119', -+ 'ShortName' => 'rdma_get_devices' -+ } -+ }, -+ 'SymbolVersion' => { -+ 'raccept' => 'raccept@@RDMACM_1.0', -+ 'rbind' => 'rbind@@RDMACM_1.0', -+ 'rclose' => 'rclose@@RDMACM_1.0', -+ 'rconnect' => 'rconnect@@RDMACM_1.0', -+ 'rdma_accept' => 'rdma_accept@@RDMACM_1.0', -+ 'rdma_ack_cm_event' => 'rdma_ack_cm_event@@RDMACM_1.0', -+ 'rdma_bind_addr' => 'rdma_bind_addr@@RDMACM_1.0', -+ 'rdma_connect' => 'rdma_connect@@RDMACM_1.0', -+ 'rdma_create_ep' => 'rdma_create_ep@@RDMACM_1.0', -+ 'rdma_create_event_channel' => 'rdma_create_event_channel@@RDMACM_1.0', -+ 'rdma_create_id' => 'rdma_create_id@@RDMACM_1.0', -+ 'rdma_create_qp' => 'rdma_create_qp@@RDMACM_1.0', -+ 'rdma_create_qp_ex' => 'rdma_create_qp_ex@@RDMACM_1.0', -+ 'rdma_create_srq' => 'rdma_create_srq@@RDMACM_1.0', -+ 'rdma_create_srq_ex' => 'rdma_create_srq_ex@@RDMACM_1.0', -+ 'rdma_destroy_ep' => 'rdma_destroy_ep@@RDMACM_1.0', -+ 'rdma_destroy_event_channel' => 'rdma_destroy_event_channel@@RDMACM_1.0', -+ 'rdma_destroy_id' => 'rdma_destroy_id@@RDMACM_1.0', -+ 'rdma_destroy_qp' => 'rdma_destroy_qp@@RDMACM_1.0', -+ 'rdma_destroy_srq' => 'rdma_destroy_srq@@RDMACM_1.0', -+ 'rdma_disconnect' => 'rdma_disconnect@@RDMACM_1.0', -+ 'rdma_establish' => 'rdma_establish@@RDMACM_1.2', -+ 'rdma_event_str' => 'rdma_event_str@@RDMACM_1.0', -+ 'rdma_free_devices' => 'rdma_free_devices@@RDMACM_1.0', -+ 'rdma_freeaddrinfo' => 'rdma_freeaddrinfo@@RDMACM_1.0', -+ 'rdma_get_cm_event' => 'rdma_get_cm_event@@RDMACM_1.0', -+ 'rdma_get_devices' => 'rdma_get_devices@@RDMACM_1.0', -+ 'rdma_get_dst_port' => 'rdma_get_dst_port@@RDMACM_1.0', -+ 'rdma_get_remote_ece' => 'rdma_get_remote_ece@@RDMACM_1.3', -+ 'rdma_get_request' => 'rdma_get_request@@RDMACM_1.0', -+ 'rdma_get_src_port' => 'rdma_get_src_port@@RDMACM_1.0', -+ 'rdma_getaddrinfo' => 'rdma_getaddrinfo@@RDMACM_1.0', -+ 'rdma_init_qp_attr' => 'rdma_init_qp_attr@@RDMACM_1.2', -+ 'rdma_join_multicast' => 'rdma_join_multicast@@RDMACM_1.0', -+ 'rdma_join_multicast_ex' => 'rdma_join_multicast_ex@@RDMACM_1.1', -+ 'rdma_leave_multicast' => 'rdma_leave_multicast@@RDMACM_1.0', -+ 'rdma_listen' => 'rdma_listen@@RDMACM_1.0', -+ 'rdma_migrate_id' => 'rdma_migrate_id@@RDMACM_1.0', -+ 'rdma_notify' => 'rdma_notify@@RDMACM_1.0', -+ 'rdma_reject' => 'rdma_reject@@RDMACM_1.0', -+ 'rdma_reject_ece' => 'rdma_reject_ece@@RDMACM_1.3', -+ 'rdma_resolve_addr' => 'rdma_resolve_addr@@RDMACM_1.0', -+ 'rdma_resolve_route' => 'rdma_resolve_route@@RDMACM_1.0', -+ 'rdma_set_local_ece' => 'rdma_set_local_ece@@RDMACM_1.3', -+ 'rdma_set_option' => 'rdma_set_option@@RDMACM_1.0', -+ 'rfcntl' => 'rfcntl@@RDMACM_1.0', -+ 'rgetpeername' => 'rgetpeername@@RDMACM_1.0', -+ 'rgetsockname' => 'rgetsockname@@RDMACM_1.0', -+ 'rgetsockopt' => 'rgetsockopt@@RDMACM_1.0', -+ 'riomap' => 'riomap@@RDMACM_1.0', -+ 'riounmap' => 'riounmap@@RDMACM_1.0', -+ 'riowrite' => 'riowrite@@RDMACM_1.0', -+ 'rlisten' => 'rlisten@@RDMACM_1.0', -+ 'rpoll' => 'rpoll@@RDMACM_1.0', -+ 'rread' => 'rread@@RDMACM_1.0', -+ 'rreadv' => 'rreadv@@RDMACM_1.0', -+ 'rrecv' => 'rrecv@@RDMACM_1.0', -+ 'rrecvfrom' => 'rrecvfrom@@RDMACM_1.0', -+ 'rrecvmsg' => 'rrecvmsg@@RDMACM_1.0', -+ 'rselect' => 'rselect@@RDMACM_1.0', -+ 'rsend' => 'rsend@@RDMACM_1.0', -+ 'rsendmsg' => 'rsendmsg@@RDMACM_1.0', -+ 'rsendto' => 'rsendto@@RDMACM_1.0', -+ 'rsetsockopt' => 'rsetsockopt@@RDMACM_1.0', -+ 'rshutdown' => 'rshutdown@@RDMACM_1.0', -+ 'rsocket' => 'rsocket@@RDMACM_1.0', -+ 'rwrite' => 'rwrite@@RDMACM_1.0', -+ 'rwritev' => 'rwritev@@RDMACM_1.0' -+ }, -+ 'Symbols' => { -+ 'librdmacm.so.1.3.41.0' => { -+ 'raccept@@RDMACM_1.0' => 1, -+ 'rbind@@RDMACM_1.0' => 1, -+ 'rclose@@RDMACM_1.0' => 1, -+ 'rconnect@@RDMACM_1.0' => 1, -+ 'rdma_accept@@RDMACM_1.0' => 1, -+ 'rdma_ack_cm_event@@RDMACM_1.0' => 1, -+ 'rdma_bind_addr@@RDMACM_1.0' => 1, -+ 'rdma_connect@@RDMACM_1.0' => 1, -+ 'rdma_create_ep@@RDMACM_1.0' => 1, -+ 'rdma_create_event_channel@@RDMACM_1.0' => 1, -+ 'rdma_create_id@@RDMACM_1.0' => 1, -+ 'rdma_create_qp@@RDMACM_1.0' => 1, -+ 'rdma_create_qp_ex@@RDMACM_1.0' => 1, -+ 'rdma_create_srq@@RDMACM_1.0' => 1, -+ 'rdma_create_srq_ex@@RDMACM_1.0' => 1, -+ 'rdma_destroy_ep@@RDMACM_1.0' => 1, -+ 'rdma_destroy_event_channel@@RDMACM_1.0' => 1, -+ 'rdma_destroy_id@@RDMACM_1.0' => 1, -+ 'rdma_destroy_qp@@RDMACM_1.0' => 1, -+ 'rdma_destroy_srq@@RDMACM_1.0' => 1, -+ 'rdma_disconnect@@RDMACM_1.0' => 1, -+ 'rdma_establish@@RDMACM_1.2' => 1, -+ 'rdma_event_str@@RDMACM_1.0' => 1, -+ 'rdma_free_devices@@RDMACM_1.0' => 1, -+ 'rdma_freeaddrinfo@@RDMACM_1.0' => 1, -+ 'rdma_get_cm_event@@RDMACM_1.0' => 1, -+ 'rdma_get_devices@@RDMACM_1.0' => 1, -+ 'rdma_get_dst_port@@RDMACM_1.0' => 1, -+ 'rdma_get_remote_ece@@RDMACM_1.3' => 1, -+ 'rdma_get_request@@RDMACM_1.0' => 1, -+ 'rdma_get_src_port@@RDMACM_1.0' => 1, -+ 'rdma_getaddrinfo@@RDMACM_1.0' => 1, -+ 'rdma_init_qp_attr@@RDMACM_1.2' => 1, -+ 'rdma_join_multicast@@RDMACM_1.0' => 1, -+ 'rdma_join_multicast_ex@@RDMACM_1.1' => 1, -+ 'rdma_leave_multicast@@RDMACM_1.0' => 1, -+ 'rdma_listen@@RDMACM_1.0' => 1, -+ 'rdma_migrate_id@@RDMACM_1.0' => 1, -+ 'rdma_notify@@RDMACM_1.0' => 1, -+ 'rdma_reject@@RDMACM_1.0' => 1, -+ 'rdma_reject_ece@@RDMACM_1.3' => 1, -+ 'rdma_resolve_addr@@RDMACM_1.0' => 1, -+ 'rdma_resolve_route@@RDMACM_1.0' => 1, -+ 'rdma_set_local_ece@@RDMACM_1.3' => 1, -+ 'rdma_set_option@@RDMACM_1.0' => 1, -+ 'rfcntl@@RDMACM_1.0' => 1, -+ 'rgetpeername@@RDMACM_1.0' => 1, -+ 'rgetsockname@@RDMACM_1.0' => 1, -+ 'rgetsockopt@@RDMACM_1.0' => 1, -+ 'riomap@@RDMACM_1.0' => 1, -+ 'riounmap@@RDMACM_1.0' => 1, -+ 'riowrite@@RDMACM_1.0' => 1, -+ 'rlisten@@RDMACM_1.0' => 1, -+ 'rpoll@@RDMACM_1.0' => 1, -+ 'rread@@RDMACM_1.0' => 1, -+ 'rreadv@@RDMACM_1.0' => 1, -+ 'rrecv@@RDMACM_1.0' => 1, -+ 'rrecvfrom@@RDMACM_1.0' => 1, -+ 'rrecvmsg@@RDMACM_1.0' => 1, -+ 'rselect@@RDMACM_1.0' => 1, -+ 'rsend@@RDMACM_1.0' => 1, -+ 'rsendmsg@@RDMACM_1.0' => 1, -+ 'rsendto@@RDMACM_1.0' => 1, -+ 'rsetsockopt@@RDMACM_1.0' => 1, -+ 'rshutdown@@RDMACM_1.0' => 1, -+ 'rsocket@@RDMACM_1.0' => 1, -+ 'rwrite@@RDMACM_1.0' => 1, -+ 'rwritev@@RDMACM_1.0' => 1 -+ } -+ }, -+ 'Target' => 'unix', -+ 'TypeInfo' => { -+ '-1' => { -+ 'Name' => '...', -+ 'Type' => 'Intrinsic' -+ }, -+ '1' => { -+ 'Name' => 'void', -+ 'Type' => 'Intrinsic' -+ }, -+ '101211' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '33', -+ 'Name' => 'nfds_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '101223' => { -+ 'Header' => undef, -+ 'Line' => '36', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fd', -+ 'offset' => '0', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'events', -+ 'offset' => '4', -+ 'type' => '111' -+ }, -+ '2' => { -+ 'name' => 'revents', -+ 'offset' => '6', -+ 'type' => '111' -+ } -+ }, -+ 'Name' => 'struct pollfd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '102454' => { -+ 'BaseType' => '101223', -+ 'Name' => 'struct pollfd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '105672' => { -+ 'BaseType' => '83515', -+ 'Name' => 'struct msghdr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1073' => { -+ 'BaseType' => '227', -+ 'Header' => undef, -+ 'Line' => '33', -+ 'Name' => 'socklen_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '111' => { -+ 'Name' => 'short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '11187' => { -+ 'Header' => undef, -+ 'Line' => '895', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPT_RC', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPT_UC', -+ 'value' => '3' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPT_UD', -+ 'value' => '4' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPT_RAW_PACKET', -+ 'value' => '8' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPT_XRC_SEND', -+ 'value' => '9' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPT_XRC_RECV', -+ 'value' => '10' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPT_DRIVER', -+ 'value' => '255' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '1162' => { -+ 'BaseType' => '85', -+ 'Header' => undef, -+ 'Line' => '28', -+ 'Name' => 'sa_family_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '1174' => { -+ 'Header' => undef, -+ 'Line' => '178', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sa_family', -+ 'offset' => '0', -+ 'type' => '1162' -+ }, -+ '1' => { -+ 'name' => 'sa_data', -+ 'offset' => '2', -+ 'type' => '1219' -+ } -+ }, -+ 'Name' => 'struct sockaddr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '118' => { -+ 'BaseType' => '85', -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Name' => '__uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '1214' => { -+ 'BaseType' => '1174', -+ 'Name' => 'struct sockaddr const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '1219' => { -+ 'BaseType' => '215', -+ 'Name' => 'char[14]', -+ 'Size' => '14', -+ 'Type' => 'Array' -+ }, -+ '122194' => { -+ 'BaseType' => '82129', -+ 'Name' => 'struct timeval*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '126681' => { -+ 'BaseType' => '82996', -+ 'Name' => 'struct iovec const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '130' => { -+ 'Name' => 'int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '1324' => { -+ 'BaseType' => '785', -+ 'Header' => undef, -+ 'Line' => '30', -+ 'Name' => 'in_addr_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '1336' => { -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Memb' => { -+ '0' => { -+ 'name' => 's_addr', -+ 'offset' => '0', -+ 'type' => '1324' -+ } -+ }, -+ 'Name' => 'struct in_addr', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '134195' => { -+ 'BaseType' => '83402', -+ 'Name' => 'struct msghdr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '137' => { -+ 'BaseType' => '64', -+ 'Header' => undef, -+ 'Line' => '42', -+ 'Name' => '__uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '14411' => { -+ 'BaseType' => '1073', -+ 'Name' => 'socklen_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '149' => { -+ 'Name' => 'long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '1535' => { -+ 'BaseType' => '773', -+ 'Header' => undef, -+ 'Line' => '119', -+ 'Name' => 'in_port_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '1547' => { -+ 'Header' => undef, -+ 'Line' => '214', -+ 'Memb' => { -+ '0' => { -+ 'name' => '__u6_addr8', -+ 'offset' => '0', -+ 'type' => '1593' -+ }, -+ '1' => { -+ 'name' => '__u6_addr16', -+ 'offset' => '0', -+ 'type' => '1609' -+ }, -+ '2' => { -+ 'name' => '__u6_addr32', -+ 'offset' => '0', -+ 'type' => '1625' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '15524' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '160', -+ 'Name' => '__time_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '156' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '45', -+ 'Name' => '__uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1593' => { -+ 'BaseType' => '761', -+ 'Name' => 'uint8_t[16]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '1609' => { -+ 'BaseType' => '773', -+ 'Name' => 'uint16_t[8]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '1625' => { -+ 'BaseType' => '785', -+ 'Name' => 'uint32_t[4]', -+ 'Size' => '16', -+ 'Type' => 'Array' -+ }, -+ '1641' => { -+ 'Header' => undef, -+ 'Line' => '212', -+ 'Memb' => { -+ '0' => { -+ 'name' => '__in6_u', -+ 'offset' => '0', -+ 'type' => '1547' -+ } -+ }, -+ 'Name' => 'struct in6_addr', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '16678' => { -+ 'Header' => undef, -+ 'Line' => '191', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ss_family', -+ 'offset' => '0', -+ 'type' => '1162' -+ }, -+ '1' => { -+ 'name' => '__ss_padding', -+ 'offset' => '2', -+ 'type' => '16731' -+ }, -+ '2' => { -+ 'name' => '__ss_align', -+ 'offset' => '120', -+ 'type' => '57' -+ } -+ }, -+ 'Name' => 'struct sockaddr_storage', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '1668' => { -+ 'Header' => undef, -+ 'Line' => '238', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sin_family', -+ 'offset' => '0', -+ 'type' => '1162' -+ }, -+ '1' => { -+ 'name' => 'sin_port', -+ 'offset' => '2', -+ 'type' => '1535' -+ }, -+ '2' => { -+ 'name' => 'sin_addr', -+ 'offset' => '4', -+ 'type' => '1336' -+ }, -+ '3' => { -+ 'name' => 'sin_zero', -+ 'offset' => '8', -+ 'type' => '1734' -+ } -+ }, -+ 'Name' => 'struct sockaddr_in', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '16731' => { -+ 'BaseType' => '215', -+ 'Name' => 'char[118]', -+ 'Size' => '118', -+ 'Type' => 'Array' -+ }, -+ '168' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '152', -+ 'Name' => '__off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1734' => { -+ 'BaseType' => '78', -+ 'Name' => 'unsigned char[8]', -+ 'Size' => '8', -+ 'Type' => 'Array' -+ }, -+ '1750' => { -+ 'Header' => undef, -+ 'Line' => '253', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sin6_family', -+ 'offset' => '0', -+ 'type' => '1162' -+ }, -+ '1' => { -+ 'name' => 'sin6_port', -+ 'offset' => '2', -+ 'type' => '1535' -+ }, -+ '2' => { -+ 'name' => 'sin6_flowinfo', -+ 'offset' => '4', -+ 'type' => '785' -+ }, -+ '3' => { -+ 'name' => 'sin6_addr', -+ 'offset' => '8', -+ 'type' => '1641' -+ }, -+ '4' => { -+ 'name' => 'sin6_scope_id', -+ 'offset' => '24', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct sockaddr_in6', -+ 'Size' => '28', -+ 'Type' => 'Struct' -+ }, -+ '1833' => { -+ 'BaseType' => '1174', -+ 'Name' => 'struct sockaddr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1839' => { -+ 'BaseType' => '1850', -+ 'Name' => 'void const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '1850' => { -+ 'BaseType' => '1', -+ 'Name' => 'void const', -+ 'Type' => 'Const' -+ }, -+ '18761' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_NODE_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_NODE_CA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_NODE_SWITCH', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_NODE_ROUTER', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_NODE_RNIC', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_NODE_USNIC', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_NODE_USNIC_UDP', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_NODE_UNSPECIFIED', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_node_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '18828' => { -+ 'Header' => undef, -+ 'Line' => '106', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_TRANSPORT_UNKNOWN', -+ 'value' => '18446744073709551615 (-1)' -+ }, -+ '1' => { -+ 'name' => 'IBV_TRANSPORT_IB', -+ 'value' => '0' -+ }, -+ '2' => { -+ 'name' => 'IBV_TRANSPORT_IWARP', -+ 'value' => '1' -+ }, -+ '3' => { -+ 'name' => 'IBV_TRANSPORT_USNIC', -+ 'value' => '2' -+ }, -+ '4' => { -+ 'name' => 'IBV_TRANSPORT_USNIC_UDP', -+ 'value' => '3' -+ }, -+ '5' => { -+ 'name' => 'IBV_TRANSPORT_UNSPECIFIED', -+ 'value' => '4' -+ } -+ }, -+ 'Name' => 'enum ibv_transport_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '18883' => { -+ 'Header' => undef, -+ 'Line' => '155', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_ATOMIC_NONE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_ATOMIC_HCA', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_ATOMIC_GLOB', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_atomic_cap', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '19052' => { -+ 'Header' => undef, -+ 'Line' => '1986', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'device', -+ 'offset' => '0', -+ 'type' => '28186' -+ }, -+ '1' => { -+ 'name' => 'ops', -+ 'offset' => '8', -+ 'type' => '28375' -+ }, -+ '2' => { -+ 'name' => 'cmd_fd', -+ 'offset' => '264', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'async_fd', -+ 'offset' => '268', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'num_comp_vectors', -+ 'offset' => '272', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '280', -+ 'type' => '16276' -+ }, -+ '6' => { -+ 'name' => 'abi_compat', -+ 'offset' => '320', -+ 'type' => '71' -+ } -+ }, -+ 'Name' => 'struct ibv_context', -+ 'Size' => '328', -+ 'Type' => 'Struct' -+ }, -+ '19171' => { -+ 'BaseType' => '19052', -+ 'Name' => 'struct ibv_context*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '192' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '193', -+ 'Name' => '__ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '19255' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fw_ver', -+ 'offset' => '0', -+ 'type' => '19789' -+ }, -+ '1' => { -+ 'name' => 'node_guid', -+ 'offset' => '64', -+ 'type' => '2000' -+ }, -+ '10' => { -+ 'name' => 'device_cap_flags', -+ 'offset' => '116', -+ 'type' => '64' -+ }, -+ '11' => { -+ 'name' => 'max_sge', -+ 'offset' => '120', -+ 'type' => '130' -+ }, -+ '12' => { -+ 'name' => 'max_sge_rd', -+ 'offset' => '124', -+ 'type' => '130' -+ }, -+ '13' => { -+ 'name' => 'max_cq', -+ 'offset' => '128', -+ 'type' => '130' -+ }, -+ '14' => { -+ 'name' => 'max_cqe', -+ 'offset' => '132', -+ 'type' => '130' -+ }, -+ '15' => { -+ 'name' => 'max_mr', -+ 'offset' => '136', -+ 'type' => '130' -+ }, -+ '16' => { -+ 'name' => 'max_pd', -+ 'offset' => '140', -+ 'type' => '130' -+ }, -+ '17' => { -+ 'name' => 'max_qp_rd_atom', -+ 'offset' => '144', -+ 'type' => '130' -+ }, -+ '18' => { -+ 'name' => 'max_ee_rd_atom', -+ 'offset' => '148', -+ 'type' => '130' -+ }, -+ '19' => { -+ 'name' => 'max_res_rd_atom', -+ 'offset' => '152', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'sys_image_guid', -+ 'offset' => '72', -+ 'type' => '2000' -+ }, -+ '20' => { -+ 'name' => 'max_qp_init_rd_atom', -+ 'offset' => '156', -+ 'type' => '130' -+ }, -+ '21' => { -+ 'name' => 'max_ee_init_rd_atom', -+ 'offset' => '160', -+ 'type' => '130' -+ }, -+ '22' => { -+ 'name' => 'atomic_cap', -+ 'offset' => '164', -+ 'type' => '18883' -+ }, -+ '23' => { -+ 'name' => 'max_ee', -+ 'offset' => '168', -+ 'type' => '130' -+ }, -+ '24' => { -+ 'name' => 'max_rdd', -+ 'offset' => '172', -+ 'type' => '130' -+ }, -+ '25' => { -+ 'name' => 'max_mw', -+ 'offset' => '176', -+ 'type' => '130' -+ }, -+ '26' => { -+ 'name' => 'max_raw_ipv6_qp', -+ 'offset' => '180', -+ 'type' => '130' -+ }, -+ '27' => { -+ 'name' => 'max_raw_ethy_qp', -+ 'offset' => '184', -+ 'type' => '130' -+ }, -+ '28' => { -+ 'name' => 'max_mcast_grp', -+ 'offset' => '188', -+ 'type' => '130' -+ }, -+ '29' => { -+ 'name' => 'max_mcast_qp_attach', -+ 'offset' => '192', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'max_mr_size', -+ 'offset' => '80', -+ 'type' => '797' -+ }, -+ '30' => { -+ 'name' => 'max_total_mcast_qp_attach', -+ 'offset' => '196', -+ 'type' => '130' -+ }, -+ '31' => { -+ 'name' => 'max_ah', -+ 'offset' => '200', -+ 'type' => '130' -+ }, -+ '32' => { -+ 'name' => 'max_fmr', -+ 'offset' => '204', -+ 'type' => '130' -+ }, -+ '33' => { -+ 'name' => 'max_map_per_fmr', -+ 'offset' => '208', -+ 'type' => '130' -+ }, -+ '34' => { -+ 'name' => 'max_srq', -+ 'offset' => '212', -+ 'type' => '130' -+ }, -+ '35' => { -+ 'name' => 'max_srq_wr', -+ 'offset' => '216', -+ 'type' => '130' -+ }, -+ '36' => { -+ 'name' => 'max_srq_sge', -+ 'offset' => '220', -+ 'type' => '130' -+ }, -+ '37' => { -+ 'name' => 'max_pkeys', -+ 'offset' => '224', -+ 'type' => '773' -+ }, -+ '38' => { -+ 'name' => 'local_ca_ack_delay', -+ 'offset' => '226', -+ 'type' => '761' -+ }, -+ '39' => { -+ 'name' => 'phys_port_cnt', -+ 'offset' => '227', -+ 'type' => '761' -+ }, -+ '4' => { -+ 'name' => 'page_size_cap', -+ 'offset' => '88', -+ 'type' => '797' -+ }, -+ '5' => { -+ 'name' => 'vendor_id', -+ 'offset' => '96', -+ 'type' => '785' -+ }, -+ '6' => { -+ 'name' => 'vendor_part_id', -+ 'offset' => '100', -+ 'type' => '785' -+ }, -+ '7' => { -+ 'name' => 'hw_ver', -+ 'offset' => '104', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'max_qp', -+ 'offset' => '108', -+ 'type' => '130' -+ }, -+ '9' => { -+ 'name' => 'max_qp_wr', -+ 'offset' => '112', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_device_attr', -+ 'Size' => '232', -+ 'Type' => 'Struct' -+ }, -+ '1940' => { -+ 'BaseType' => '85', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => '__u16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '1952' => { -+ 'BaseType' => '64', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__u32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '1964' => { -+ 'BaseType' => '985', -+ 'Header' => undef, -+ 'Line' => '31', -+ 'Name' => '__u64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '1976' => { -+ 'BaseType' => '1940', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => '__be16', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '19789' => { -+ 'BaseType' => '215', -+ 'Name' => 'char[64]', -+ 'Size' => '64', -+ 'Type' => 'Array' -+ }, -+ '1988' => { -+ 'BaseType' => '1952', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => '__be32', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '2000' => { -+ 'BaseType' => '1964', -+ 'Header' => undef, -+ 'Line' => '29', -+ 'Name' => '__be64', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '204' => { -+ 'BaseType' => '215', -+ 'Name' => 'char*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '20562' => { -+ 'Header' => undef, -+ 'Line' => '364', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MTU_256', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MTU_512', -+ 'value' => '2' -+ }, -+ '2' => { -+ 'name' => 'IBV_MTU_1024', -+ 'value' => '3' -+ }, -+ '3' => { -+ 'name' => 'IBV_MTU_2048', -+ 'value' => '4' -+ }, -+ '4' => { -+ 'name' => 'IBV_MTU_4096', -+ 'value' => '5' -+ } -+ }, -+ 'Name' => 'enum ibv_mtu', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '21025' => { -+ 'Header' => undef, -+ 'Line' => '449', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_EVENT_CQ_ERR', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_EVENT_QP_FATAL', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_EVENT_PORT_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_EVENT_LID_CHANGE', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_EVENT_PKEY_CHANGE', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_EVENT_SM_CHANGE', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_EVENT_SRQ_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_EVENT_SRQ_LIMIT_REACHED', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_EVENT_QP_LAST_WQE_REACHED', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_EVENT_CLIENT_REREGISTER', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_EVENT_GID_CHANGE', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_EVENT_WQ_FATAL', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_EVENT_QP_REQ_ERR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_EVENT_QP_ACCESS_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_EVENT_COMM_EST', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_EVENT_SQ_DRAINED', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_EVENT_PATH_MIG', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_EVENT_PATH_MIG_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_EVENT_DEVICE_FATAL', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_EVENT_PORT_ACTIVE', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_event_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '21165' => { -+ 'Header' => undef, -+ 'Line' => '1458', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '26813' -+ }, -+ '2' => { -+ 'name' => 'cq_context', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'cqe', -+ 'offset' => '28', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '16276' -+ }, -+ '6' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '16350' -+ }, -+ '7' => { -+ 'name' => 'comp_events_completed', -+ 'offset' => '120', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'async_events_completed', -+ 'offset' => '124', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_cq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '21306' => { -+ 'BaseType' => '21165', -+ 'Name' => 'struct ibv_cq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '21312' => { -+ 'Header' => undef, -+ 'Line' => '1252', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'qp_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '10' => { -+ 'name' => 'mutex', -+ 'offset' => '64', -+ 'type' => '16276' -+ }, -+ '11' => { -+ 'name' => 'cond', -+ 'offset' => '104', -+ 'type' => '16350' -+ }, -+ '12' => { -+ 'name' => 'events_completed', -+ 'offset' => '152', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '22902' -+ }, -+ '3' => { -+ 'name' => 'send_cq', -+ 'offset' => '24', -+ 'type' => '21306' -+ }, -+ '4' => { -+ 'name' => 'recv_cq', -+ 'offset' => '32', -+ 'type' => '21306' -+ }, -+ '5' => { -+ 'name' => 'srq', -+ 'offset' => '40', -+ 'type' => '21626' -+ }, -+ '6' => { -+ 'name' => 'handle', -+ 'offset' => '48', -+ 'type' => '785' -+ }, -+ '7' => { -+ 'name' => 'qp_num', -+ 'offset' => '52', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'state', -+ 'offset' => '56', -+ 'type' => '24909' -+ }, -+ '9' => { -+ 'name' => 'qp_type', -+ 'offset' => '60', -+ 'type' => '11187' -+ } -+ }, -+ 'Name' => 'struct ibv_qp', -+ 'Size' => '160', -+ 'Type' => 'Struct' -+ }, -+ '215' => { -+ 'Name' => 'char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '21508' => { -+ 'BaseType' => '21312', -+ 'Name' => 'struct ibv_qp*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '21514' => { -+ 'Header' => undef, -+ 'Line' => '1212', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'srq_context', -+ 'offset' => '8', -+ 'type' => '71' -+ }, -+ '2' => { -+ 'name' => 'pd', -+ 'offset' => '16', -+ 'type' => '22902' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '24', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'mutex', -+ 'offset' => '32', -+ 'type' => '16276' -+ }, -+ '5' => { -+ 'name' => 'cond', -+ 'offset' => '72', -+ 'type' => '16350' -+ }, -+ '6' => { -+ 'name' => 'events_completed', -+ 'offset' => '120', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_srq', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '21626' => { -+ 'BaseType' => '21514', -+ 'Name' => 'struct ibv_srq*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '21833' => { -+ 'Header' => undef, -+ 'Line' => '483', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SUCCESS', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_LOC_LEN_ERR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_REM_ACCESS_ERR', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_REM_OP_ERR', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_RETRY_EXC_ERR', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_RNR_RETRY_EXC_ERR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_LOC_RDD_VIOL_ERR', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_REM_INV_RD_REQ_ERR', -+ 'value' => '15' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_REM_ABORT_ERR', -+ 'value' => '16' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_INV_EECN_ERR', -+ 'value' => '17' -+ }, -+ '18' => { -+ 'name' => 'IBV_WC_INV_EEC_STATE_ERR', -+ 'value' => '18' -+ }, -+ '19' => { -+ 'name' => 'IBV_WC_FATAL_ERR', -+ 'value' => '19' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_LOC_QP_OP_ERR', -+ 'value' => '2' -+ }, -+ '20' => { -+ 'name' => 'IBV_WC_RESP_TIMEOUT_ERR', -+ 'value' => '20' -+ }, -+ '21' => { -+ 'name' => 'IBV_WC_GENERAL_ERR', -+ 'value' => '21' -+ }, -+ '22' => { -+ 'name' => 'IBV_WC_TM_ERR', -+ 'value' => '22' -+ }, -+ '23' => { -+ 'name' => 'IBV_WC_TM_RNDV_INCOMPLETE', -+ 'value' => '23' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_LOC_EEC_OP_ERR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_LOC_PROT_ERR', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_WR_FLUSH_ERR', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_MW_BIND_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_BAD_RESP_ERR', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_LOC_ACCESS_ERR', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_REM_INV_REQ_ERR', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_status', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '21997' => { -+ 'Header' => undef, -+ 'Line' => '511', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WC_SEND', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WC_RDMA_WRITE', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WC_TM_ADD', -+ 'value' => '130' -+ }, -+ '11' => { -+ 'name' => 'IBV_WC_TM_DEL', -+ 'value' => '131' -+ }, -+ '12' => { -+ 'name' => 'IBV_WC_TM_SYNC', -+ 'value' => '132' -+ }, -+ '13' => { -+ 'name' => 'IBV_WC_TM_RECV', -+ 'value' => '133' -+ }, -+ '14' => { -+ 'name' => 'IBV_WC_TM_NO_TAG', -+ 'value' => '134' -+ }, -+ '15' => { -+ 'name' => 'IBV_WC_DRIVER1', -+ 'value' => '135' -+ }, -+ '16' => { -+ 'name' => 'IBV_WC_DRIVER2', -+ 'value' => '136' -+ }, -+ '17' => { -+ 'name' => 'IBV_WC_DRIVER3', -+ 'value' => '137' -+ }, -+ '2' => { -+ 'name' => 'IBV_WC_RDMA_READ', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WC_COMP_SWAP', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WC_FETCH_ADD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WC_BIND_MW', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WC_LOCAL_INV', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WC_TSO', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WC_RECV', -+ 'value' => '128' -+ }, -+ '9' => { -+ 'name' => 'IBV_WC_RECV_RDMA_WITH_IMM', -+ 'value' => '129' -+ } -+ }, -+ 'Name' => 'enum ibv_wc_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '222' => { -+ 'BaseType' => '215', -+ 'Name' => 'char const', -+ 'Size' => '1', -+ 'Type' => 'Const' -+ }, -+ '22265' => { -+ 'Header' => undef, -+ 'Line' => '594', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '1988' -+ }, -+ '1' => { -+ 'name' => 'invalidated_rkey', -+ 'offset' => '0', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '22302' => { -+ 'Header' => undef, -+ 'Line' => '585', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'status', -+ 'offset' => '8', -+ 'type' => '21833' -+ }, -+ '10' => { -+ 'name' => 'slid', -+ 'offset' => '42', -+ 'type' => '773' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '44', -+ 'type' => '761' -+ }, -+ '12' => { -+ 'name' => 'dlid_path_bits', -+ 'offset' => '45', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'opcode', -+ 'offset' => '12', -+ 'type' => '21997' -+ }, -+ '3' => { -+ 'name' => 'vendor_err', -+ 'offset' => '16', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'byte_len', -+ 'offset' => '20', -+ 'type' => '785' -+ }, -+ '5' => { -+ 'name' => 'unnamed0', -+ 'offset' => '24', -+ 'type' => '22265' -+ }, -+ '6' => { -+ 'name' => 'qp_num', -+ 'offset' => '28', -+ 'type' => '785' -+ }, -+ '7' => { -+ 'name' => 'src_qp', -+ 'offset' => '32', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'wc_flags', -+ 'offset' => '36', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'pkey_index', -+ 'offset' => '40', -+ 'type' => '773' -+ } -+ }, -+ 'Name' => 'struct ibv_wc', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '22490' => { -+ 'Header' => undef, -+ 'Line' => '619', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mr', -+ 'offset' => '0', -+ 'type' => '22672' -+ }, -+ '1' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '797' -+ }, -+ '2' => { -+ 'name' => 'length', -+ 'offset' => '16', -+ 'type' => '797' -+ }, -+ '3' => { -+ 'name' => 'mw_access_flags', -+ 'offset' => '24', -+ 'type' => '64' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind_info', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '22560' => { -+ 'Header' => undef, -+ 'Line' => '662', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '22902' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'length', -+ 'offset' => '24', -+ 'type' => '45' -+ }, -+ '4' => { -+ 'name' => 'handle', -+ 'offset' => '32', -+ 'type' => '785' -+ }, -+ '5' => { -+ 'name' => 'lkey', -+ 'offset' => '36', -+ 'type' => '785' -+ }, -+ '6' => { -+ 'name' => 'rkey', -+ 'offset' => '40', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_mr', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '22672' => { -+ 'BaseType' => '22560', -+ 'Name' => 'struct ibv_mr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '22678' => { -+ 'Header' => undef, -+ 'Line' => '626', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'handle', -+ 'offset' => '8', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_pd', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '227' => { -+ 'BaseType' => '64', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => '__socklen_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '22873' => { -+ 'Header' => undef, -+ 'Line' => '651', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ } -+ }, -+ 'Name' => 'struct ibv_xrcd', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '22902' => { -+ 'BaseType' => '22678', -+ 'Name' => 'struct ibv_pd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '22908' => { -+ 'Header' => undef, -+ 'Line' => '672', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MW_TYPE_1', -+ 'value' => '1' -+ }, -+ '1' => { -+ 'name' => 'IBV_MW_TYPE_2', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mw_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '22940' => { -+ 'Header' => undef, -+ 'Line' => '677', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '22902' -+ }, -+ '2' => { -+ 'name' => 'rkey', -+ 'offset' => '16', -+ 'type' => '785' -+ }, -+ '3' => { -+ 'name' => 'handle', -+ 'offset' => '20', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'type', -+ 'offset' => '24', -+ 'type' => '22908' -+ } -+ }, -+ 'Name' => 'struct ibv_mw', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '23024' => { -+ 'Header' => undef, -+ 'Line' => '685', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '2355' -+ }, -+ '1' => { -+ 'name' => 'flow_label', -+ 'offset' => '16', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'sgid_index', -+ 'offset' => '20', -+ 'type' => '761' -+ }, -+ '3' => { -+ 'name' => 'hop_limit', -+ 'offset' => '21', -+ 'type' => '761' -+ }, -+ '4' => { -+ 'name' => 'traffic_class', -+ 'offset' => '22', -+ 'type' => '761' -+ } -+ }, -+ 'Name' => 'struct ibv_global_route', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '23109' => { -+ 'Header' => undef, -+ 'Line' => '756', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'grh', -+ 'offset' => '0', -+ 'type' => '23024' -+ }, -+ '1' => { -+ 'name' => 'dlid', -+ 'offset' => '24', -+ 'type' => '773' -+ }, -+ '2' => { -+ 'name' => 'sl', -+ 'offset' => '26', -+ 'type' => '761' -+ }, -+ '3' => { -+ 'name' => 'src_path_bits', -+ 'offset' => '27', -+ 'type' => '761' -+ }, -+ '4' => { -+ 'name' => 'static_rate', -+ 'offset' => '28', -+ 'type' => '761' -+ }, -+ '5' => { -+ 'name' => 'is_global', -+ 'offset' => '29', -+ 'type' => '761' -+ }, -+ '6' => { -+ 'name' => 'port_num', -+ 'offset' => '30', -+ 'type' => '761' -+ } -+ }, -+ 'Name' => 'struct ibv_ah_attr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '2319' => { -+ 'Header' => undef, -+ 'Line' => '67', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'subnet_prefix', -+ 'offset' => '0', -+ 'type' => '2000' -+ }, -+ '1' => { -+ 'name' => 'interface_id', -+ 'offset' => '8', -+ 'type' => '2000' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '23221' => { -+ 'Header' => undef, -+ 'Line' => '771', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_wr', -+ 'offset' => '0', -+ 'type' => '785' -+ }, -+ '1' => { -+ 'name' => 'max_sge', -+ 'offset' => '4', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'srq_limit', -+ 'offset' => '8', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_attr', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '23278' => { -+ 'Header' => undef, -+ 'Line' => '777', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '23221' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_init_attr', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '23321' => { -+ 'Header' => undef, -+ 'Line' => '782', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_SRQT_BASIC', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_SRQT_XRC', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_SRQT_TM', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_srq_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '23415' => { -+ 'Header' => undef, -+ 'Line' => '797', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_num_tags', -+ 'offset' => '0', -+ 'type' => '785' -+ }, -+ '1' => { -+ 'name' => 'max_ops', -+ 'offset' => '4', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_tm_cap', -+ 'Size' => '8', -+ 'Type' => 'Struct' -+ }, -+ '23458' => { -+ 'Header' => undef, -+ 'Line' => '802', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'srq_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'attr', -+ 'offset' => '8', -+ 'type' => '23221' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '20', -+ 'type' => '785' -+ }, -+ '3' => { -+ 'name' => 'srq_type', -+ 'offset' => '24', -+ 'type' => '23321' -+ }, -+ '4' => { -+ 'name' => 'pd', -+ 'offset' => '32', -+ 'type' => '22902' -+ }, -+ '5' => { -+ 'name' => 'xrcd', -+ 'offset' => '40', -+ 'type' => '23583' -+ }, -+ '6' => { -+ 'name' => 'cq', -+ 'offset' => '48', -+ 'type' => '21306' -+ }, -+ '7' => { -+ 'name' => 'tm_cap', -+ 'offset' => '56', -+ 'type' => '23415' -+ } -+ }, -+ 'Name' => 'struct ibv_srq_init_attr_ex', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '2355' => { -+ 'Header' => undef, -+ 'Line' => '65', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'raw', -+ 'offset' => '0', -+ 'type' => '1593' -+ }, -+ '1' => { -+ 'name' => 'global', -+ 'offset' => '0', -+ 'type' => '2319' -+ } -+ }, -+ 'Name' => 'union ibv_gid', -+ 'Size' => '16', -+ 'Type' => 'Union' -+ }, -+ '23583' => { -+ 'BaseType' => '22873', -+ 'Name' => 'struct ibv_xrcd*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '23869' => { -+ 'Header' => undef, -+ 'Line' => '874', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'ind_tbl_handle', -+ 'offset' => '8', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'ind_tbl_num', -+ 'offset' => '12', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'comp_mask', -+ 'offset' => '16', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_rwq_ind_table', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '24065' => { -+ 'Header' => undef, -+ 'Line' => '905', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'max_send_wr', -+ 'offset' => '0', -+ 'type' => '785' -+ }, -+ '1' => { -+ 'name' => 'max_recv_wr', -+ 'offset' => '4', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'max_send_sge', -+ 'offset' => '8', -+ 'type' => '785' -+ }, -+ '3' => { -+ 'name' => 'max_recv_sge', -+ 'offset' => '12', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'max_inline_data', -+ 'offset' => '16', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_cap', -+ 'Size' => '20', -+ 'Type' => 'Struct' -+ }, -+ '24150' => { -+ 'Header' => undef, -+ 'Line' => '913', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '21306' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '21306' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '21626' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '24065' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '11187' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '24325' => { -+ 'Header' => undef, -+ 'Line' => '955', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rx_hash_function', -+ 'offset' => '0', -+ 'type' => '761' -+ }, -+ '1' => { -+ 'name' => 'rx_hash_key_len', -+ 'offset' => '1', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'rx_hash_key', -+ 'offset' => '8', -+ 'type' => '24396' -+ }, -+ '3' => { -+ 'name' => 'rx_hash_fields_mask', -+ 'offset' => '16', -+ 'type' => '797' -+ } -+ }, -+ 'Name' => 'struct ibv_rx_hash_conf', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '24396' => { -+ 'BaseType' => '761', -+ 'Name' => 'uint8_t*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24402' => { -+ 'Header' => undef, -+ 'Line' => '964', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_context', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'send_cq', -+ 'offset' => '8', -+ 'type' => '21306' -+ }, -+ '10' => { -+ 'name' => 'create_flags', -+ 'offset' => '80', -+ 'type' => '785' -+ }, -+ '11' => { -+ 'name' => 'max_tso_header', -+ 'offset' => '84', -+ 'type' => '773' -+ }, -+ '12' => { -+ 'name' => 'rwq_ind_tbl', -+ 'offset' => '88', -+ 'type' => '24640' -+ }, -+ '13' => { -+ 'name' => 'rx_hash_conf', -+ 'offset' => '96', -+ 'type' => '24325' -+ }, -+ '14' => { -+ 'name' => 'source_qpn', -+ 'offset' => '120', -+ 'type' => '785' -+ }, -+ '15' => { -+ 'name' => 'send_ops_flags', -+ 'offset' => '128', -+ 'type' => '797' -+ }, -+ '2' => { -+ 'name' => 'recv_cq', -+ 'offset' => '16', -+ 'type' => '21306' -+ }, -+ '3' => { -+ 'name' => 'srq', -+ 'offset' => '24', -+ 'type' => '21626' -+ }, -+ '4' => { -+ 'name' => 'cap', -+ 'offset' => '32', -+ 'type' => '24065' -+ }, -+ '5' => { -+ 'name' => 'qp_type', -+ 'offset' => '52', -+ 'type' => '11187' -+ }, -+ '6' => { -+ 'name' => 'sq_sig_all', -+ 'offset' => '56', -+ 'type' => '130' -+ }, -+ '7' => { -+ 'name' => 'comp_mask', -+ 'offset' => '60', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'pd', -+ 'offset' => '64', -+ 'type' => '22902' -+ }, -+ '9' => { -+ 'name' => 'xrcd', -+ 'offset' => '72', -+ 'type' => '23583' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_init_attr_ex', -+ 'Size' => '136', -+ 'Type' => 'Struct' -+ }, -+ '24640' => { -+ 'BaseType' => '23869', -+ 'Name' => 'struct ibv_rwq_ind_table*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '24909' => { -+ 'Header' => undef, -+ 'Line' => '1033', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_QPS_RESET', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_QPS_INIT', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_QPS_RTR', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_QPS_RTS', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_QPS_SQD', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_QPS_SQE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_QPS_ERR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_QPS_UNKNOWN', -+ 'value' => '7' -+ } -+ }, -+ 'Name' => 'enum ibv_qp_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '24977' => { -+ 'Header' => undef, -+ 'Line' => '1044', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_MIG_MIGRATED', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_MIG_REARM', -+ 'value' => '1' -+ }, -+ '2' => { -+ 'name' => 'IBV_MIG_ARMED', -+ 'value' => '2' -+ } -+ }, -+ 'Name' => 'enum ibv_mig_state', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '25015' => { -+ 'Header' => undef, -+ 'Line' => '1050', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'qp_state', -+ 'offset' => '0', -+ 'type' => '24909' -+ }, -+ '1' => { -+ 'name' => 'cur_qp_state', -+ 'offset' => '4', -+ 'type' => '24909' -+ }, -+ '10' => { -+ 'name' => 'ah_attr', -+ 'offset' => '56', -+ 'type' => '23109' -+ }, -+ '11' => { -+ 'name' => 'alt_ah_attr', -+ 'offset' => '88', -+ 'type' => '23109' -+ }, -+ '12' => { -+ 'name' => 'pkey_index', -+ 'offset' => '120', -+ 'type' => '773' -+ }, -+ '13' => { -+ 'name' => 'alt_pkey_index', -+ 'offset' => '122', -+ 'type' => '773' -+ }, -+ '14' => { -+ 'name' => 'en_sqd_async_notify', -+ 'offset' => '124', -+ 'type' => '761' -+ }, -+ '15' => { -+ 'name' => 'sq_draining', -+ 'offset' => '125', -+ 'type' => '761' -+ }, -+ '16' => { -+ 'name' => 'max_rd_atomic', -+ 'offset' => '126', -+ 'type' => '761' -+ }, -+ '17' => { -+ 'name' => 'max_dest_rd_atomic', -+ 'offset' => '127', -+ 'type' => '761' -+ }, -+ '18' => { -+ 'name' => 'min_rnr_timer', -+ 'offset' => '128', -+ 'type' => '761' -+ }, -+ '19' => { -+ 'name' => 'port_num', -+ 'offset' => '129', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'path_mtu', -+ 'offset' => '8', -+ 'type' => '20562' -+ }, -+ '20' => { -+ 'name' => 'timeout', -+ 'offset' => '130', -+ 'type' => '761' -+ }, -+ '21' => { -+ 'name' => 'retry_cnt', -+ 'offset' => '131', -+ 'type' => '761' -+ }, -+ '22' => { -+ 'name' => 'rnr_retry', -+ 'offset' => '132', -+ 'type' => '761' -+ }, -+ '23' => { -+ 'name' => 'alt_port_num', -+ 'offset' => '133', -+ 'type' => '761' -+ }, -+ '24' => { -+ 'name' => 'alt_timeout', -+ 'offset' => '134', -+ 'type' => '761' -+ }, -+ '25' => { -+ 'name' => 'rate_limit', -+ 'offset' => '136', -+ 'type' => '785' -+ }, -+ '3' => { -+ 'name' => 'path_mig_state', -+ 'offset' => '12', -+ 'type' => '24977' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'offset' => '16', -+ 'type' => '785' -+ }, -+ '5' => { -+ 'name' => 'rq_psn', -+ 'offset' => '20', -+ 'type' => '785' -+ }, -+ '6' => { -+ 'name' => 'sq_psn', -+ 'offset' => '24', -+ 'type' => '785' -+ }, -+ '7' => { -+ 'name' => 'dest_qp_num', -+ 'offset' => '28', -+ 'type' => '785' -+ }, -+ '8' => { -+ 'name' => 'qp_access_flags', -+ 'offset' => '32', -+ 'type' => '64' -+ }, -+ '9' => { -+ 'name' => 'cap', -+ 'offset' => '36', -+ 'type' => '24065' -+ } -+ }, -+ 'Name' => 'struct ibv_qp_attr', -+ 'Size' => '144', -+ 'Type' => 'Struct' -+ }, -+ '25465' => { -+ 'Header' => undef, -+ 'Line' => '1086', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'IBV_WR_RDMA_WRITE', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'IBV_WR_RDMA_WRITE_WITH_IMM', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'IBV_WR_TSO', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'IBV_WR_DRIVER1', -+ 'value' => '11' -+ }, -+ '2' => { -+ 'name' => 'IBV_WR_SEND', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'IBV_WR_SEND_WITH_IMM', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'IBV_WR_RDMA_READ', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'IBV_WR_ATOMIC_CMP_AND_SWP', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'IBV_WR_ATOMIC_FETCH_AND_ADD', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'IBV_WR_LOCAL_INV', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'IBV_WR_BIND_MW', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'IBV_WR_SEND_WITH_INV', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum ibv_wr_opcode', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '25557' => { -+ 'Header' => undef, -+ 'Line' => '1114', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'length', -+ 'offset' => '8', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'lkey', -+ 'offset' => '12', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_sge', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '25614' => { -+ 'Header' => undef, -+ 'Line' => '1130', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'imm_data', -+ 'offset' => '0', -+ 'type' => '1988' -+ }, -+ '1' => { -+ 'name' => 'invalidate_rkey', -+ 'offset' => '0', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '25651' => { -+ 'Header' => undef, -+ 'Line' => '1135', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '25690' => { -+ 'Header' => undef, -+ 'Line' => '1139', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_addr', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'compare_add', -+ 'offset' => '8', -+ 'type' => '797' -+ }, -+ '2' => { -+ 'name' => 'swap', -+ 'offset' => '16', -+ 'type' => '797' -+ }, -+ '3' => { -+ 'name' => 'rkey', -+ 'offset' => '24', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '25757' => { -+ 'Header' => undef, -+ 'Line' => '1145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ah', -+ 'offset' => '0', -+ 'type' => '25865' -+ }, -+ '1' => { -+ 'name' => 'remote_qpn', -+ 'offset' => '8', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'remote_qkey', -+ 'offset' => '12', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '25809' => { -+ 'Header' => undef, -+ 'Line' => '1645', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'pd', -+ 'offset' => '8', -+ 'type' => '22902' -+ }, -+ '2' => { -+ 'name' => 'handle', -+ 'offset' => '16', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_ah', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '25865' => { -+ 'BaseType' => '25809', -+ 'Name' => 'struct ibv_ah*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '25871' => { -+ 'Header' => undef, -+ 'Line' => '1134', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'rdma', -+ 'offset' => '0', -+ 'type' => '25651' -+ }, -+ '1' => { -+ 'name' => 'atomic', -+ 'offset' => '0', -+ 'type' => '25690' -+ }, -+ '2' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '25757' -+ } -+ }, -+ 'Size' => '32', -+ 'Type' => 'Union' -+ }, -+ '25920' => { -+ 'Header' => undef, -+ 'Line' => '1152', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'remote_srqn', -+ 'offset' => '0', -+ 'type' => '785' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '25945' => { -+ 'Header' => undef, -+ 'Line' => '1151', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'xrc', -+ 'offset' => '0', -+ 'type' => '25920' -+ } -+ }, -+ 'Size' => '4', -+ 'Type' => 'Union' -+ }, -+ '25969' => { -+ 'Header' => undef, -+ 'Line' => '1157', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'mw', -+ 'offset' => '0', -+ 'type' => '26021' -+ }, -+ '1' => { -+ 'name' => 'rkey', -+ 'offset' => '8', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '22490' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '26021' => { -+ 'BaseType' => '22940', -+ 'Name' => 'struct ibv_mw*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '26027' => { -+ 'Header' => undef, -+ 'Line' => '1162', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'hdr', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'hdr_sz', -+ 'offset' => '8', -+ 'type' => '773' -+ }, -+ '2' => { -+ 'name' => 'mss', -+ 'offset' => '10', -+ 'type' => '773' -+ } -+ }, -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '26080' => { -+ 'Header' => undef, -+ 'Line' => '1156', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'bind_mw', -+ 'offset' => '0', -+ 'type' => '25969' -+ }, -+ '1' => { -+ 'name' => 'tso', -+ 'offset' => '0', -+ 'type' => '26027' -+ } -+ }, -+ 'Size' => '48', -+ 'Type' => 'Union' -+ }, -+ '26117' => { -+ 'Header' => undef, -+ 'Line' => '1120', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '26255' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '26261' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'opcode', -+ 'offset' => '28', -+ 'type' => '25465' -+ }, -+ '5' => { -+ 'name' => 'send_flags', -+ 'offset' => '32', -+ 'type' => '64' -+ }, -+ '6' => { -+ 'name' => 'unnamed0', -+ 'offset' => '36', -+ 'type' => '25614' -+ }, -+ '7' => { -+ 'name' => 'wr', -+ 'offset' => '40', -+ 'type' => '25871' -+ }, -+ '8' => { -+ 'name' => 'qp_type', -+ 'offset' => '72', -+ 'type' => '25945' -+ }, -+ '9' => { -+ 'name' => 'unnamed1', -+ 'offset' => '80', -+ 'type' => '26080' -+ } -+ }, -+ 'Name' => 'struct ibv_send_wr', -+ 'Size' => '128', -+ 'Type' => 'Struct' -+ }, -+ '26255' => { -+ 'BaseType' => '26117', -+ 'Name' => 'struct ibv_send_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '26261' => { -+ 'BaseType' => '25557', -+ 'Name' => 'struct ibv_sge*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '26267' => { -+ 'Header' => undef, -+ 'Line' => '1170', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'next', -+ 'offset' => '8', -+ 'type' => '26338' -+ }, -+ '2' => { -+ 'name' => 'sg_list', -+ 'offset' => '16', -+ 'type' => '26261' -+ }, -+ '3' => { -+ 'name' => 'num_sge', -+ 'offset' => '24', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_recv_wr', -+ 'Size' => '32', -+ 'Type' => 'Struct' -+ }, -+ '26338' => { -+ 'BaseType' => '26267', -+ 'Name' => 'struct ibv_recv_wr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '26606' => { -+ 'Header' => undef, -+ 'Line' => '1206', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'wr_id', -+ 'offset' => '0', -+ 'type' => '797' -+ }, -+ '1' => { -+ 'name' => 'send_flags', -+ 'offset' => '8', -+ 'type' => '64' -+ }, -+ '2' => { -+ 'name' => 'bind_info', -+ 'offset' => '16', -+ 'type' => '22490' -+ } -+ }, -+ 'Name' => 'struct ibv_mw_bind', -+ 'Size' => '48', -+ 'Type' => 'Struct' -+ }, -+ '26688' => { -+ 'BaseType' => '26338', -+ 'Name' => 'struct ibv_recv_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '26700' => { -+ 'Header' => undef, -+ 'Line' => '1437', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'vendor_id', -+ 'offset' => '0', -+ 'type' => '785' -+ }, -+ '1' => { -+ 'name' => 'options', -+ 'offset' => '4', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'comp_mask', -+ 'offset' => '8', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct ibv_ece', -+ 'Size' => '12', -+ 'Type' => 'Struct' -+ }, -+ '26757' => { -+ 'Header' => undef, -+ 'Line' => '1452', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'context', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'fd', -+ 'offset' => '8', -+ 'type' => '130' -+ }, -+ '2' => { -+ 'name' => 'refcnt', -+ 'offset' => '12', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct ibv_comp_channel', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '26813' => { -+ 'BaseType' => '26757', -+ 'Name' => 'struct ibv_comp_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28123' => { -+ 'Header' => undef, -+ 'Line' => '1918', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_dummy1', -+ 'offset' => '0', -+ 'type' => '28307' -+ }, -+ '1' => { -+ 'name' => '_dummy2', -+ 'offset' => '8', -+ 'type' => '28324' -+ } -+ }, -+ 'Name' => 'struct _ibv_device_ops', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '28186' => { -+ 'BaseType' => '28192', -+ 'Name' => 'struct ibv_device*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28192' => { -+ 'Header' => undef, -+ 'Line' => '1928', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_ops', -+ 'offset' => '0', -+ 'type' => '28123' -+ }, -+ '1' => { -+ 'name' => 'node_type', -+ 'offset' => '16', -+ 'type' => '18761' -+ }, -+ '2' => { -+ 'name' => 'transport_type', -+ 'offset' => '20', -+ 'type' => '18828' -+ }, -+ '3' => { -+ 'name' => 'name', -+ 'offset' => '24', -+ 'type' => '19789' -+ }, -+ '4' => { -+ 'name' => 'dev_name', -+ 'offset' => '88', -+ 'type' => '19789' -+ }, -+ '5' => { -+ 'name' => 'dev_path', -+ 'offset' => '152', -+ 'type' => '28359' -+ }, -+ '6' => { -+ 'name' => 'ibdev_path', -+ 'offset' => '408', -+ 'type' => '28359' -+ } -+ }, -+ 'Name' => 'struct ibv_device', -+ 'Size' => '664', -+ 'Type' => 'Struct' -+ }, -+ '28307' => { -+ 'Name' => 'struct ibv_context*(*)(struct ibv_device*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '28186' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '19171', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28324' => { -+ 'Name' => 'void(*)(struct ibv_context*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '19171' -+ } -+ }, -+ 'Return' => '1', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28359' => { -+ 'BaseType' => '215', -+ 'Name' => 'char[256]', -+ 'Size' => '256', -+ 'Type' => 'Array' -+ }, -+ '28375' => { -+ 'Header' => undef, -+ 'Line' => '1943', -+ 'Memb' => { -+ '0' => { -+ 'name' => '_compat_query_device', -+ 'offset' => '0', -+ 'type' => '28865' -+ }, -+ '1' => { -+ 'name' => '_compat_query_port', -+ 'offset' => '8', -+ 'type' => '28907' -+ }, -+ '10' => { -+ 'name' => '_compat_create_cq', -+ 'offset' => '80', -+ 'type' => '28918' -+ }, -+ '11' => { -+ 'name' => 'poll_cq', -+ 'offset' => '88', -+ 'type' => '29039' -+ }, -+ '12' => { -+ 'name' => 'req_notify_cq', -+ 'offset' => '96', -+ 'type' => '29065' -+ }, -+ '13' => { -+ 'name' => '_compat_cq_event', -+ 'offset' => '104', -+ 'type' => '28918' -+ }, -+ '14' => { -+ 'name' => '_compat_resize_cq', -+ 'offset' => '112', -+ 'type' => '28918' -+ }, -+ '15' => { -+ 'name' => '_compat_destroy_cq', -+ 'offset' => '120', -+ 'type' => '28918' -+ }, -+ '16' => { -+ 'name' => '_compat_create_srq', -+ 'offset' => '128', -+ 'type' => '28918' -+ }, -+ '17' => { -+ 'name' => '_compat_modify_srq', -+ 'offset' => '136', -+ 'type' => '28918' -+ }, -+ '18' => { -+ 'name' => '_compat_query_srq', -+ 'offset' => '144', -+ 'type' => '28918' -+ }, -+ '19' => { -+ 'name' => '_compat_destroy_srq', -+ 'offset' => '152', -+ 'type' => '28918' -+ }, -+ '2' => { -+ 'name' => '_compat_alloc_pd', -+ 'offset' => '16', -+ 'type' => '28918' -+ }, -+ '20' => { -+ 'name' => 'post_srq_recv', -+ 'offset' => '160', -+ 'type' => '29096' -+ }, -+ '21' => { -+ 'name' => '_compat_create_qp', -+ 'offset' => '168', -+ 'type' => '28918' -+ }, -+ '22' => { -+ 'name' => '_compat_query_qp', -+ 'offset' => '176', -+ 'type' => '28918' -+ }, -+ '23' => { -+ 'name' => '_compat_modify_qp', -+ 'offset' => '184', -+ 'type' => '28918' -+ }, -+ '24' => { -+ 'name' => '_compat_destroy_qp', -+ 'offset' => '192', -+ 'type' => '28918' -+ }, -+ '25' => { -+ 'name' => 'post_send', -+ 'offset' => '200', -+ 'type' => '29133' -+ }, -+ '26' => { -+ 'name' => 'post_recv', -+ 'offset' => '208', -+ 'type' => '29164' -+ }, -+ '27' => { -+ 'name' => '_compat_create_ah', -+ 'offset' => '216', -+ 'type' => '28918' -+ }, -+ '28' => { -+ 'name' => '_compat_destroy_ah', -+ 'offset' => '224', -+ 'type' => '28918' -+ }, -+ '29' => { -+ 'name' => '_compat_attach_mcast', -+ 'offset' => '232', -+ 'type' => '28918' -+ }, -+ '3' => { -+ 'name' => '_compat_dealloc_pd', -+ 'offset' => '24', -+ 'type' => '28918' -+ }, -+ '30' => { -+ 'name' => '_compat_detach_mcast', -+ 'offset' => '240', -+ 'type' => '28918' -+ }, -+ '31' => { -+ 'name' => '_compat_async_event', -+ 'offset' => '248', -+ 'type' => '28918' -+ }, -+ '4' => { -+ 'name' => '_compat_reg_mr', -+ 'offset' => '32', -+ 'type' => '28918' -+ }, -+ '5' => { -+ 'name' => '_compat_rereg_mr', -+ 'offset' => '40', -+ 'type' => '28918' -+ }, -+ '6' => { -+ 'name' => '_compat_dereg_mr', -+ 'offset' => '48', -+ 'type' => '28918' -+ }, -+ '7' => { -+ 'name' => 'alloc_mw', -+ 'offset' => '56', -+ 'type' => '28944' -+ }, -+ '8' => { -+ 'name' => 'bind_mw', -+ 'offset' => '64', -+ 'type' => '28981' -+ }, -+ '9' => { -+ 'name' => 'dealloc_mw', -+ 'offset' => '72', -+ 'type' => '29002' -+ } -+ }, -+ 'Name' => 'struct ibv_context_ops', -+ 'Size' => '256', -+ 'Type' => 'Struct' -+ }, -+ '2856' => { -+ 'Header' => undef, -+ 'Line' => '69', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'RDMA_PS_IPOIB', -+ 'value' => '2' -+ }, -+ '1' => { -+ 'name' => 'RDMA_PS_TCP', -+ 'value' => '262' -+ }, -+ '2' => { -+ 'name' => 'RDMA_PS_UDP', -+ 'value' => '273' -+ }, -+ '3' => { -+ 'name' => 'RDMA_PS_IB', -+ 'value' => '319' -+ } -+ }, -+ 'Name' => 'enum rdma_port_space', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '28859' => { -+ 'BaseType' => '19255', -+ 'Name' => 'struct ibv_device_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28865' => { -+ 'Name' => 'int(*)(struct ibv_context*, struct ibv_device_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'type' => '28859' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28896' => { -+ 'BaseType' => '28902', -+ 'Name' => 'struct _compat_ibv_port_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28902' => { -+ 'Name' => 'struct _compat_ibv_port_attr', -+ 'Type' => 'Struct' -+ }, -+ '28907' => { -+ 'Name' => 'int(*)(struct ibv_context*, uint8_t, struct _compat_ibv_port_attr*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'type' => '761' -+ }, -+ '2' => { -+ 'type' => '28896' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28918' => { -+ 'Name' => 'void*(*)()', -+ 'Return' => '71', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28944' => { -+ 'Name' => 'struct ibv_mw*(*)(struct ibv_pd*, enum ibv_mw_type)', -+ 'Param' => { -+ '0' => { -+ 'type' => '22902' -+ }, -+ '1' => { -+ 'type' => '22908' -+ } -+ }, -+ 'Return' => '26021', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '28975' => { -+ 'BaseType' => '26606', -+ 'Name' => 'struct ibv_mw_bind*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '28981' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_mw*, struct ibv_mw_bind*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21508' -+ }, -+ '1' => { -+ 'type' => '26021' -+ }, -+ '2' => { -+ 'type' => '28975' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29002' => { -+ 'Name' => 'int(*)(struct ibv_mw*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '26021' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '2902' => { -+ 'Header' => undef, -+ 'Line' => '182', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ai_flags', -+ 'offset' => '0', -+ 'type' => '130' -+ }, -+ '1' => { -+ 'name' => 'ai_family', -+ 'offset' => '4', -+ 'type' => '130' -+ }, -+ '10' => { -+ 'name' => 'ai_route_len', -+ 'offset' => '56', -+ 'type' => '45' -+ }, -+ '11' => { -+ 'name' => 'ai_route', -+ 'offset' => '64', -+ 'type' => '71' -+ }, -+ '12' => { -+ 'name' => 'ai_connect_len', -+ 'offset' => '72', -+ 'type' => '45' -+ }, -+ '13' => { -+ 'name' => 'ai_connect', -+ 'offset' => '80', -+ 'type' => '71' -+ }, -+ '14' => { -+ 'name' => 'ai_next', -+ 'offset' => '88', -+ 'type' => '3116' -+ }, -+ '2' => { -+ 'name' => 'ai_qp_type', -+ 'offset' => '8', -+ 'type' => '130' -+ }, -+ '3' => { -+ 'name' => 'ai_port_space', -+ 'offset' => '12', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'ai_src_len', -+ 'offset' => '16', -+ 'type' => '1073' -+ }, -+ '5' => { -+ 'name' => 'ai_dst_len', -+ 'offset' => '20', -+ 'type' => '1073' -+ }, -+ '6' => { -+ 'name' => 'ai_src_addr', -+ 'offset' => '24', -+ 'type' => '1833' -+ }, -+ '7' => { -+ 'name' => 'ai_dst_addr', -+ 'offset' => '32', -+ 'type' => '1833' -+ }, -+ '8' => { -+ 'name' => 'ai_src_canonname', -+ 'offset' => '40', -+ 'type' => '204' -+ }, -+ '9' => { -+ 'name' => 'ai_dst_canonname', -+ 'offset' => '48', -+ 'type' => '204' -+ } -+ }, -+ 'Name' => 'struct rdma_addrinfo', -+ 'Size' => '96', -+ 'Type' => 'Struct' -+ }, -+ '29033' => { -+ 'BaseType' => '22302', -+ 'Name' => 'struct ibv_wc*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29039' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int, struct ibv_wc*)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21306' -+ }, -+ '1' => { -+ 'type' => '130' -+ }, -+ '2' => { -+ 'type' => '29033' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29065' => { -+ 'Name' => 'int(*)(struct ibv_cq*, int)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21306' -+ }, -+ '1' => { -+ 'type' => '130' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29096' => { -+ 'Name' => 'int(*)(struct ibv_srq*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21626' -+ }, -+ '1' => { -+ 'type' => '26338' -+ }, -+ '2' => { -+ 'type' => '26688' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29127' => { -+ 'BaseType' => '26255', -+ 'Name' => 'struct ibv_send_wr**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '29133' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_send_wr*, struct ibv_send_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21508' -+ }, -+ '1' => { -+ 'type' => '26255' -+ }, -+ '2' => { -+ 'type' => '29127' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '29164' => { -+ 'Name' => 'int(*)(struct ibv_qp*, struct ibv_recv_wr*, struct ibv_recv_wr**)', -+ 'Param' => { -+ '0' => { -+ 'type' => '21508' -+ }, -+ '1' => { -+ 'type' => '26338' -+ }, -+ '2' => { -+ 'type' => '26688' -+ } -+ }, -+ 'Return' => '130', -+ 'Size' => '8', -+ 'Type' => 'FuncPtr' -+ }, -+ '3111' => { -+ 'BaseType' => '2902', -+ 'Name' => 'struct rdma_addrinfo const', -+ 'Size' => '96', -+ 'Type' => 'Const' -+ }, -+ '3116' => { -+ 'BaseType' => '2902', -+ 'Name' => 'struct rdma_addrinfo*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31212' => { -+ 'BaseType' => '24402', -+ 'Name' => 'struct ibv_qp_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31276' => { -+ 'BaseType' => '23458', -+ 'Name' => 'struct ibv_srq_init_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '31341' => { -+ 'Header' => undef, -+ 'Line' => '40', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dgid', -+ 'offset' => '0', -+ 'type' => '2355' -+ }, -+ '1' => { -+ 'name' => 'sgid', -+ 'offset' => '16', -+ 'type' => '2355' -+ }, -+ '10' => { -+ 'name' => 'pkey', -+ 'offset' => '54', -+ 'type' => '1976' -+ }, -+ '11' => { -+ 'name' => 'sl', -+ 'offset' => '56', -+ 'type' => '761' -+ }, -+ '12' => { -+ 'name' => 'mtu_selector', -+ 'offset' => '57', -+ 'type' => '761' -+ }, -+ '13' => { -+ 'name' => 'mtu', -+ 'offset' => '58', -+ 'type' => '761' -+ }, -+ '14' => { -+ 'name' => 'rate_selector', -+ 'offset' => '59', -+ 'type' => '761' -+ }, -+ '15' => { -+ 'name' => 'rate', -+ 'offset' => '60', -+ 'type' => '761' -+ }, -+ '16' => { -+ 'name' => 'packet_life_time_selector', -+ 'offset' => '61', -+ 'type' => '761' -+ }, -+ '17' => { -+ 'name' => 'packet_life_time', -+ 'offset' => '62', -+ 'type' => '761' -+ }, -+ '18' => { -+ 'name' => 'preference', -+ 'offset' => '63', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'dlid', -+ 'offset' => '32', -+ 'type' => '1976' -+ }, -+ '3' => { -+ 'name' => 'slid', -+ 'offset' => '34', -+ 'type' => '1976' -+ }, -+ '4' => { -+ 'name' => 'raw_traffic', -+ 'offset' => '36', -+ 'type' => '130' -+ }, -+ '5' => { -+ 'name' => 'flow_label', -+ 'offset' => '40', -+ 'type' => '1988' -+ }, -+ '6' => { -+ 'name' => 'hop_limit', -+ 'offset' => '44', -+ 'type' => '761' -+ }, -+ '7' => { -+ 'name' => 'traffic_class', -+ 'offset' => '45', -+ 'type' => '761' -+ }, -+ '8' => { -+ 'name' => 'reversible', -+ 'offset' => '48', -+ 'type' => '130' -+ }, -+ '9' => { -+ 'name' => 'numb_path', -+ 'offset' => '52', -+ 'type' => '761' -+ } -+ }, -+ 'Name' => 'struct ibv_sa_path_rec', -+ 'Size' => '64', -+ 'Type' => 'Struct' -+ }, -+ '31863' => { -+ 'Header' => undef, -+ 'Line' => '50', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'RDMA_CM_EVENT_ADDR_RESOLVED', -+ 'value' => '0' -+ }, -+ '1' => { -+ 'name' => 'RDMA_CM_EVENT_ADDR_ERROR', -+ 'value' => '1' -+ }, -+ '10' => { -+ 'name' => 'RDMA_CM_EVENT_DISCONNECTED', -+ 'value' => '10' -+ }, -+ '11' => { -+ 'name' => 'RDMA_CM_EVENT_DEVICE_REMOVAL', -+ 'value' => '11' -+ }, -+ '12' => { -+ 'name' => 'RDMA_CM_EVENT_MULTICAST_JOIN', -+ 'value' => '12' -+ }, -+ '13' => { -+ 'name' => 'RDMA_CM_EVENT_MULTICAST_ERROR', -+ 'value' => '13' -+ }, -+ '14' => { -+ 'name' => 'RDMA_CM_EVENT_ADDR_CHANGE', -+ 'value' => '14' -+ }, -+ '15' => { -+ 'name' => 'RDMA_CM_EVENT_TIMEWAIT_EXIT', -+ 'value' => '15' -+ }, -+ '2' => { -+ 'name' => 'RDMA_CM_EVENT_ROUTE_RESOLVED', -+ 'value' => '2' -+ }, -+ '3' => { -+ 'name' => 'RDMA_CM_EVENT_ROUTE_ERROR', -+ 'value' => '3' -+ }, -+ '4' => { -+ 'name' => 'RDMA_CM_EVENT_CONNECT_REQUEST', -+ 'value' => '4' -+ }, -+ '5' => { -+ 'name' => 'RDMA_CM_EVENT_CONNECT_RESPONSE', -+ 'value' => '5' -+ }, -+ '6' => { -+ 'name' => 'RDMA_CM_EVENT_CONNECT_ERROR', -+ 'value' => '6' -+ }, -+ '7' => { -+ 'name' => 'RDMA_CM_EVENT_UNREACHABLE', -+ 'value' => '7' -+ }, -+ '8' => { -+ 'name' => 'RDMA_CM_EVENT_REJECTED', -+ 'value' => '8' -+ }, -+ '9' => { -+ 'name' => 'RDMA_CM_EVENT_ESTABLISHED', -+ 'value' => '9' -+ } -+ }, -+ 'Name' => 'enum rdma_cm_event_type', -+ 'Size' => '4', -+ 'Type' => 'Enum' -+ }, -+ '32024' => { -+ 'Header' => undef, -+ 'Line' => '88', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'sgid', -+ 'offset' => '0', -+ 'type' => '2355' -+ }, -+ '1' => { -+ 'name' => 'dgid', -+ 'offset' => '16', -+ 'type' => '2355' -+ }, -+ '2' => { -+ 'name' => 'pkey', -+ 'offset' => '32', -+ 'type' => '1976' -+ } -+ }, -+ 'Name' => 'struct rdma_ib_addr', -+ 'Size' => '40', -+ 'Type' => 'Struct' -+ }, -+ '32077' => { -+ 'Header' => undef, -+ 'Line' => '95', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'src_addr', -+ 'offset' => '0', -+ 'type' => '1174' -+ }, -+ '1' => { -+ 'name' => 'src_sin', -+ 'offset' => '0', -+ 'type' => '1668' -+ }, -+ '2' => { -+ 'name' => 'src_sin6', -+ 'offset' => '0', -+ 'type' => '1750' -+ }, -+ '3' => { -+ 'name' => 'src_storage', -+ 'offset' => '0', -+ 'type' => '16678' -+ } -+ }, -+ 'Size' => '128', -+ 'Type' => 'Union' -+ }, -+ '32135' => { -+ 'Header' => undef, -+ 'Line' => '101', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'dst_addr', -+ 'offset' => '0', -+ 'type' => '1174' -+ }, -+ '1' => { -+ 'name' => 'dst_sin', -+ 'offset' => '0', -+ 'type' => '1668' -+ }, -+ '2' => { -+ 'name' => 'dst_sin6', -+ 'offset' => '0', -+ 'type' => '1750' -+ }, -+ '3' => { -+ 'name' => 'dst_storage', -+ 'offset' => '0', -+ 'type' => '16678' -+ } -+ }, -+ 'Size' => '128', -+ 'Type' => 'Union' -+ }, -+ '32193' => { -+ 'Header' => undef, -+ 'Line' => '107', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'ibaddr', -+ 'offset' => '0', -+ 'type' => '32024' -+ } -+ }, -+ 'Size' => '40', -+ 'Type' => 'Union' -+ }, -+ '32215' => { -+ 'Header' => undef, -+ 'Line' => '94', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'unnamed0', -+ 'offset' => '0', -+ 'type' => '32077' -+ }, -+ '1' => { -+ 'name' => 'unnamed1', -+ 'offset' => '128', -+ 'type' => '32135' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '256', -+ 'type' => '32193' -+ } -+ }, -+ 'Name' => 'struct rdma_addr', -+ 'Size' => '296', -+ 'Type' => 'Struct' -+ }, -+ '32256' => { -+ 'Header' => undef, -+ 'Line' => '112', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'addr', -+ 'offset' => '0', -+ 'type' => '32215' -+ }, -+ '1' => { -+ 'name' => 'path_rec', -+ 'offset' => '296', -+ 'type' => '32312' -+ }, -+ '2' => { -+ 'name' => 'num_paths', -+ 'offset' => '304', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct rdma_route', -+ 'Size' => '312', -+ 'Type' => 'Struct' -+ }, -+ '32312' => { -+ 'BaseType' => '31341', -+ 'Name' => 'struct ibv_sa_path_rec*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '32318' => { -+ 'Header' => undef, -+ 'Line' => '118', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'fd', -+ 'offset' => '0', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct rdma_event_channel', -+ 'Size' => '4', -+ 'Type' => 'Struct' -+ }, -+ '32344' => { -+ 'Header' => undef, -+ 'Line' => '122', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'verbs', -+ 'offset' => '0', -+ 'type' => '19171' -+ }, -+ '1' => { -+ 'name' => 'channel', -+ 'offset' => '8', -+ 'type' => '32561' -+ }, -+ '10' => { -+ 'name' => 'recv_cq_channel', -+ 'offset' => '376', -+ 'type' => '26813' -+ }, -+ '11' => { -+ 'name' => 'recv_cq', -+ 'offset' => '384', -+ 'type' => '21306' -+ }, -+ '12' => { -+ 'name' => 'srq', -+ 'offset' => '392', -+ 'type' => '21626' -+ }, -+ '13' => { -+ 'name' => 'pd', -+ 'offset' => '400', -+ 'type' => '22902' -+ }, -+ '14' => { -+ 'name' => 'qp_type', -+ 'offset' => '408', -+ 'type' => '11187' -+ }, -+ '2' => { -+ 'name' => 'context', -+ 'offset' => '16', -+ 'type' => '71' -+ }, -+ '3' => { -+ 'name' => 'qp', -+ 'offset' => '24', -+ 'type' => '21508' -+ }, -+ '4' => { -+ 'name' => 'route', -+ 'offset' => '32', -+ 'type' => '32256' -+ }, -+ '5' => { -+ 'name' => 'ps', -+ 'offset' => '344', -+ 'type' => '2856' -+ }, -+ '6' => { -+ 'name' => 'port_num', -+ 'offset' => '348', -+ 'type' => '761' -+ }, -+ '7' => { -+ 'name' => 'event', -+ 'offset' => '352', -+ 'type' => '32645' -+ }, -+ '8' => { -+ 'name' => 'send_cq_channel', -+ 'offset' => '360', -+ 'type' => '26813' -+ }, -+ '9' => { -+ 'name' => 'send_cq', -+ 'offset' => '368', -+ 'type' => '21306' -+ } -+ }, -+ 'Name' => 'struct rdma_cm_id', -+ 'Size' => '416', -+ 'Type' => 'Struct' -+ }, -+ '32561' => { -+ 'BaseType' => '32318', -+ 'Name' => 'struct rdma_event_channel*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '32567' => { -+ 'Header' => undef, -+ 'Line' => '166', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'id', -+ 'offset' => '0', -+ 'type' => '32921' -+ }, -+ '1' => { -+ 'name' => 'listen_id', -+ 'offset' => '8', -+ 'type' => '32921' -+ }, -+ '2' => { -+ 'name' => 'event', -+ 'offset' => '16', -+ 'type' => '31863' -+ }, -+ '3' => { -+ 'name' => 'status', -+ 'offset' => '20', -+ 'type' => '130' -+ }, -+ '4' => { -+ 'name' => 'param', -+ 'offset' => '24', -+ 'type' => '32888' -+ } -+ }, -+ 'Name' => 'struct rdma_cm_event', -+ 'Size' => '80', -+ 'Type' => 'Struct' -+ }, -+ '32645' => { -+ 'BaseType' => '32567', -+ 'Name' => 'struct rdma_cm_event*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '32678' => { -+ 'Header' => undef, -+ 'Line' => '145', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'private_data', -+ 'offset' => '0', -+ 'type' => '1839' -+ }, -+ '1' => { -+ 'name' => 'private_data_len', -+ 'offset' => '8', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'responder_resources', -+ 'offset' => '9', -+ 'type' => '761' -+ }, -+ '3' => { -+ 'name' => 'initiator_depth', -+ 'offset' => '10', -+ 'type' => '761' -+ }, -+ '4' => { -+ 'name' => 'flow_control', -+ 'offset' => '11', -+ 'type' => '761' -+ }, -+ '5' => { -+ 'name' => 'retry_count', -+ 'offset' => '12', -+ 'type' => '761' -+ }, -+ '6' => { -+ 'name' => 'rnr_retry_count', -+ 'offset' => '13', -+ 'type' => '761' -+ }, -+ '7' => { -+ 'name' => 'srq', -+ 'offset' => '14', -+ 'type' => '761' -+ }, -+ '8' => { -+ 'name' => 'qp_num', -+ 'offset' => '16', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct rdma_conn_param', -+ 'Size' => '24', -+ 'Type' => 'Struct' -+ }, -+ '32809' => { -+ 'Header' => undef, -+ 'Line' => '158', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'private_data', -+ 'offset' => '0', -+ 'type' => '1839' -+ }, -+ '1' => { -+ 'name' => 'private_data_len', -+ 'offset' => '8', -+ 'type' => '761' -+ }, -+ '2' => { -+ 'name' => 'ah_attr', -+ 'offset' => '16', -+ 'type' => '23109' -+ }, -+ '3' => { -+ 'name' => 'qp_num', -+ 'offset' => '48', -+ 'type' => '785' -+ }, -+ '4' => { -+ 'name' => 'qkey', -+ 'offset' => '52', -+ 'type' => '785' -+ } -+ }, -+ 'Name' => 'struct rdma_ud_param', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '32888' => { -+ 'Header' => undef, -+ 'Line' => '171', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'conn', -+ 'offset' => '0', -+ 'type' => '32678' -+ }, -+ '1' => { -+ 'name' => 'ud', -+ 'offset' => '0', -+ 'type' => '32809' -+ } -+ }, -+ 'Size' => '56', -+ 'Type' => 'Union' -+ }, -+ '32921' => { -+ 'BaseType' => '32344', -+ 'Name' => 'struct rdma_cm_id*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '33221' => { -+ 'Header' => undef, -+ 'Line' => '214', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'comp_mask', -+ 'offset' => '0', -+ 'type' => '785' -+ }, -+ '1' => { -+ 'name' => 'join_flags', -+ 'offset' => '4', -+ 'type' => '785' -+ }, -+ '2' => { -+ 'name' => 'addr', -+ 'offset' => '8', -+ 'type' => '1833' -+ } -+ }, -+ 'Name' => 'struct rdma_cm_join_mc_attr_ex', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '34020' => { -+ 'BaseType' => '24150', -+ 'Name' => 'struct ibv_qp_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34026' => { -+ 'BaseType' => '23278', -+ 'Name' => 'struct ibv_srq_init_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34032' => { -+ 'BaseType' => '25015', -+ 'Name' => 'struct ibv_qp_attr*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '34038' => { -+ 'BaseType' => '26700', -+ 'Name' => 'struct ibv_ece*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '4113' => { -+ 'BaseType' => '130', -+ 'Name' => 'int*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '43365' => { -+ 'BaseType' => '32921', -+ 'Name' => 'struct rdma_cm_id**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '45' => { -+ 'BaseType' => '57', -+ 'Header' => undef, -+ 'Line' => '209', -+ 'Name' => 'size_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '4547' => { -+ 'BaseType' => '1214', -+ 'Name' => 'struct sockaddr const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '48543' => { -+ 'BaseType' => '32645', -+ 'Name' => 'struct rdma_cm_event**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '48812' => { -+ 'BaseType' => '32678', -+ 'Name' => 'struct rdma_conn_param*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '51281' => { -+ 'BaseType' => '33221', -+ 'Name' => 'struct rdma_cm_join_mc_attr_ex*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '57' => { -+ 'Name' => 'unsigned long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '64' => { -+ 'Name' => 'unsigned int', -+ 'Size' => '4', -+ 'Type' => 'Intrinsic' -+ }, -+ '71' => { -+ 'BaseType' => '1', -+ 'Name' => 'void*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '72119' => { -+ 'BaseType' => '19171', -+ 'Name' => 'struct ibv_context**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '727' => { -+ 'BaseType' => '192', -+ 'Header' => undef, -+ 'Line' => '77', -+ 'Name' => 'ssize_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '750' => { -+ 'BaseType' => '222', -+ 'Name' => 'char const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '761' => { -+ 'BaseType' => '99', -+ 'Header' => undef, -+ 'Line' => '24', -+ 'Name' => 'uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ }, -+ '773' => { -+ 'BaseType' => '118', -+ 'Header' => undef, -+ 'Line' => '25', -+ 'Name' => 'uint16_t', -+ 'Size' => '2', -+ 'Type' => 'Typedef' -+ }, -+ '78' => { -+ 'Name' => 'unsigned char', -+ 'Size' => '1', -+ 'Type' => 'Intrinsic' -+ }, -+ '785' => { -+ 'BaseType' => '137', -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Name' => 'uint32_t', -+ 'Size' => '4', -+ 'Type' => 'Typedef' -+ }, -+ '7872' => { -+ 'BaseType' => '3116', -+ 'Name' => 'struct rdma_addrinfo**', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '7878' => { -+ 'BaseType' => '3111', -+ 'Name' => 'struct rdma_addrinfo const*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '797' => { -+ 'BaseType' => '156', -+ 'Header' => undef, -+ 'Line' => '27', -+ 'Name' => 'uint64_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '81991' => { -+ 'BaseType' => '149', -+ 'Header' => undef, -+ 'Line' => '162', -+ 'Name' => '__suseconds_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '82081' => { -+ 'BaseType' => '168', -+ 'Header' => undef, -+ 'Line' => '85', -+ 'Name' => 'off_t', -+ 'Size' => '8', -+ 'Type' => 'Typedef' -+ }, -+ '82129' => { -+ 'Header' => undef, -+ 'Line' => '8', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'tv_sec', -+ 'offset' => '0', -+ 'type' => '15524' -+ }, -+ '1' => { -+ 'name' => 'tv_usec', -+ 'offset' => '8', -+ 'type' => '81991' -+ } -+ }, -+ 'Name' => 'struct timeval', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '82956' => { -+ 'Header' => undef, -+ 'Line' => '26', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'iov_base', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'iov_len', -+ 'offset' => '8', -+ 'type' => '45' -+ } -+ }, -+ 'Name' => 'struct iovec', -+ 'Size' => '16', -+ 'Type' => 'Struct' -+ }, -+ '82996' => { -+ 'BaseType' => '82956', -+ 'Name' => 'struct iovec const', -+ 'Size' => '16', -+ 'Type' => 'Const' -+ }, -+ '83402' => { -+ 'Header' => undef, -+ 'Line' => '257', -+ 'Memb' => { -+ '0' => { -+ 'name' => 'msg_name', -+ 'offset' => '0', -+ 'type' => '71' -+ }, -+ '1' => { -+ 'name' => 'msg_namelen', -+ 'offset' => '8', -+ 'type' => '1073' -+ }, -+ '2' => { -+ 'name' => 'msg_iov', -+ 'offset' => '16', -+ 'type' => '83520' -+ }, -+ '3' => { -+ 'name' => 'msg_iovlen', -+ 'offset' => '24', -+ 'type' => '45' -+ }, -+ '4' => { -+ 'name' => 'msg_control', -+ 'offset' => '32', -+ 'type' => '71' -+ }, -+ '5' => { -+ 'name' => 'msg_controllen', -+ 'offset' => '40', -+ 'type' => '45' -+ }, -+ '6' => { -+ 'name' => 'msg_flags', -+ 'offset' => '48', -+ 'type' => '130' -+ } -+ }, -+ 'Name' => 'struct msghdr', -+ 'Size' => '56', -+ 'Type' => 'Struct' -+ }, -+ '83515' => { -+ 'BaseType' => '83402', -+ 'Name' => 'struct msghdr const', -+ 'Size' => '56', -+ 'Type' => 'Const' -+ }, -+ '83520' => { -+ 'BaseType' => '82956', -+ 'Name' => 'struct iovec*', -+ 'Size' => '8', -+ 'Type' => 'Pointer' -+ }, -+ '85' => { -+ 'Name' => 'unsigned short', -+ 'Size' => '2', -+ 'Type' => 'Intrinsic' -+ }, -+ '985' => { -+ 'Name' => 'unsigned long long', -+ 'Size' => '8', -+ 'Type' => 'Intrinsic' -+ }, -+ '99' => { -+ 'BaseType' => '78', -+ 'Header' => undef, -+ 'Line' => '38', -+ 'Name' => '__uint8_t', -+ 'Size' => '1', -+ 'Type' => 'Typedef' -+ } -+ }, -+ 'UndefinedSymbols' => { -+ 'librdmacm.so.1.3.41.0' => { -+ '_ITM_deregisterTMCloneTable' => 0, -+ '_ITM_registerTMCloneTable' => 0, -+ '__asprintf_chk@GLIBC_2.8' => 0, -+ '__cxa_finalize@GLIBC_2.2.5' => 0, -+ '__errno_location@GLIBC_2.2.5' => 0, -+ '__fdelt_chk@GLIBC_2.15' => 0, -+ '__fxstat@GLIBC_2.2.5' => 0, -+ '__gmon_start__' => 0, -+ '__isoc99_fscanf@GLIBC_2.7' => 0, -+ '__memcpy_chk@GLIBC_2.3.4' => 0, -+ '__stack_chk_fail@GLIBC_2.4' => 0, -+ '__syslog_chk@GLIBC_2.4' => 0, -+ '__tls_get_addr@GLIBC_2.3' => 0, -+ 'bind@GLIBC_2.2.5' => 0, -+ 'calloc@GLIBC_2.2.5' => 0, -+ 'clock_gettime@GLIBC_2.17' => 0, -+ 'close@GLIBC_2.2.5' => 0, -+ 'connect@GLIBC_2.2.5' => 0, -+ 'epoll_create@GLIBC_2.3.2' => 0, -+ 'epoll_ctl@GLIBC_2.3.2' => 0, -+ 'epoll_wait@GLIBC_2.3.2' => 0, -+ 'eventfd@GLIBC_2.7' => 0, -+ 'fclose@GLIBC_2.2.5' => 0, -+ 'fcntl@GLIBC_2.2.5' => 0, -+ 'fopen@GLIBC_2.2.5' => 0, -+ 'free@GLIBC_2.2.5' => 0, -+ 'freeaddrinfo@GLIBC_2.2.5' => 0, -+ 'getaddrinfo@GLIBC_2.2.5' => 0, -+ 'getenv@GLIBC_2.2.5' => 0, -+ 'getpeername@GLIBC_2.2.5' => 0, -+ 'getrandom@GLIBC_2.25' => 0, -+ 'getsockname@GLIBC_2.2.5' => 0, -+ 'ibv_ack_cq_events@IBVERBS_1.1' => 0, -+ 'ibv_alloc_pd@IBVERBS_1.1' => 0, -+ 'ibv_attach_mcast@IBVERBS_1.1' => 0, -+ 'ibv_close_device@IBVERBS_1.1' => 0, -+ 'ibv_copy_ah_attr_from_kern@IBVERBS_1.1' => 0, -+ 'ibv_copy_path_rec_from_kern@IBVERBS_1.0' => 0, -+ 'ibv_copy_qp_attr_from_kern@IBVERBS_1.0' => 0, -+ 'ibv_create_ah@IBVERBS_1.1' => 0, -+ 'ibv_create_comp_channel@IBVERBS_1.0' => 0, -+ 'ibv_create_cq@IBVERBS_1.1' => 0, -+ 'ibv_create_qp@IBVERBS_1.1' => 0, -+ 'ibv_create_srq@IBVERBS_1.1' => 0, -+ 'ibv_dealloc_pd@IBVERBS_1.1' => 0, -+ 'ibv_dereg_mr@IBVERBS_1.1' => 0, -+ 'ibv_destroy_ah@IBVERBS_1.1' => 0, -+ 'ibv_destroy_comp_channel@IBVERBS_1.0' => 0, -+ 'ibv_destroy_cq@IBVERBS_1.1' => 0, -+ 'ibv_destroy_qp@IBVERBS_1.1' => 0, -+ 'ibv_destroy_srq@IBVERBS_1.1' => 0, -+ 'ibv_detach_mcast@IBVERBS_1.1' => 0, -+ 'ibv_free_device_list@IBVERBS_1.1' => 0, -+ 'ibv_get_cq_event@IBVERBS_1.1' => 0, -+ 'ibv_get_device_guid@IBVERBS_1.1' => 0, -+ 'ibv_get_device_index@IBVERBS_1.9' => 0, -+ 'ibv_get_device_list@IBVERBS_1.1' => 0, -+ 'ibv_get_pkey_index@IBVERBS_1.5' => 0, -+ 'ibv_get_sysfs_path@IBVERBS_1.0' => 0, -+ 'ibv_modify_qp@IBVERBS_1.1' => 0, -+ 'ibv_open_device@IBVERBS_1.1' => 0, -+ 'ibv_query_device@IBVERBS_1.1' => 0, -+ 'ibv_query_ece@IBVERBS_1.10' => 0, -+ 'ibv_query_gid@IBVERBS_1.1' => 0, -+ 'ibv_query_port@IBVERBS_1.1' => 0, -+ 'ibv_read_sysfs_file@IBVERBS_1.0' => 0, -+ 'ibv_reg_mr@IBVERBS_1.1' => 0, -+ 'ibv_set_ece@IBVERBS_1.10' => 0, -+ 'in6addr_any@GLIBC_2.2.5' => 0, -+ 'in6addr_loopback@GLIBC_2.2.5' => 0, -+ 'inotify_add_watch@GLIBC_2.4' => 0, -+ 'inotify_init1@GLIBC_2.9' => 0, -+ 'malloc@GLIBC_2.2.5' => 0, -+ 'memcmp@GLIBC_2.2.5' => 0, -+ 'memcpy@GLIBC_2.14' => 0, -+ 'memset@GLIBC_2.2.5' => 0, -+ 'nl_connect' => 0, -+ 'nl_recvmsgs_default' => 0, -+ 'nl_send_auto' => 0, -+ 'nl_send_simple' => 0, -+ 'nl_socket_alloc' => 0, -+ 'nl_socket_disable_auto_ack' => 0, -+ 'nl_socket_disable_msg_peek' => 0, -+ 'nl_socket_free' => 0, -+ 'nl_socket_modify_cb' => 0, -+ 'nl_socket_modify_err_cb' => 0, -+ 'nla_get_string' => 0, -+ 'nla_get_u64' => 0, -+ 'nla_put' => 0, -+ 'nlmsg_alloc_simple' => 0, -+ 'nlmsg_free' => 0, -+ 'nlmsg_hdr' => 0, -+ 'nlmsg_parse' => 0, -+ 'open@GLIBC_2.2.5' => 0, -+ 'poll@GLIBC_2.2.5' => 0, -+ 'posix_memalign@GLIBC_2.2.5' => 0, -+ 'pthread_cond_destroy@GLIBC_2.3.2' => 0, -+ 'pthread_cond_init@GLIBC_2.3.2' => 0, -+ 'pthread_cond_signal@GLIBC_2.3.2' => 0, -+ 'pthread_cond_wait@GLIBC_2.3.2' => 0, -+ 'pthread_create@GLIBC_2.2.5' => 0, -+ 'pthread_join@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_destroy@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_init@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_lock@GLIBC_2.2.5' => 0, -+ 'pthread_mutex_unlock@GLIBC_2.2.5' => 0, -+ 'qsort@GLIBC_2.2.5' => 0, -+ 'rand_r@GLIBC_2.2.5' => 0, -+ 'read@GLIBC_2.2.5' => 0, -+ 'recv@GLIBC_2.2.5' => 0, -+ 'recvfrom@GLIBC_2.2.5' => 0, -+ 'sched_yield@GLIBC_2.2.5' => 0, -+ 'sem_destroy@GLIBC_2.2.5' => 0, -+ 'sem_init@GLIBC_2.2.5' => 0, -+ 'sem_post@GLIBC_2.2.5' => 0, -+ 'sem_wait@GLIBC_2.2.5' => 0, -+ 'send@GLIBC_2.2.5' => 0, -+ 'sendmsg@GLIBC_2.2.5' => 0, -+ 'setsockopt@GLIBC_2.2.5' => 0, -+ 'shutdown@GLIBC_2.2.5' => 0, -+ 'snprintf@GLIBC_2.2.5' => 0, -+ 'socket@GLIBC_2.2.5' => 0, -+ 'socketpair@GLIBC_2.2.5' => 0, -+ 'strdup@GLIBC_2.2.5' => 0, -+ 'strlen@GLIBC_2.2.5' => 0, -+ 'strtol@GLIBC_2.2.5' => 0, -+ 'sysconf@GLIBC_2.2.5' => 0, -+ 'tdelete@GLIBC_2.2.5' => 0, -+ 'tdestroy@GLIBC_2.2.5' => 0, -+ 'tfind@GLIBC_2.2.5' => 0, -+ 'time@GLIBC_2.2.5' => 0, -+ 'timerfd_create@GLIBC_2.8' => 0, -+ 'timerfd_settime@GLIBC_2.8' => 0, -+ 'tsearch@GLIBC_2.2.5' => 0, -+ 'write@GLIBC_2.2.5' => 0 -+ } -+ }, -+ 'WordSize' => '8' -+ }; --- -2.34.1 - diff --git a/0017-mlx5-Adjust-Crypto-BSF-size-if-signature-is-used.patch b/0017-mlx5-Adjust-Crypto-BSF-size-if-signature-is-used.patch deleted file mode 100644 index f0e5a871d77da9e70ef226f2251c9ca06617c4e5..0000000000000000000000000000000000000000 --- a/0017-mlx5-Adjust-Crypto-BSF-size-if-signature-is-used.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 349d850df17e2287bd6b02766e30be79b701cd6e Mon Sep 17 00:00:00 2001 -From: Maher Sanalla -Date: Sun, 19 Jun 2022 13:34:23 +0300 -Subject: mlx5: Adjust Crypto BSF size if signature is used - -[ Upstream commit b38f3439a983f42dd5ac8f93f0813a969720225f ] - -When a Mkey is configured with crypto and signature offload, the crypto -BSF size and signature BSF size should both be set to 128 Bytes. -Currently, when building the crypto BSF, we do not take into account -if signature mode is configured or not, and we set the crypto BSF size to -64 Bytes. - -The situation above does not affect crypto configuration on CX6 HCA, -but will obstruct crypto traffic in more recent HCA's such as -CX6Dx and onwards. - -Thus, check if signature mode is configured when building crypto bsf, -and set the bsf size accordingly. - -Fixes: b5f0a5875380 ("mlx5: Add crypto setter for MKey") -Signed-off-by: Maher Sanalla -Reviewed-by: Avihai Horon -Signed-off-by: Yishai Hadas -Signed-off-by: Nicolas Morey-Chaisemartin ---- - providers/mlx5/qp.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/providers/mlx5/qp.c b/providers/mlx5/qp.c -index d0e5a49..f9f3d1a 100644 ---- a/providers/mlx5/qp.c -+++ b/providers/mlx5/qp.c -@@ -2414,7 +2414,8 @@ static int mlx5_umr_fill_crypto_bsf(struct mlx5_crypto_bsf *crypto_bsf, - - memset(crypto_bsf, 0, sizeof(*crypto_bsf)); - -- crypto_bsf->bsf_size_type |= MLX5_BSF_SIZE_WITH_INLINE -+ crypto_bsf->bsf_size_type |= (block ? MLX5_BSF_SIZE_SIG_AND_CRYPTO : -+ MLX5_BSF_SIZE_WITH_INLINE) - << MLX5_BSF_SIZE_SHIFT; - crypto_bsf->bsf_size_type |= MLX5_BSF_TYPE_CRYPTO; - order = get_crypto_order(attr->encrypt_on_tx, --- -2.34.1 - diff --git a/0018-mlx5-DR-Fix-missing-comma-in-matcher-builder-dump-li.patch b/0018-mlx5-DR-Fix-missing-comma-in-matcher-builder-dump-li.patch deleted file mode 100644 index ecef7d696f0b3fe2d846132a0984b51eeafa7505..0000000000000000000000000000000000000000 --- a/0018-mlx5-DR-Fix-missing-comma-in-matcher-builder-dump-li.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 202637191a96aa1b8f1ee841d71ac8abdfad82bc Mon Sep 17 00:00:00 2001 -From: Muhammad Sammar -Date: Tue, 21 Jun 2022 12:30:39 +0300 -Subject: mlx5: DR, Fix missing comma in matcher builder dump line - -[ Upstream commit f50b33a69f12024d0b998d5d5062656a6aee6a92 ] - -Add missing comma to matcher builder dump line. - -Fixes: 6a1f3b4baa2e ("mlx5: Add support for dr_matcher to the steering dump API") -Reviewed-by: Erez Shitrit -Signed-off-by: Muhammad Sammar -Signed-off-by: Yishai Hadas -Signed-off-by: Nicolas Morey-Chaisemartin ---- - providers/mlx5/dr_dbg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/providers/mlx5/dr_dbg.c b/providers/mlx5/dr_dbg.c -index 1e82e25..62e3f36 100644 ---- a/providers/mlx5/dr_dbg.c -+++ b/providers/mlx5/dr_dbg.c -@@ -410,7 +410,7 @@ static int dr_dump_matcher_builder(FILE *f, struct dr_ste_build *builder, - bool is_match = builder->htbl_type == DR_STE_HTBL_TYPE_MATCH; - int ret; - -- ret = fprintf(f, "%d,0x%" PRIx64 "%d,%d,0x%x,%d\n", -+ ret = fprintf(f, "%d,0x%" PRIx64 ",%d,%d,0x%x,%d\n", - DR_DUMP_REC_TYPE_MATCHER_BUILDER, - matcher_id, - index, --- -2.34.1 - diff --git a/0019-Install-xprtrdma-svcrdma-kmods-in-redhat-suse-dracut.patch b/0019-Install-xprtrdma-svcrdma-kmods-in-redhat-suse-dracut.patch deleted file mode 100644 index 5e9510ff845be8fd725a34de4dc795794e7f8cd4..0000000000000000000000000000000000000000 --- a/0019-Install-xprtrdma-svcrdma-kmods-in-redhat-suse-dracut.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f6aa0ecbe50a3141d6a3a03f0282df3ec96b76df Mon Sep 17 00:00:00 2001 -From: Benjamin Gilbert -Date: Tue, 16 Aug 2022 23:20:45 -0400 -Subject: Install xprtrdma/svcrdma kmods in redhat/suse dracut modules - -[ Upstream commit aa40d6dab34d2a465e520ddb13858bd47c7b1c06 ] - -The rdma dracut module installs udev rules that can cause -rdma-load-modules@rdma.service to load kernel modules listed in rdma.conf. -That file mentions the xprtrdma and svcrdma modules (both of which are -aliases for rpcrdma in kernel 5.18) but the dracut module doesn't install -them in the initrd. If they're not installed by other means, this causes -warnings in the journal: - - systemd-modules-load[...]: Failed to find module 'xprtrdma' - systemd-modules-load[...]: Failed to find module 'svcrdma' - -Before systemd 244, it also causes rdma-load-modules@rdma.service to fail -entirely. - -Fix by explicitly installing those modules in the initrd. - -See also https://bugzilla.redhat.com/show_bug.cgi?id=2117375. - -Fixes: 8bb38f6cb1b2 ("redhat: update dracut setting") -Fixes: 775241089e26 ("suse: fix dracut support") -Signed-off-by: Benjamin Gilbert -Signed-off-by: Nicolas Morey-Chaisemartin ---- - redhat/rdma.modules-setup.sh | 2 +- - suse/module-setup.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/redhat/rdma.modules-setup.sh b/redhat/rdma.modules-setup.sh -index 1dabb5d..4dab750 100644 ---- a/redhat/rdma.modules-setup.sh -+++ b/redhat/rdma.modules-setup.sh -@@ -29,5 +29,5 @@ install() { - - installkernel() { - hostonly='' instmods =drivers/infiniband =drivers/net/ethernet/mellanox =drivers/net/ethernet/chelsio =drivers/net/ethernet/cisco =drivers/net/ethernet/emulex =drivers/target -- hostonly='' instmods crc-t10dif crct10dif_common -+ hostonly='' instmods crc-t10dif crct10dif_common xprtrdma svcrdma - } -diff --git a/suse/module-setup.sh b/suse/module-setup.sh -index 26419bf..1e5c517 100644 ---- a/suse/module-setup.sh -+++ b/suse/module-setup.sh -@@ -27,5 +27,5 @@ install() { - - installkernel() { - hostonly='' instmods =drivers/infiniband =drivers/net/ethernet/mellanox =drivers/net/ethernet/chelsio =drivers/net/ethernet/cisco =drivers/net/ethernet/emulex =drivers/target -- hostonly='' instmods crc-t10dif crct10dif_common -+ hostonly='' instmods crc-t10dif crct10dif_common xprtrdma svcrdma - } --- -2.34.1 - diff --git a/0020-providers-irdma-Explicitly-set-QP-modify-attributes-.patch b/0020-providers-irdma-Explicitly-set-QP-modify-attributes-.patch deleted file mode 100644 index 108b6e482288a0afab92a578a74e0d56580f5a41..0000000000000000000000000000000000000000 --- a/0020-providers-irdma-Explicitly-set-QP-modify-attributes-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 94b468fad35b00bd43d28b9e680a4921baaf75c4 Mon Sep 17 00:00:00 2001 -From: Sindhu-Devale -Date: Thu, 8 Sep 2022 15:44:12 -0400 -Subject: providers/irdma: Explicitly set QP modify attributes for reflush - -[ Upstream commit 1ffbbce65e60ee031be70a2bfb6ec319306e4378 ] - -irdma issues a reflush via a modify QP to ERROR op to report completions for -WR's posted once the QP is in error state. - -However, this reflush modify attributes is incorrectly keyed off the last QP -QP attributes by an application which might or might not be a modify to error. -In the later case, a flush WQE is missed. - -Explicitly set the attr.qp_state and attr_mask during a reflush modify -to move the QP to error state once its in error state. Remove ibv_qp -attributes from irdma_uqp struct - -Fixes: 14a0fc8 ("rdma-core/irdma: Implement device supported verb APIs") -Signed-off-by: Shiraz Saleem -Signed-off-by: Tatyana Nikolova -Signed-off-by: Sindhu-Devale -Signed-off-by: Nicolas Morey-Chaisemartin ---- - providers/irdma/umain.h | 2 -- - providers/irdma/uverbs.c | 9 +++------ - 2 files changed, 3 insertions(+), 8 deletions(-) - -diff --git a/providers/irdma/umain.h b/providers/irdma/umain.h -index 9e802fd..109e2f1 100644 ---- a/providers/irdma/umain.h -+++ b/providers/irdma/umain.h -@@ -88,7 +88,6 @@ struct irdma_ucq { - - struct irdma_uqp { - struct ibv_qp ibv_qp; -- struct ibv_qp_attr attr; - struct irdma_ucq *send_cq; - struct irdma_ucq *recv_cq; - struct verbs_mr vmr; -@@ -103,7 +102,6 @@ struct irdma_uqp { - struct ibv_recv_wr *pend_rx_wr; - struct irdma_qp_uk qp; - enum ibv_qp_type qp_type; -- enum ibv_qp_attr_mask attr_mask; - struct irdma_sge *recv_sges; - }; - -diff --git a/providers/irdma/uverbs.c b/providers/irdma/uverbs.c -index 040b4ec..c2b326d 100644 ---- a/providers/irdma/uverbs.c -+++ b/providers/irdma/uverbs.c -@@ -1416,12 +1416,9 @@ int irdma_umodify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask) - struct irdma_uvcontext *iwctx; - struct irdma_uqp *iwuqp; - -- - iwuqp = container_of(qp, struct irdma_uqp, ibv_qp); - iwctx = container_of(qp->context, struct irdma_uvcontext, - ibv_ctx.context); -- iwuqp->attr_mask = attr_mask; -- memcpy(&iwuqp->attr, attr, sizeof(iwuqp->attr)); - - if (iwuqp->qp.qp_caps & IRDMA_PUSH_MODE && - attr_mask & IBV_QP_STATE && iwctx->uk_attrs.hw_rev > IRDMA_GEN_1) { -@@ -1464,13 +1461,13 @@ static void irdma_issue_flush(struct ibv_qp *qp, bool sq_flush, bool rq_flush) - { - struct ib_uverbs_ex_modify_qp_resp resp = {}; - struct irdma_umodify_qp cmd_ex = {}; -- struct irdma_uqp *iwuqp; -+ struct ibv_qp_attr attr = {}; - -+ attr.qp_state = IBV_QPS_ERR; - cmd_ex.sq_flush = sq_flush; - cmd_ex.rq_flush = rq_flush; -- iwuqp = container_of(qp, struct irdma_uqp, ibv_qp); - -- ibv_cmd_modify_qp_ex(qp, &iwuqp->attr, iwuqp->attr_mask, -+ ibv_cmd_modify_qp_ex(qp, &attr, IBV_QP_STATE, - &cmd_ex.ibv_cmd, sizeof(cmd_ex), - &resp, sizeof(resp)); - } --- -2.34.1 - diff --git a/0021-providers-irdma-Use-s-g-array-in-post-send-only-when.patch b/0021-providers-irdma-Use-s-g-array-in-post-send-only-when.patch deleted file mode 100644 index be9d4af5104fe3ac22d50e5b93233b39ac916121..0000000000000000000000000000000000000000 --- a/0021-providers-irdma-Use-s-g-array-in-post-send-only-when.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 660ac56e1ee71a177554432e9b9994aea1bdd0d4 Mon Sep 17 00:00:00 2001 -From: Sindhu-Devale -Date: Thu, 8 Sep 2022 17:22:32 -0400 -Subject: providers/irdma: Use s/g array in post send only when its valid - -[ Upstream commit 7bc6e3b49cdac9776e740e9d886e3676524996f8 ] - -Send with invalidate verb call can pass in an -uninitialized s/g array with 0 sge's which is -filled into irdma WQE and causes a HW asynchronous event. - -Fix this by using the s/g array in irdma post send only when its valid. - -Fixes: 3bebdf5 ("rdma-core/irdma: Add user/kernel shared libraries") -Signed-off-by: Tatyana Nikolova tatyana.e.nikolova@intel.com -Signed-off-by: Sindhu-Devale -Signed-off-by: Nicolas Morey-Chaisemartin ---- - providers/irdma/uk.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/providers/irdma/uk.c b/providers/irdma/uk.c -index beda34b..43ea45a 100644 ---- a/providers/irdma/uk.c -+++ b/providers/irdma/uk.c -@@ -476,7 +476,8 @@ enum irdma_status_code irdma_uk_send(struct irdma_qp_uk *qp, - FIELD_PREP(IRDMAQPSQ_IMMDATA, info->imm_data)); - i = 0; - } else { -- qp->wqe_ops.iw_set_fragment(wqe, 0, op_info->sg_list, -+ qp->wqe_ops.iw_set_fragment(wqe, 0, -+ frag_cnt ? op_info->sg_list : NULL, - qp->swqe_polarity); - i = 1; - } --- -2.34.1 - diff --git a/0022-providers-irdma-Report-correct-WC-errors.patch b/0022-providers-irdma-Report-correct-WC-errors.patch deleted file mode 100644 index 97f4292db59acade2d535749e879c07afa603fb6..0000000000000000000000000000000000000000 --- a/0022-providers-irdma-Report-correct-WC-errors.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b3dd8cf57c07055372f93aba508572274a59f7b5 Mon Sep 17 00:00:00 2001 -From: Sindhu-Devale -Date: Thu, 8 Sep 2022 17:39:40 -0400 -Subject: providers/irdma: Report correct WC errors - -[ Upstream commit 7f9761eb541413bf113a6ba841791bd5fd47872e ] - -Return specific WC errors for certain type of error -events. - -In particular, - -Return IBV_WC_REM_INV_REQ_ERR for an invalid -request related asynchronous event. - -Fixes: 14a0fc8 ("rdma-core/irdma: Implement device supported verb APIs") -Signed-off-by: Tatyana Nikolova -Signed-off-by: Sindhu-Devale -Signed-off-by: Nicolas Morey-Chaisemartin ---- - providers/irdma/user.h | 1 + - providers/irdma/uverbs.c | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/providers/irdma/user.h b/providers/irdma/user.h -index 2506d48..f8bbc27 100644 ---- a/providers/irdma/user.h -+++ b/providers/irdma/user.h -@@ -106,6 +106,7 @@ enum irdma_flush_opcode { - FLUSH_FATAL_ERR, - FLUSH_RETRY_EXC_ERR, - FLUSH_MW_BIND_ERR, -+ FLUSH_REM_INV_REQ_ERR, - }; - - enum irdma_cmpl_status { -diff --git a/providers/irdma/uverbs.c b/providers/irdma/uverbs.c -index c2b326d..1b36bca 100644 ---- a/providers/irdma/uverbs.c -+++ b/providers/irdma/uverbs.c -@@ -560,6 +560,8 @@ static enum ibv_wc_status irdma_flush_err_to_ib_wc_status(enum irdma_flush_opcod - return IBV_WC_RETRY_EXC_ERR; - case FLUSH_MW_BIND_ERR: - return IBV_WC_MW_BIND_ERR; -+ case FLUSH_REM_INV_REQ_ERR: -+ return IBV_WC_REM_INV_REQ_ERR; - case FLUSH_FATAL_ERR: - default: - return IBV_WC_FATAL_ERR; --- -2.34.1 - diff --git a/0023-pyverbs-Increment-the-correct-rkey-in-test_qpex.patch b/0023-pyverbs-Increment-the-correct-rkey-in-test_qpex.patch deleted file mode 100644 index 4f199203d79a7385aa8a8cba8bcd2dde52e0d920..0000000000000000000000000000000000000000 --- a/0023-pyverbs-Increment-the-correct-rkey-in-test_qpex.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ef27ae99376e5b672c12e856fb72c2d94d8d2cf5 Mon Sep 17 00:00:00 2001 -From: Bob Pearson -Date: Thu, 19 May 2022 10:58:11 -0500 -Subject: pyverbs: Increment the correct rkey in test_qpex - -[ Upstream commit 0c4d91db686ef4e4364aae2514d22e8462335bd9 ] - -The local bind is manipulating the local rkey, not the server rkey. Bind -doesn't check that the high bits are correct so this was missed. - -Fixes: 9fca2824b5ec ("tests: Retrieve tests that generates mlx5 CQE errors") -Signed-off-by: Bob Pearson -Signed-off-by: Jason Gunthorpe -Signed-off-by: Nicolas Morey-Chaisemartin ---- - tests/test_qpex.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_qpex.py b/tests/test_qpex.py -index 8f3f338..a4c9991 100644 ---- a/tests/test_qpex.py -+++ b/tests/test_qpex.py -@@ -300,7 +300,7 @@ class QpExTestCase(RDMATestCase): - if ex.error_code == errno.EOPNOTSUPP: - raise unittest.SkipTest('Memory Window allocation is not supported') - raise ex -- new_key = inc_rkey(server.mr.rkey) -+ new_key = inc_rkey(mw.rkey) - server.qp.wr_bind_mw(mw, new_key, bind_info) - server.qp.wr_complete() - u.poll_cq(server.cq) --- -2.34.1 - diff --git a/0024-mckey-Use-rdma_create_qp_ex-only-for-loopback-preven.patch b/0024-mckey-Use-rdma_create_qp_ex-only-for-loopback-preven.patch deleted file mode 100644 index 7db091719cd287378c6f17f74d29c4ce9a1b9b38..0000000000000000000000000000000000000000 --- a/0024-mckey-Use-rdma_create_qp_ex-only-for-loopback-preven.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 080f7181a2b4d2316d03c702f65640d6e8b1031e Mon Sep 17 00:00:00 2001 -From: Kamal Heib -Date: Mon, 19 Sep 2022 11:39:15 -0400 -Subject: mckey: Use rdma_create_qp_ex only for loopback prevention - -[ Upstream commit 926a1158e33d78573859f5dfea399f7a7edcf11f ] - -As not all the providers support the rdma_create_qp_ex(), change the -code to use rdma_create_qp_ex() only when loopback prevention is requested. - -Fixes: 40806cc22936 ("rdma-core: Add support for multicast loopback prevention to mckey") -Signed-off-by: Kamal Heib -Signed-off-by: Nicolas Morey-Chaisemartin ---- - librdmacm/examples/mckey.c | 48 +++++++++++++++++++++++++------------- - 1 file changed, 32 insertions(+), 16 deletions(-) - -diff --git a/librdmacm/examples/mckey.c b/librdmacm/examples/mckey.c -index 7015ed2..6df53a2 100644 ---- a/librdmacm/examples/mckey.c -+++ b/librdmacm/examples/mckey.c -@@ -134,7 +134,8 @@ static int verify_test_params(struct cmatest_node *node) - static int init_node(struct cmatest_node *node) - { - struct ibv_qp_init_attr_ex init_qp_attr_ex; -- int cqe, ret; -+ struct ibv_qp_init_attr init_qp_attr; -+ int cqe, ret = 0; - - node->pd = ibv_alloc_pd(node->cma_id->verbs); - if (!node->pd) { -@@ -151,23 +152,38 @@ static int init_node(struct cmatest_node *node) - goto out; - } - -- memset(&init_qp_attr_ex, 0, sizeof(init_qp_attr_ex)); -- init_qp_attr_ex.cap.max_send_wr = message_count ? message_count : 1; -- init_qp_attr_ex.cap.max_recv_wr = message_count ? message_count : 1; -- init_qp_attr_ex.cap.max_send_sge = 1; -- init_qp_attr_ex.cap.max_recv_sge = 1; -- init_qp_attr_ex.qp_context = node; -- init_qp_attr_ex.sq_sig_all = 0; -- init_qp_attr_ex.qp_type = IBV_QPT_UD; -- init_qp_attr_ex.send_cq = node->cq; -- init_qp_attr_ex.recv_cq = node->cq; -- -- init_qp_attr_ex.comp_mask = IBV_QP_INIT_ATTR_CREATE_FLAGS|IBV_QP_INIT_ATTR_PD; -- init_qp_attr_ex.pd = node->pd; -- if (!loopback) -+ memset(&init_qp_attr, 0, sizeof init_qp_attr); -+ init_qp_attr.cap.max_send_wr = message_count ? message_count : 1; -+ init_qp_attr.cap.max_recv_wr = message_count ? message_count : 1; -+ init_qp_attr.cap.max_send_sge = 1; -+ init_qp_attr.cap.max_recv_sge = 1; -+ init_qp_attr.qp_context = node; -+ init_qp_attr.sq_sig_all = 0; -+ init_qp_attr.qp_type = IBV_QPT_UD; -+ init_qp_attr.send_cq = node->cq; -+ init_qp_attr.recv_cq = node->cq; -+ -+ if (!loopback) { -+ memset(&init_qp_attr_ex, 0, sizeof(init_qp_attr_ex)); -+ init_qp_attr_ex.cap.max_send_wr = message_count ? message_count : 1; -+ init_qp_attr_ex.cap.max_recv_wr = message_count ? message_count : 1; -+ init_qp_attr_ex.cap.max_send_sge = 1; -+ init_qp_attr_ex.cap.max_recv_sge = 1; -+ init_qp_attr_ex.qp_context = node; -+ init_qp_attr_ex.sq_sig_all = 0; -+ init_qp_attr_ex.qp_type = IBV_QPT_UD; -+ init_qp_attr_ex.send_cq = node->cq; -+ init_qp_attr_ex.recv_cq = node->cq; -+ -+ init_qp_attr_ex.comp_mask = IBV_QP_INIT_ATTR_CREATE_FLAGS|IBV_QP_INIT_ATTR_PD; -+ init_qp_attr_ex.pd = node->pd; - init_qp_attr_ex.create_flags = IBV_QP_CREATE_BLOCK_SELF_MCAST_LB; - -- ret = rdma_create_qp_ex(node->cma_id, &init_qp_attr_ex); -+ ret = rdma_create_qp_ex(node->cma_id, &init_qp_attr_ex); -+ } else { -+ ret = rdma_create_qp(node->cma_id, node->pd, &init_qp_attr); -+ } -+ - if (ret) { - perror("mckey: unable to create QP"); - goto out; --- -2.34.1 - diff --git a/0025-Fix-spelling-mistake-of-underlying.patch b/0025-Fix-spelling-mistake-of-underlying.patch deleted file mode 100644 index a3a5486f78b782079d90df82a147cae1a09efdcf..0000000000000000000000000000000000000000 --- a/0025-Fix-spelling-mistake-of-underlying.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3e56594215ccce88b89638ec16480d970776e3fb Mon Sep 17 00:00:00 2001 -From: Benjamin Drung -Date: Tue, 27 Sep 2022 12:01:14 +0200 -Subject: Fix spelling mistake of underlying - -[ Upstream commit 47f3a9fd706c4a407b7bbea12ffd16edd120883e ] - -Fixes: cc6eb6dd7b73 ("pyverbs: Add support for memory window creation") -Signed-off-by: Benjamin Drung -Signed-off-by: Nicolas Morey-Chaisemartin ---- - pyverbs/mr.pyx | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/pyverbs/mr.pyx b/pyverbs/mr.pyx -index 72bb181..e7f5f52 100644 ---- a/pyverbs/mr.pyx -+++ b/pyverbs/mr.pyx -@@ -314,10 +314,10 @@ cdef class MW(PyverbsCM): - - cpdef close(self): - """ -- Closes the underlaying C MW object. -+ Closes the underlying C MW object. - MW may be deleted directly or by deleting its PD, which leaves the -- Python object without the underlaying MW. -- Need to check that the underlaying MW wasn't dealloced before. -+ Python object without the underlying MW. -+ Need to check that the underlying MW wasn't dealloced before. - :return: None - """ - if self.mw is not NULL: --- -2.34.1 - diff --git a/0026-rdma-ndd-disable-systemd-ProtectHostName-feature.patch b/0026-rdma-ndd-disable-systemd-ProtectHostName-feature.patch deleted file mode 100644 index 247e2d5fc70e9958d9fa99cde3c9a445c98082fa..0000000000000000000000000000000000000000 --- a/0026-rdma-ndd-disable-systemd-ProtectHostName-feature.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1a2cad26263190460ed211329d040cb1da8d7ac2 Mon Sep 17 00:00:00 2001 -From: Nicolas Morey-Chaisemartin -Date: Thu, 13 Oct 2022 09:49:12 +0200 -Subject: rdma-ndd: disable systemd ProtectHostName feature - -[ Upstream commit 57637df8dd6b92b4bcd3e04cea476012901526d0 ] - -ProtectHostName prevents dynamic name changes to be noticed by the service. -This means that on a system with no static hostname, rdma-ndd is started with -a hostname 'localhost' and is not aware of new hostname retreived -through a DHCP lease. - -Fixes: 384b75b5f624 ("rdma-ndd: systemd hardening") -Signed-off-by: Nicolas Morey-Chaisemartin ---- - rdma-ndd/rdma-ndd.service.in | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/rdma-ndd/rdma-ndd.service.in b/rdma-ndd/rdma-ndd.service.in -index e3f8d11..368deec 100644 ---- a/rdma-ndd/rdma-ndd.service.in -+++ b/rdma-ndd/rdma-ndd.service.in -@@ -22,7 +22,6 @@ Restart=always - ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/rdma-ndd --systemd - ProtectSystem=full - ProtectHome=true --ProtectHostname=true - ProtectKernelLogs=true - - # rdma-ndd is automatically wanted by udev when an RDMA device with a node description is present --- -2.34.1 - diff --git a/0027-libhns-Add-RoH-device-IDs.patch b/0027-libhns-Add-RoH-device-IDs.patch deleted file mode 100644 index fe5956aff058fb7f14302cc5ccb123ed8889081c..0000000000000000000000000000000000000000 --- a/0027-libhns-Add-RoH-device-IDs.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0fcebb18e318cb0af02afa055f4357ba3002280b Mon Sep 17 00:00:00 2001 -From: Lang Cheng -Date: Fri, 9 Oct 2020 11:14:39 +0800 -Subject: libhns: Add RoH device IDs - -Add RoH device IDs. -0xA227 is a 100Gb/s RoH device, and it was mistakenly added before. -0xA22C is a 200Gb/s RoH device. -0xA22D is a 400Gb/s RoH device. - -Fixes:a0f8a069799e("libhns: Add new PCI device matching for hip08") - -Signed-off-by: Lang Cheng ---- - providers/hns/hns_roce_u.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 266e73e..60b3fe1 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -53,6 +53,8 @@ static const struct verbs_match_ent hca_table[] = { - VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA226, &hns_roce_u_hw_v2), - VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA227, &hns_roce_u_hw_v2), - VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA228, &hns_roce_u_hw_v2), -+ VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA22C, &hns_roce_u_hw_v2), -+ VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA22D, &hns_roce_u_hw_v2), - VERBS_PCI_MATCH(PCI_VENDOR_ID_HUAWEI, 0xA22F, &hns_roce_u_hw_v2), - {} - }; --- -2.30.0 - diff --git a/0028-Update-kernel-headers.patch b/0028-Update-kernel-headers.patch deleted file mode 100644 index 90daaf9ebc8cf2e45e246302e8fa828d436200d5..0000000000000000000000000000000000000000 --- a/0028-Update-kernel-headers.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4050da82f772478e1ebbcc6bd1971ecfa07399ad Mon Sep 17 00:00:00 2001 -From: Guofeng Yue -Date: Mon, 17 Oct 2022 11:12:15 +0800 -Subject: Update kernel headers - -To commit ?? ("RDMA/hns: Pass mac type to user driver for RoH mode"). - -Signed-off-by: Guofeng Yue ---- - kernel-headers/rdma/hns-abi.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index 542be5e..9866c51 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -116,6 +116,8 @@ struct hns_roce_ib_alloc_ucontext_resp { - __u32 reserved; - __u32 config; - __u32 max_inline_data; -+ __u8 mac_type; -+ __u8 rsv1[7]; - }; - - struct hns_roce_ib_alloc_ucontext { --- -2.30.0 - diff --git a/0029-libhns-Add-the-parsing-of-mac-type-in-RoH-mode.patch b/0029-libhns-Add-the-parsing-of-mac-type-in-RoH-mode.patch deleted file mode 100644 index 4c82033a2a5fdc57848a7cef6b56ac8aec0b56e5..0000000000000000000000000000000000000000 --- a/0029-libhns-Add-the-parsing-of-mac-type-in-RoH-mode.patch +++ /dev/null @@ -1,79 +0,0 @@ -From f4626313eea2c78a8fac4b007b08533371ce1501 Mon Sep 17 00:00:00 2001 -From: Guofeng Yue -Date: Tue, 13 Sep 2022 20:09:27 +0800 -Subject: libhns: Add the parsing of mac type in RoH mode - -After parsing the mac type as RoH mode, the user driver -needs to set the dmac field of ud wqe to 0xFF, the hardware -will recognize this field, and increase the recognition of -the IP field in RoH mode, which is used for the CM link -building function in user mode. - -Signed-off-by: Yangyang Li -Signed-off-by: Guofeng Yue ---- - providers/hns/hns_roce_u.c | 2 ++ - providers/hns/hns_roce_u.h | 6 ++++++ - providers/hns/hns_roce_u_hw_v2.c | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 60b3fe1..20e3698 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -121,6 +121,8 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - &resp.ibv_resp, sizeof(resp))) - goto err_free; - -+ hr_dev->mac_type = resp.mac_type; -+ - if (!resp.cqe_size) - context->cqe_size = HNS_ROCE_CQE_SIZE; - else if (resp.cqe_size <= HNS_ROCE_V3_CQE_SIZE) -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 8c1cb1e..623be79 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -153,11 +153,17 @@ - #define HNS_ROCE_SRQ_TABLE_BITS 8 - #define HNS_ROCE_SRQ_TABLE_SIZE BIT(HNS_ROCE_SRQ_TABLE_BITS) - -+enum { -+ HNAE3_MAC_ETH, -+ HNAE3_MAC_ROH, -+}; -+ - struct hns_roce_device { - struct verbs_device ibv_dev; - int page_size; - const struct hns_roce_u_hw *u_hw; - int hw_version; -+ uint8_t mac_type; - }; - - struct hns_roce_buf { -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index c652eea..b0c3109 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -1068,6 +1068,7 @@ static inline void enable_wqe(struct hns_roce_qp *qp, void *sq_wqe, - static int set_ud_wqe(void *wqe, struct hns_roce_qp *qp, struct ibv_send_wr *wr, - unsigned int nreq, struct hns_roce_sge_info *sge_info) - { -+ struct hns_roce_device *hr_dev = to_hr_dev(qp->verbs_qp.qp.context->device); - struct hns_roce_ah *ah = to_hr_ah(wr->wr.ud.ah); - struct hns_roce_ud_sq_wqe *ud_sq_wqe = wqe; - int ret = 0; -@@ -1092,6 +1093,9 @@ static int set_ud_wqe(void *wqe, struct hns_roce_qp *qp, struct ibv_send_wr *wr, - if (ret) - return ret; - -+ if (hr_dev->mac_type == HNAE3_MAC_ROH) -+ ud_sq_wqe->dmac[0] = 0xFF; -+ - ret = fill_ud_data_seg(ud_sq_wqe, qp, wr, sge_info); - if (ret) - return ret; --- -2.30.0 - diff --git a/0030-libhns-Add-support-for-the-thread-domain-and-the-par.patch b/0030-libhns-Add-support-for-the-thread-domain-and-the-par.patch deleted file mode 100644 index 57262073f12e69ff1db61e9d1e7314cf5b1be5d3..0000000000000000000000000000000000000000 --- a/0030-libhns-Add-support-for-the-thread-domain-and-the-par.patch +++ /dev/null @@ -1,835 +0,0 @@ -From 812372fadc96c6c59d460d84cdc72d60014f220d Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Mon, 27 Jun 2022 14:52:04 +0800 -Subject: [PATCH rdma-core] libhns: Add support for the thread domain and the parent domain - -Internal locks will be disabled for queues under the -thread domain with the parent domain. - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63NGA - ------------------------------------------------------------------- - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 5 +- - providers/hns/hns_roce_u.h | 75 ++++++++- - providers/hns/hns_roce_u_hw_v2.c | 77 ++++----- - providers/hns/hns_roce_u_verbs.c | 267 ++++++++++++++++++++++++++++--- - 4 files changed, 357 insertions(+), 67 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 266e73e..e3c72bb 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -67,7 +67,7 @@ static const struct verbs_context_ops hns_common_ops = { - .create_qp = hns_roce_u_create_qp, - .create_qp_ex = hns_roce_u_create_qp_ex, - .dealloc_mw = hns_roce_u_dealloc_mw, -- .dealloc_pd = hns_roce_u_free_pd, -+ .dealloc_pd = hns_roce_u_dealloc_pd, - .dereg_mr = hns_roce_u_dereg_mr, - .destroy_cq = hns_roce_u_destroy_cq, - .modify_cq = hns_roce_u_modify_cq, -@@ -88,6 +88,9 @@ static const struct verbs_context_ops hns_common_ops = { - .close_xrcd = hns_roce_u_close_xrcd, - .open_qp = hns_roce_u_open_qp, - .get_srq_num = hns_roce_u_get_srq_num, -+ .alloc_td = hns_roce_u_alloc_td, -+ .dealloc_td = hns_roce_u_dealloc_td, -+ .alloc_parent_domain = hns_roce_u_alloc_pad, - }; - - static uint32_t calc_table_shift(uint32_t entry_count, uint32_t size_shift) -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 8c1cb1e..8181da7 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -188,6 +188,11 @@ struct hns_roce_db_page { - unsigned long *bitmap; - }; - -+struct hns_roce_spinlock { -+ pthread_spinlock_t lock; -+ int need_lock; -+}; -+ - struct hns_roce_context { - struct verbs_context ibv_ctx; - void *uar; -@@ -222,15 +227,27 @@ struct hns_roce_context { - unsigned int max_inline_data; - }; - -+struct hns_roce_td { -+ struct ibv_td ibv_td; -+ atomic_int refcount; -+}; -+ - struct hns_roce_pd { - struct ibv_pd ibv_pd; - unsigned int pdn; -+ atomic_int refcount; -+ struct hns_roce_pd *protection_domain; -+}; -+ -+struct hns_roce_pad { -+ struct hns_roce_pd pd; -+ struct hns_roce_td *td; - }; - - struct hns_roce_cq { - struct verbs_cq verbs_cq; - struct hns_roce_buf buf; -- pthread_spinlock_t lock; -+ struct hns_roce_spinlock hr_lock; - unsigned int cqn; - unsigned int cq_depth; - unsigned int cons_index; -@@ -266,7 +283,7 @@ struct hns_roce_srq { - struct hns_roce_idx_que idx_que; - struct hns_roce_buf wqe_buf; - struct hns_roce_rinl_buf srq_rinl_buf; -- pthread_spinlock_t lock; -+ struct hns_roce_spinlock hr_lock; - unsigned long *wrid; - unsigned int srqn; - unsigned int wqe_cnt; -@@ -279,7 +296,7 @@ struct hns_roce_srq { - - struct hns_roce_wq { - unsigned long *wrid; -- pthread_spinlock_t lock; -+ struct hns_roce_spinlock hr_lock; - unsigned int wqe_cnt; - int max_post; - unsigned int head; -@@ -397,9 +414,35 @@ static inline struct hns_roce_context *to_hr_ctx(struct ibv_context *ibv_ctx) - return container_of(ibv_ctx, struct hns_roce_context, ibv_ctx.context); - } - -+static inline struct hns_roce_td *to_hr_td(struct ibv_td *ibv_td) -+{ -+ return container_of(ibv_td, struct hns_roce_td, ibv_td); -+} -+ -+/* to_hr_pd always returns the real hns_roce_pd obj. */ - static inline struct hns_roce_pd *to_hr_pd(struct ibv_pd *ibv_pd) - { -- return container_of(ibv_pd, struct hns_roce_pd, ibv_pd); -+ struct hns_roce_pd *pd = -+ container_of(ibv_pd, struct hns_roce_pd, ibv_pd); -+ -+ if (pd->protection_domain) -+ return pd->protection_domain; -+ -+ return pd; -+} -+ -+static inline struct hns_roce_pad *to_hr_pad(struct ibv_pd *ibv_pd) -+{ -+ struct hns_roce_pad *pad = -+ ibv_pd ? -+ container_of(ibv_pd, struct hns_roce_pad, pd.ibv_pd) : -+ NULL; -+ -+ if (pad && pad->pd.protection_domain) -+ return pad; -+ -+ /* Otherwise ibv_pd isn't a parent_domain */ -+ return NULL; - } - - static inline struct hns_roce_cq *to_hr_cq(struct ibv_cq *ibv_cq) -@@ -422,14 +465,35 @@ static inline struct hns_roce_ah *to_hr_ah(struct ibv_ah *ibv_ah) - return container_of(ibv_ah, struct hns_roce_ah, ibv_ah); - } - -+static inline int hns_roce_spin_lock(struct hns_roce_spinlock *hr_lock) -+{ -+ if (hr_lock->need_lock) -+ return pthread_spin_lock(&hr_lock->lock); -+ -+ return 0; -+} -+ -+static inline int hns_roce_spin_unlock(struct hns_roce_spinlock *hr_lock) -+{ -+ if (hr_lock->need_lock) -+ return pthread_spin_unlock(&hr_lock->lock); -+ -+ return 0; -+} -+ - int hns_roce_u_query_device(struct ibv_context *context, - const struct ibv_query_device_ex_input *input, - struct ibv_device_attr_ex *attr, size_t attr_size); - int hns_roce_u_query_port(struct ibv_context *context, uint8_t port, - struct ibv_port_attr *attr); - -+struct ibv_td *hns_roce_u_alloc_td(struct ibv_context *context, -+ struct ibv_td_init_attr *attr); -+int hns_roce_u_dealloc_td(struct ibv_td *ibv_td); -+struct ibv_pd *hns_roce_u_alloc_pad(struct ibv_context *context, -+ struct ibv_parent_domain_init_attr *attr); - struct ibv_pd *hns_roce_u_alloc_pd(struct ibv_context *context); --int hns_roce_u_free_pd(struct ibv_pd *pd); -+int hns_roce_u_dealloc_pd(struct ibv_pd *pd); - - struct ibv_mr *hns_roce_u_reg_mr(struct ibv_pd *pd, void *addr, size_t length, - uint64_t hca_va, int access); -@@ -488,6 +552,7 @@ int hns_roce_u_close_xrcd(struct ibv_xrcd *ibv_xrcd); - int hns_roce_alloc_buf(struct hns_roce_buf *buf, unsigned int size, - int page_size); - void hns_roce_free_buf(struct hns_roce_buf *buf); -+void hns_roce_qp_spinlock_destroy(struct hns_roce_qp *qp); - - void hns_roce_free_qp_buf(struct hns_roce_qp *qp, struct hns_roce_context *ctx); - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index c652eea..80e836d 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -227,14 +227,14 @@ static void hns_roce_free_srq_wqe(struct hns_roce_srq *srq, uint16_t ind) - uint32_t bitmap_num; - int bit_num; - -- pthread_spin_lock(&srq->lock); -+ hns_roce_spin_lock(&srq->hr_lock); - - bitmap_num = ind / BIT_CNT_PER_LONG; - bit_num = ind % BIT_CNT_PER_LONG; - srq->idx_que.bitmap[bitmap_num] |= (1ULL << bit_num); - srq->idx_que.tail++; - -- pthread_spin_unlock(&srq->lock); -+ hns_roce_spin_unlock(&srq->hr_lock); - } - - static int get_srq_from_cqe(struct hns_roce_v2_cqe *cqe, -@@ -266,9 +266,9 @@ static int hns_roce_v2_wq_overflow(struct hns_roce_wq *wq, unsigned int nreq, - if (cur + nreq < wq->max_post) - return 0; - -- pthread_spin_lock(&cq->lock); -+ hns_roce_spin_lock(&cq->hr_lock); - cur = wq->head - wq->tail; -- pthread_spin_unlock(&cq->lock); -+ hns_roce_spin_unlock(&cq->hr_lock); - - return cur + nreq >= wq->max_post; - } -@@ -721,7 +721,7 @@ static int hns_roce_u_v2_poll_cq(struct ibv_cq *ibvcq, int ne, - int err = V2_CQ_OK; - int npolled; - -- pthread_spin_lock(&cq->lock); -+ hns_roce_spin_lock(&cq->hr_lock); - - for (npolled = 0; npolled < ne; ++npolled) { - err = hns_roce_poll_one(ctx, &qp, cq, wc + npolled); -@@ -736,7 +736,7 @@ static int hns_roce_u_v2_poll_cq(struct ibv_cq *ibvcq, int ne, - update_cq_db(ctx, cq); - } - -- pthread_spin_unlock(&cq->lock); -+ hns_roce_spin_unlock(&cq->hr_lock); - - return err == V2_CQ_POLL_ERR ? err : npolled; - } -@@ -1273,7 +1273,7 @@ int hns_roce_u_v2_post_send(struct ibv_qp *ibvqp, struct ibv_send_wr *wr, - return ret; - } - -- pthread_spin_lock(&qp->sq.lock); -+ hns_roce_spin_lock(&qp->sq.hr_lock); - - sge_info.start_idx = qp->next_sge; /* start index of extend sge */ - -@@ -1333,7 +1333,7 @@ out: - *(qp->sdb) = qp->sq.head & 0xffff; - } - -- pthread_spin_unlock(&qp->sq.lock); -+ hns_roce_spin_unlock(&qp->sq.hr_lock); - - if (ibvqp->state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; -@@ -1426,7 +1426,7 @@ static int hns_roce_u_v2_post_recv(struct ibv_qp *ibvqp, struct ibv_recv_wr *wr, - return ret; - } - -- pthread_spin_lock(&qp->rq.lock); -+ hns_roce_spin_lock(&qp->rq.hr_lock); - - max_sge = qp->rq.max_gs - qp->rq.rsv_sge; - for (nreq = 0; wr; ++nreq, wr = wr->next) { -@@ -1460,7 +1460,7 @@ out: - hns_roce_update_rq_db(ctx, ibvqp->qp_num, qp->rq.head); - } - -- pthread_spin_unlock(&qp->rq.lock); -+ hns_roce_spin_unlock(&qp->rq.hr_lock); - - if (ibvqp->state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; -@@ -1515,9 +1515,9 @@ static void __hns_roce_v2_cq_clean(struct hns_roce_cq *cq, uint32_t qpn, - static void hns_roce_v2_cq_clean(struct hns_roce_cq *cq, unsigned int qpn, - struct hns_roce_srq *srq) - { -- pthread_spin_lock(&cq->lock); -+ hns_roce_spin_lock(&cq->hr_lock); - __hns_roce_v2_cq_clean(cq, qpn, srq); -- pthread_spin_unlock(&cq->lock); -+ hns_roce_spin_unlock(&cq->hr_lock); - } - - static void record_qp_attr(struct ibv_qp *qp, struct ibv_qp_attr *attr, -@@ -1550,8 +1550,8 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - int ret; - - if ((attr_mask & IBV_QP_STATE) && (attr->qp_state == IBV_QPS_ERR)) { -- pthread_spin_lock(&hr_qp->sq.lock); -- pthread_spin_lock(&hr_qp->rq.lock); -+ hns_roce_spin_lock(&hr_qp->sq.hr_lock); -+ hns_roce_spin_lock(&hr_qp->rq.hr_lock); - flag = true; - } - -@@ -1560,8 +1560,8 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - sizeof(resp_ex)); - - if (flag) { -- pthread_spin_unlock(&hr_qp->rq.lock); -- pthread_spin_unlock(&hr_qp->sq.lock); -+ hns_roce_spin_unlock(&hr_qp->sq.hr_lock); -+ hns_roce_spin_unlock(&hr_qp->rq.hr_lock); - } - - if (ret) -@@ -1602,18 +1602,18 @@ static void hns_roce_lock_cqs(struct ibv_qp *qp) - - if (send_cq && recv_cq) { - if (send_cq == recv_cq) { -- pthread_spin_lock(&send_cq->lock); -+ hns_roce_spin_lock(&send_cq->hr_lock); - } else if (send_cq->cqn < recv_cq->cqn) { -- pthread_spin_lock(&send_cq->lock); -- pthread_spin_lock(&recv_cq->lock); -+ hns_roce_spin_lock(&send_cq->hr_lock); -+ hns_roce_spin_lock(&recv_cq->hr_lock); - } else { -- pthread_spin_lock(&recv_cq->lock); -- pthread_spin_lock(&send_cq->lock); -+ hns_roce_spin_lock(&recv_cq->hr_lock); -+ hns_roce_spin_lock(&send_cq->hr_lock); - } - } else if (send_cq) { -- pthread_spin_lock(&send_cq->lock); -+ hns_roce_spin_lock(&send_cq->hr_lock); - } else if (recv_cq) { -- pthread_spin_lock(&recv_cq->lock); -+ hns_roce_spin_lock(&recv_cq->hr_lock); - } - } - -@@ -1624,18 +1624,18 @@ static void hns_roce_unlock_cqs(struct ibv_qp *qp) - - if (send_cq && recv_cq) { - if (send_cq == recv_cq) { -- pthread_spin_unlock(&send_cq->lock); -+ hns_roce_spin_unlock(&send_cq->hr_lock); - } else if (send_cq->cqn < recv_cq->cqn) { -- pthread_spin_unlock(&recv_cq->lock); -- pthread_spin_unlock(&send_cq->lock); -+ hns_roce_spin_unlock(&recv_cq->hr_lock); -+ hns_roce_spin_unlock(&send_cq->hr_lock); - } else { -- pthread_spin_unlock(&send_cq->lock); -- pthread_spin_unlock(&recv_cq->lock); -+ hns_roce_spin_unlock(&send_cq->hr_lock); -+ hns_roce_spin_unlock(&recv_cq->hr_lock); - } - } else if (send_cq) { -- pthread_spin_unlock(&send_cq->lock); -+ hns_roce_spin_unlock(&send_cq->hr_lock); - } else if (recv_cq) { -- pthread_spin_unlock(&recv_cq->lock); -+ hns_roce_spin_unlock(&recv_cq->hr_lock); - } - } - -@@ -1750,7 +1750,7 @@ static int hns_roce_u_v2_post_srq_recv(struct ibv_srq *ib_srq, - int ret = 0; - void *wqe; - -- pthread_spin_lock(&srq->lock); -+ hns_roce_spin_lock(&srq->hr_lock); - - max_sge = srq->max_gs - srq->rsv_sge; - for (nreq = 0; wr; ++nreq, wr = wr->next) { -@@ -1789,7 +1789,7 @@ static int hns_roce_u_v2_post_srq_recv(struct ibv_srq *ib_srq, - (__le32 *)&srq_db); - } - -- pthread_spin_unlock(&srq->lock); -+ hns_roce_spin_unlock(&srq->hr_lock); - - return ret; - } -@@ -1805,11 +1805,11 @@ static int wc_start_poll_cq(struct ibv_cq_ex *current, - if (attr->comp_mask) - return EINVAL; - -- pthread_spin_lock(&cq->lock); -+ hns_roce_spin_lock(&cq->hr_lock); - - err = hns_roce_poll_one(ctx, &qp, cq, NULL); - if (err != V2_CQ_OK) -- pthread_spin_unlock(&cq->lock); -+ hns_roce_spin_unlock(&cq->hr_lock); - - return err; - } -@@ -1843,7 +1843,7 @@ static void wc_end_poll_cq(struct ibv_cq_ex *current) - else - update_cq_db(ctx, cq); - -- pthread_spin_unlock(&cq->lock); -+ hns_roce_spin_unlock(&cq->hr_lock); - } - - static enum ibv_wc_opcode wc_read_opcode(struct ibv_cq_ex *current) -@@ -2558,7 +2558,7 @@ static void wr_start(struct ibv_qp_ex *ibv_qp) - return; - } - -- pthread_spin_lock(&qp->sq.lock); -+ hns_roce_spin_lock(&qp->sq.hr_lock); - qp->sge_info.start_idx = qp->next_sge; - qp->rb_sq_head = qp->sq.head; - qp->err = 0; -@@ -2591,7 +2591,8 @@ static int wr_complete(struct ibv_qp_ex *ibv_qp) - } - - out: -- pthread_spin_unlock(&qp->sq.lock); -+ hns_roce_spin_unlock(&qp->sq.hr_lock); -+ - if (ibv_qp->qp_base.state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; - hns_roce_u_v2_modify_qp(&ibv_qp->qp_base, &attr, IBV_QP_STATE); -@@ -2606,7 +2607,7 @@ static void wr_abort(struct ibv_qp_ex *ibv_qp) - - qp->sq.head = qp->rb_sq_head; - -- pthread_spin_unlock(&qp->sq.lock); -+ hns_roce_spin_unlock(&qp->sq.hr_lock); - } - - enum { -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 3b7a67d..f6c7423 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -42,6 +43,38 @@ - #include "hns_roce_u_db.h" - #include "hns_roce_u_hw_v2.h" - -+static int hns_roce_whether_need_lock(struct ibv_pd *pd) -+{ -+ struct hns_roce_pad *pad; -+ bool need_lock = true; -+ -+ pad = to_hr_pad(pd); -+ if (pad && pad->td) -+ need_lock = false; -+ -+ return need_lock; -+} -+ -+static int hns_roce_spinlock_init(struct hns_roce_spinlock *hr_lock, -+ bool need_lock) -+{ -+ hr_lock->need_lock = need_lock; -+ -+ if (need_lock) -+ return pthread_spin_init(&hr_lock->lock, -+ PTHREAD_PROCESS_PRIVATE); -+ -+ return 0; -+} -+ -+static int hns_roce_spinlock_destroy(struct hns_roce_spinlock *hr_lock) -+{ -+ if (hr_lock->need_lock) -+ return pthread_spin_destroy(&hr_lock->lock); -+ -+ return 0; -+} -+ - void hns_roce_init_qp_indices(struct hns_roce_qp *qp) - { - qp->sq.head = 0; -@@ -85,40 +118,153 @@ int hns_roce_u_query_port(struct ibv_context *context, uint8_t port, - return ibv_cmd_query_port(context, port, attr, &cmd, sizeof(cmd)); - } - -+struct ibv_td *hns_roce_u_alloc_td(struct ibv_context *context, -+ struct ibv_td_init_attr *attr) -+{ -+ struct hns_roce_td *td; -+ -+ if (attr->comp_mask) { -+ errno = EINVAL; -+ return NULL; -+ } -+ -+ td = calloc(1, sizeof(*td)); -+ if (!td) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ td->ibv_td.context = context; -+ atomic_init(&td->refcount, 1); -+ -+ return &td->ibv_td; -+} -+ -+int hns_roce_u_dealloc_td(struct ibv_td *ibv_td) -+{ -+ struct hns_roce_td *td; -+ int ret = 0; -+ -+ td = to_hr_td(ibv_td); -+ if (atomic_load(&td->refcount) > 1) { -+ ret = -EBUSY; -+ goto err; -+ } -+ -+ free(td); -+ -+err: -+ errno = abs(ret); -+ return ret; -+} -+ - struct ibv_pd *hns_roce_u_alloc_pd(struct ibv_context *context) - { -+ struct hns_roce_alloc_pd_resp resp = {}; - struct ibv_alloc_pd cmd; - struct hns_roce_pd *pd; -- struct hns_roce_alloc_pd_resp resp = {}; -- -- pd = malloc(sizeof(*pd)); -- if (!pd) -- return NULL; -+ int ret; - -- if (ibv_cmd_alloc_pd(context, &pd->ibv_pd, &cmd, sizeof(cmd), -- &resp.ibv_resp, sizeof(resp))) { -- free(pd); -+ pd = calloc(1, sizeof(*pd)); -+ if (!pd) { -+ errno = ENOMEM; - return NULL; - } - -+ ret = ibv_cmd_alloc_pd(context, &pd->ibv_pd, &cmd, sizeof(cmd), -+ &resp.ibv_resp, sizeof(resp)); -+ -+ if (ret) -+ goto err; -+ -+ atomic_init(&pd->refcount, 1); - pd->pdn = resp.pdn; - - return &pd->ibv_pd; -+ -+err: -+ free(pd); -+ errno = abs(ret); -+ return NULL; - } - --int hns_roce_u_free_pd(struct ibv_pd *pd) -+struct ibv_pd *hns_roce_u_alloc_pad(struct ibv_context *context, -+ struct ibv_parent_domain_init_attr *attr) -+{ -+ struct hns_roce_pad *pad; -+ -+ if (ibv_check_alloc_parent_domain(attr)) -+ return NULL; -+ -+ if (attr->comp_mask) { -+ errno = EINVAL; -+ return NULL; -+ } -+ -+ pad = calloc(1, sizeof(*pad)); -+ if (!pad) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ if (attr->td) { -+ pad->td = to_hr_td(attr->td); -+ atomic_fetch_add(&pad->td->refcount, 1); -+ } -+ -+ pad->pd.protection_domain = to_hr_pd(attr->pd); -+ atomic_fetch_add(&pad->pd.protection_domain->refcount, 1); -+ -+ ibv_initialize_parent_domain(&pad->pd.ibv_pd, -+ &pad->pd.protection_domain->ibv_pd); -+ -+ return &pad->pd.ibv_pd; -+} -+ -+static void hns_roce_free_pad(struct hns_roce_pad *pad) -+{ -+ atomic_fetch_sub(&pad->pd.protection_domain->refcount, 1); -+ -+ if (pad->td) -+ atomic_fetch_sub(&pad->td->refcount, 1); -+ -+ free(pad); -+} -+ -+static int hns_roce_free_pd(struct hns_roce_pd *pd) - { - int ret; - -- ret = ibv_cmd_dealloc_pd(pd); -+ if (atomic_load(&pd->refcount) > 1) { -+ ret = -EBUSY; -+ goto err; -+ } -+ -+ ret = ibv_cmd_dealloc_pd(&pd->ibv_pd); - if (ret) -- return ret; -+ goto err; - -- free(to_hr_pd(pd)); -+ free(pd); -+ -+err: -+ errno = abs(ret); - - return ret; - } - -+int hns_roce_u_dealloc_pd(struct ibv_pd *ibv_pd) -+{ -+ struct hns_roce_pad *pad = to_hr_pad(ibv_pd); -+ struct hns_roce_pd *pd = to_hr_pd(ibv_pd); -+ -+ if (pad) { -+ hns_roce_free_pad(pad); -+ return 0; -+ } -+ -+ return hns_roce_free_pd(pd); -+} -+ - struct ibv_xrcd *hns_roce_u_open_xrcd(struct ibv_context *context, - struct ibv_xrcd_init_attr *xrcd_init_attr) - { -@@ -275,6 +421,11 @@ int hns_roce_u_dealloc_mw(struct ibv_mw *mw) - return 0; - } - -+enum { -+ CREATE_CQ_SUPPORTED_COMP_MASK = IBV_CQ_INIT_ATTR_MASK_FLAGS | -+ IBV_CQ_INIT_ATTR_MASK_PD, -+}; -+ - enum { - CREATE_CQ_SUPPORTED_WC_FLAGS = IBV_WC_STANDARD_FLAGS | - IBV_WC_EX_WITH_CVLAN, -@@ -286,12 +437,22 @@ static int verify_cq_create_attr(struct ibv_cq_init_attr_ex *attr, - if (!attr->cqe || attr->cqe > context->max_cqe) - return -EINVAL; - -- if (attr->comp_mask) -- return -EOPNOTSUPP; -+ if (!check_comp_mask(attr->comp_mask, CREATE_CQ_SUPPORTED_COMP_MASK)) { -+ verbs_err(&context->ibv_ctx, "unsupported cq comps 0x%x\n", -+ attr->comp_mask); -+ return EOPNOTSUPP; -+ } - - if (!check_comp_mask(attr->wc_flags, CREATE_CQ_SUPPORTED_WC_FLAGS)) - return -EOPNOTSUPP; - -+ if (attr->comp_mask & IBV_CQ_INIT_ATTR_MASK_PD) { -+ if (!to_hr_pad(attr->parent_domain)) { -+ verbs_err(&context->ibv_ctx, "failed to check the pad of cq.\n"); -+ return EINVAL; -+ } -+ } -+ - attr->cqe = max_t(uint32_t, HNS_ROCE_MIN_CQE_NUM, - roundup_pow_of_two(attr->cqe)); - -@@ -341,7 +502,9 @@ static struct ibv_cq_ex *create_cq(struct ibv_context *context, - struct ibv_cq_init_attr_ex *attr) - { - struct hns_roce_context *hr_ctx = to_hr_ctx(context); -+ struct hns_roce_pad *pad = NULL; - struct hns_roce_cq *cq; -+ int need_lock; - int ret; - - ret = verify_cq_create_attr(attr, hr_ctx); -@@ -354,7 +517,14 @@ static struct ibv_cq_ex *create_cq(struct ibv_context *context, - goto err; - } - -- ret = pthread_spin_init(&cq->lock, PTHREAD_PROCESS_PRIVATE); -+ if (attr->comp_mask & IBV_CQ_INIT_ATTR_MASK_PD) -+ pad = to_hr_pad(attr->parent_domain); -+ -+ need_lock = hns_roce_whether_need_lock(pad ? &pad->pd.ibv_pd : NULL); -+ if (!need_lock) -+ verbs_info(verbs_get_ctx(context), "configure cq as no lock.\n"); -+ -+ ret = hns_roce_spinlock_init(&cq->hr_lock, need_lock); - if (ret) - goto err_lock; - -@@ -385,14 +555,12 @@ err_cmd: - hns_roce_free_db(hr_ctx, cq->db, HNS_ROCE_CQ_TYPE_DB); - err_db: - hns_roce_free_buf(&cq->buf); --err_lock: - err_buf: -+ hns_roce_spinlock_destroy(&cq->hr_lock); -+err_lock: - free(cq); - err: -- if (ret < 0) -- ret = -ret; -- -- errno = ret; -+ errno = abs(ret); - return NULL; - } - -@@ -655,6 +823,7 @@ static struct ibv_srq *create_srq(struct ibv_context *context, - { - struct hns_roce_context *hr_ctx = to_hr_ctx(context); - struct hns_roce_srq *srq; -+ int need_lock; - int ret; - - ret = verify_srq_create_attr(hr_ctx, init_attr); -@@ -667,7 +836,11 @@ static struct ibv_srq *create_srq(struct ibv_context *context, - goto err; - } - -- if (pthread_spin_init(&srq->lock, PTHREAD_PROCESS_PRIVATE)) -+ need_lock = hns_roce_whether_need_lock(init_attr->pd); -+ if (!need_lock) -+ verbs_info(verbs_get_ctx(context), "configure srq as no lock.\n"); -+ -+ if (hns_roce_spinlock_init(&srq->hr_lock, need_lock)) - goto err_free_srq; - - set_srq_param(context, srq, init_attr); -@@ -875,6 +1048,48 @@ static int verify_qp_create_attr(struct hns_roce_context *ctx, - return verify_qp_create_cap(ctx, attr); - } - -+static int hns_roce_qp_spinlock_init(struct hns_roce_context *ctx, -+ struct ibv_qp_init_attr_ex *attr, -+ struct hns_roce_qp *qp) -+{ -+ int sq_need_lock; -+ int rq_need_lock; -+ int ret; -+ -+ sq_need_lock = hns_roce_whether_need_lock(attr->pd); -+ if (!sq_need_lock) -+ verbs_warn(&ctx->ibv_ctx, "configure sq as no lock.\n"); -+ -+ rq_need_lock = hns_roce_whether_need_lock(attr->pd); -+ if (!rq_need_lock) -+ verbs_warn(&ctx->ibv_ctx, "configure rq as no lock.\n"); -+ -+ ret = hns_roce_spinlock_init(&qp->sq.hr_lock, sq_need_lock); -+ if (ret) { -+ verbs_err(&ctx->ibv_ctx, "failed to init sq spinlock.\n"); -+ return ret; -+ } -+ -+ ret = hns_roce_spinlock_init(&qp->rq.hr_lock, rq_need_lock); -+ if (ret) { -+ verbs_err(&ctx->ibv_ctx, "failed to init rq spinlock.\n"); -+ goto err_rq_lock; -+ } -+ -+ return 0; -+ -+err_rq_lock: -+ hns_roce_spinlock_destroy(&qp->sq.hr_lock); -+ -+ return ret; -+} -+ -+void hns_roce_qp_spinlock_destroy(struct hns_roce_qp *qp) -+{ -+ hns_roce_spinlock_destroy(&qp->rq.hr_lock); -+ hns_roce_spinlock_destroy(&qp->sq.hr_lock); -+} -+ - static int alloc_recv_rinl_buf(uint32_t max_sge, - struct hns_roce_rinl_buf *rinl_buf) - { -@@ -1248,8 +1463,8 @@ static int hns_roce_alloc_qp_buf(struct ibv_qp_init_attr_ex *attr, - { - int ret; - -- if (pthread_spin_init(&qp->sq.lock, PTHREAD_PROCESS_PRIVATE) || -- pthread_spin_init(&qp->rq.lock, PTHREAD_PROCESS_PRIVATE)) -+ if (pthread_spin_init(&qp->sq.hr_lock.lock, PTHREAD_PROCESS_PRIVATE) || -+ pthread_spin_init(&qp->rq.hr_lock.lock, PTHREAD_PROCESS_PRIVATE)) - return -ENOMEM; - - ret = qp_alloc_wqe(&attr->cap, qp, ctx); -@@ -1294,6 +1509,10 @@ static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, - - hns_roce_set_qp_params(attr, qp, context); - -+ ret = hns_roce_qp_spinlock_init(context, attr, qp); -+ if (ret) -+ goto err_spinlock; -+ - ret = hns_roce_alloc_qp_buf(attr, qp, context); - if (ret) - goto err_buf; -@@ -1327,6 +1546,8 @@ err_ops: - err_cmd: - hns_roce_free_qp_buf(qp, context); - err_buf: -+ hns_roce_qp_spinlock_destroy(qp); -+err_spinlock: - free(qp); - err: - if (ret < 0) --- -2.30.0 - diff --git a/0031-Update-kernel-headers.patch b/0031-Update-kernel-headers.patch deleted file mode 100644 index 311287c0d227b5b0989bb528e7dccd8ef2688888..0000000000000000000000000000000000000000 --- a/0031-Update-kernel-headers.patch +++ /dev/null @@ -1,152 +0,0 @@ -From 7d72b40d311875677135289874d4a69e4891b0de Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Mon, 28 Nov 2022 21:52:20 +0800 -Subject: Update kernel headers - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -To commit ?? ("RDMA/hns: Fixes concurrent ressetting and post_recv in DCA -mode"). - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - kernel-headers/rdma/hns-abi.h | 84 ++++++++++++++++++++++++++++++++--- - 1 file changed, 78 insertions(+), 6 deletions(-) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index 9866c51..6950841 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -77,7 +77,9 @@ enum hns_roce_qp_cap_flags { - HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0, - HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1, - HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2, -+ HNS_ROCE_QP_CAP_DYNAMIC_CTX_ATTACH = 1 << 4, - HNS_ROCE_QP_CAP_DIRECT_WQE = 1 << 5, -+ HNS_ROCE_QP_CAP_DYNAMIC_CTX_DETACH = 1 << 6, - }; - - struct hns_roce_ib_create_qp_resp { -@@ -95,33 +97,46 @@ struct hns_roce_ib_modify_qp_resp { - __u8 tc_mode; - __u8 priority; - __u8 reserved[6]; -+ __u32 dcan; -+ __u32 rsv2; - }; - - enum { - HNS_ROCE_EXSGE_FLAGS = 1 << 0, - HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1, - HNS_ROCE_CQE_INLINE_FLAGS = 1 << 2, -+ HNS_ROCE_UCTX_CONFIG_DCA = 1 << 3, - }; - - enum { - HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0, - HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1, - HNS_ROCE_RSP_CQE_INLINE_FLAGS = 1 << 2, -+ HNS_ROCE_UCTX_RSP_DCA_FLAGS = HNS_ROCE_UCTX_CONFIG_DCA, - }; - - struct hns_roce_ib_alloc_ucontext_resp { - __u32 qp_tab_size; - __u32 cqe_size; -- __u32 srq_tab_size; -- __u32 reserved; -- __u32 config; -- __u32 max_inline_data; -- __u8 mac_type; -- __u8 rsv1[7]; -+ __u32 srq_tab_size; -+ __u32 reserved; -+ __u32 config; -+ __u32 max_inline_data; -+ __u8 mac_type; -+ __u8 rsv1[7]; -+ __u32 dca_qps; -+ __u32 dca_mmap_size; -+ __aligned_u64 dca_mmap_key; -+}; -+ -+enum hns_roce_uctx_comp_mask { -+ HNS_ROCE_ALLOC_UCTX_COMP_DCA_MAX_QPS = 1 << 0, - }; - - struct hns_roce_ib_alloc_ucontext { - __u32 config; -+ __u32 comp; /* use hns_roce_uctx_comp_mask */ -+ __u32 dca_max_qps; - __u32 reserved; - }; - -@@ -129,4 +144,61 @@ struct hns_roce_ib_alloc_pd_resp { - __u32 pdn; - }; - -+#define UVERBS_ID_NS_MASK 0xF000 -+#define UVERBS_ID_NS_SHIFT 12 -+ -+enum hns_ib_objects { -+ HNS_IB_OBJECT_DCA_MEM = (1U << UVERBS_ID_NS_SHIFT), -+}; -+ -+enum hns_ib_dca_mem_methods { -+ HNS_IB_METHOD_DCA_MEM_REG = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_METHOD_DCA_MEM_DEREG, -+ HNS_IB_METHOD_DCA_MEM_SHRINK, -+ HNS_IB_METHOD_DCA_MEM_ATTACH, -+ HNS_IB_METHOD_DCA_MEM_DETACH, -+ HNS_IB_METHOD_DCA_MEM_QUERY, -+}; -+ -+enum hns_ib_dca_mem_reg_attrs { -+ HNS_IB_ATTR_DCA_MEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_ATTR_DCA_MEM_REG_FLAGS, -+ HNS_IB_ATTR_DCA_MEM_REG_LEN, -+ HNS_IB_ATTR_DCA_MEM_REG_ADDR, -+ HNS_IB_ATTR_DCA_MEM_REG_KEY, -+}; -+ -+enum hns_ib_dca_mem_dereg_attrs { -+ HNS_IB_ATTR_DCA_MEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+}; -+ -+enum hns_ib_dca_mem_shrink_attrs { -+ HNS_IB_ATTR_DCA_MEM_SHRINK_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_ATTR_DCA_MEM_SHRINK_RESERVED_SIZE, -+ HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_KEY, -+ HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_MEMS, -+}; -+ -+enum hns_ib_dca_mem_attach_attrs { -+ HNS_IB_ATTR_DCA_MEM_ATTACH_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_ATTR_DCA_MEM_ATTACH_SQ_OFFSET, -+ HNS_IB_ATTR_DCA_MEM_ATTACH_SGE_OFFSET, -+ HNS_IB_ATTR_DCA_MEM_ATTACH_RQ_OFFSET, -+ HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_FLAGS, -+ HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_PAGES, -+}; -+ -+enum hns_ib_dca_mem_detach_attrs { -+ HNS_IB_ATTR_DCA_MEM_DETACH_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_ATTR_DCA_MEM_DETACH_SQ_INDEX, -+}; -+ -+enum hns_ib_dca_mem_query_attrs { -+ HNS_IB_ATTR_DCA_MEM_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), -+ HNS_IB_ATTR_DCA_MEM_QUERY_PAGE_INDEX, -+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_KEY, -+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_OFFSET, -+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_PAGE_COUNT, -+}; -+ - #endif /* HNS_ABI_USER_H */ --- -2.30.0 - diff --git a/0032-libhns-Introduce-DCA-for-RC-QP.patch b/0032-libhns-Introduce-DCA-for-RC-QP.patch deleted file mode 100644 index 4799e1989c8d7d02157addf2d387ad8db4d23d22..0000000000000000000000000000000000000000 --- a/0032-libhns-Introduce-DCA-for-RC-QP.patch +++ /dev/null @@ -1,342 +0,0 @@ -From 58de0f69573e8b76affe401a261f17f1a5cedc01 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Mon, 10 May 2021 17:13:09 +0800 -Subject: libhns: Introduce DCA for RC QP - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -The HIP09 introduces the DCA(Dynamic context attachment) feature which -supports many RC QPs to share the WQE buffer in a memory pool, this will -reduce the memory consumption when there are too many QPs inactive. - -Two functions are defined for adding buffers to memory pool and removing -buffers from memory pool by calling ib cmd implemented in hns kernelspace -driver. - -If a QP enables DCA feature, the WQE's buffer will be attached to the -memory pool when the users start to post WRs and be detached when all CQEs -has been polled. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 59 ++++++++++++- - providers/hns/hns_roce_u.h | 21 +++++ - providers/hns/hns_roce_u_buf.c | 147 +++++++++++++++++++++++++++++++++ - 3 files changed, 223 insertions(+), 4 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 3428bda..bd2b251 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -95,6 +95,53 @@ static const struct verbs_context_ops hns_common_ops = { - .alloc_parent_domain = hns_roce_u_alloc_pad, - }; - -+static int init_dca_context(struct hns_roce_context *ctx, int page_size) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ int ret; -+ -+ if (!(ctx->config & HNS_ROCE_UCTX_RSP_DCA_FLAGS)) -+ return 0; -+ -+ list_head_init(&dca_ctx->mem_list); -+ ret = pthread_spin_init(&dca_ctx->lock, PTHREAD_PROCESS_PRIVATE); -+ if (ret) -+ return ret; -+ -+ dca_ctx->unit_size = page_size * HNS_DCA_DEFAULT_UNIT_PAGES; -+ dca_ctx->max_size = HNS_DCA_MAX_MEM_SIZE; -+ dca_ctx->mem_cnt = 0; -+ -+ return 0; -+} -+ -+static void uninit_dca_context(struct hns_roce_context *ctx) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ -+ if (!(ctx->config & HNS_ROCE_UCTX_RSP_DCA_FLAGS)) -+ return; -+ -+ pthread_spin_lock(&dca_ctx->lock); -+ hns_roce_cleanup_dca_mem(ctx); -+ pthread_spin_unlock(&dca_ctx->lock); -+ -+ pthread_spin_destroy(&dca_ctx->lock); -+} -+ -+static int hns_roce_mmap(struct hns_roce_device *hr_dev, -+ struct hns_roce_context *context, int cmd_fd) -+{ -+ int page_size = hr_dev->page_size; -+ -+ context->uar = mmap(NULL, page_size, PROT_READ | PROT_WRITE, -+ MAP_SHARED, cmd_fd, 0); -+ if (context->uar == MAP_FAILED) -+ return -ENOMEM; -+ -+ return 0; -+} -+ - static uint32_t calc_table_shift(uint32_t entry_count, uint32_t size_shift) - { - uint32_t count_shift = hr_ilog32(entry_count); -@@ -119,7 +166,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - return NULL; - - cmd.config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS | -- HNS_ROCE_CQE_INLINE_FLAGS; -+ HNS_ROCE_CQE_INLINE_FLAGS | HNS_ROCE_UCTX_CONFIG_DCA; - if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; -@@ -165,11 +212,12 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - context->max_srq_wr = dev_attrs.max_srq_wr; - context->max_srq_sge = dev_attrs.max_srq_sge; - -- context->uar = mmap(NULL, hr_dev->page_size, PROT_READ | PROT_WRITE, -- MAP_SHARED, cmd_fd, 0); -- if (context->uar == MAP_FAILED) -+ if (init_dca_context(context, hr_dev->page_size)) - goto err_free; - -+ if (hns_roce_mmap(hr_dev, context, cmd_fd)) -+ goto dca_free; -+ - pthread_spin_init(&context->uar_lock, PTHREAD_PROCESS_PRIVATE); - - verbs_set_ops(&context->ibv_ctx, &hns_common_ops); -@@ -177,6 +225,8 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - - return &context->ibv_ctx; - -+dca_free: -+ uninit_dca_context(context); - err_free: - verbs_uninit_context(&context->ibv_ctx); - free(context); -@@ -189,6 +239,7 @@ static void hns_roce_free_context(struct ibv_context *ibctx) - struct hns_roce_context *context = to_hr_ctx(ibctx); - - munmap(context->uar, hr_dev->page_size); -+ uninit_dca_context(context); - verbs_uninit_context(&context->ibv_ctx); - free(context); - } -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 2edb07e..0e25ce5 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -147,6 +147,10 @@ - - #define hr_reg_read(ptr, field) _hr_reg_read(ptr, field) - -+enum { -+ HNS_ROCE_CAP_FLAG_DCA_MODE = BIT(15), -+}; -+ - #define HNS_ROCE_QP_TABLE_BITS 8 - #define HNS_ROCE_QP_TABLE_SIZE BIT(HNS_ROCE_QP_TABLE_BITS) - -@@ -199,6 +203,18 @@ struct hns_roce_spinlock { - int need_lock; - }; - -+#define HNS_DCA_MAX_MEM_SIZE ~0UL -+#define HNS_DCA_DEFAULT_UNIT_PAGES 16 -+ -+struct hns_roce_dca_ctx { -+ struct list_head mem_list; -+ pthread_spinlock_t lock; -+ int mem_cnt; -+ unsigned int unit_size; -+ uint64_t max_size; -+ uint64_t curr_size; -+}; -+ - struct hns_roce_context { - struct verbs_context ibv_ctx; - void *uar; -@@ -231,6 +247,8 @@ struct hns_roce_context { - unsigned int cqe_size; - uint32_t config; - unsigned int max_inline_data; -+ -+ struct hns_roce_dca_ctx dca_ctx; - }; - - struct hns_roce_td { -@@ -562,6 +580,9 @@ void hns_roce_qp_spinlock_destroy(struct hns_roce_qp *qp); - - void hns_roce_free_qp_buf(struct hns_roce_qp *qp, struct hns_roce_context *ctx); - -+void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx); -+int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size); -+ - void hns_roce_init_qp_indices(struct hns_roce_qp *qp); - - extern const struct hns_roce_u_hw hns_roce_u_hw_v2; -diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c -index 471dd9c..02c43ae 100644 ---- a/providers/hns/hns_roce_u_buf.c -+++ b/providers/hns/hns_roce_u_buf.c -@@ -60,3 +60,150 @@ void hns_roce_free_buf(struct hns_roce_buf *buf) - - munmap(buf->buf, buf->length); - } -+ -+struct hns_roce_dca_mem { -+ uint32_t handle; -+ struct list_node entry; -+ struct hns_roce_buf buf; -+ struct hns_roce_context *ctx; -+}; -+ -+static void free_dca_mem(struct hns_roce_context *ctx, -+ struct hns_roce_dca_mem *mem) -+{ -+ hns_roce_free_buf(&mem->buf); -+ free(mem); -+} -+ -+static struct hns_roce_dca_mem *alloc_dca_mem(uint32_t size) -+{ -+ struct hns_roce_dca_mem *mem = NULL; -+ int ret; -+ -+ mem = malloc(sizeof(struct hns_roce_dca_mem)); -+ if (!mem) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ -+ ret = hns_roce_alloc_buf(&mem->buf, size, HNS_HW_PAGE_SIZE); -+ if (ret) { -+ errno = ENOMEM; -+ free(mem); -+ return NULL; -+ } -+ -+ return mem; -+} -+ -+static inline uint64_t dca_mem_to_key(struct hns_roce_dca_mem *dca_mem) -+{ -+ return (uintptr_t)dca_mem; -+} -+ -+static inline void *dca_mem_addr(struct hns_roce_dca_mem *dca_mem, int offset) -+{ -+ return dca_mem->buf.buf + offset; -+} -+ -+static int register_dca_mem(struct hns_roce_context *ctx, uint64_t key, -+ void *addr, uint32_t size, uint32_t *handle) -+{ -+ struct ib_uverbs_attr *attr; -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_REG, 4); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_REG_LEN, size); -+ fill_attr_in_uint64(cmd, HNS_IB_ATTR_DCA_MEM_REG_ADDR, -+ ioctl_ptr_to_u64(addr)); -+ fill_attr_in_uint64(cmd, HNS_IB_ATTR_DCA_MEM_REG_KEY, key); -+ attr = fill_attr_out_obj(cmd, HNS_IB_ATTR_DCA_MEM_REG_HANDLE); -+ -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) { -+ verbs_err(&ctx->ibv_ctx, "failed to reg DCA mem, ret = %d.\n", -+ ret); -+ return ret; -+ } -+ -+ *handle = read_attr_obj(HNS_IB_ATTR_DCA_MEM_REG_HANDLE, attr); -+ -+ return 0; -+} -+ -+static void deregister_dca_mem(struct hns_roce_context *ctx, uint32_t handle) -+{ -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_DEREG, 1); -+ fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_DEREG_HANDLE, handle); -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) -+ verbs_warn(&ctx->ibv_ctx, -+ "failed to dereg DCA mem-%u, ret = %d.\n", -+ handle, ret); -+} -+ -+void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ struct hns_roce_dca_mem *mem; -+ struct hns_roce_dca_mem *tmp; -+ -+ list_for_each_safe(&dca_ctx->mem_list, mem, tmp, entry) -+ deregister_dca_mem(ctx, mem->handle); -+} -+ -+static bool add_dca_mem_enabled(struct hns_roce_dca_ctx *ctx, -+ uint32_t alloc_size) -+{ -+ bool enable; -+ -+ pthread_spin_lock(&ctx->lock); -+ -+ if (ctx->unit_size == 0) /* Pool size can't be increased */ -+ enable = false; -+ else if (ctx->max_size == HNS_DCA_MAX_MEM_SIZE) /* Pool size no limit */ -+ enable = true; -+ else /* Pool size doesn't exceed max size */ -+ enable = (ctx->curr_size + alloc_size) < ctx->max_size; -+ -+ pthread_spin_unlock(&ctx->lock); -+ -+ return enable; -+} -+ -+int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ struct hns_roce_dca_mem *mem; -+ int ret; -+ -+ if (!add_dca_mem_enabled(&ctx->dca_ctx, size)) -+ return -ENOMEM; -+ -+ /* Step 1: Alloc DCA mem address */ -+ mem = alloc_dca_mem( -+ DIV_ROUND_UP(size, dca_ctx->unit_size) * dca_ctx->unit_size); -+ if (!mem) -+ return -ENOMEM; -+ -+ /* Step 2: Register DCA mem uobject to pin user address */ -+ ret = register_dca_mem(ctx, dca_mem_to_key(mem), dca_mem_addr(mem, 0), -+ mem->buf.length, &mem->handle); -+ if (ret) { -+ free_dca_mem(ctx, mem); -+ return ret; -+ } -+ -+ /* Step 3: Add DCA mem node to pool */ -+ pthread_spin_lock(&dca_ctx->lock); -+ list_add_tail(&dca_ctx->mem_list, &mem->entry); -+ dca_ctx->mem_cnt++; -+ dca_ctx->curr_size += mem->buf.length; -+ pthread_spin_unlock(&dca_ctx->lock); -+ -+ return 0; -+} --- -2.30.0 - diff --git a/0033-libhns-Add-support-for-shrinking-DCA-memory-pool.patch b/0033-libhns-Add-support-for-shrinking-DCA-memory-pool.patch deleted file mode 100644 index b2da30b1f16c4e99e5ad1121e46eea7676544a2a..0000000000000000000000000000000000000000 --- a/0033-libhns-Add-support-for-shrinking-DCA-memory-pool.patch +++ /dev/null @@ -1,204 +0,0 @@ -From c8d7a2dc811a18ffd314b8764c961234e5f2ec77 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Mon, 10 May 2021 17:13:13 +0800 -Subject: libhns: Add support for shrinking DCA memory pool - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -The QP's WQE buffer may be detached after QP is modified or CQE is polled, -and the state of DCA mem object may be changed as clean for no QP is using -it. So shrink the clean DCA mem from the memory pool and destroy the DCA -mem's buffer to reduce the memory consumption. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.h | 2 + - providers/hns/hns_roce_u_buf.c | 103 +++++++++++++++++++++++++++++++ - providers/hns/hns_roce_u_hw_v2.c | 7 +++ - 3 files changed, 112 insertions(+) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 0e25ce5..7b5c5c9 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -212,6 +212,7 @@ struct hns_roce_dca_ctx { - int mem_cnt; - unsigned int unit_size; - uint64_t max_size; -+ uint64_t min_size; - uint64_t curr_size; - }; - -@@ -580,6 +581,7 @@ void hns_roce_qp_spinlock_destroy(struct hns_roce_qp *qp); - - void hns_roce_free_qp_buf(struct hns_roce_qp *qp, struct hns_roce_context *ctx); - -+void hns_roce_shrink_dca_mem(struct hns_roce_context *ctx); - void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx); - int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size); - -diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c -index 02c43ae..c0f86e9 100644 ---- a/providers/hns/hns_roce_u_buf.c -+++ b/providers/hns/hns_roce_u_buf.c -@@ -101,6 +101,20 @@ static inline uint64_t dca_mem_to_key(struct hns_roce_dca_mem *dca_mem) - return (uintptr_t)dca_mem; - } - -+static struct hns_roce_dca_mem *key_to_dca_mem(struct hns_roce_dca_ctx *ctx, -+ uint64_t key) -+{ -+ struct hns_roce_dca_mem *mem; -+ struct hns_roce_dca_mem *tmp; -+ -+ list_for_each_safe(&ctx->mem_list, mem, tmp, entry) { -+ if (dca_mem_to_key(mem) == key) -+ return mem; -+ } -+ -+ return NULL; -+} -+ - static inline void *dca_mem_addr(struct hns_roce_dca_mem *dca_mem, int offset) - { - return dca_mem->buf.buf + offset; -@@ -156,6 +170,32 @@ void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx) - deregister_dca_mem(ctx, mem->handle); - } - -+struct hns_dca_mem_shrink_resp { -+ uint32_t free_mems; -+ uint64_t free_key; -+}; -+ -+static int shrink_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ uint64_t size, struct hns_dca_mem_shrink_resp *resp) -+{ -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_SHRINK, 4); -+ fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_HANDLE, handle); -+ fill_attr_in_uint64(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_RESERVED_SIZE, size); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_KEY, -+ &resp->free_key, sizeof(resp->free_key)); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_MEMS, -+ &resp->free_mems, sizeof(resp->free_mems)); -+ -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) -+ verbs_err(&ctx->ibv_ctx, "failed to shrink DCA mem, ret = %d.\n", -+ ret); -+ -+ return ret; -+} - static bool add_dca_mem_enabled(struct hns_roce_dca_ctx *ctx, - uint32_t alloc_size) - { -@@ -175,6 +215,17 @@ static bool add_dca_mem_enabled(struct hns_roce_dca_ctx *ctx, - return enable; - } - -+static bool shrink_dca_mem_enabled(struct hns_roce_dca_ctx *ctx) -+{ -+ bool enable; -+ -+ pthread_spin_lock(&ctx->lock); -+ enable = ctx->mem_cnt > 0 && ctx->min_size < ctx->max_size; -+ pthread_spin_unlock(&ctx->lock); -+ -+ return enable; -+} -+ - int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size) - { - struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -@@ -207,3 +258,55 @@ int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size) - - return 0; - } -+ -+void hns_roce_shrink_dca_mem(struct hns_roce_context *ctx) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ struct hns_dca_mem_shrink_resp resp = {}; -+ struct hns_roce_dca_mem *mem; -+ int dca_mem_cnt; -+ uint32_t handle; -+ int ret; -+ -+ pthread_spin_lock(&dca_ctx->lock); -+ dca_mem_cnt = ctx->dca_ctx.mem_cnt; -+ pthread_spin_unlock(&dca_ctx->lock); -+ while (dca_mem_cnt > 0 && shrink_dca_mem_enabled(dca_ctx)) { -+ resp.free_mems = 0; -+ /* Step 1: Use any DCA mem uobject to shrink pool */ -+ pthread_spin_lock(&dca_ctx->lock); -+ mem = list_tail(&dca_ctx->mem_list, -+ struct hns_roce_dca_mem, entry); -+ handle = mem ? mem->handle : 0; -+ pthread_spin_unlock(&dca_ctx->lock); -+ if (!mem) -+ break; -+ -+ ret = shrink_dca_mem(ctx, handle, dca_ctx->min_size, &resp); -+ if (ret || likely(resp.free_mems < 1)) -+ break; -+ -+ /* Step 2: Remove shrunk DCA mem node from pool */ -+ pthread_spin_lock(&dca_ctx->lock); -+ mem = key_to_dca_mem(dca_ctx, resp.free_key); -+ if (mem) { -+ list_del(&mem->entry); -+ dca_ctx->mem_cnt--; -+ dca_ctx->curr_size -= mem->buf.length; -+ } -+ -+ handle = mem ? mem->handle : 0; -+ pthread_spin_unlock(&dca_ctx->lock); -+ if (!mem) -+ break; -+ -+ /* Step 3: Destroy DCA mem uobject */ -+ deregister_dca_mem(ctx, handle); -+ free_dca_mem(ctx, mem); -+ /* No any free memory after deregister 1 DCA mem */ -+ if (resp.free_mems <= 1) -+ break; -+ -+ dca_mem_cnt--; -+ } -+} -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 7b2f2d1..f3a7e6b 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -738,6 +738,10 @@ static int hns_roce_u_v2_poll_cq(struct ibv_cq *ibvcq, int ne, - - hns_roce_spin_unlock(&cq->hr_lock); - -+ /* Try to shrink the DCA mem */ -+ if (ctx->dca_ctx.mem_cnt > 0) -+ hns_roce_shrink_dca_mem(ctx); -+ - return err == V2_CQ_POLL_ERR ? err : npolled; - } - -@@ -1674,6 +1678,9 @@ static int hns_roce_u_v2_destroy_qp(struct ibv_qp *ibqp) - - free(qp); - -+ if (ctx->dca_ctx.mem_cnt > 0) -+ hns_roce_shrink_dca_mem(ctx); -+ - return ret; - } - --- -2.30.0 - diff --git a/0034-libhns-Add-support-for-attaching-QP-s-WQE-buffer.patch b/0034-libhns-Add-support-for-attaching-QP-s-WQE-buffer.patch deleted file mode 100644 index 65aa2b237acd7ce9b1e6c687b78f26762f63611a..0000000000000000000000000000000000000000 --- a/0034-libhns-Add-support-for-attaching-QP-s-WQE-buffer.patch +++ /dev/null @@ -1,618 +0,0 @@ -From 835bc1a62dfc3398ef9da23de07348a353f67214 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Mon, 10 May 2021 17:13:17 +0800 -Subject: libhns: Add support for attaching QP's WQE buffer - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -If a uQP works in DCA mode, the WQE's buffer will be split as many blocks -and be stored into a list. The blocks are allocated from the DCA's memory -pool before posting WRs and are dropped when the QP's CI is equal to PI -after polling CQ. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.h | 26 ++++- - providers/hns/hns_roce_u_buf.c | 173 ++++++++++++++++++++++++++++++- - providers/hns/hns_roce_u_hw_v2.c | 151 ++++++++++++++++++++++++--- - providers/hns/hns_roce_u_hw_v2.h | 2 + - providers/hns/hns_roce_u_verbs.c | 32 ++++-- - 5 files changed, 358 insertions(+), 26 deletions(-) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 7b5c5c9..44a733f 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -348,11 +348,18 @@ struct hns_roce_sge_ex { - unsigned int sge_shift; - }; - -+struct hns_roce_dca_buf { -+ void **bufs; -+ unsigned int max_cnt; -+ unsigned int shift; -+}; -+ - struct hns_roce_qp { - struct verbs_qp verbs_qp; - struct hns_roce_buf buf; -+ struct hns_roce_dca_buf dca_wqe; - int max_inline_data; -- int buf_size; -+ unsigned int buf_size; - unsigned int sq_signal_bits; - struct hns_roce_wq sq; - struct hns_roce_wq rq; -@@ -401,11 +408,22 @@ struct hns_roce_u_hw { - struct verbs_context_ops hw_ops; - }; - -+struct hns_roce_dca_attach_attr { -+ uint32_t sq_offset; -+ uint32_t sge_offset; -+ uint32_t rq_offset; -+}; -+ -+struct hns_roce_dca_detach_attr { -+ uint32_t sq_index; -+}; -+ - /* - * The entries's buffer should be aligned to a multiple of the hardware's - * minimum page size. - */ - #define hr_hw_page_align(x) align(x, HNS_HW_PAGE_SIZE) -+#define hr_hw_page_count(x) (hr_hw_page_align(x) / HNS_HW_PAGE_SIZE) - - static inline unsigned int to_hr_hem_entries_size(int count, int buf_shift) - { -@@ -581,9 +599,13 @@ void hns_roce_qp_spinlock_destroy(struct hns_roce_qp *qp); - - void hns_roce_free_qp_buf(struct hns_roce_qp *qp, struct hns_roce_context *ctx); - -+int hns_roce_attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_attach_attr *attr, -+ uint32_t size, struct hns_roce_dca_buf *buf); -+void hns_roce_detach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_detach_attr *attr); - void hns_roce_shrink_dca_mem(struct hns_roce_context *ctx); - void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx); --int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size); - - void hns_roce_init_qp_indices(struct hns_roce_qp *qp); - -diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c -index c0f86e9..3d41b89 100644 ---- a/providers/hns/hns_roce_u_buf.c -+++ b/providers/hns/hns_roce_u_buf.c -@@ -196,6 +196,88 @@ static int shrink_dca_mem(struct hns_roce_context *ctx, uint32_t handle, - - return ret; - } -+ -+struct hns_dca_mem_query_resp { -+ uint64_t key; -+ uint32_t offset; -+ uint32_t page_count; -+}; -+ -+static int query_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ uint32_t index, struct hns_dca_mem_query_resp *resp) -+{ -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_QUERY, 5); -+ fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_HANDLE, handle); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_PAGE_INDEX, index); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_OUT_KEY, -+ &resp->key, sizeof(resp->key)); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_OUT_OFFSET, -+ &resp->offset, sizeof(resp->offset)); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_QUERY_OUT_PAGE_COUNT, -+ &resp->page_count, sizeof(resp->page_count)); -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) -+ verbs_err(&ctx->ibv_ctx, -+ "failed to query DCA mem-%u, ret = %d.\n", -+ handle, ret); -+ -+ return ret; -+} -+ -+void hns_roce_detach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_detach_attr *attr) -+{ -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_DETACH, 4); -+ fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_DETACH_HANDLE, handle); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_DETACH_SQ_INDEX, -+ attr->sq_index); -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) -+ verbs_warn(&ctx->ibv_ctx, -+ "failed to detach DCA mem-%u, ret = %d.\n", -+ handle, ret); -+} -+ -+struct hns_dca_mem_attach_resp { -+#define HNS_DCA_ATTACH_OUT_FLAGS_NEW_BUFFER BIT(0) -+ uint32_t alloc_flags; -+ uint32_t alloc_pages; -+}; -+ -+static int attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_attach_attr *attr, -+ struct hns_dca_mem_attach_resp *resp) -+{ -+ int ret; -+ -+ DECLARE_COMMAND_BUFFER(cmd, HNS_IB_OBJECT_DCA_MEM, -+ HNS_IB_METHOD_DCA_MEM_ATTACH, 6); -+ fill_attr_in_obj(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_HANDLE, handle); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_SQ_OFFSET, -+ attr->sq_offset); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_SGE_OFFSET, -+ attr->sge_offset); -+ fill_attr_in_uint32(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_RQ_OFFSET, -+ attr->rq_offset); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_FLAGS, -+ &resp->alloc_flags, sizeof(resp->alloc_flags)); -+ fill_attr_out(cmd, HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_PAGES, -+ &resp->alloc_pages, sizeof(resp->alloc_pages)); -+ ret = execute_ioctl(&ctx->ibv_ctx.context, cmd); -+ if (ret) -+ verbs_err(&ctx->ibv_ctx, -+ "failed to attach DCA mem-%u, ret = %d.\n", -+ handle, ret); -+ -+ return ret; -+} -+ - static bool add_dca_mem_enabled(struct hns_roce_dca_ctx *ctx, - uint32_t alloc_size) - { -@@ -226,7 +308,7 @@ static bool shrink_dca_mem_enabled(struct hns_roce_dca_ctx *ctx) - return enable; - } - --int hns_roce_add_dca_mem(struct hns_roce_context *ctx, uint32_t size) -+static int add_dca_mem(struct hns_roce_context *ctx, uint32_t size) - { - struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; - struct hns_roce_dca_mem *mem; -@@ -310,3 +392,92 @@ void hns_roce_shrink_dca_mem(struct hns_roce_context *ctx) - dca_mem_cnt--; - } - } -+ -+static void config_dca_pages(void *addr, struct hns_roce_dca_buf *buf, -+ uint32_t page_index, int page_count) -+{ -+ void **pages = &buf->bufs[page_index]; -+ int page_size = 1 << buf->shift; -+ int i; -+ -+ for (i = 0; i < page_count; i++) { -+ pages[i] = addr; -+ addr += page_size; -+ } -+} -+ -+static int setup_dca_buf(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_buf *buf, uint32_t page_count) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ struct hns_dca_mem_query_resp resp = {}; -+ struct hns_roce_dca_mem *mem; -+ uint32_t idx = 0; -+ int ret; -+ -+ while (idx < page_count && idx < buf->max_cnt) { -+ resp.page_count = 0; -+ ret = query_dca_mem(ctx, handle, idx, &resp); -+ if (ret) -+ return -ENOMEM; -+ if (resp.page_count < 1) -+ break; -+ -+ pthread_spin_lock(&dca_ctx->lock); -+ mem = key_to_dca_mem(dca_ctx, resp.key); -+ if (mem && resp.offset < mem->buf.length) { -+ config_dca_pages(dca_mem_addr(mem, resp.offset), -+ buf, idx, resp.page_count); -+ } else { -+ pthread_spin_unlock(&dca_ctx->lock); -+ break; -+ } -+ pthread_spin_unlock(&dca_ctx->lock); -+ -+ idx += resp.page_count; -+ } -+ -+ return (idx >= page_count) ? 0 : -ENOMEM; -+} -+ -+#define DCA_EXPAND_MEM_TRY_TIMES 3 -+int hns_roce_attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, -+ struct hns_roce_dca_attach_attr *attr, -+ uint32_t size, struct hns_roce_dca_buf *buf) -+{ -+ uint32_t buf_pages = size >> buf->shift; -+ struct hns_dca_mem_attach_resp resp = {}; -+ bool is_new_buf = true; -+ int try_times = 0; -+ int ret = 0; -+ -+ do { -+ resp.alloc_pages = 0; -+ ret = attach_dca_mem(ctx, handle, attr, &resp); -+ if (ret) -+ break; -+ -+ if (resp.alloc_pages >= buf_pages) { -+ is_new_buf = !!(resp.alloc_flags & -+ HNS_DCA_ATTACH_OUT_FLAGS_NEW_BUFFER); -+ break; -+ } -+ -+ ret = add_dca_mem(ctx, size); -+ if (ret) -+ break; -+ } while (try_times++ < DCA_EXPAND_MEM_TRY_TIMES); -+ -+ if (ret || resp.alloc_pages < buf_pages) { -+ verbs_err(&ctx->ibv_ctx, -+ "failed to attach, size %u count %u != %u, ret = %d.\n", -+ size, buf_pages, resp.alloc_pages, ret); -+ return -ENOMEM; -+ } -+ -+ /* No need config user address if DCA config not changed */ -+ if (!is_new_buf && buf->bufs[0]) -+ return 0; -+ -+ return setup_dca_buf(ctx, handle, buf, buf_pages); -+} -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index f3a7e6b..7e3ad92 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -197,19 +197,35 @@ static struct hns_roce_v2_cqe *next_cqe_sw_v2(struct hns_roce_cq *cq) - return get_sw_cqe_v2(cq, cq->cons_index); - } - -+static inline bool check_qp_dca_enable(struct hns_roce_qp *qp) -+{ -+ return !!qp->dca_wqe.bufs; -+} -+ -+static inline void *get_wqe(struct hns_roce_qp *qp, unsigned int offset) -+{ -+ if (likely(qp->buf.buf)) -+ return qp->buf.buf + offset; -+ else if (unlikely(check_qp_dca_enable(qp))) -+ return qp->dca_wqe.bufs[offset >> qp->dca_wqe.shift] + -+ (offset & ((1 << qp->dca_wqe.shift) - 1)); -+ else -+ return NULL; -+} -+ - static void *get_recv_wqe_v2(struct hns_roce_qp *qp, unsigned int n) - { -- return qp->buf.buf + qp->rq.offset + (n << qp->rq.wqe_shift); -+ return get_wqe(qp, qp->rq.offset + (n << qp->rq.wqe_shift)); - } - - static void *get_send_wqe(struct hns_roce_qp *qp, unsigned int n) - { -- return qp->buf.buf + qp->sq.offset + (n << qp->sq.wqe_shift); -+ return get_wqe(qp, qp->sq.offset + (n << qp->sq.wqe_shift)); - } - - static void *get_send_sge_ex(struct hns_roce_qp *qp, unsigned int n) - { -- return qp->buf.buf + qp->ex_sge.offset + (n << qp->ex_sge.sge_shift); -+ return get_wqe(qp, qp->ex_sge.offset + (n << qp->ex_sge.sge_shift)); - } - - static void *get_srq_wqe(struct hns_roce_srq *srq, unsigned int n) -@@ -569,6 +585,73 @@ static void parse_cqe_for_req(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - wc->opcode = wc_send_op_map[opcode]; - } - -+static bool check_dca_attach_enable(struct hns_roce_qp *qp) -+{ -+ return check_qp_dca_enable(qp) && -+ (qp->flags & HNS_ROCE_QP_CAP_DYNAMIC_CTX_ATTACH); -+} -+ -+static bool check_dca_detach_enable(struct hns_roce_qp *qp) -+{ -+ return check_qp_dca_enable(qp) && -+ (qp->flags & HNS_ROCE_QP_CAP_DYNAMIC_CTX_DETACH); -+} -+ -+static int dca_attach_qp_buf(struct hns_roce_context *ctx, -+ struct hns_roce_qp *qp) -+{ -+ struct hns_roce_dca_attach_attr attr = {}; -+ uint32_t idx; -+ int ret; -+ -+ hns_roce_spin_lock(&qp->sq.hr_lock); -+ hns_roce_spin_lock(&qp->rq.hr_lock); -+ -+ if (qp->sq.wqe_cnt > 0) { -+ idx = qp->sq.head & (qp->sq.wqe_cnt - 1); -+ attr.sq_offset = idx << qp->sq.wqe_shift; -+ } -+ -+ if (qp->ex_sge.sge_cnt > 0) { -+ idx = qp->next_sge & (qp->ex_sge.sge_cnt - 1); -+ attr.sge_offset = idx << qp->ex_sge.sge_shift; -+ } -+ -+ if (qp->rq.wqe_cnt > 0) { -+ idx = qp->rq.head & (qp->rq.wqe_cnt - 1); -+ attr.rq_offset = idx << qp->rq.wqe_shift; -+ } -+ -+ -+ ret = hns_roce_attach_dca_mem(ctx, qp->verbs_qp.qp.handle, &attr, -+ qp->buf_size, &qp->dca_wqe); -+ -+ hns_roce_spin_unlock(&qp->rq.hr_lock); -+ hns_roce_spin_unlock(&qp->sq.hr_lock); -+ -+ return ret; -+} -+ -+static void dca_detach_qp_buf(struct hns_roce_context *ctx, -+ struct hns_roce_qp *qp) -+{ -+ struct hns_roce_dca_detach_attr attr; -+ bool is_empty; -+ -+ hns_roce_spin_lock(&qp->sq.hr_lock); -+ hns_roce_spin_lock(&qp->rq.hr_lock); -+ -+ is_empty = qp->sq.head == qp->sq.tail && qp->rq.head == qp->rq.tail; -+ if (is_empty && qp->sq.wqe_cnt > 0) -+ attr.sq_index = qp->sq.head & (qp->sq.wqe_cnt - 1); -+ -+ hns_roce_spin_unlock(&qp->rq.hr_lock); -+ hns_roce_spin_unlock(&qp->sq.hr_lock); -+ -+ if (is_empty) -+ hns_roce_detach_dca_mem(ctx, qp->verbs_qp.qp.handle, &attr); -+} -+ - static void cqe_proc_sq(struct hns_roce_qp *hr_qp, uint32_t wqe_idx, - struct hns_roce_cq *cq) - { -@@ -725,6 +808,9 @@ static int hns_roce_u_v2_poll_cq(struct ibv_cq *ibvcq, int ne, - - for (npolled = 0; npolled < ne; ++npolled) { - err = hns_roce_poll_one(ctx, &qp, cq, wc + npolled); -+ if (qp && check_dca_detach_enable(qp)) -+ dca_detach_qp_buf(ctx, qp); -+ - if (err != V2_CQ_OK) - break; - } -@@ -768,19 +854,30 @@ static int hns_roce_u_v2_arm_cq(struct ibv_cq *ibvcq, int solicited) - return 0; - } - --static int check_qp_send(struct ibv_qp *qp, struct hns_roce_context *ctx) -+static int check_qp_send(struct hns_roce_qp *qp, struct hns_roce_context *ctx) - { -- if (unlikely(qp->qp_type != IBV_QPT_RC && -- qp->qp_type != IBV_QPT_UD) && -- qp->qp_type != IBV_QPT_XRC_SEND) -+ struct ibv_qp *ibvqp = &qp->verbs_qp.qp; -+ int ret = 0; -+ -+ if (unlikely(ibvqp->qp_type != IBV_QPT_RC && -+ ibvqp->qp_type != IBV_QPT_UD) && -+ ibvqp->qp_type != IBV_QPT_XRC_SEND) - return -EINVAL; - -- if (unlikely(qp->state == IBV_QPS_RESET || -- qp->state == IBV_QPS_INIT || -- qp->state == IBV_QPS_RTR)) -+ if (unlikely(ibvqp->state == IBV_QPS_RESET || -+ ibvqp->state == IBV_QPS_INIT || -+ ibvqp->state == IBV_QPS_RTR)) - return -EINVAL; - -- return 0; -+ if (check_dca_attach_enable(qp)) { -+ ret = dca_attach_qp_buf(ctx, qp); -+ if (ret) -+ verbs_err_datapath(&ctx->ibv_ctx, -+ "failed to attach QP-%u send, ret = %d.\n", -+ qp->verbs_qp.qp.qp_num, ret); -+ } -+ -+ return ret; - } - - static void set_rc_sge(struct hns_roce_v2_wqe_data_seg *dseg, -@@ -1148,6 +1245,13 @@ static int set_rc_inl(struct hns_roce_qp *qp, const struct ibv_send_wr *wr, - return 0; - } - -+static inline void fill_rc_dca_fields(uint32_t qp_num, -+ struct hns_roce_rc_sq_wqe *wqe) -+{ -+ hr_reg_write(wqe, RCWQE_SQPN_L, qp_num); -+ hr_reg_write(wqe, RCWQE_SQPN_H, qp_num >> RCWQE_SQPN_L_WIDTH); -+} -+ - static void set_bind_mw_seg(struct hns_roce_rc_sq_wqe *wqe, - const struct ibv_send_wr *wr) - { -@@ -1259,6 +1363,9 @@ static int set_rc_wqe(void *wqe, struct hns_roce_qp *qp, struct ibv_send_wr *wr, - return ret; - - wqe_valid: -+ if (check_qp_dca_enable(qp)) -+ fill_rc_dca_fields(qp->verbs_qp.qp.qp_num, rc_sq_wqe); -+ - enable_wqe(qp, rc_sq_wqe, qp->sq.head + nreq); - - return 0; -@@ -1275,7 +1382,7 @@ int hns_roce_u_v2_post_send(struct ibv_qp *ibvqp, struct ibv_send_wr *wr, - struct ibv_qp_attr attr; - int ret; - -- ret = check_qp_send(ibvqp, ctx); -+ ret = check_qp_send(qp, ctx); - if (unlikely(ret)) { - *bad_wr = wr; - return ret; -@@ -1352,15 +1459,20 @@ out: - return ret; - } - --static int check_qp_recv(struct ibv_qp *qp, struct hns_roce_context *ctx) -+static int check_qp_recv(struct hns_roce_qp *qp, struct hns_roce_context *ctx) - { -- if (unlikely(qp->qp_type != IBV_QPT_RC && -- qp->qp_type != IBV_QPT_UD)) -+ struct ibv_qp *ibvqp = &qp->verbs_qp.qp; -+ -+ if (unlikely(ibvqp->qp_type != IBV_QPT_RC && -+ ibvqp->qp_type != IBV_QPT_UD)) - return -EINVAL; - -- if (qp->state == IBV_QPS_RESET || qp->srq) -+ if (ibvqp->state == IBV_QPS_RESET || ibvqp->srq) - return -EINVAL; - -+ if (check_dca_attach_enable(qp)) -+ return dca_attach_qp_buf(ctx, qp); -+ - return 0; - } - -@@ -1428,7 +1540,7 @@ static int hns_roce_u_v2_post_recv(struct ibv_qp *ibvqp, struct ibv_recv_wr *wr, - struct ibv_qp_attr attr; - int ret; - -- ret = check_qp_recv(ibvqp, ctx); -+ ret = check_qp_recv(qp, ctx); - if (unlikely(ret)) { - *bad_wr = wr; - return ret; -@@ -1551,6 +1663,7 @@ static void record_qp_attr(struct ibv_qp *qp, struct ibv_qp_attr *attr, - static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - int attr_mask) - { -+ struct hns_roce_context *ctx = to_hr_ctx(qp->context); - struct hns_roce_modify_qp_ex_resp resp_ex = {}; - struct hns_roce_modify_qp_ex cmd_ex = {}; - struct hns_roce_qp *hr_qp = to_hr_qp(qp); -@@ -1598,6 +1711,10 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - if (hr_qp->tc_mode == HNS_ROCE_TC_MAP_MODE_DSCP) - hr_qp->sl = hr_qp->priority; - -+ /* Try to shrink the DCA mem */ -+ if (ctx->dca_ctx.mem_cnt > 0) -+ hns_roce_shrink_dca_mem(ctx); -+ - record_qp_attr(qp, attr, attr_mask); - - return ret; -diff --git a/providers/hns/hns_roce_u_hw_v2.h b/providers/hns/hns_roce_u_hw_v2.h -index d71c695..a22995d 100644 ---- a/providers/hns/hns_roce_u_hw_v2.h -+++ b/providers/hns/hns_roce_u_hw_v2.h -@@ -239,6 +239,8 @@ struct hns_roce_rc_sq_wqe { - #define RCWQE_MW_RR_EN RCWQE_FIELD_LOC(259, 259) - #define RCWQE_MW_RW_EN RCWQE_FIELD_LOC(260, 260) - -+#define RCWQE_SQPN_L_WIDTH 2 -+ - struct hns_roce_v2_wqe_data_seg { - __le32 len; - __le32 lkey; -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index f6c7423..749b01b 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -1165,6 +1165,14 @@ static int calc_qp_buff_size(struct hns_roce_device *hr_dev, - return 0; - } - -+static inline bool check_qp_support_dca(bool pool_en, enum ibv_qp_type qp_type) -+{ -+ if (pool_en && (qp_type == IBV_QPT_RC || qp_type == IBV_QPT_XRC_SEND)) -+ return true; -+ -+ return false; -+} -+ - static void qp_free_wqe(struct hns_roce_qp *qp) - { - free_recv_rinl_buf(&qp->rq_rinl_buf); -@@ -1176,8 +1184,8 @@ static void qp_free_wqe(struct hns_roce_qp *qp) - hns_roce_free_buf(&qp->buf); - } - --static int qp_alloc_wqe(struct ibv_qp_cap *cap, struct hns_roce_qp *qp, -- struct hns_roce_context *ctx) -+static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr, -+ struct hns_roce_qp *qp, struct hns_roce_context *ctx) - { - struct hns_roce_device *hr_dev = to_hr_dev(ctx->ibv_ctx.context.device); - -@@ -1195,12 +1203,24 @@ static int qp_alloc_wqe(struct ibv_qp_cap *cap, struct hns_roce_qp *qp, - } - - if (qp->rq_rinl_buf.wqe_cnt) { -- if (alloc_recv_rinl_buf(cap->max_recv_sge, &qp->rq_rinl_buf)) -+ if (alloc_recv_rinl_buf(attr->cap.max_recv_sge, -+ &qp->rq_rinl_buf)) - goto err_alloc; - } - -- if (hns_roce_alloc_buf(&qp->buf, qp->buf_size, HNS_HW_PAGE_SIZE)) -- goto err_alloc; -+ if (check_qp_support_dca(ctx->dca_ctx.max_size != 0, attr->qp_type)) { -+ /* when DCA is enabled, use a buffer list to store page addr */ -+ qp->buf.buf = NULL; -+ qp->dca_wqe.max_cnt = hr_hw_page_count(qp->buf_size); -+ qp->dca_wqe.shift = HNS_HW_PAGE_SHIFT; -+ qp->dca_wqe.bufs = calloc(qp->dca_wqe.max_cnt, sizeof(void *)); -+ if (!qp->dca_wqe.bufs) -+ goto err_alloc; -+ } else { -+ if (hns_roce_alloc_buf(&qp->buf, qp->buf_size, -+ HNS_HW_PAGE_SIZE)) -+ goto err_alloc; -+ } - - return 0; - -@@ -1467,7 +1487,7 @@ static int hns_roce_alloc_qp_buf(struct ibv_qp_init_attr_ex *attr, - pthread_spin_init(&qp->rq.hr_lock.lock, PTHREAD_PROCESS_PRIVATE)) - return -ENOMEM; - -- ret = qp_alloc_wqe(&attr->cap, qp, ctx); -+ ret = qp_alloc_wqe(attr, qp, ctx); - if (ret) - return ret; - --- -2.30.0 - diff --git a/0035-libhns-Use-shared-memory-to-sync-DCA-status.patch b/0035-libhns-Use-shared-memory-to-sync-DCA-status.patch deleted file mode 100644 index 635c0807ee0242800cb9cc6079425bcc64dff91b..0000000000000000000000000000000000000000 --- a/0035-libhns-Use-shared-memory-to-sync-DCA-status.patch +++ /dev/null @@ -1,167 +0,0 @@ -From a5e62921afc2fcc152e8b0584f2d04d1a4db4f10 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Tue, 29 Jun 2021 20:06:47 +0800 -Subject: libhns: Use shared memory to sync DCA status - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -The user DCA needs to check the QP attaching state before filling wqe -buffer by the response from uverbs 'HNS_IB_METHOD_DCA_MEM_ATTACH', but -this will result in too much time being wasted on system calls, so use a -shared table between user driver and kernel driver to sync DCA status. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 51 +++++++++++++++++++++++++++++++++++--- - providers/hns/hns_roce_u.h | 10 ++++++++ - 2 files changed, 57 insertions(+), 4 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index bd2b251..fe30cda 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -95,9 +95,33 @@ static const struct verbs_context_ops hns_common_ops = { - .alloc_parent_domain = hns_roce_u_alloc_pad, - }; - --static int init_dca_context(struct hns_roce_context *ctx, int page_size) -+static int mmap_dca(struct hns_roce_context *ctx, int cmd_fd, -+ int page_size, size_t size, uint64_t mmap_key) - { - struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ void *addr; -+ -+ addr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, cmd_fd, -+ mmap_key); -+ if (addr == MAP_FAILED) { -+ verbs_err(&ctx->ibv_ctx, "failed to mmap() dca prime qp.\n"); -+ return -EINVAL; -+ } -+ -+ dca_ctx->buf_status = addr; -+ dca_ctx->sync_status = addr + size / 2; -+ -+ return 0; -+} -+ -+static int init_dca_context(struct hns_roce_context *ctx, int cmd_fd, -+ struct hns_roce_alloc_ucontext_resp *resp, -+ int page_size) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ uint64_t mmap_key = resp->dca_mmap_key; -+ int mmap_size = resp->dca_mmap_size; -+ int max_qps = resp->dca_qps; - int ret; - - if (!(ctx->config & HNS_ROCE_UCTX_RSP_DCA_FLAGS)) -@@ -112,6 +136,16 @@ static int init_dca_context(struct hns_roce_context *ctx, int page_size) - dca_ctx->max_size = HNS_DCA_MAX_MEM_SIZE; - dca_ctx->mem_cnt = 0; - -+ if (mmap_key) { -+ const unsigned int bits_per_qp = 2 * HNS_DCA_BITS_PER_STATUS; -+ -+ if (!mmap_dca(ctx, cmd_fd, page_size, mmap_size, mmap_key)) { -+ dca_ctx->status_size = mmap_size; -+ dca_ctx->max_qps = min_t(int, max_qps, -+ mmap_size * 8 / bits_per_qp); -+ } -+ } -+ - return 0; - } - -@@ -125,6 +159,8 @@ static void uninit_dca_context(struct hns_roce_context *ctx) - pthread_spin_lock(&dca_ctx->lock); - hns_roce_cleanup_dca_mem(ctx); - pthread_spin_unlock(&dca_ctx->lock); -+ if (dca_ctx->buf_status) -+ munmap(dca_ctx->buf_status, dca_ctx->status_size); - - pthread_spin_destroy(&dca_ctx->lock); - } -@@ -149,6 +185,14 @@ static uint32_t calc_table_shift(uint32_t entry_count, uint32_t size_shift) - return count_shift > size_shift ? count_shift - size_shift : 0; - } - -+static void ucontext_set_cmd(struct hns_roce_alloc_ucontext *cmd, int page_size) -+{ -+ cmd->config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS | -+ HNS_ROCE_CQE_INLINE_FLAGS | HNS_ROCE_UCTX_CONFIG_DCA; -+ cmd->comp = HNS_ROCE_ALLOC_UCTX_COMP_DCA_MAX_QPS; -+ cmd->dca_max_qps = page_size * 8 / 2 * HNS_DCA_BITS_PER_STATUS; -+} -+ - static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - int cmd_fd, - void *private_data) -@@ -165,8 +209,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - if (!context) - return NULL; - -- cmd.config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS | -- HNS_ROCE_CQE_INLINE_FLAGS | HNS_ROCE_UCTX_CONFIG_DCA; -+ ucontext_set_cmd(&cmd, hr_dev->page_size); - if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; -@@ -212,7 +255,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - context->max_srq_wr = dev_attrs.max_srq_wr; - context->max_srq_sge = dev_attrs.max_srq_sge; - -- if (init_dca_context(context, hr_dev->page_size)) -+ if (init_dca_context(context, cmd_fd, &resp, hr_dev->page_size)) - goto err_free; - - if (hns_roce_mmap(hr_dev, context, cmd_fd)) -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 44a733f..a8f811e 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -35,6 +35,7 @@ - - #include - #include -+#include - #include - - #include -@@ -44,6 +45,7 @@ - #include - #include - #include -+#include - #include - #include "hns_roce_u_abi.h" - -@@ -52,6 +54,8 @@ - - #define PFX "hns: " - -+typedef _Atomic(uint64_t) atomic_bitmap_t; -+ - /* The minimum page size is 4K for hardware */ - #define HNS_HW_PAGE_SHIFT 12 - #define HNS_HW_PAGE_SIZE (1 << HNS_HW_PAGE_SHIFT) -@@ -214,6 +218,12 @@ struct hns_roce_dca_ctx { - uint64_t max_size; - uint64_t min_size; - uint64_t curr_size; -+ -+#define HNS_DCA_BITS_PER_STATUS 1 -+ unsigned int max_qps; -+ unsigned int status_size; -+ atomic_bitmap_t *buf_status; -+ atomic_bitmap_t *sync_status; - }; - - struct hns_roce_context { --- -2.30.0 - diff --git a/0036-libhns-Sync-DCA-status-by-shared-memory.patch b/0036-libhns-Sync-DCA-status-by-shared-memory.patch deleted file mode 100644 index e9108f8811707b0cd926b3a84a0127873a24d476..0000000000000000000000000000000000000000 --- a/0036-libhns-Sync-DCA-status-by-shared-memory.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 13d4b60fcd0880fae54b1af627eeb7297d7b086d Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Tue, 29 Jun 2021 21:01:27 +0800 -Subject: libhns: Sync DCA status by shared memory - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -Use DCA num from the resp of modify_qp() and indicate the DCA status bit in -the shared memory, if the num is valid, the user DCA can get the DCA status -by testing the bit in the shared memory for each QP, othewise invoke the -verbs 'HNS_IB_METHOD_DCA_MEM_ATTACH' to check the DCA status. - -Each QP has 2 bits in shared memory, 1 bit is used to lock the DCA status -changing by kernel driver or user driver, another bit is used to indicate -the DCA attaching status. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.h | 31 +++++++++++++++++++++++ - providers/hns/hns_roce_u_buf.c | 42 ++++++++++++++++++++++++++++++++ - providers/hns/hns_roce_u_hw_v2.c | 20 ++++++++++++++- - 3 files changed, 92 insertions(+), 1 deletion(-) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index a8f811e..91b0c8f 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -362,6 +362,7 @@ struct hns_roce_dca_buf { - void **bufs; - unsigned int max_cnt; - unsigned int shift; -+ unsigned int dcan; - }; - - struct hns_roce_qp { -@@ -422,6 +423,7 @@ struct hns_roce_dca_attach_attr { - uint32_t sq_offset; - uint32_t sge_offset; - uint32_t rq_offset; -+ bool force; - }; - - struct hns_roce_dca_detach_attr { -@@ -534,6 +536,32 @@ static inline int hns_roce_spin_unlock(struct hns_roce_spinlock *hr_lock) - return 0; - } - -+#define HNS_ROCE_BIT_MASK(nr) (1UL << ((nr) % 64)) -+#define HNS_ROCE_BIT_WORD(nr) ((nr) / 64) -+ -+static inline bool atomic_test_bit(atomic_bitmap_t *p, uint32_t nr) -+{ -+ p += HNS_ROCE_BIT_WORD(nr); -+ return !!(atomic_load(p) & HNS_ROCE_BIT_MASK(nr)); -+} -+ -+static inline bool test_and_set_bit_lock(atomic_bitmap_t *p, uint32_t nr) -+{ -+ uint64_t mask = HNS_ROCE_BIT_MASK(nr); -+ -+ p += HNS_ROCE_BIT_WORD(nr); -+ if (atomic_load(p) & mask) -+ return true; -+ -+ return (atomic_fetch_or(p, mask) & mask) != 0; -+} -+ -+static inline void clear_bit_unlock(atomic_bitmap_t *p, uint32_t nr) -+{ -+ p += HNS_ROCE_BIT_WORD(nr); -+ atomic_fetch_and(p, ~HNS_ROCE_BIT_MASK(nr)); -+} -+ - int hns_roce_u_query_device(struct ibv_context *context, - const struct ibv_query_device_ex_input *input, - struct ibv_device_attr_ex *attr, size_t attr_size); -@@ -614,6 +642,9 @@ int hns_roce_attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, - uint32_t size, struct hns_roce_dca_buf *buf); - void hns_roce_detach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, - struct hns_roce_dca_detach_attr *attr); -+bool hns_roce_dca_start_post(struct hns_roce_dca_ctx *ctx, uint32_t dcan); -+void hns_roce_dca_stop_post(struct hns_roce_dca_ctx *ctx, uint32_t dcan); -+ - void hns_roce_shrink_dca_mem(struct hns_roce_context *ctx); - void hns_roce_cleanup_dca_mem(struct hns_roce_context *ctx); - -diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c -index 3d41b89..08c0fbc 100644 ---- a/providers/hns/hns_roce_u_buf.c -+++ b/providers/hns/hns_roce_u_buf.c -@@ -440,6 +440,45 @@ static int setup_dca_buf(struct hns_roce_context *ctx, uint32_t handle, - return (idx >= page_count) ? 0 : -ENOMEM; - } - -+#define DCAN_TO_SYNC_BIT(n) ((n) * HNS_DCA_BITS_PER_STATUS) -+#define DCAN_TO_STAT_BIT(n) DCAN_TO_SYNC_BIT(n) -+ -+#define MAX_DCA_TRY_LOCK_TIMES 10 -+bool hns_roce_dca_start_post(struct hns_roce_dca_ctx *ctx, uint32_t dcan) -+{ -+ atomic_bitmap_t *st = ctx->sync_status; -+ int try_times = 0; -+ -+ if (!st || dcan >= ctx->max_qps) -+ return true; -+ -+ while (test_and_set_bit_lock(st, DCAN_TO_SYNC_BIT(dcan))) -+ if (try_times++ > MAX_DCA_TRY_LOCK_TIMES) -+ return false; -+ -+ return true; -+} -+ -+void hns_roce_dca_stop_post(struct hns_roce_dca_ctx *ctx, uint32_t dcan) -+{ -+ atomic_bitmap_t *st = ctx->sync_status; -+ -+ if (!st || dcan >= ctx->max_qps) -+ return; -+ -+ clear_bit_unlock(st, DCAN_TO_SYNC_BIT(dcan)); -+} -+ -+static bool check_dca_is_attached(struct hns_roce_dca_ctx *ctx, uint32_t dcan) -+{ -+ atomic_bitmap_t *st = ctx->buf_status; -+ -+ if (!st || dcan >= ctx->max_qps) -+ return false; -+ -+ return atomic_test_bit(st, DCAN_TO_STAT_BIT(dcan)); -+} -+ - #define DCA_EXPAND_MEM_TRY_TIMES 3 - int hns_roce_attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, - struct hns_roce_dca_attach_attr *attr, -@@ -451,6 +490,9 @@ int hns_roce_attach_dca_mem(struct hns_roce_context *ctx, uint32_t handle, - int try_times = 0; - int ret = 0; - -+ if (!attr->force && check_dca_is_attached(&ctx->dca_ctx, buf->dcan)) -+ return 0; -+ - do { - resp.alloc_pages = 0; - ret = attach_dca_mem(ctx, handle, attr, &resp); -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 7e3ad92..028d20c 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -601,6 +601,7 @@ static int dca_attach_qp_buf(struct hns_roce_context *ctx, - struct hns_roce_qp *qp) - { - struct hns_roce_dca_attach_attr attr = {}; -+ bool enable_detach; - uint32_t idx; - int ret; - -@@ -622,9 +623,16 @@ static int dca_attach_qp_buf(struct hns_roce_context *ctx, - attr.rq_offset = idx << qp->rq.wqe_shift; - } - -+ enable_detach = check_dca_detach_enable(qp); -+ if (enable_detach && -+ !hns_roce_dca_start_post(&ctx->dca_ctx, qp->dca_wqe.dcan)) -+ /* Force attach if failed to sync dca status */ -+ attr.force = true; - - ret = hns_roce_attach_dca_mem(ctx, qp->verbs_qp.qp.handle, &attr, -- qp->buf_size, &qp->dca_wqe); -+ qp->buf_size, &qp->dca_wqe); -+ if (ret && enable_detach) -+ hns_roce_dca_stop_post(&ctx->dca_ctx, qp->dca_wqe.dcan); - - hns_roce_spin_unlock(&qp->rq.hr_lock); - hns_roce_spin_unlock(&qp->sq.hr_lock); -@@ -1450,6 +1458,9 @@ out: - - hns_roce_spin_unlock(&qp->sq.hr_lock); - -+ if (check_dca_detach_enable(qp)) -+ hns_roce_dca_stop_post(&ctx->dca_ctx, qp->dca_wqe.dcan); -+ - if (ibvqp->state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; - -@@ -1582,6 +1593,9 @@ out: - - hns_roce_spin_unlock(&qp->rq.hr_lock); - -+ if (check_dca_detach_enable(qp)) -+ hns_roce_dca_stop_post(&ctx->dca_ctx, qp->dca_wqe.dcan); -+ - if (ibvqp->state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; - hns_roce_u_v2_modify_qp(ibvqp, &attr, IBV_QP_STATE); -@@ -1693,6 +1707,7 @@ static int hns_roce_u_v2_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - if (attr->qp_state == IBV_QPS_RTR) { - hr_qp->tc_mode = resp_ex.drv_payload.tc_mode; - hr_qp->priority = resp_ex.drv_payload.priority; -+ hr_qp->dca_wqe.dcan = resp_ex.drv_payload.dcan; - } - } - -@@ -2721,6 +2736,9 @@ static int wr_complete(struct ibv_qp_ex *ibv_qp) - out: - hns_roce_spin_unlock(&qp->sq.hr_lock); - -+ if (check_dca_detach_enable(qp)) -+ hns_roce_dca_stop_post(&ctx->dca_ctx, qp->dca_wqe.dcan); -+ - if (ibv_qp->qp_base.state == IBV_QPS_ERR) { - attr.qp_state = IBV_QPS_ERR; - hns_roce_u_v2_modify_qp(&ibv_qp->qp_base, &attr, IBV_QP_STATE); --- -2.30.0 - diff --git a/0037-libhns-Add-direct-verbs-support-to-config-DCA.patch b/0037-libhns-Add-direct-verbs-support-to-config-DCA.patch deleted file mode 100644 index 87e9ddf2583bafa9cbfb72820d71dcf734132124..0000000000000000000000000000000000000000 --- a/0037-libhns-Add-direct-verbs-support-to-config-DCA.patch +++ /dev/null @@ -1,766 +0,0 @@ -From 6aa5efb3059c66d3d0f49804551b38c5ed827ec1 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Mon, 10 May 2021 17:13:49 +0800 -Subject: libhns: Add direct verbs support to config DCA - -driver inclusion -category: feature -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M - ----------------------------------------------------------- - -Add two direct verbs to config DCA: -1. hnsdv_open_device() is used to config DCA memory pool. -2. hnsdv_create_qp() is used to create a DCA QP. - -Signed-off-by: Chengchang Tang -Reviewed-by: Yangyang Li ---- - debian/control | 2 +- - debian/ibverbs-providers.install | 1 + - debian/ibverbs-providers.lintian-overrides | 4 +- - debian/ibverbs-providers.symbols | 6 ++ - debian/libibverbs-dev.install | 4 + - providers/hns/CMakeLists.txt | 9 ++- - providers/hns/hns_roce_u.c | 92 +++++++++++++++++++--- - providers/hns/hns_roce_u.h | 2 + - providers/hns/hns_roce_u_abi.h | 1 + - providers/hns/hns_roce_u_buf.c | 3 + - providers/hns/hns_roce_u_hw_v2.c | 33 +++++++- - providers/hns/hns_roce_u_verbs.c | 58 ++++++++++++-- - providers/hns/hnsdv.h | 65 +++++++++++++++ - providers/hns/libhns.map | 9 +++ - redhat/rdma-core.spec | 5 +- - suse/rdma-core.spec | 21 ++++- - 16 files changed, 289 insertions(+), 26 deletions(-) - create mode 100644 providers/hns/hnsdv.h - create mode 100644 providers/hns/libhns.map - -diff --git a/debian/control b/debian/control -index 7485ad3..22eb6cd 100644 ---- a/debian/control -+++ b/debian/control -@@ -94,7 +94,7 @@ Description: User space provider drivers for libibverbs - - cxgb4: Chelsio T4 iWARP HCAs - - efa: Amazon Elastic Fabric Adapter - - hfi1verbs: Intel Omni-Path HFI -- - hns: HiSilicon Hip06 SoC -+ - hns: HiSilicon Hip08+ SoC - - ipathverbs: QLogic InfiniPath HCAs - - irdma: Intel Ethernet Connection RDMA - - mlx4: Mellanox ConnectX-3 InfiniBand HCAs -diff --git a/debian/ibverbs-providers.install b/debian/ibverbs-providers.install -index 4f971fb..c6ecbbc 100644 ---- a/debian/ibverbs-providers.install -+++ b/debian/ibverbs-providers.install -@@ -1,5 +1,6 @@ - etc/libibverbs.d/ - usr/lib/*/libefa.so.* - usr/lib/*/libibverbs/lib*-rdmav*.so -+usr/lib/*/libhns.so.* - usr/lib/*/libmlx4.so.* - usr/lib/*/libmlx5.so.* -diff --git a/debian/ibverbs-providers.lintian-overrides b/debian/ibverbs-providers.lintian-overrides -index 8a44d54..f6afb70 100644 ---- a/debian/ibverbs-providers.lintian-overrides -+++ b/debian/ibverbs-providers.lintian-overrides -@@ -1,2 +1,2 @@ --# libefa, libmlx4 and libmlx5 are ibverbs provider that provides more functions. --ibverbs-providers: package-name-doesnt-match-sonames libefa1 libmlx4-1 libmlx5-1 -+# libefa, libhns, libmlx4 and libmlx5 are ibverbs provider that provides more functions. -+ibverbs-providers: package-name-doesnt-match-sonames libefa1 libhns-1 libmlx4-1 libmlx5-1 -diff --git a/debian/ibverbs-providers.symbols b/debian/ibverbs-providers.symbols -index 2c6b330..1844369 100644 ---- a/debian/ibverbs-providers.symbols -+++ b/debian/ibverbs-providers.symbols -@@ -162,3 +162,9 @@ libefa.so.1 ibverbs-providers #MINVER# - efadv_create_qp_ex@EFA_1.1 26 - efadv_query_device@EFA_1.1 26 - efadv_query_ah@EFA_1.1 26 -+libhns.so.1 ibverbs-providers #MINVER# -+* Build-Depends-Package: libibverbs-dev -+ HNS_1.0@HNS_1.0 36 -+ hnsdv_is_supported@HNS_1.0 36 -+ hnsdv_open_device@HNS_1.0 36 -+ hnsdv_create_qp@HNS_1.0 36 -diff --git a/debian/libibverbs-dev.install b/debian/libibverbs-dev.install -index bc8caa5..7d6e6a2 100644 ---- a/debian/libibverbs-dev.install -+++ b/debian/libibverbs-dev.install -@@ -1,5 +1,6 @@ - usr/include/infiniband/arch.h - usr/include/infiniband/efadv.h -+usr/include/infiniband/hnsdv.h - usr/include/infiniband/ib_user_ioctl_verbs.h - usr/include/infiniband/mlx4dv.h - usr/include/infiniband/mlx5_api.h -@@ -14,6 +15,8 @@ usr/include/infiniband/verbs_api.h - usr/lib/*/lib*-rdmav*.a - usr/lib/*/libefa.a - usr/lib/*/libefa.so -+usr/lib/*/libhns.a -+usr/lib/*/libhns.so - usr/lib/*/libibverbs*.so - usr/lib/*/libibverbs.a - usr/lib/*/libmlx4.a -@@ -21,6 +24,7 @@ usr/lib/*/libmlx4.so - usr/lib/*/libmlx5.a - usr/lib/*/libmlx5.so - usr/lib/*/pkgconfig/libefa.pc -+usr/lib/*/pkgconfig/libhns.pc - usr/lib/*/pkgconfig/libibverbs.pc - usr/lib/*/pkgconfig/libmlx4.pc - usr/lib/*/pkgconfig/libmlx5.pc -diff --git a/providers/hns/CMakeLists.txt b/providers/hns/CMakeLists.txt -index 7aaca75..160e1ff 100644 ---- a/providers/hns/CMakeLists.txt -+++ b/providers/hns/CMakeLists.txt -@@ -1,7 +1,14 @@ --rdma_provider(hns -+rdma_shared_provider(hns libhns.map -+ 1 1.0.${PACKAGE_VERSION} - hns_roce_u.c - hns_roce_u_buf.c - hns_roce_u_db.c - hns_roce_u_hw_v2.c - hns_roce_u_verbs.c - ) -+ -+publish_headers(infiniband -+ hnsdv.h -+) -+ -+rdma_pkg_config("hns" "libibverbs" "${CMAKE_THREAD_LIBS_INIT}") -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index fe30cda..0cf6d4b 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -114,8 +114,60 @@ static int mmap_dca(struct hns_roce_context *ctx, int cmd_fd, - return 0; - } - -+bool hnsdv_is_supported(struct ibv_device *device) -+{ -+ return is_hns_dev(device); -+} -+ -+struct ibv_context *hnsdv_open_device(struct ibv_device *device, -+ struct hnsdv_context_attr *attr) -+{ -+ if (!is_hns_dev(device)) { -+ errno = EOPNOTSUPP; -+ return NULL; -+ } -+ -+ return verbs_open_device(device, attr); -+} -+ -+static void set_dca_pool_param(struct hns_roce_context *ctx, -+ struct hnsdv_context_attr *attr, int page_size) -+{ -+ struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -+ -+ if (attr->comp_mask & HNSDV_CONTEXT_MASK_DCA_UNIT_SIZE) -+ dca_ctx->unit_size = align(attr->dca_unit_size, page_size); -+ else -+ dca_ctx->unit_size = page_size * HNS_DCA_DEFAULT_UNIT_PAGES; -+ -+ /* The memory pool cannot be expanded, only init the DCA context. */ -+ if (dca_ctx->unit_size == 0) -+ return; -+ -+ /* If not set, the memory pool can be expanded unlimitedly. */ -+ if (attr->comp_mask & HNSDV_CONTEXT_MASK_DCA_MAX_SIZE) -+ dca_ctx->max_size = DIV_ROUND_UP(attr->dca_max_size, -+ dca_ctx->unit_size) * -+ dca_ctx->unit_size; -+ else -+ dca_ctx->max_size = HNS_DCA_MAX_MEM_SIZE; -+ -+ /* If not set, the memory pool cannot be shrunk. */ -+ if (attr->comp_mask & HNSDV_CONTEXT_MASK_DCA_MIN_SIZE) -+ dca_ctx->min_size = DIV_ROUND_UP(attr->dca_min_size, -+ dca_ctx->unit_size) * -+ dca_ctx->unit_size; -+ else -+ dca_ctx->min_size = HNS_DCA_MAX_MEM_SIZE; -+ -+ verbs_debug(&ctx->ibv_ctx, -+ "Support DCA, unit %d, max %ld, min %ld Bytes.\n", -+ dca_ctx->unit_size, dca_ctx->max_size, dca_ctx->min_size); -+} -+ - static int init_dca_context(struct hns_roce_context *ctx, int cmd_fd, - struct hns_roce_alloc_ucontext_resp *resp, -+ struct hnsdv_context_attr *attr, - int page_size) - { - struct hns_roce_dca_ctx *dca_ctx = &ctx->dca_ctx; -@@ -127,14 +179,18 @@ static int init_dca_context(struct hns_roce_context *ctx, int cmd_fd, - if (!(ctx->config & HNS_ROCE_UCTX_RSP_DCA_FLAGS)) - return 0; - -+ dca_ctx->unit_size = 0; -+ dca_ctx->mem_cnt = 0; -+ - list_head_init(&dca_ctx->mem_list); - ret = pthread_spin_init(&dca_ctx->lock, PTHREAD_PROCESS_PRIVATE); - if (ret) - return ret; - -- dca_ctx->unit_size = page_size * HNS_DCA_DEFAULT_UNIT_PAGES; -- dca_ctx->max_size = HNS_DCA_MAX_MEM_SIZE; -- dca_ctx->mem_cnt = 0; -+ if (!attr || !(attr->flags & HNSDV_CONTEXT_FLAGS_DCA)) -+ return 0; -+ -+ set_dca_pool_param(ctx, attr, page_size); - - if (mmap_key) { - const unsigned int bits_per_qp = 2 * HNS_DCA_BITS_PER_STATUS; -@@ -185,18 +241,28 @@ static uint32_t calc_table_shift(uint32_t entry_count, uint32_t size_shift) - return count_shift > size_shift ? count_shift - size_shift : 0; - } - --static void ucontext_set_cmd(struct hns_roce_alloc_ucontext *cmd, int page_size) -+static void ucontext_set_cmd(struct hns_roce_alloc_ucontext *cmd, -+ struct hnsdv_context_attr *attr) - { - cmd->config |= HNS_ROCE_EXSGE_FLAGS | HNS_ROCE_RQ_INLINE_FLAGS | -- HNS_ROCE_CQE_INLINE_FLAGS | HNS_ROCE_UCTX_CONFIG_DCA; -- cmd->comp = HNS_ROCE_ALLOC_UCTX_COMP_DCA_MAX_QPS; -- cmd->dca_max_qps = page_size * 8 / 2 * HNS_DCA_BITS_PER_STATUS; -+ HNS_ROCE_CQE_INLINE_FLAGS; -+ -+ if (!attr || !(attr->flags & HNSDV_CONTEXT_FLAGS_DCA)) -+ return; -+ -+ cmd->config |= HNS_ROCE_UCTX_CONFIG_DCA; -+ -+ if (attr->comp_mask & HNSDV_CONTEXT_MASK_DCA_PRIME_QPS) { -+ cmd->comp |= HNS_ROCE_ALLOC_UCTX_COMP_DCA_MAX_QPS; -+ cmd->dca_max_qps = attr->dca_prime_qps; -+ } - } - - static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - int cmd_fd, - void *private_data) - { -+ struct hnsdv_context_attr *ctx_attr = private_data; - struct hns_roce_device *hr_dev = to_hr_dev(ibdev); - struct hns_roce_alloc_ucontext_resp resp = {}; - struct hns_roce_alloc_ucontext cmd = {}; -@@ -209,7 +275,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - if (!context) - return NULL; - -- ucontext_set_cmd(&cmd, hr_dev->page_size); -+ ucontext_set_cmd(&cmd, ctx_attr); - if (ibv_cmd_get_context(&context->ibv_ctx, &cmd.ibv_cmd, sizeof(cmd), - &resp.ibv_resp, sizeof(resp))) - goto err_free; -@@ -255,7 +321,8 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - context->max_srq_wr = dev_attrs.max_srq_wr; - context->max_srq_sge = dev_attrs.max_srq_sge; - -- if (init_dca_context(context, cmd_fd, &resp, hr_dev->page_size)) -+ if (init_dca_context(context, cmd_fd, -+ &resp, ctx_attr, hr_dev->page_size)) - goto err_free; - - if (hns_roce_mmap(hr_dev, context, cmd_fd)) -@@ -317,4 +384,11 @@ static const struct verbs_device_ops hns_roce_dev_ops = { - .uninit_device = hns_uninit_device, - .alloc_context = hns_roce_alloc_context, - }; -+ -+bool is_hns_dev(struct ibv_device *device) -+{ -+ struct verbs_device *verbs_device = verbs_get_device(device); -+ -+ return verbs_device->ops == &hns_roce_dev_ops; -+} - PROVIDER_DRIVER(hns, hns_roce_dev_ops); -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 91b0c8f..71c35c5 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -562,6 +562,8 @@ static inline void clear_bit_unlock(atomic_bitmap_t *p, uint32_t nr) - atomic_fetch_and(p, ~HNS_ROCE_BIT_MASK(nr)); - } - -+bool is_hns_dev(struct ibv_device *device); -+ - int hns_roce_u_query_device(struct ibv_context *context, - const struct ibv_query_device_ex_input *input, - struct ibv_device_attr_ex *attr, size_t attr_size); -diff --git a/providers/hns/hns_roce_u_abi.h b/providers/hns/hns_roce_u_abi.h -index 0519ac7..1eaf62d 100644 ---- a/providers/hns/hns_roce_u_abi.h -+++ b/providers/hns/hns_roce_u_abi.h -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include "hnsdv.h" - - DECLARE_DRV_CMD(hns_roce_alloc_pd, IB_USER_VERBS_CMD_ALLOC_PD, - empty, hns_roce_ib_alloc_pd_resp); -diff --git a/providers/hns/hns_roce_u_buf.c b/providers/hns/hns_roce_u_buf.c -index 08c0fbc..780683e 100644 ---- a/providers/hns/hns_roce_u_buf.c -+++ b/providers/hns/hns_roce_u_buf.c -@@ -56,6 +56,9 @@ int hns_roce_alloc_buf(struct hns_roce_buf *buf, unsigned int size, - - void hns_roce_free_buf(struct hns_roce_buf *buf) - { -+ if (!buf->buf) -+ return; -+ - ibv_dofork_range(buf->buf, buf->length); - - munmap(buf->buf, buf->length); -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 028d20c..7661863 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -1473,6 +1473,7 @@ out: - static int check_qp_recv(struct hns_roce_qp *qp, struct hns_roce_context *ctx) - { - struct ibv_qp *ibvqp = &qp->verbs_qp.qp; -+ int ret = 0; - - if (unlikely(ibvqp->qp_type != IBV_QPT_RC && - ibvqp->qp_type != IBV_QPT_UD)) -@@ -1481,10 +1482,15 @@ static int check_qp_recv(struct hns_roce_qp *qp, struct hns_roce_context *ctx) - if (ibvqp->state == IBV_QPS_RESET || ibvqp->srq) - return -EINVAL; - -- if (check_dca_attach_enable(qp)) -- return dca_attach_qp_buf(ctx, qp); -+ if (check_dca_attach_enable(qp)) { -+ ret = dca_attach_qp_buf(ctx, qp); -+ if (ret) -+ verbs_err_datapath(&ctx->ibv_ctx, -+ "failed to attach QP-%u recv, ret = %d.\n", -+ qp->verbs_qp.qp.qp_num, ret); -+ } - -- return 0; -+ return ret; - } - - static void fill_recv_sge_to_wqe(struct ibv_recv_wr *wr, void *wqe, -@@ -1951,6 +1957,9 @@ static int wc_start_poll_cq(struct ibv_cq_ex *current, - hns_roce_spin_lock(&cq->hr_lock); - - err = hns_roce_poll_one(ctx, &qp, cq, NULL); -+ if (qp && check_dca_detach_enable(qp)) -+ dca_detach_qp_buf(ctx, qp); -+ - if (err != V2_CQ_OK) - hns_roce_spin_unlock(&cq->hr_lock); - -@@ -1965,6 +1974,8 @@ static int wc_next_poll_cq(struct ibv_cq_ex *current) - int err; - - err = hns_roce_poll_one(ctx, &qp, cq, NULL); -+ if (qp && check_dca_detach_enable(qp)) -+ dca_detach_qp_buf(ctx, qp); - if (err != V2_CQ_OK) - return err; - -@@ -2159,6 +2170,9 @@ init_rc_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) - hr_reg_clear(wqe, RCWQE_INLINE); - hr_reg_clear(wqe, RCWQE_SO); - -+ if (check_qp_dca_enable(qp)) -+ fill_rc_dca_fields(qp->verbs_qp.qp.qp_num, wqe); -+ - qp->sq.wrid[wqe_idx] = wr_id; - qp->cur_wqe = wqe; - qp->sq.head++; -@@ -2691,8 +2705,10 @@ static void wr_set_inline_data_list_ud(struct ibv_qp_ex *ibv_qp, size_t num_buf, - - static void wr_start(struct ibv_qp_ex *ibv_qp) - { -+ struct hns_roce_context *ctx = to_hr_ctx(ibv_qp->qp_base.context); - struct hns_roce_qp *qp = to_hr_qp(&ibv_qp->qp_base); - enum ibv_qp_state state = ibv_qp->qp_base.state; -+ int ret; - - if (state == IBV_QPS_RESET || - state == IBV_QPS_INIT || -@@ -2701,6 +2717,17 @@ static void wr_start(struct ibv_qp_ex *ibv_qp) - return; - } - -+ if (check_qp_dca_enable(qp)) { -+ ret = dca_attach_qp_buf(ctx, qp); -+ if (ret) { -+ verbs_err_datapath(&ctx->ibv_ctx, -+ "failed to attach QP-%u send, ret = %d.\n", -+ qp->verbs_qp.qp.qp_num, ret); -+ qp->err = ret; -+ return; -+ } -+ } -+ - hns_roce_spin_lock(&qp->sq.hr_lock); - qp->sge_info.start_idx = qp->next_sge; - qp->rb_sq_head = qp->sq.head; -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 749b01b..282ab74 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -961,6 +961,15 @@ enum { - IBV_QP_INIT_ATTR_SEND_OPS_FLAGS, - }; - -+enum { -+ SEND_OPS_FLAG_MASK = -+ IBV_QP_EX_WITH_RDMA_WRITE | IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM | -+ IBV_QP_EX_WITH_SEND | IBV_QP_EX_WITH_SEND_WITH_IMM | -+ IBV_QP_EX_WITH_RDMA_READ | IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP | -+ IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD | IBV_QP_EX_WITH_LOCAL_INV | -+ IBV_QP_EX_WITH_SEND_WITH_INV, -+}; -+ - static int check_qp_create_mask(struct hns_roce_context *ctx, - struct ibv_qp_init_attr_ex *attr) - { -@@ -969,6 +978,10 @@ static int check_qp_create_mask(struct hns_roce_context *ctx, - if (!check_comp_mask(attr->comp_mask, CREATE_QP_SUP_COMP_MASK)) - return -EOPNOTSUPP; - -+ if (attr->comp_mask & IBV_QP_INIT_ATTR_SEND_OPS_FLAGS && -+ !check_comp_mask(attr->send_ops_flags, SEND_OPS_FLAG_MASK)) -+ return -EOPNOTSUPP; -+ - switch (attr->qp_type) { - case IBV_QPT_UD: - if (hr_dev->hw_version == HNS_ROCE_HW_VER2) -@@ -1165,9 +1178,21 @@ static int calc_qp_buff_size(struct hns_roce_device *hr_dev, - return 0; - } - --static inline bool check_qp_support_dca(bool pool_en, enum ibv_qp_type qp_type) -+static inline bool check_qp_support_dca(struct hns_roce_dca_ctx *dca_ctx, -+ struct ibv_qp_init_attr_ex *attr, -+ struct hnsdv_qp_init_attr *hns_attr) - { -- if (pool_en && (qp_type == IBV_QPT_RC || qp_type == IBV_QPT_XRC_SEND)) -+ /* DCA pool disable */ -+ if (!dca_ctx->unit_size) -+ return false; -+ -+ /* Unsupport type */ -+ if (attr->qp_type != IBV_QPT_RC && attr->qp_type != IBV_QPT_XRC_SEND) -+ return false; -+ -+ if (hns_attr && -+ (hns_attr->comp_mask & HNSDV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS) && -+ (hns_attr->create_flags & HNSDV_QP_CREATE_ENABLE_DCA_MODE)) - return true; - - return false; -@@ -1185,6 +1210,7 @@ static void qp_free_wqe(struct hns_roce_qp *qp) - } - - static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr, -+ struct hnsdv_qp_init_attr *hns_attr, - struct hns_roce_qp *qp, struct hns_roce_context *ctx) - { - struct hns_roce_device *hr_dev = to_hr_dev(ctx->ibv_ctx.context.device); -@@ -1208,7 +1234,8 @@ static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr, - goto err_alloc; - } - -- if (check_qp_support_dca(ctx->dca_ctx.max_size != 0, attr->qp_type)) { -+ if (check_qp_support_dca(&ctx->dca_ctx, attr, hns_attr) && -+ ctx->dca_ctx.max_size > 0) { - /* when DCA is enabled, use a buffer list to store page addr */ - qp->buf.buf = NULL; - qp->dca_wqe.max_cnt = hr_hw_page_count(qp->buf_size); -@@ -1216,6 +1243,7 @@ static int qp_alloc_wqe(struct ibv_qp_init_attr_ex *attr, - qp->dca_wqe.bufs = calloc(qp->dca_wqe.max_cnt, sizeof(void *)); - if (!qp->dca_wqe.bufs) - goto err_alloc; -+ verbs_debug(&ctx->ibv_ctx, "alloc DCA buf.\n"); - } else { - if (hns_roce_alloc_buf(&qp->buf, qp->buf_size, - HNS_HW_PAGE_SIZE)) -@@ -1478,6 +1506,7 @@ void hns_roce_free_qp_buf(struct hns_roce_qp *qp, struct hns_roce_context *ctx) - } - - static int hns_roce_alloc_qp_buf(struct ibv_qp_init_attr_ex *attr, -+ struct hnsdv_qp_init_attr *hns_attr, - struct hns_roce_qp *qp, - struct hns_roce_context *ctx) - { -@@ -1487,7 +1516,7 @@ static int hns_roce_alloc_qp_buf(struct ibv_qp_init_attr_ex *attr, - pthread_spin_init(&qp->rq.hr_lock.lock, PTHREAD_PROCESS_PRIVATE)) - return -ENOMEM; - -- ret = qp_alloc_wqe(attr, qp, ctx); -+ ret = qp_alloc_wqe(attr, hns_attr, qp, ctx); - if (ret) - return ret; - -@@ -1510,7 +1539,8 @@ static int mmap_dwqe(struct ibv_context *ibv_ctx, struct hns_roce_qp *qp, - } - - static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, -- struct ibv_qp_init_attr_ex *attr) -+ struct ibv_qp_init_attr_ex *attr, -+ struct hnsdv_qp_init_attr *hns_attr) - { - struct hns_roce_context *context = to_hr_ctx(ibv_ctx); - struct hns_roce_qp *qp; -@@ -1533,7 +1563,7 @@ static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, - if (ret) - goto err_spinlock; - -- ret = hns_roce_alloc_qp_buf(attr, qp, context); -+ ret = hns_roce_alloc_qp_buf(attr, hns_attr, qp, context); - if (ret) - goto err_buf; - -@@ -1587,7 +1617,7 @@ struct ibv_qp *hns_roce_u_create_qp(struct ibv_pd *pd, - attrx.comp_mask = IBV_QP_INIT_ATTR_PD; - attrx.pd = pd; - -- qp = create_qp(pd->context, &attrx); -+ qp = create_qp(pd->context, &attrx, NULL); - if (qp) - memcpy(attr, &attrx, sizeof(*attr)); - -@@ -1597,7 +1627,19 @@ struct ibv_qp *hns_roce_u_create_qp(struct ibv_pd *pd, - struct ibv_qp *hns_roce_u_create_qp_ex(struct ibv_context *context, - struct ibv_qp_init_attr_ex *attr) - { -- return create_qp(context, attr); -+ return create_qp(context, attr, NULL); -+} -+ -+struct ibv_qp *hnsdv_create_qp(struct ibv_context *context, -+ struct ibv_qp_init_attr_ex *qp_attr, -+ struct hnsdv_qp_init_attr *hns_attr) -+{ -+ if (!is_hns_dev(context->device)) { -+ errno = EOPNOTSUPP; -+ return NULL; -+ } -+ -+ return create_qp(context, qp_attr, hns_attr); - } - - struct ibv_qp *hns_roce_u_open_qp(struct ibv_context *context, -diff --git a/providers/hns/hnsdv.h b/providers/hns/hnsdv.h -new file mode 100644 -index 0000000..cfe1611 ---- /dev/null -+++ b/providers/hns/hnsdv.h -@@ -0,0 +1,65 @@ -+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ -+/* -+ * Copyright (c) 2021 HiSilicon Limited. -+ */ -+ -+#ifndef __HNSDV_H__ -+#define __HNSDV_H__ -+ -+#include -+#include -+ -+#include -+ -+#include -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+enum hnsdv_context_attr_flags { -+ HNSDV_CONTEXT_FLAGS_DCA = 1 << 0, -+}; -+ -+enum hnsdv_context_comp_mask { -+ HNSDV_CONTEXT_MASK_DCA_PRIME_QPS = 1 << 0, -+ HNSDV_CONTEXT_MASK_DCA_UNIT_SIZE = 1 << 1, -+ HNSDV_CONTEXT_MASK_DCA_MAX_SIZE = 1 << 2, -+ HNSDV_CONTEXT_MASK_DCA_MIN_SIZE = 1 << 3, -+}; -+ -+struct hnsdv_context_attr { -+ uint64_t flags; /* Use enum hnsdv_context_attr_flags */ -+ uint64_t comp_mask; /* Use enum hnsdv_context_comp_mask */ -+ uint32_t dca_prime_qps; -+ uint32_t dca_unit_size; -+ uint64_t dca_max_size; -+ uint64_t dca_min_size; -+}; -+ -+bool hnsdv_is_supported(struct ibv_device *device); -+struct ibv_context *hnsdv_open_device(struct ibv_device *device, -+ struct hnsdv_context_attr *attr); -+ -+enum hnsdv_qp_create_flags { -+ HNSDV_QP_CREATE_ENABLE_DCA_MODE = 1 << 0, -+}; -+ -+enum hnsdv_qp_init_attr_mask { -+ HNSDV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS = 1 << 0, -+}; -+ -+struct hnsdv_qp_init_attr { -+ uint64_t comp_mask; /* Use enum hnsdv_qp_init_attr_mask */ -+ uint32_t create_flags; /* Use enum hnsdv_qp_create_flags */ -+}; -+ -+struct ibv_qp *hnsdv_create_qp(struct ibv_context *context, -+ struct ibv_qp_init_attr_ex *qp_attr, -+ struct hnsdv_qp_init_attr *hns_qp_attr); -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* __HNSDV_H__ */ -diff --git a/providers/hns/libhns.map b/providers/hns/libhns.map -new file mode 100644 -index 0000000..aed491c ---- /dev/null -+++ b/providers/hns/libhns.map -@@ -0,0 +1,9 @@ -+/* Export symbols should be added below according to -+ Documentation/versioning.md document. */ -+HNS_1.0 { -+ global: -+ hnsdv_is_supported; -+ hnsdv_open_device; -+ hnsdv_create_qp; -+ local: *; -+}; -diff --git a/redhat/rdma-core.spec b/redhat/rdma-core.spec -index f1b196a..321578c 100644 ---- a/redhat/rdma-core.spec -+++ b/redhat/rdma-core.spec -@@ -150,6 +150,8 @@ Provides: libefa = %{version}-%{release} - Obsoletes: libefa < %{version}-%{release} - Provides: libhfi1 = %{version}-%{release} - Obsoletes: libhfi1 < %{version}-%{release} -+Provides: libhns = %{version}-%{release} -+Obsoletes: libhns < %{version}-%{release} - Provides: libipathverbs = %{version}-%{release} - Obsoletes: libipathverbs < %{version}-%{release} - Provides: libirdma = %{version}-%{release} -@@ -177,7 +179,7 @@ Device-specific plug-in ibverbs userspace drivers are included: - - libcxgb4: Chelsio T4 iWARP HCA - - libefa: Amazon Elastic Fabric Adapter - - libhfi1: Intel Omni-Path HFI --- libhns: HiSilicon Hip06 SoC -+- libhns: HiSilicon Hip08+ SoC - - libipathverbs: QLogic InfiniPath HCA - - libirdma: Intel Ethernet Connection RDMA - - libmlx4: Mellanox ConnectX-3 InfiniBand HCA -@@ -562,6 +564,7 @@ fi - %dir %{_sysconfdir}/libibverbs.d - %dir %{_libdir}/libibverbs - %{_libdir}/libefa.so.* -+%{_libdir}/libhns.so.* - %{_libdir}/libibverbs*.so.* - %{_libdir}/libibverbs/*.so - %{_libdir}/libmlx5.so.* -diff --git a/suse/rdma-core.spec b/suse/rdma-core.spec -index bd1faec..ce19db1 100644 ---- a/suse/rdma-core.spec -+++ b/suse/rdma-core.spec -@@ -35,6 +35,7 @@ License: BSD-2-Clause OR GPL-2.0-only - Group: Productivity/Networking/Other - - %define efa_so_major 1 -+%define hns_so_major 1 - %define verbs_so_major 1 - %define rdmacm_so_major 1 - %define umad_so_major 3 -@@ -44,6 +45,7 @@ Group: Productivity/Networking/Other - %define mad_major 5 - - %define efa_lname libefa%{efa_so_major} -+%define hns_lname libhns%{hns_so_major} - %define verbs_lname libibverbs%{verbs_so_major} - %define rdmacm_lname librdmacm%{rdmacm_so_major} - %define umad_lname libibumad%{umad_so_major} -@@ -157,6 +159,7 @@ Requires: %{umad_lname} = %{version}-%{release} - Requires: %{verbs_lname} = %{version}-%{release} - %if 0%{?dma_coherent} - Requires: %{efa_lname} = %{version}-%{release} -+Requires: %{hns_lname} = %{version}-%{release} - Requires: %{mlx4_lname} = %{version}-%{release} - Requires: %{mlx5_lname} = %{version}-%{release} - %endif -@@ -197,6 +200,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} - Obsoletes: libcxgb4-rdmav2 < %{version}-%{release} - Obsoletes: libefa-rdmav2 < %{version}-%{release} - Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release} -+Obsoletes: libhns-rdmav2 < %{version}-%{release} - Obsoletes: libipathverbs-rdmav2 < %{version}-%{release} - Obsoletes: libmlx4-rdmav2 < %{version}-%{release} - Obsoletes: libmlx5-rdmav2 < %{version}-%{release} -@@ -205,6 +209,7 @@ Obsoletes: libocrdma-rdmav2 < %{version}-%{release} - Obsoletes: librxe-rdmav2 < %{version}-%{release} - %if 0%{?dma_coherent} - Requires: %{efa_lname} = %{version}-%{release} -+Requires: %{hns_lname} = %{version}-%{release} - Requires: %{mlx4_lname} = %{version}-%{release} - Requires: %{mlx5_lname} = %{version}-%{release} - %endif -@@ -223,7 +228,7 @@ Device-specific plug-in ibverbs userspace drivers are included: - - libcxgb4: Chelsio T4 iWARP HCA - - libefa: Amazon Elastic Fabric Adapter - - libhfi1: Intel Omni-Path HFI --- libhns: HiSilicon Hip06 SoC -+- libhns: HiSilicon Hip08+ SoC - - libipathverbs: QLogic InfiniPath HCA - - libirdma: Intel Ethernet Connection RDMA - - libmlx4: Mellanox ConnectX-3 InfiniBand HCA -@@ -250,6 +255,13 @@ Group: System/Libraries - %description -n %efa_lname - This package contains the efa runtime library. - -+%package -n %hns_lname -+Summary: HNS runtime library -+Group: System/Libraries -+ -+%description -n %hns_lname -+This package contains the hns runtime library. -+ - %package -n %mlx4_lname - Summary: MLX4 runtime library - Group: System/Libraries -@@ -493,6 +505,9 @@ rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh - %post -n %efa_lname -p /sbin/ldconfig - %postun -n %efa_lname -p /sbin/ldconfig - -+%post -n %hns_lname -p /sbin/ldconfig -+%postun -n %hns_lname -p /sbin/ldconfig -+ - %post -n %mlx4_lname -p /sbin/ldconfig - %postun -n %mlx4_lname -p /sbin/ldconfig - -@@ -689,6 +704,10 @@ done - %defattr(-,root,root) - %{_libdir}/libefa*.so.* - -+%files -n %hns_lname -+%defattr(-,root,root) -+%{_libdir}/libhns*.so.* -+ - %files -n %mlx4_lname - %defattr(-,root,root) - %{_libdir}/libmlx4*.so.* --- -2.30.0 - diff --git a/0038-Update-kernel-headers.patch b/0038-Update-kernel-headers.patch deleted file mode 100644 index ba59cbdb863a319e4ff28e75ce5fe67f35e32cd6..0000000000000000000000000000000000000000 --- a/0038-Update-kernel-headers.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8a5429161e6932d4031ec705b695973d67729c71 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Wed, 14 Dec 2022 16:37:26 +0800 -Subject: [PATCH rdma-core 1/2] Update kernel headers - - To commit ?? ("RDMA/hns: Kernel notify usr space to stop ring db"). - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - kernel-headers/rdma/hns-abi.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index 6950841..5988a62 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -127,6 +127,7 @@ struct hns_roce_ib_alloc_ucontext_resp { - __u32 dca_qps; - __u32 dca_mmap_size; - __aligned_u64 dca_mmap_key; -+ __aligned_u64 reset_mmap_key; - }; - - enum hns_roce_uctx_comp_mask { --- -2.30.0 - diff --git a/0039-libhns-Add-reset-stop-flow-mechanism.patch b/0039-libhns-Add-reset-stop-flow-mechanism.patch deleted file mode 100644 index 4178c393ee57f5a341986600372cf17fa648680b..0000000000000000000000000000000000000000 --- a/0039-libhns-Add-reset-stop-flow-mechanism.patch +++ /dev/null @@ -1,195 +0,0 @@ -From c3ee7375c80c7a8f0a943679566c87f17f87aa17 Mon Sep 17 00:00:00 2001 -From: Guofeng Yue -Date: Mon, 9 May 2022 16:03:38 +0800 -Subject: [PATCH rdma-core 2/2] libhns: Add reset stop flow mechanism - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I65WI7 - ------------------------------------------------------------------- - -Add an interface to the user space, which is used to receive -the kernel reset state. After receiving the reset flag, the -user space stops sending db. - -Signed-off-by: Yixing Liu -Signed-off-by: Guofeng Yue -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 30 ++++++++++++++++++++++++++++-- - providers/hns/hns_roce_u.h | 5 +++++ - providers/hns/hns_roce_u_db.h | 8 +++++++- - providers/hns/hns_roce_u_hw_v2.c | 19 ++++++++++++++----- - 4 files changed, 54 insertions(+), 8 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 0cf6d4b..3d29838 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -221,6 +221,24 @@ static void uninit_dca_context(struct hns_roce_context *ctx) - pthread_spin_destroy(&dca_ctx->lock); - } - -+static int init_reset_context(struct hns_roce_context *ctx, int cmd_fd, -+ struct hns_roce_alloc_ucontext_resp *resp, -+ int page_size) -+{ -+ uint64_t reset_mmap_key = resp->reset_mmap_key; -+ -+ /* The reset mmap key is 0, which means it is not supported. */ -+ if (reset_mmap_key == 0) -+ return 0; -+ -+ ctx->reset_state = mmap(NULL, page_size, PROT_READ, MAP_SHARED, -+ cmd_fd, reset_mmap_key); -+ if (ctx->reset_state == MAP_FAILED) -+ return -ENOMEM; -+ -+ return 0; -+} -+ - static int hns_roce_mmap(struct hns_roce_device *hr_dev, - struct hns_roce_context *context, int cmd_fd) - { -@@ -325,8 +343,11 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - &resp, ctx_attr, hr_dev->page_size)) - goto err_free; - -+ if (init_reset_context(context, cmd_fd, &resp, hr_dev->page_size)) -+ goto reset_free; -+ - if (hns_roce_mmap(hr_dev, context, cmd_fd)) -- goto dca_free; -+ goto uar_free; - - pthread_spin_init(&context->uar_lock, PTHREAD_PROCESS_PRIVATE); - -@@ -335,7 +356,10 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - - return &context->ibv_ctx; - --dca_free: -+uar_free: -+ if (context->reset_state) -+ munmap(context->reset_state, hr_dev->page_size); -+reset_free: - uninit_dca_context(context); - err_free: - verbs_uninit_context(&context->ibv_ctx); -@@ -349,6 +373,8 @@ static void hns_roce_free_context(struct ibv_context *ibctx) - struct hns_roce_context *context = to_hr_ctx(ibctx); - - munmap(context->uar, hr_dev->page_size); -+ if (context->reset_state) -+ munmap(context->reset_state, hr_dev->page_size); - uninit_dca_context(context); - verbs_uninit_context(&context->ibv_ctx); - free(context); -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 71c35c5..76c7adb 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -226,9 +226,14 @@ struct hns_roce_dca_ctx { - atomic_bitmap_t *sync_status; - }; - -+struct hns_roce_v2_reset_state { -+ uint32_t is_reset; -+}; -+ - struct hns_roce_context { - struct verbs_context ibv_ctx; - void *uar; -+ void *reset_state; - pthread_spinlock_t uar_lock; - - struct { -diff --git a/providers/hns/hns_roce_u_db.h b/providers/hns/hns_roce_u_db.h -index 8c47a53..de288de 100644 ---- a/providers/hns/hns_roce_u_db.h -+++ b/providers/hns/hns_roce_u_db.h -@@ -40,8 +40,14 @@ - - #define HNS_ROCE_WORD_NUM 2 - --static inline void hns_roce_write64(void *dest, __le32 val[HNS_ROCE_WORD_NUM]) -+static inline void hns_roce_write64(struct hns_roce_context *ctx, void *dest, -+ __le32 val[HNS_ROCE_WORD_NUM]) - { -+ struct hns_roce_v2_reset_state *state = ctx->reset_state; -+ -+ if (state && state->is_reset) -+ return; -+ - mmio_write64_le(dest, *(__le64 *)val); - } - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 7661863..d0067d3 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -298,7 +298,8 @@ static void hns_roce_update_rq_db(struct hns_roce_context *ctx, - hr_reg_write(&rq_db, DB_CMD, HNS_ROCE_V2_RQ_DB); - hr_reg_write(&rq_db, DB_PI, rq_head); - -- hns_roce_write64(ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, (__le32 *)&rq_db); -+ hns_roce_write64(ctx, ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, -+ (__le32 *)&rq_db); - } - - static void hns_roce_update_sq_db(struct hns_roce_context *ctx, -@@ -312,7 +313,7 @@ static void hns_roce_update_sq_db(struct hns_roce_context *ctx, - hr_reg_write(&sq_db, DB_PI, qp->sq.head); - hr_reg_write(&sq_db, DB_SL, qp->sl); - -- hns_roce_write64(qp->sq.db_reg, (__le32 *)&sq_db); -+ hns_roce_write64(ctx, qp->sq.db_reg, (__le32 *)&sq_db); - } - - static void hns_roce_write512(uint64_t *dest, uint64_t *val) -@@ -323,6 +324,12 @@ static void hns_roce_write512(uint64_t *dest, uint64_t *val) - static void hns_roce_write_dwqe(struct hns_roce_qp *qp, void *wqe) - { - struct hns_roce_rc_sq_wqe *rc_sq_wqe = wqe; -+ struct ibv_qp *ibvqp = &qp->verbs_qp.qp; -+ struct hns_roce_context *ctx = to_hr_ctx(ibvqp->context); -+ struct hns_roce_v2_reset_state *state = ctx->reset_state; -+ -+ if (state && state->is_reset) -+ return; - - /* All kinds of DirectWQE have the same header field layout */ - hr_reg_enable(rc_sq_wqe, RCWQE_FLAG); -@@ -342,7 +349,8 @@ static void update_cq_db(struct hns_roce_context *ctx, struct hns_roce_cq *cq) - hr_reg_write(&cq_db, DB_CQ_CI, cq->cons_index); - hr_reg_write(&cq_db, DB_CQ_CMD_SN, 1); - -- hns_roce_write64(ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, (__le32 *)&cq_db); -+ hns_roce_write64(ctx, ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, -+ (__le32 *)&cq_db); - } - - static struct hns_roce_qp *hns_roce_v2_find_qp(struct hns_roce_context *ctx, -@@ -857,7 +865,8 @@ static int hns_roce_u_v2_arm_cq(struct ibv_cq *ibvcq, int solicited) - hr_reg_write(&cq_db, DB_CQ_CMD_SN, cq->arm_sn); - hr_reg_write(&cq_db, DB_CQ_NOTIFY, solicited_flag); - -- hns_roce_write64(ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, (__le32 *)&cq_db); -+ hns_roce_write64(ctx, ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, -+ (__le32 *)&cq_db); - - return 0; - } -@@ -1934,7 +1943,7 @@ static int hns_roce_u_v2_post_srq_recv(struct ibv_srq *ib_srq, - - update_srq_db(&srq_db, srq); - -- hns_roce_write64(ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, -+ hns_roce_write64(ctx, ctx->uar + ROCEE_VF_DB_CFG0_OFFSET, - (__le32 *)&srq_db); - } - --- -2.30.0 - diff --git a/0040-Update-kernel-headers.patch b/0040-Update-kernel-headers.patch deleted file mode 100644 index 3580a3581d0015244e9a5d9c1b023d60e8cf9918..0000000000000000000000000000000000000000 --- a/0040-Update-kernel-headers.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 39c7b8eaeb3a6c855a49885b6b6de877268d36a7 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Wed, 12 Apr 2023 17:01:08 +0800 -Subject: [PATCH 1/2] Update kernel headers - - To commit ?? ("RDMA/hns: Support congestion control algorithm - configuration at QP granularity"). - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - kernel-headers/rdma/hns-abi.h | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index 5988a62..bd19927 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -63,6 +63,18 @@ struct hns_roce_ib_create_srq_resp { - __u32 reserved; - }; - -+enum hns_roce_create_qp_comp_mask { -+ HNS_ROCE_CREATE_QP_MASK_CREATE_FLAGS = 1 << 0, -+ HNS_ROCE_CREATE_QP_MASK_CONGEST_TYPE = 1 << 1, -+}; -+ -+enum hns_roce_congest_type_flags { -+ HNS_ROCE_CREATE_QP_FLAGS_DCQCN = 1 << 0, -+ HNS_ROCE_CREATE_QP_FLAGS_LDCP = 1 << 1, -+ HNS_ROCE_CREATE_QP_FLAGS_HC3 = 1 << 2, -+ HNS_ROCE_CREATE_QP_FLAGS_DIP = 1 << 3, -+}; -+ - struct hns_roce_ib_create_qp { - __aligned_u64 buf_addr; - __aligned_u64 db_addr; -@@ -71,6 +83,9 @@ struct hns_roce_ib_create_qp { - __u8 sq_no_prefetch; - __u8 reserved[5]; - __aligned_u64 sdb_addr; -+ __aligned_u64 comp_mask; -+ __aligned_u64 create_flags; -+ __aligned_u64 congest_type_flags; - }; - - enum hns_roce_qp_cap_flags { -@@ -123,7 +138,8 @@ struct hns_roce_ib_alloc_ucontext_resp { - __u32 config; - __u32 max_inline_data; - __u8 mac_type; -- __u8 rsv1[7]; -+ __u8 congest_type; -+ __u8 rsv1[6]; - __u32 dca_qps; - __u32 dca_mmap_size; - __aligned_u64 dca_mmap_key; --- -2.25.1 - diff --git a/0041-libhns-Support-congestion-control-algorithm-configur.patch b/0041-libhns-Support-congestion-control-algorithm-configur.patch deleted file mode 100644 index da3e6bbce692550e47ba1d49ce4239bbab9837ec..0000000000000000000000000000000000000000 --- a/0041-libhns-Support-congestion-control-algorithm-configur.patch +++ /dev/null @@ -1,308 +0,0 @@ -From 1b3ec79e4d617555c0e12a3fe12db7925d385ef6 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Wed, 12 Apr 2023 17:01:09 +0800 -Subject: [PATCH 2/2] libhns: Support congestion control algorithm - configuration - -driver inclusion -category: feature -bugzilla: https://gitee.com/openeuler/kernel/issues/I6N1G4 - ---------------------------------------------------------------- - -Added the use of direct verbs to implement QP-level -user-configurable congestion control algorithms. Among them, -the user mode driver mainly provides interfaces for users to -choose, and the kernel mode driver is responsible for filling -the resources of different algorithms and providing the -supported algorithm types for user mode. - -At the same time, provide a direct verbs interface for users to -query the type of congestion control algorithm. - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - providers/hns/hns_roce_u.c | 1 + - providers/hns/hns_roce_u.h | 6 ++ - providers/hns/hns_roce_u_verbs.c | 107 +++++++++++++++++++++++++++++-- - providers/hns/hnsdv.h | 22 +++++++ - providers/hns/libhns.map | 1 + - 5 files changed, 131 insertions(+), 6 deletions(-) - -diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c -index 3d29838..87f9ed8 100644 ---- a/providers/hns/hns_roce_u.c -+++ b/providers/hns/hns_roce_u.c -@@ -299,6 +299,7 @@ static struct verbs_context *hns_roce_alloc_context(struct ibv_device *ibdev, - goto err_free; - - hr_dev->mac_type = resp.mac_type; -+ hr_dev->congest_type = resp.congest_type; - - if (!resp.cqe_size) - context->cqe_size = HNS_ROCE_CQE_SIZE; -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 76c7adb..41e9599 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -172,6 +172,7 @@ struct hns_roce_device { - const struct hns_roce_u_hw *u_hw; - int hw_version; - uint8_t mac_type; -+ uint8_t congest_type; - }; - - struct hns_roce_buf { -@@ -230,6 +231,11 @@ struct hns_roce_v2_reset_state { - uint32_t is_reset; - }; - -+struct hns_roce_cmd_flag { -+ uint32_t create_flags; -+ uint32_t congest_type_flags; -+}; -+ - struct hns_roce_context { - struct verbs_context ibv_ctx; - void *uar; -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 282ab74..6c6120c 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -89,10 +89,10 @@ int hns_roce_u_query_device(struct ibv_context *context, - struct ibv_device_attr_ex *attr, size_t attr_size) - { - struct ib_uverbs_ex_query_device_resp resp; -+ unsigned int major, minor, sub_minor; - size_t resp_size = sizeof(resp); -- int ret; - uint64_t raw_fw_ver; -- unsigned int major, minor, sub_minor; -+ int ret; - - ret = ibv_cmd_query_device_any(context, input, attr, attr_size, &resp, - &resp_size); -@@ -110,6 +110,27 @@ int hns_roce_u_query_device(struct ibv_context *context, - return 0; - } - -+int hnsdv_query_device(struct ibv_context *context, -+ struct hnsdv_context *attrs_out) -+{ -+ struct hns_roce_device *hr_dev = to_hr_dev(context->device); -+ -+ if (!hr_dev) { -+ verbs_err(verbs_get_ctx(context), "not a HNS RoCE device!\n"); -+ return EOPNOTSUPP; -+ } -+ -+ if (!attrs_out) -+ return EINVAL; -+ -+ memset(attrs_out, 0, sizeof(*attrs_out)); -+ -+ attrs_out->comp_mask |= HNSDV_CONTEXT_MASK_CONGEST_TYPE; -+ attrs_out->congest_type = hr_dev->congest_type; -+ -+ return 0; -+} -+ - int hns_roce_u_query_port(struct ibv_context *context, uint8_t port, - struct ibv_port_attr *attr) - { -@@ -956,6 +977,67 @@ int hns_roce_u_destroy_srq(struct ibv_srq *ibv_srq) - return 0; - } - -+enum { -+ HNSDV_QP_SUP_COMP_MASK = HNSDV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS | -+ HNSDV_QP_INIT_ATTR_MASK_QP_CONGEST_TYPE, -+}; -+ -+static int check_qp_congest_type(struct hns_roce_context *ctx, -+ struct hnsdv_qp_init_attr *hns_attr, -+ struct hns_roce_cmd_flag *cmd_flag) -+{ -+ struct hns_roce_device *hr_dev = to_hr_dev(ctx->ibv_ctx.context.device); -+ -+ if (!check_comp_mask(hns_attr->congest_type, hr_dev->congest_type)) { -+ verbs_err(&ctx->ibv_ctx, "unsupported congest type 0x%x.\n", -+ hns_attr->congest_type); -+ return -EOPNOTSUPP; -+ } -+ -+ switch (hns_attr->congest_type) { -+ case HNSDV_QP_CREATE_ENABLE_DCQCN: -+ cmd_flag->congest_type_flags |= HNS_ROCE_CREATE_QP_FLAGS_DCQCN; -+ break; -+ case HNSDV_QP_CREATE_ENABLE_LDCP: -+ cmd_flag->congest_type_flags |= HNS_ROCE_CREATE_QP_FLAGS_LDCP; -+ break; -+ case HNSDV_QP_CREATE_ENABLE_HC3: -+ cmd_flag->congest_type_flags |= HNS_ROCE_CREATE_QP_FLAGS_LDCP; -+ break; -+ case HNSDV_QP_CREATE_ENABLE_DIP: -+ cmd_flag->congest_type_flags |= HNS_ROCE_CREATE_QP_FLAGS_DIP; -+ break; -+ default: -+ verbs_err(&ctx->ibv_ctx, -+ "unsupported congestion control algorithm configuration.\n"); -+ return -EOPNOTSUPP; -+ } -+ -+ return 0; -+} -+ -+static int check_hnsdv_qp_attr(struct hns_roce_context *ctx, -+ struct hnsdv_qp_init_attr *hns_attr, -+ struct hns_roce_cmd_flag *cmd_flag) -+{ -+ int ret; -+ -+ if (!hns_attr) -+ return 0; -+ -+ if (!check_comp_mask(hns_attr->comp_mask, HNSDV_QP_SUP_COMP_MASK)) { -+ verbs_err(&ctx->ibv_ctx, "invalid hnsdv comp_mask 0x%x.\n", -+ hns_attr->comp_mask); -+ return -EINVAL; -+ } -+ -+ ret = check_qp_congest_type(ctx, hns_attr, cmd_flag); -+ if (ret) -+ return ret; -+ -+ return 0; -+} -+ - enum { - CREATE_QP_SUP_COMP_MASK = IBV_QP_INIT_ATTR_PD | IBV_QP_INIT_ATTR_XRCD | - IBV_QP_INIT_ATTR_SEND_OPS_FLAGS, -@@ -1050,7 +1132,9 @@ static int verify_qp_create_cap(struct hns_roce_context *ctx, - } - - static int verify_qp_create_attr(struct hns_roce_context *ctx, -- struct ibv_qp_init_attr_ex *attr) -+ struct ibv_qp_init_attr_ex *attr, -+ struct hnsdv_qp_init_attr *hns_attr, -+ struct hns_roce_cmd_flag *cmd_flag) - { - int ret; - -@@ -1058,6 +1142,10 @@ static int verify_qp_create_attr(struct hns_roce_context *ctx, - if (ret) - return ret; - -+ ret = check_hnsdv_qp_attr(ctx, hns_attr, cmd_flag); -+ if (ret) -+ return ret; -+ - return verify_qp_create_cap(ctx, attr); - } - -@@ -1452,7 +1540,8 @@ static int hns_roce_store_qp(struct hns_roce_context *ctx, - static int qp_exec_create_cmd(struct ibv_qp_init_attr_ex *attr, - struct hns_roce_qp *qp, - struct hns_roce_context *ctx, -- uint64_t *dwqe_mmap_key) -+ uint64_t *dwqe_mmap_key, -+ struct hns_roce_cmd_flag *cmd_flag) - { - struct hns_roce_create_qp_ex_resp resp_ex = {}; - struct hns_roce_create_qp_ex cmd_ex = {}; -@@ -1464,6 +1553,11 @@ static int qp_exec_create_cmd(struct ibv_qp_init_attr_ex *attr, - cmd_ex.log_sq_stride = qp->sq.wqe_shift; - cmd_ex.log_sq_bb_count = hr_ilog32(qp->sq.wqe_cnt); - -+ if (cmd_flag->congest_type_flags) { -+ cmd_ex.comp_mask |= HNS_ROCE_CREATE_QP_MASK_CONGEST_TYPE; -+ cmd_ex.congest_type_flags = cmd_flag->congest_type_flags; -+ } -+ - ret = ibv_cmd_create_qp_ex2(&ctx->ibv_ctx.context, &qp->verbs_qp, attr, - &cmd_ex.ibv_cmd, sizeof(cmd_ex), - &resp_ex.ibv_resp, sizeof(resp_ex)); -@@ -1543,11 +1637,12 @@ static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, - struct hnsdv_qp_init_attr *hns_attr) - { - struct hns_roce_context *context = to_hr_ctx(ibv_ctx); -+ struct hns_roce_cmd_flag cmd_flag = {}; - struct hns_roce_qp *qp; - uint64_t dwqe_mmap_key; - int ret; - -- ret = verify_qp_create_attr(context, attr); -+ ret = verify_qp_create_attr(context, attr, hns_attr, &cmd_flag); - if (ret) - goto err; - -@@ -1567,7 +1662,7 @@ static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, - if (ret) - goto err_buf; - -- ret = qp_exec_create_cmd(attr, qp, context, &dwqe_mmap_key); -+ ret = qp_exec_create_cmd(attr, qp, context, &dwqe_mmap_key, &cmd_flag); - if (ret) - goto err_cmd; - -diff --git a/providers/hns/hnsdv.h b/providers/hns/hnsdv.h -index cfe1611..e15b428 100644 ---- a/providers/hns/hnsdv.h -+++ b/providers/hns/hnsdv.h -@@ -45,19 +45,41 @@ enum hnsdv_qp_create_flags { - HNSDV_QP_CREATE_ENABLE_DCA_MODE = 1 << 0, - }; - -+enum hnsdv_qp_congest_ctrl_type { -+ HNSDV_QP_CREATE_ENABLE_DCQCN = 1 << 0, -+ HNSDV_QP_CREATE_ENABLE_LDCP = 1 << 1, -+ HNSDV_QP_CREATE_ENABLE_HC3 = 1 << 2, -+ HNSDV_QP_CREATE_ENABLE_DIP = 1 << 3, -+}; -+ - enum hnsdv_qp_init_attr_mask { - HNSDV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS = 1 << 0, -+ HNSDV_QP_INIT_ATTR_MASK_QP_CONGEST_TYPE = 1 << 1, - }; - - struct hnsdv_qp_init_attr { - uint64_t comp_mask; /* Use enum hnsdv_qp_init_attr_mask */ - uint32_t create_flags; /* Use enum hnsdv_qp_create_flags */ -+ uint8_t congest_type; /* Use enum hnsdv_qp_congest_ctrl_type */ - }; - - struct ibv_qp *hnsdv_create_qp(struct ibv_context *context, - struct ibv_qp_init_attr_ex *qp_attr, - struct hnsdv_qp_init_attr *hns_qp_attr); - -+enum hnsdv_query_context_comp_mask { -+ HNSDV_CONTEXT_MASK_CONGEST_TYPE = 1 << 0, -+}; -+ -+struct hnsdv_context { -+ uint64_t comp_mask; /* use enum hnsdv_query_context_comp_mask */ -+ uint64_t flags; -+ uint8_t congest_type; /* Use enum hnsdv_qp_congest_ctrl_type */ -+}; -+ -+int hnsdv_query_device(struct ibv_context *ctx_in, -+ struct hnsdv_context *attrs_out); -+ - #ifdef __cplusplus - } - #endif -diff --git a/providers/hns/libhns.map b/providers/hns/libhns.map -index aed491c..ebf28eb 100644 ---- a/providers/hns/libhns.map -+++ b/providers/hns/libhns.map -@@ -5,5 +5,6 @@ HNS_1.0 { - hnsdv_is_supported; - hnsdv_open_device; - hnsdv_create_qp; -+ hnsdv_query_device; - local: *; - }; --- -2.25.1 - diff --git a/0042-Update-kernel-headers.patch b/0042-Update-kernel-headers.patch deleted file mode 100644 index 8b8a363101c5564dd71c0feec94f901207b6779d..0000000000000000000000000000000000000000 --- a/0042-Update-kernel-headers.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0c132b9216282269974bf5d21f877413cc222950 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Mon, 17 Apr 2023 09:48:09 +0800 -Subject: [PATCH 1/2] Update kernel headers - - To commit ?? ("RDMA/hns: Add SVE DIRECT WQE flag to support libhns"). - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - kernel-headers/rdma/hns-abi.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h -index bd19927..cab941f 100644 ---- a/kernel-headers/rdma/hns-abi.h -+++ b/kernel-headers/rdma/hns-abi.h -@@ -92,6 +92,7 @@ enum hns_roce_qp_cap_flags { - HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0, - HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1, - HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2, -+ HNS_ROCE_QP_CAP_SVE_DIRECT_WQE = 1 << 3, - HNS_ROCE_QP_CAP_DYNAMIC_CTX_ATTACH = 1 << 4, - HNS_ROCE_QP_CAP_DIRECT_WQE = 1 << 5, - HNS_ROCE_QP_CAP_DYNAMIC_CTX_DETACH = 1 << 6, --- -2.25.1 - diff --git a/0043-libhns-Add-support-for-SVE-Direct-WQE.patch b/0043-libhns-Add-support-for-SVE-Direct-WQE.patch deleted file mode 100644 index 93c27457391d2c9d3c17d30f5eb770bc0f5532e1..0000000000000000000000000000000000000000 --- a/0043-libhns-Add-support-for-SVE-Direct-WQE.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 6f08530cae5de66fabfae4cb29729a18b0e86365 Mon Sep 17 00:00:00 2001 -From: Yixing Liu -Date: Mon, 17 Apr 2023 09:48:10 +0800 -Subject: [PATCH 2/2] libhns: Add support for SVE Direct WQE - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I6VLLM - ---------------------------------------------------------------- - -Some Kunpeng SoCs do not support the DWQE through NEON -instructions. In this case, the IO path works normally, -but the performance will deteriorate. - -For these SoCs that do not support NEON DWQE, they support -DWQE through SVE instructions. This patch supports SVE DWQE -to guarantee the performance of these SoCs. In addition, in -this scenario, DWQE only supports acceleration through SVE's -ldr and str instructions. Other load and store instructions -also cause performance degradation. - -Signed-off-by: Yixing Liu -Reviewed-by: Yangyang Li ---- - CMakeLists.txt | 1 + - buildlib/RDMA_EnableCStd.cmake | 17 +++++++++++++++++ - providers/hns/CMakeLists.txt | 5 +++++ - providers/hns/hns_roce_u_hw_v2.c | 21 ++++++++++++++++++++- - 4 files changed, 43 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 787c8be..bc4437b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -399,6 +399,7 @@ if (NOT HAVE_SPARSE) - endif() - - RDMA_Check_SSE(HAVE_TARGET_SSE) -+RDMA_Check_SVE(HAVE_TARGET_SVE) - - # Enable development support features - # Prune unneeded shared libraries during linking -diff --git a/buildlib/RDMA_EnableCStd.cmake b/buildlib/RDMA_EnableCStd.cmake -index 3c42824..2b56f42 100644 ---- a/buildlib/RDMA_EnableCStd.cmake -+++ b/buildlib/RDMA_EnableCStd.cmake -@@ -127,3 +127,20 @@ int main(int argc, char *argv[]) - endif() - set(${TO_VAR} "${HAVE_TARGET_SSE}" PARENT_SCOPE) - endFunction() -+ -+function(RDMA_Check_SVE TO_VAR) -+ set(SVE_CHECK_PROGRAM " -+int main(int argc, char *argv[]) -+{ -+ return 0; -+} -+") -+ -+ RDMA_Check_C_Compiles(HAVE_TARGET_SVE "${SVE_CHECK_PROGRAM}" "-march=armv8.2-a+sve") -+ if(NOT HAVE_TARGET_SVE) -+ message("SVE is not supported") -+ else() -+ set(SVE_FLAGS "-march=armv8.2-a+sve" PARENT_SCOPE) -+ endif() -+ set(${TO_VAR} "${HAVE_TARGET_SVE}" PARENT_SCOPE) -+endFunction() -\ No newline at end of file -diff --git a/providers/hns/CMakeLists.txt b/providers/hns/CMakeLists.txt -index 160e1ff..ef031a8 100644 ---- a/providers/hns/CMakeLists.txt -+++ b/providers/hns/CMakeLists.txt -@@ -11,4 +11,9 @@ publish_headers(infiniband - hnsdv.h - ) - -+if (HAVE_TARGET_SVE) -+ add_definitions("-DHNS_SVE") -+ set_source_files_properties(hns_roce_u_hw_v2.c PROPERTIES COMPILE_FLAGS "${SVE_FLAGS}") -+endif() -+ - rdma_pkg_config("hns" "libibverbs" "${CMAKE_THREAD_LIBS_INIT}") -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index d0067d3..a49b50d 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -321,6 +321,22 @@ static void hns_roce_write512(uint64_t *dest, uint64_t *val) - mmio_memcpy_x64(dest, val, sizeof(struct hns_roce_rc_sq_wqe)); - } - -+#if defined(HNS_SVE) -+static void hns_roce_sve_write512(uint64_t *dest, uint64_t *val) -+{ -+ asm volatile( -+ "ldr z0, [%0]\n" -+ "str z0, [%1]\n" -+ ::"r" (val), "r"(dest):"cc", "memory" -+ ); -+} -+#else -+static void hns_roce_sve_write512(uint64_t *dest, uint64_t *val) -+{ -+ return; -+} -+#endif -+ - static void hns_roce_write_dwqe(struct hns_roce_qp *qp, void *wqe) - { - struct hns_roce_rc_sq_wqe *rc_sq_wqe = wqe; -@@ -337,7 +353,10 @@ static void hns_roce_write_dwqe(struct hns_roce_qp *qp, void *wqe) - hr_reg_write(rc_sq_wqe, RCWQE_DB_SL_H, qp->sl >> HNS_ROCE_SL_SHIFT); - hr_reg_write(rc_sq_wqe, RCWQE_WQE_IDX, qp->sq.head); - -- hns_roce_write512(qp->sq.db_reg, wqe); -+ if (qp->flags & HNS_ROCE_QP_CAP_SVE_DIRECT_WQE) -+ hns_roce_sve_write512(qp->sq.db_reg, wqe); -+ else -+ hns_roce_write512(qp->sq.db_reg, wqe); - } - - static void update_cq_db(struct hns_roce_context *ctx, struct hns_roce_cq *cq) --- -2.25.1 - diff --git a/0044-libhns-Fix-the-sge-num-problem-of-atomic-op.patch b/0044-libhns-Fix-the-sge-num-problem-of-atomic-op.patch deleted file mode 100644 index a28b2b71dc6a746862f955f348b0e31c3b1cf01c..0000000000000000000000000000000000000000 --- a/0044-libhns-Fix-the-sge-num-problem-of-atomic-op.patch +++ /dev/null @@ -1,91 +0,0 @@ -From b5127a009336e0e6947433148c6c7422c277bce7 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Sat, 6 May 2023 18:06:38 +0800 -Subject: [PATCH 1/3] libhns: Fix the sge num problem of atomic op - -mainline inclusion -commit b4793235 -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I72EWP -CVE: NA - ----------------------------------------------------------------------- - -The hns hardware logic requires wr->num_sge to be 1 when -performing atomic operations. The code does not judge this -condition, and the current patch adds this constraint. - -Fixes: 3507f87f7760 ("libhns: Optimize set_sge process") -Fixes: 36446a56eea5 ("libhns: Extended QP supports the new post send mechanism") -Signed-off-by: Luoyouming -Signed-off-by: Zhou Juan ---- - providers/hns/hns_roce_u_hw_v2.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index a49b50d..5533cdb 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -106,6 +106,9 @@ static int set_atomic_seg(struct hns_roce_qp *qp, struct ibv_send_wr *wr, - void *buf[ATOMIC_BUF_NUM_MAX]; - unsigned int buf_sge_num; - -+ /* There is only one sge in atomic wr, and data_len is the data length -+ * in the first sge -+ */ - if (is_std_atomic(data_len)) { - if (wr->opcode == IBV_WR_ATOMIC_CMP_AND_SWP) { - aseg->fetchadd_swap_data = htole64(wr->wr.atomic.swap); -@@ -923,16 +926,19 @@ static void set_rc_sge(struct hns_roce_v2_wqe_data_seg *dseg, - uint32_t mask = qp->ex_sge.sge_cnt - 1; - uint32_t index = sge_info->start_idx; - struct ibv_sge *sge = wr->sg_list; -+ int total_sge = wr->num_sge; -+ bool flag = false; - uint32_t len = 0; - uint32_t cnt = 0; -- int flag; - int i; - -- flag = (wr->send_flags & IBV_SEND_INLINE && -- wr->opcode != IBV_WR_ATOMIC_FETCH_AND_ADD && -- wr->opcode != IBV_WR_ATOMIC_CMP_AND_SWP); -+ if (wr->opcode == IBV_WR_ATOMIC_FETCH_AND_ADD || -+ wr->opcode == IBV_WR_ATOMIC_CMP_AND_SWP) -+ total_sge = 1; -+ else -+ flag = !!(wr->send_flags & IBV_SEND_INLINE); - -- for (i = 0; i < wr->num_sge; i++, sge++) { -+ for (i = 0; i < total_sge; i++, sge++) { - if (unlikely(!sge->length)) - continue; - -@@ -2267,6 +2273,7 @@ static void wr_set_sge_list_rc(struct ibv_qp_ex *ibv_qp, size_t num_sge, - struct hns_roce_qp *qp = to_hr_qp(&ibv_qp->qp_base); - struct hns_roce_rc_sq_wqe *wqe = qp->cur_wqe; - struct hns_roce_v2_wqe_data_seg *dseg; -+ uint32_t opcode; - - if (!wqe) - return; -@@ -2276,9 +2283,15 @@ static void wr_set_sge_list_rc(struct ibv_qp_ex *ibv_qp, size_t num_sge, - return; - } - -+ - hr_reg_write(wqe, RCWQE_MSG_START_SGE_IDX, - qp->sge_info.start_idx & (qp->ex_sge.sge_cnt - 1)); - -+ opcode = hr_reg_read(wqe, RCWQE_OPCODE); -+ if (opcode == HNS_ROCE_WQE_OP_ATOMIC_COM_AND_SWAP || -+ opcode == HNS_ROCE_WQE_OP_ATOMIC_FETCH_AND_ADD) -+ num_sge = 1; -+ - dseg = (void *)(wqe + 1); - set_sgl_rc(dseg, qp, sg_list, num_sge); - --- -2.25.1 - diff --git a/0045-libhns-Fix-sge-tail_len-overflow.patch b/0045-libhns-Fix-sge-tail_len-overflow.patch deleted file mode 100644 index de3d9dad944d4c841c130999bdfda935b509a21c..0000000000000000000000000000000000000000 --- a/0045-libhns-Fix-sge-tail_len-overflow.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 2653621c332c79ba591d76a442061bd13ad23030 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Sat, 6 May 2023 18:06:39 +0800 -Subject: [PATCH 2/3] libhns: Fix sge tail_len overflow - -mainline inclusion -commit cd9c9ea5 -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I72F0C -CVE: NA - ----------------------------------------------------------------------- - -In the sq inline scenario, when num_sge in post_send is not 1, sge -array appears in the for loop without rotation and directly copy -out of bounds. - -The fill_ext_sge_inl_data() calculates the remaining length of the -array by subtracting the current address from the tail address. If -the length is not sufficient, redundant data will be copied after -rotating the array. However, in the code, sge_cnt & sge_mask always -equals to 0, which causes the tail address of the array to be -mistakenly taken as the first address. Additionally, tail_len will -be either 0 or may overflow when calculating this value. After -overflowing to a very large number, the driver makes an incorrect -judgment and copies all the data directly. When the data length -exceeds the remaining length, an out-of-bounds problem with the -array will occur. - -This patch modifies tail_bound_addr(tail pointer) to the actual sge -array tail address. - -Fixes: 2ced2bc4d1d4 ("libhns: Fix out-of-bounds write when filling inline data into extended sge space") -Signed-off-by: Luoyouming -Signed-off-by: Zhou Juan ---- - providers/hns/hns_roce_u_hw_v2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 5533cdb..3d46f35 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -1028,7 +1028,7 @@ static int fill_ext_sge_inl_data(struct hns_roce_qp *qp, - return EINVAL; - - dst_addr = get_send_sge_ex(qp, sge_info->start_idx & sge_mask); -- tail_bound_addr = get_send_sge_ex(qp, qp->ex_sge.sge_cnt & sge_mask); -+ tail_bound_addr = get_send_sge_ex(qp, qp->ex_sge.sge_cnt); - - for (i = 0; i < num_buf; i++) { - tail_len = (uintptr_t)tail_bound_addr - (uintptr_t)dst_addr; --- -2.25.1 - diff --git a/0046-libhns-Disable-local-invalidate-operation.patch b/0046-libhns-Disable-local-invalidate-operation.patch deleted file mode 100644 index b8a66680d1222ed1a2202b70a7244b38641d01ec..0000000000000000000000000000000000000000 --- a/0046-libhns-Disable-local-invalidate-operation.patch +++ /dev/null @@ -1,153 +0,0 @@ -From b3cea3522d575fdb60b6f426e43d45cec3deb847 Mon Sep 17 00:00:00 2001 -From: Yangyang Li -Date: Sat, 6 May 2023 18:06:40 +0800 -Subject: [PATCH 3/3] libhns: Disable local invalidate operation - -mainline inclusion -commit d8eec872 -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I72F0U -CVE: NA - ----------------------------------------------------------------------- - -Currently local invalidate operation don't work properly. -Disable it for the time being. -HIP08 and HIP09 hardware does not support this feature, so -delete the associated code. - -Fixes: a9ae7e9bfb5d ("libhns: Add local invalidate MR support for hip08") -Signed-off-by: Yangyang Li -Signed-off-by: Zhou Juan ---- - providers/hns/hns_roce_u_hw_v2.c | 30 +----------------------------- - providers/hns/hns_roce_u_hw_v2.h | 2 -- - 2 files changed, 1 insertion(+), 31 deletions(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 3d46f35..b929bbf 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -50,7 +50,6 @@ static const uint32_t hns_roce_opcode[] = { - HR_IBV_OPC_MAP(RDMA_READ, RDMA_READ), - HR_IBV_OPC_MAP(ATOMIC_CMP_AND_SWP, ATOMIC_COM_AND_SWAP), - HR_IBV_OPC_MAP(ATOMIC_FETCH_AND_ADD, ATOMIC_FETCH_AND_ADD), -- HR_IBV_OPC_MAP(LOCAL_INV, LOCAL_INV), - HR_IBV_OPC_MAP(BIND_MW, BIND_MW_TYPE), - HR_IBV_OPC_MAP(SEND_WITH_INV, SEND_WITH_INV), - }; -@@ -429,7 +428,6 @@ static const unsigned int wc_send_op_map[] = { - [HNS_ROCE_SQ_OP_RDMA_READ] = IBV_WC_RDMA_READ, - [HNS_ROCE_SQ_OP_ATOMIC_COMP_AND_SWAP] = IBV_WC_COMP_SWAP, - [HNS_ROCE_SQ_OP_ATOMIC_FETCH_AND_ADD] = IBV_WC_FETCH_ADD, -- [HNS_ROCE_SQ_OP_LOCAL_INV] = IBV_WC_LOCAL_INV, - [HNS_ROCE_SQ_OP_BIND_MW] = IBV_WC_BIND_MW, - }; - -@@ -597,9 +595,6 @@ static void parse_cqe_for_req(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - case HNS_ROCE_SQ_OP_RDMA_WRITE_WITH_IMM: - wc->wc_flags = IBV_WC_WITH_IMM; - break; -- case HNS_ROCE_SQ_OP_LOCAL_INV: -- wc->wc_flags = IBV_WC_WITH_INV; -- break; - case HNS_ROCE_SQ_OP_RDMA_READ: - case HNS_ROCE_SQ_OP_ATOMIC_COMP_AND_SWAP: - case HNS_ROCE_SQ_OP_ATOMIC_FETCH_AND_ADD: -@@ -1338,9 +1333,6 @@ static int check_rc_opcode(struct hns_roce_rc_sq_wqe *wqe, - wqe->rkey = htole32(wr->wr.atomic.rkey); - wqe->va = htole64(wr->wr.atomic.remote_addr); - break; -- case IBV_WR_LOCAL_INV: -- hr_reg_enable(wqe, RCWQE_SO); -- /* fallthrough */ - case IBV_WR_SEND_WITH_INV: - wqe->inv_key = htole32(wr->invalidate_rkey); - break; -@@ -1372,7 +1364,6 @@ static int set_rc_wqe(void *wqe, struct hns_roce_qp *qp, struct ibv_send_wr *wr, - !!(wr->send_flags & IBV_SEND_SOLICITED)); - hr_reg_write_bool(wqe, RCWQE_INLINE, - !!(wr->send_flags & IBV_SEND_INLINE)); -- hr_reg_clear(wqe, RCWQE_SO); - - ret = check_rc_opcode(rc_sq_wqe, wr); - if (ret) -@@ -2092,8 +2083,6 @@ static unsigned int get_wc_flags_for_sq(uint8_t opcode) - case HNS_ROCE_SQ_OP_SEND_WITH_IMM: - case HNS_ROCE_SQ_OP_RDMA_WRITE_WITH_IMM: - return IBV_WC_WITH_IMM; -- case HNS_ROCE_SQ_OP_LOCAL_INV: -- return IBV_WC_WITH_INV; - default: - return 0; - } -@@ -2202,7 +2191,6 @@ init_rc_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) - hr_reg_write_bool(wqe, RCWQE_FENCE, send_flags & IBV_SEND_FENCE); - hr_reg_write_bool(wqe, RCWQE_SE, send_flags & IBV_SEND_SOLICITED); - hr_reg_clear(wqe, RCWQE_INLINE); -- hr_reg_clear(wqe, RCWQE_SO); - - if (check_qp_dca_enable(qp)) - fill_rc_dca_fields(qp->verbs_qp.qp.qp_num, wqe); -@@ -2332,20 +2320,6 @@ static void wr_send_inv_rc(struct ibv_qp_ex *ibv_qp, uint32_t invalidate_rkey) - wqe->inv_key = htole32(invalidate_rkey); - } - --static void wr_local_inv_rc(struct ibv_qp_ex *ibv_qp, uint32_t invalidate_rkey) --{ -- struct hns_roce_qp *qp = to_hr_qp(&ibv_qp->qp_base); -- struct hns_roce_rc_sq_wqe *wqe; -- -- wqe = init_rc_wqe(qp, ibv_qp->wr_id, HNS_ROCE_WQE_OP_LOCAL_INV); -- if (!wqe) -- return; -- -- hr_reg_enable(wqe, RCWQE_SO); -- wqe->inv_key = htole32(invalidate_rkey); -- enable_wqe(qp, wqe, qp->sq.head); --} -- - static void wr_set_xrc_srqn(struct ibv_qp_ex *ibv_qp, uint32_t remote_srqn) - { - struct hns_roce_qp *qp = to_hr_qp(&ibv_qp->qp_base); -@@ -2833,8 +2807,7 @@ enum { - IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM | - IBV_QP_EX_WITH_RDMA_READ | - IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP | -- IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD | -- IBV_QP_EX_WITH_LOCAL_INV, -+ IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD, - HNS_SUPPORTED_SEND_OPS_FLAGS_UD = - IBV_QP_EX_WITH_SEND | - IBV_QP_EX_WITH_SEND_WITH_IMM, -@@ -2850,7 +2823,6 @@ static void fill_send_wr_ops_rc_xrc(struct ibv_qp_ex *qp_ex) - qp_ex->wr_rdma_write_imm = wr_rdma_write_imm; - qp_ex->wr_set_inline_data = wr_set_inline_data_rc; - qp_ex->wr_set_inline_data_list = wr_set_inline_data_list_rc; -- qp_ex->wr_local_inv = wr_local_inv_rc; - qp_ex->wr_atomic_cmp_swp = wr_atomic_cmp_swp; - qp_ex->wr_atomic_fetch_add = wr_atomic_fetch_add; - qp_ex->wr_set_sge = wr_set_sge_rc; -diff --git a/providers/hns/hns_roce_u_hw_v2.h b/providers/hns/hns_roce_u_hw_v2.h -index a22995d..d628d76 100644 ---- a/providers/hns/hns_roce_u_hw_v2.h -+++ b/providers/hns/hns_roce_u_hw_v2.h -@@ -60,7 +60,6 @@ enum { - HNS_ROCE_WQE_OP_ATOMIC_MASK_COMP_AND_SWAP = 0x8, - HNS_ROCE_WQE_OP_ATOMIC_MASK_FETCH_AND_ADD = 0x9, - HNS_ROCE_WQE_OP_FAST_REG_PMR = 0xa, -- HNS_ROCE_WQE_OP_LOCAL_INV = 0xb, - HNS_ROCE_WQE_OP_BIND_MW_TYPE = 0xc, - HNS_ROCE_WQE_OP_MASK = 0x1f - }; -@@ -85,7 +84,6 @@ enum { - HNS_ROCE_SQ_OP_ATOMIC_MASK_COMP_AND_SWAP = 0x8, - HNS_ROCE_SQ_OP_ATOMIC_MASK_FETCH_AND_ADD = 0x9, - HNS_ROCE_SQ_OP_FAST_REG_PMR = 0xa, -- HNS_ROCE_SQ_OP_LOCAL_INV = 0xb, - HNS_ROCE_SQ_OP_BIND_MW = 0xc, - }; - --- -2.25.1 - diff --git a/0047-libhns-Fix-the-owner-bit-error-of-sq-in-new-io.patch b/0047-libhns-Fix-the-owner-bit-error-of-sq-in-new-io.patch deleted file mode 100644 index e0b7b38d70c5d260eca9d8342f3a26879dd42101..0000000000000000000000000000000000000000 --- a/0047-libhns-Fix-the-owner-bit-error-of-sq-in-new-io.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a86a120c35b1112bcef6c3821c2e5e1910e615e9 Mon Sep 17 00:00:00 2001 -From: Luoyouming -Date: Fri, 2 Jun 2023 10:33:14 +0800 -Subject: [PATCH 2/4] libhns: Fix the owner bit error of sq in new io - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I7A5Y5 - ---------------------------------------------------------------- - -The code does not use the head position of sq to set the owner bit, -but uses the head after adding 1 to cause an owner bit error. When -the wqe queue has not been flipped, the hardware has flipped based -on the owner bit judgment, resulting in failure to obtain wqe, -unable to send, and unable to generate cqe. This patch will set the -onwer bit ahead of time before the head value increases. - -Fixes: 36446a56eea5 ("libhns: Extended QP supports the new post send mechanism") -Signed-off-by: Luoyouming ---- - providers/hns/hns_roce_u_hw_v2.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 616d1ea..cde4801 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -2215,6 +2215,9 @@ init_rc_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) - - qp->sq.wrid[wqe_idx] = wr_id; - qp->cur_wqe = wqe; -+ -+ enable_wqe(qp, wqe, qp->sq.head); -+ - qp->sq.head++; - - return wqe; -@@ -2236,9 +2239,6 @@ static void wr_set_sge_rc(struct ibv_qp_ex *ibv_qp, uint32_t lkey, - wqe->msg_len = htole32(length); - hr_reg_write(wqe, RCWQE_LEN0, length); - hr_reg_write(wqe, RCWQE_SGE_NUM, !!length); -- /* ignore ex sge start index */ -- -- enable_wqe(qp, wqe, qp->sq.head); - } - - static void set_sgl_rc(struct hns_roce_v2_wqe_data_seg *dseg, -@@ -2541,6 +2541,9 @@ init_ud_wqe(struct hns_roce_qp *qp, uint64_t wr_id, unsigned int opcode) - - qp->sq.wrid[wqe_idx] = wr_id; - qp->cur_wqe = wqe; -+ -+ enable_wqe(qp, wqe, qp->sq.head); -+ - qp->sq.head++; - - return wqe; -@@ -2610,7 +2613,6 @@ static void wr_set_sge_ud(struct ibv_qp_ex *ibv_qp, uint32_t lkey, - dseg->len = htole32(length); - - qp->sge_info.start_idx++; -- enable_wqe(qp, wqe, qp->sq.head); - } - - static void wr_set_sge_list_ud(struct ibv_qp_ex *ibv_qp, size_t num_sge, --- -2.25.1 - diff --git a/0048-libhns-Fix-incorrect-post-send-with-direct-wqe-of-wr.patch b/0048-libhns-Fix-incorrect-post-send-with-direct-wqe-of-wr.patch deleted file mode 100644 index 680c583e309a9b3bcaaecb55b28d2d56beb6d331..0000000000000000000000000000000000000000 --- a/0048-libhns-Fix-incorrect-post-send-with-direct-wqe-of-wr.patch +++ /dev/null @@ -1,49 +0,0 @@ -From cfea6efe6decfa8c209ad9a85e1290674370725e Mon Sep 17 00:00:00 2001 -From: Junxian Huang -Date: Fri, 2 Jun 2023 10:33:15 +0800 -Subject: [PATCH 3/4] libhns: Fix incorrect post-send with direct wqe of - wr-list in user space - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/openeuler/kernel/issues/I7A2SA - ---------------------------------------------------------------- - -Currently, direct wqe is not supported for wr-list. RoCE driver excludes -direct wqe for wr-list by judging whether the number of wr is 1. - -For a wr-list where the second wr is a length-error atomic wr, the -post-send driver handles the first wr and adds 1 to the wr number counter -firstly. While handling the second wr, the driver finds out a length error -and terminates the wr handle process, remaining the counter at 1. This -causes the driver mistakenly judges there is only 1 wr and thus enters -the direct wqe process, carrying the current length-error atomic wqe. - -This patch fixes the error by adding a judgement whether the current wr -is a bad wr. If so, use the normal doorbell process but not direct wqe -despite the wr number is 1. - -Fixes: 159933c37450 ("libhns: Add support for direct wqe") -Signed-off-by: Junxian Huang ---- - providers/hns/hns_roce_u_hw_v2.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index cde4801..bb26c59 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -1480,7 +1480,8 @@ out: - - udma_to_device_barrier(); - -- if (nreq == 1 && (qp->flags & HNS_ROCE_QP_CAP_DIRECT_WQE)) -+ if (nreq == 1 && !ret && -+ (qp->flags & HNS_ROCE_QP_CAP_DIRECT_WQE)) - hns_roce_write_dwqe(qp, wqe); - else - hns_roce_update_sq_db(ctx, qp); --- -2.25.1 - diff --git a/0049-libhns-Add-a-judgment-to-the-congestion-control-algo.patch b/0049-libhns-Add-a-judgment-to-the-congestion-control-algo.patch deleted file mode 100644 index 027b3932d9922e3022bc1b4c4cc2b6a8c021abe4..0000000000000000000000000000000000000000 --- a/0049-libhns-Add-a-judgment-to-the-congestion-control-algo.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8fbf781e3b3630c25a361f7c5e3642350dcd21c9 Mon Sep 17 00:00:00 2001 -From: Chengchang Tang -Date: Fri, 2 Jun 2023 10:33:16 +0800 -Subject: [PATCH 4/4] libhns: Add a judgment to the congestion control - algorithm - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I7A7HI - ---------------------------------------------------------------- - -The congestion control algorithm is used only when the comp_mask flag -HNSDV_QP_INIT_ATTR_MASK_QP_CONGEST_TYPE is seted. - -A check on comp_mask is added to prevent invalid parameter errors caused -by unconfigured congestion control algorithm types. - -Fixes: 7623f24781f1 ("libhns: Support congestion control algorithm configuration") -Signed-off-by: Chengchang Tang ---- - providers/hns/hns_roce_u_verbs.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index 6c6120c..fa27fc1 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -988,6 +988,9 @@ static int check_qp_congest_type(struct hns_roce_context *ctx, - { - struct hns_roce_device *hr_dev = to_hr_dev(ctx->ibv_ctx.context.device); - -+ if (!(hns_attr->comp_mask & HNSDV_QP_INIT_ATTR_MASK_QP_CONGEST_TYPE)) -+ return 0; -+ - if (!check_comp_mask(hns_attr->congest_type, hr_dev->congest_type)) { - verbs_err(&ctx->ibv_ctx, "unsupported congest type 0x%x.\n", - hns_attr->congest_type); --- -2.25.1 - diff --git a/0050-libhns-Support-user-to-choose-using-UD-sl-or-pktype-.patch b/0050-libhns-Support-user-to-choose-using-UD-sl-or-pktype-.patch deleted file mode 100644 index 13b0a9fc4b598ae320af1b30a90ac7ea9fd6b6c5..0000000000000000000000000000000000000000 --- a/0050-libhns-Support-user-to-choose-using-UD-sl-or-pktype-.patch +++ /dev/null @@ -1,178 +0,0 @@ -From fb07638be493fe0667e3fa0554ee434b7d6b3502 Mon Sep 17 00:00:00 2001 -From: Junxian Huang -Date: Fri, 9 Jun 2023 11:04:41 +0800 -Subject: [PATCH] libhns: Support user to choose using UD sl or pktype to adapt - MPI APP - -driver inclusion -category: bugfix -bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I7A5YM - ---------------------------------------------------------------- - -According to Annex17_RoCEv2 (A17.4.5.2), for RoCEv2 UD, a CQE should -carry a flag that indicates if the received frame is an IPv4, IPv6 or -RoCE packet. But currently, the values of the flag corresponding to -these packet types haven't been defined yet in WC. - -In UCX, 'sl' in ibv_wc for UD is used as the packet type flag, and the -packet type values have already been defined in the UCX patch of -https://github.com/openucx/ucx/commit/ed28845b88633e65d64fce8ec880060aa61bd59c - -Therefore, to adapt UCX, add a create flag to hnsdv_create_qp() to allow -users to choose whether they use 'sl' in ibv_wc as service level or -packet type for UD. For the latter, obtain and translate the packet type -from CQE and fill it to 'sl' in ibv_wc. - -Signed-off-by: Junxian Huang -Signed-off-by: Haoyue Xu ---- - providers/hns/hns_roce_u.h | 11 +++++++++++ - providers/hns/hns_roce_u_hw_v2.c | 32 +++++++++++++++++++++++++++++--- - providers/hns/hns_roce_u_verbs.c | 16 ++++++++++++++++ - providers/hns/hnsdv.h | 1 + - 4 files changed, 57 insertions(+), 3 deletions(-) - -diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h -index 41e9599..e3012e1 100644 ---- a/providers/hns/hns_roce_u.h -+++ b/providers/hns/hns_roce_u.h -@@ -195,6 +195,12 @@ enum hns_roce_tc_map_mode { - HNS_ROCE_TC_MAP_MODE_DSCP, - }; - -+enum hns_roce_pktype { -+ HNS_ROCE_PKTYPE_ROCE_V1, -+ HNS_ROCE_PKTYPE_ROCE_V2_IPV6, -+ HNS_ROCE_PKTYPE_ROCE_V2_IPV4, -+}; -+ - struct hns_roce_db_page { - struct hns_roce_db_page *prev, *next; - struct hns_roce_buf buf; -@@ -406,6 +412,11 @@ struct hns_roce_qp { - void *cur_wqe; - unsigned int rb_sq_head; /* roll back sq head */ - struct hns_roce_sge_info sge_info; -+ -+ /* Just for UD. If not enabled, 'sl' in ibv_wc -+ * will be filled with 'port_type' in cqe. -+ */ -+ bool enable_ud_sl; - }; - - struct hns_roce_av { -diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c -index 4b0ec5c..ee2fffe 100644 ---- a/providers/hns/hns_roce_u_hw_v2.c -+++ b/providers/hns/hns_roce_u_hw_v2.c -@@ -522,9 +522,24 @@ static void handle_recv_rq_inl(struct hns_roce_v2_cqe *cqe, - handle_recv_inl_data(cqe, &(cur_qp->rq_rinl_buf), wr_num, wqe_buf); - } - --static void parse_for_ud_qp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc) -+static const uint8_t pktype_for_ud[] = { -+ HNS_ROCE_PKTYPE_ROCE_V1, -+ HNS_ROCE_PKTYPE_ROCE_V2_IPV4, -+ HNS_ROCE_PKTYPE_ROCE_V2_IPV6 -+}; -+ -+static void parse_for_ud_qp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, -+ bool enable_ud_sl) - { -- wc->sl = hr_reg_read(cqe, CQE_SL); -+ uint8_t port_type; -+ -+ if (enable_ud_sl) { -+ wc->sl = hr_reg_read(cqe, CQE_SL); -+ } else { -+ port_type = hr_reg_read(cqe, CQE_PORT_TYPE); -+ wc->sl = pktype_for_ud[port_type]; -+ } -+ - wc->src_qp = hr_reg_read(cqe, CQE_RMT_QPN); - wc->slid = 0; - wc->wc_flags |= hr_reg_read(cqe, CQE_GRH) ? IBV_WC_GRH : 0; -@@ -554,7 +569,7 @@ static int parse_cqe_for_resp(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc, - ++wq->tail; - - if (hr_qp->verbs_qp.qp.qp_type == IBV_QPT_UD) -- parse_for_ud_qp(cqe, wc); -+ parse_for_ud_qp(cqe, wc, hr_qp->enable_ud_sl); - - if (hr_reg_read(cqe, CQE_CQE_INLINE)) - handle_recv_cqe_inl_from_rq(cqe, hr_qp); -@@ -2126,6 +2141,17 @@ static uint32_t wc_read_slid(struct ibv_cq_ex *current) - static uint8_t wc_read_sl(struct ibv_cq_ex *current) - { - struct hns_roce_cq *cq = to_hr_cq(ibv_cq_ex_to_cq(current)); -+ struct hns_roce_context *ctx = to_hr_ctx(current->context); -+ struct hns_roce_qp *hr_qp; -+ uint8_t port_type; -+ uint32_t qpn; -+ -+ qpn = hr_reg_read(cq->cqe, CQE_LCL_QPN); -+ hr_qp = hns_roce_v2_find_qp(ctx, qpn); -+ if (hr_qp->verbs_qp.qp.qp_type == IBV_QPT_UD && !hr_qp->enable_ud_sl) { -+ port_type = hr_reg_read(cq->cqe, CQE_PORT_TYPE); -+ return pktype_for_ud[port_type]; -+ } - - return (uint8_t)hr_reg_read(cq->cqe, CQE_SL); - } -diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c -index fa27fc1..4b641ea 100644 ---- a/providers/hns/hns_roce_u_verbs.c -+++ b/providers/hns/hns_roce_u_verbs.c -@@ -1019,6 +1019,11 @@ static int check_qp_congest_type(struct hns_roce_context *ctx, - return 0; - } - -+enum { -+ HNSDV_QP_SUP_CREATE_FLAGS = HNSDV_QP_CREATE_ENABLE_DCA_MODE | -+ HNSDV_QP_CREATE_ENABLE_UD_SL, -+}; -+ - static int check_hnsdv_qp_attr(struct hns_roce_context *ctx, - struct hnsdv_qp_init_attr *hns_attr, - struct hns_roce_cmd_flag *cmd_flag) -@@ -1034,6 +1039,14 @@ static int check_hnsdv_qp_attr(struct hns_roce_context *ctx, - return -EINVAL; - } - -+ if (hns_attr->comp_mask & HNSDV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS && -+ !check_comp_mask(hns_attr->create_flags, -+ HNSDV_QP_SUP_CREATE_FLAGS)) { -+ verbs_err(&ctx->ibv_ctx, "invalid create_flags 0x%x.\n", -+ hns_attr->create_flags); -+ return -EOPNOTSUPP; -+ } -+ - ret = check_qp_congest_type(ctx, hns_attr, cmd_flag); - if (ret) - return ret; -@@ -1685,6 +1698,9 @@ static struct ibv_qp *create_qp(struct ibv_context *ibv_ctx, - - qp_setup_config(attr, qp, context); - -+ if (hns_attr && hns_attr->create_flags & HNSDV_QP_CREATE_ENABLE_UD_SL) -+ qp->enable_ud_sl = true; -+ - return &qp->verbs_qp.qp; - - err_dwqe: -diff --git a/providers/hns/hnsdv.h b/providers/hns/hnsdv.h -index e15b428..365c314 100644 ---- a/providers/hns/hnsdv.h -+++ b/providers/hns/hnsdv.h -@@ -43,6 +43,7 @@ struct ibv_context *hnsdv_open_device(struct ibv_device *device, - - enum hnsdv_qp_create_flags { - HNSDV_QP_CREATE_ENABLE_DCA_MODE = 1 << 0, -+ HNSDV_QP_CREATE_ENABLE_UD_SL = 1 << 1, - }; - - enum hnsdv_qp_congest_ctrl_type { --- -2.25.1 - diff --git a/rdma-core-35.0.tar.gz b/rdma-core-35.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..226137c258a735e7bb0b8812543f08cfc423d3f6 Binary files /dev/null and b/rdma-core-35.0.tar.gz differ diff --git a/rdma-core-41.0.tar.gz b/rdma-core-41.0.tar.gz deleted file mode 100644 index 19fbd78398613efd77dfd570feb6c558a04666dc..0000000000000000000000000000000000000000 Binary files a/rdma-core-41.0.tar.gz and /dev/null differ diff --git a/rdma-core.spec b/rdma-core.spec index c3b39a808cb79a818deb82018015a4d31058aa9f..89484aa3b852a22daebc07b2211f9a009aaedf3c 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,68 +1,17 @@ Name: rdma-core -Version: 41.0 -Release: 1 +Version: 35.0 +Release: 5 Summary: RDMA core userspace libraries and daemons License: GPLv2 or BSD Url: https://github.com/linux-rdma/rdma-core Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz -Patch0: 0001-libhns-Use-a-constant-instead-of-sizeof-operation.patch -Patch1: 0002-libhns-Fix-ext_sge-num-error-when-post-send.patch -Patch2: 0003-Update-kernel-headers.patch -Patch3: 0004-libhns-Fix-the-problem-of-sge-nums.patch -Patch4: 0005-Update-kernel-headers.patch -Patch5: 0006-libhns-Add-compatibility-handling-for-rq-inline.patch -Patch6: 0007-libhns-Refactor-rq-inline.patch -Patch7: 0008-libhns-RQ-inline-support-wc_x_poll_cq-interface.patch -Patch8: 0009-Update-kernel-headers.patch -Patch9: 0010-libhns-Support-cqe-inline.patch -Patch10: 0011-Update-kernel-headers.patch -Patch11: 0012-libhns-Support-DSCP.patch -Patch12: 0013-cma-Release-allocated-port-array.patch -Patch13: 0014-rsockets-Fix-allocation-size-There-is-memory-allocat.patch -Patch14: 0015-tests-test_mr.py-Change-the-argument-of-DmaBufMR-to-.patch -Patch15: 0016-ABI-Files.patch -Patch16: 0017-mlx5-Adjust-Crypto-BSF-size-if-signature-is-used.patch -Patch17: 0018-mlx5-DR-Fix-missing-comma-in-matcher-builder-dump-li.patch -Patch18: 0019-Install-xprtrdma-svcrdma-kmods-in-redhat-suse-dracut.patch -Patch19: 0020-providers-irdma-Explicitly-set-QP-modify-attributes-.patch -Patch20: 0021-providers-irdma-Use-s-g-array-in-post-send-only-when.patch -Patch21: 0022-providers-irdma-Report-correct-WC-errors.patch -Patch22: 0023-pyverbs-Increment-the-correct-rkey-in-test_qpex.patch -Patch23: 0024-mckey-Use-rdma_create_qp_ex-only-for-loopback-preven.patch -Patch24: 0025-Fix-spelling-mistake-of-underlying.patch -Patch25: 0026-rdma-ndd-disable-systemd-ProtectHostName-feature.patch -Patch26: 0027-libhns-Add-RoH-device-IDs.patch -Patch27: 0028-Update-kernel-headers.patch -Patch28: 0029-libhns-Add-the-parsing-of-mac-type-in-RoH-mode.patch -Patch29: 0030-libhns-Add-support-for-the-thread-domain-and-the-par.patch -Patch30: 0031-Update-kernel-headers.patch -Patch31: 0032-libhns-Introduce-DCA-for-RC-QP.patch -Patch32: 0033-libhns-Add-support-for-shrinking-DCA-memory-pool.patch -Patch33: 0034-libhns-Add-support-for-attaching-QP-s-WQE-buffer.patch -Patch34: 0035-libhns-Use-shared-memory-to-sync-DCA-status.patch -Patch35: 0036-libhns-Sync-DCA-status-by-shared-memory.patch -Patch36: 0037-libhns-Add-direct-verbs-support-to-config-DCA.patch -Patch37: 0038-Update-kernel-headers.patch -Patch38: 0039-libhns-Add-reset-stop-flow-mechanism.patch -Patch39: 0040-Update-kernel-headers.patch -Patch40: 0041-libhns-Support-congestion-control-algorithm-configur.patch -Patch41: 0042-Update-kernel-headers.patch -Patch42: 0043-libhns-Add-support-for-SVE-Direct-WQE.patch -Patch43: 0044-libhns-Fix-the-sge-num-problem-of-atomic-op.patch -Patch44: 0045-libhns-Fix-sge-tail_len-overflow.patch -Patch45: 0046-libhns-Disable-local-invalidate-operation.patch -Patch46: 0047-libhns-Fix-the-owner-bit-error-of-sq-in-new-io.patch -Patch47: 0048-libhns-Fix-incorrect-post-send-with-direct-wqe-of-wr.patch -Patch48: 0049-libhns-Add-a-judgment-to-the-congestion-control-algo.patch -Patch49: 0050-libhns-Support-user-to-choose-using-UD-sl-or-pktype-.patch - BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-route-3.0) valgrind-devel systemd systemd-devel BuildRequires: python3-devel python3-Cython python3 python3-docutils perl-generators BuildRequires: ninja-build -Requires: systemd pciutils +Requires: dracut kmod systemd pciutils %{name}-help Provides: ibacm infiniband-diags-compat infiniband-diags libibverbs libibverbs-utils iwpmd libibumad librdmacm librdmacm-utils srp_daemon Obsoletes: ibacm infiniband-diags-compat infiniband-diags libibverbs libibverbs-utils iwpmd libibumad librdmacm librdmacm-utils srp_daemon @@ -79,8 +28,6 @@ Provides: libefa = %{version}-%{release} Obsoletes: libefa < %{version}-%{release} Provides: libhfi1 = %{version}-%{release} Obsoletes: libhfi1 < %{version}-%{release} -Provides: libhns = %{version}-%{release} -Obsoletes: libhns < %{version}-%{release} Provides: libi40iw = %{version}-%{release} Obsoletes: libi40iw < %{version}-%{release} Provides: libipathverbs = %{version}-%{release} @@ -101,6 +48,9 @@ Obsoletes: openib-srptools <= 0.0.6 Conflicts: infiniband-diags <= 1.6.7 +Patch0: 0000-use-e-para-to-make-transferred-meaning-take-effect.patch +Patch1: 0001-libhns-Bugfix-for-calculation-of-extended-sge.patch + %{?systemd_requires} %define CMAKE_FLAGS -GNinja @@ -220,11 +170,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh %ldconfig_scriptlets %post -if [ -x /sbin/udevadm ];then /sbin/udevadm trigger --subsystem-match=infiniband --action=change || true /sbin/udevadm trigger --subsystem-match=net --action=change || true /sbin/udevadm trigger --subsystem-match=infiniband_mad --action=change || true -fi %systemd_post ibacm.service %systemd_post srp_daemon.service %systemd_post iwpmd.service @@ -265,7 +213,6 @@ fi %{_libdir}/libibmad*.so.* %{_libdir}/libibnetdisc*.so.* %{_libdir}/libefa.so.* -%{_libdir}/libhns.so.* %{_libdir}/libibverbs*.so.* %{_libdir}/libibverbs/*.so %{_libdir}/libmlx5.so.* @@ -303,9 +250,6 @@ fi %{_mandir}/* %changelog -* Tue Oct 17 2023 chenyaqiang - 41.0-1 -- update to 41.0 - * Thu Feb 17 2022 tangchengchang - 35.0-5 - Type: bugfix - ID: NA diff --git a/rdma-core.yaml b/rdma-core.yaml deleted file mode 100644 index 0b09a8635215594612e49e31ce21bc8b88c7f6c1..0000000000000000000000000000000000000000 --- a/rdma-core.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version_control: github -src_repo: linux-rdma/rdma-core -tag_prefix: ^v -seperator: .