From cdb61ca09c572b94ae4e4c7585909bdd1f196609 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Tue, 29 Jun 2010 10:37:35 -0700 Subject: [PATCH] libibverbs: update interface to 1.1.12 libibverbs interfaces are at 1.1.8. Update to 1.1.12. Signed-off-by: Sean Hefty --- trunk/ulp/libibverbs/include/infiniband/sa.h | 98 +++++++++++++++++++ .../ulp/libibverbs/include/infiniband/verbs.h | 18 ++-- trunk/ulp/libibverbs/src/verbs.cpp | 10 +- 3 files changed, 112 insertions(+), 14 deletions(-) create mode 100644 trunk/ulp/libibverbs/include/infiniband/sa.h diff --git a/trunk/ulp/libibverbs/include/infiniband/sa.h b/trunk/ulp/libibverbs/include/infiniband/sa.h new file mode 100644 index 00000000..a9611fa2 --- /dev/null +++ b/trunk/ulp/libibverbs/include/infiniband/sa.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2004 Topspin Communications. All rights reserved. + * Copyright (c) 2005 Voltaire, Inc. All rights reserved. + * Copyright (c) 2010 Intel. All rights reserved. + * + * This software is available to you under the OpenFabrics.org BSD license + * below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AWV + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef INFINIBAND_SA_H +#define INFINIBAND_SA_H + +#include + +struct ibv_sa_path_rec { + /* reserved */ + /* reserved */ + union ibv_gid dgid; + union ibv_gid sgid; + uint16_t dlid; + uint16_t slid; + int raw_traffic; + /* reserved */ + uint32_t flow_label; + uint8_t hop_limit; + uint8_t traffic_class; + int reversible; + uint8_t numb_path; + uint16_t pkey; + /* reserved */ + uint8_t sl; + uint8_t mtu_selector; + uint8_t mtu; + uint8_t rate_selector; + uint8_t rate; + uint8_t packet_life_time_selector; + uint8_t packet_life_time; + uint8_t preference; +}; + +#define IBV_PATH_RECORD_REVERSIBLE 0x80 + +struct ibv_path_record { + uint64_t service_id; + union ibv_gid dgid; + union ibv_gid sgid; + uint16_t dlid; + uint16_t slid; + uint32_t flowlabel_hoplimit; /* resv-31:28 flow label-27:8 hop limit-7:0*/ + uint8_t tclass; + uint8_t reversible_numpath; /* reversible-7:7 num path-6:0 */ + uint16_t pkey; + uint16_t qosclass_sl; /* qos class-15:4 sl-3:0 */ + uint8_t mtu; /* mtu selector-7:6 mtu-5:0 */ + uint8_t rate; /* rate selector-7:6 rate-5:0 */ + uint8_t packetlifetime; /* lifetime selector-7:6 lifetime-5:0 */ + uint8_t preference; + uint8_t reserved[6]; +}; + +#define IBV_PATH_FLAG_GMP (1<<0) +#define IBV_PATH_FLAG_PRIMARY (1<<1) +#define IBV_PATH_FLAG_ALTERNATE (1<<2) +#define IBV_PATH_FLAG_OUTBOUND (1<<3) +#define IBV_PATH_FLAG_INBOUND (1<<4) +#define IBV_PATH_FLAG_INBOUND_REVERSE (1<<5) +#define IBV_PATH_FLAG_BIDIRECTIONAL (IBV_PATH_FLAG_OUTBOUND | \ + IBV_PATH_FLAG_INBOUND_REVERSE) + +struct ibv_path_data { + uint32_t flags; + uint32_t reserved; + struct ibv_path_record path; +}; + +#endif /* INFINIBAND_SA_H */ diff --git a/trunk/ulp/libibverbs/include/infiniband/verbs.h b/trunk/ulp/libibverbs/include/infiniband/verbs.h index 25584e59..2fd0a0c2 100644 --- a/trunk/ulp/libibverbs/include/infiniband/verbs.h +++ b/trunk/ulp/libibverbs/include/infiniband/verbs.h @@ -45,7 +45,7 @@ extern "C" { #endif /* - * Interfaces based on libibverbs 1.1.2. + * Interfaces based on libibverbs 1.1.4. */ typedef unsigned __int8 uint8_t; @@ -294,7 +294,7 @@ struct ibv_wc uint32_t vendor_err; enum ibv_wc_status status; - enum ibv_wc_flags wc_flags; + int wc_flags; uint32_t imm_data; /* in network byte order */ uint32_t src_qp; uint16_t pkey_index; @@ -563,7 +563,7 @@ struct ibv_send_wr struct ibv_sge *sg_list; int num_sge; enum ibv_wr_opcode opcode; - enum ibv_send_flags send_flags; + int send_flags; uint32_t imm_data; /* in network byte order */ union { @@ -606,8 +606,8 @@ struct ibv_mw_bind struct ibv_mr *mr; void *addr; size_t length; - enum ibv_send_flags send_flags; - enum ibv_access_flags mw_access_flags; + int send_flags; + int mw_access_flags; }; struct ibv_srq @@ -800,7 +800,7 @@ int ibv_dealloc_pd(struct ibv_pd *pd); */ __declspec(dllexport) struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr, - size_t length, enum ibv_access_flags access); + size_t length, int access); /** * ibv_dereg_mr - Deregister a memory region @@ -939,7 +939,7 @@ struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, __declspec(dllexport) int ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, - enum ibv_srq_attr_mask srq_attr_mask); + int srq_attr_mask); /** * ibv_query_srq - Returns the attribute list and current values for the @@ -981,7 +981,7 @@ struct ibv_qp *ibv_create_qp(struct ibv_pd *pd, */ __declspec(dllexport) int ibv_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - enum ibv_qp_attr_mask attr_mask); + int attr_mask); /** * ibv_query_qp - Returns the attribute list and current values for the @@ -996,7 +996,7 @@ int ibv_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, */ __declspec(dllexport) int ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - enum ibv_qp_attr_mask attr_mask, + int attr_mask, struct ibv_qp_init_attr *init_attr); /** diff --git a/trunk/ulp/libibverbs/src/verbs.cpp b/trunk/ulp/libibverbs/src/verbs.cpp index 8aa407de..3a22e950 100644 --- a/trunk/ulp/libibverbs/src/verbs.cpp +++ b/trunk/ulp/libibverbs/src/verbs.cpp @@ -278,7 +278,7 @@ int ibv_dealloc_pd(struct ibv_pd *pd) __declspec(dllexport) struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr, - size_t length, enum ibv_access_flags access) + size_t length, int access) { struct ibv_mr *mr; HRESULT hr; @@ -494,7 +494,7 @@ struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, __declspec(dllexport) int ibv_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, - enum ibv_srq_attr_mask srq_attr_mask) + int srq_attr_mask) { ibv_srq_attr attr; @@ -604,7 +604,7 @@ struct ibv_qp *ibv_create_qp(struct ibv_pd *pd, /* qp_num set by ibv_query_qp */ qp->qp_type = qp_init_attr->qp_type; - hr = ibv_query_qp(qp, &attr, (enum ibv_qp_attr_mask) 0xFFFFFFFF, qp_init_attr); + hr = ibv_query_qp(qp, &attr, 0xFFFFFFFF, qp_init_attr); if (FAILED(hr)) { goto err; } @@ -618,7 +618,7 @@ err: __declspec(dllexport) int ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - enum ibv_qp_attr_mask attr_mask, + int attr_mask, struct ibv_qp_init_attr *init_attr) { WV_QP_ATTRIBUTES wv_attr; @@ -677,7 +677,7 @@ int ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, __declspec(dllexport) int ibv_modify_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, - enum ibv_qp_attr_mask attr_mask) + int attr_mask) { WV_QP_ATTRIBUTES wv_attr; HRESULT hr; -- 2.46.0