libibverbs interfaces are at 1.1.8.  Update to 1.1.12.

This converts some enum's in the API to int's, plus adds definitions
for path record data to a new header file for windows, sa.h.

Signed-off-by: Sean Hefty <[email protected]>
---
 trunk/ulp/libibverbs/include/infiniband/sa.h    |   98 +++++++++++++++++++++++
 trunk/ulp/libibverbs/include/infiniband/verbs.h |   18 ++--
 trunk/ulp/libibverbs/src/verbs.cpp              |   10 +-
 trunk/ulp/librdmacm/include/rdma/rdma_cma.h     |    6 -
 4 files changed, 113 insertions(+), 19 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 0000000..0f427f3
--- /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 <infiniband/verbs.h>
+
+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 25584e5..2fd0a0c 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 8aa407d..3a22e95 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;
diff --git a/trunk/ulp/librdmacm/include/rdma/rdma_cma.h 
b/trunk/ulp/librdmacm/include/rdma/rdma_cma.h
index 0fd481c..0c9d305 100644
--- a/trunk/ulp/librdmacm/include/rdma/rdma_cma.h
+++ b/trunk/ulp/librdmacm/include/rdma/rdma_cma.h
@@ -34,6 +34,7 @@
 
 #include <windows.h>
 #include <infiniband\verbs.h>
+#include <infiniband\sa.h>
 #include <rdma\winverbs.h>
 
 #ifdef __cplusplus
@@ -104,11 +105,6 @@ struct rdma_addr
        }       addr;
 };
 
-struct ibv_sa_path_rec
-{
-       uint8_t                         data[64];
-};
-
 struct rdma_route
 {
        struct rdma_addr                addr;

_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to