aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/infiniband.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gpxe/infiniband.h')
-rw-r--r--src/include/gpxe/infiniband.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h
index c00388e5..80e59bf5 100644
--- a/src/include/gpxe/infiniband.h
+++ b/src/include/gpxe/infiniband.h
@@ -83,6 +83,13 @@ struct ib_multicast_gid {
struct ib_gid gid;
};
+/** An Infiniband queue pair type */
+enum ib_queue_pair_type {
+ IB_QPT_SMA,
+ IB_QPT_GMA,
+ IB_QPT_UD,
+};
+
/** An Infiniband Queue Pair */
struct ib_queue_pair {
/** Containing Infiniband device */
@@ -91,6 +98,8 @@ struct ib_queue_pair {
struct list_head list;
/** Queue Pair Number */
unsigned long qpn;
+ /** Queue pair type */
+ enum ib_queue_pair_type type;
/** Queue key */
unsigned long qkey;
/** Send queue */
@@ -395,9 +404,10 @@ extern void ib_destroy_cq ( struct ib_device *ibdev,
extern void ib_poll_cq ( struct ib_device *ibdev,
struct ib_completion_queue *cq );
extern struct ib_queue_pair *
-ib_create_qp ( struct ib_device *ibdev, unsigned int num_send_wqes,
- struct ib_completion_queue *send_cq, unsigned int num_recv_wqes,
- struct ib_completion_queue *recv_cq, unsigned long qkey );
+ib_create_qp ( struct ib_device *ibdev, enum ib_queue_pair_type type,
+ unsigned int num_send_wqes, struct ib_completion_queue *send_cq,
+ unsigned int num_recv_wqes, struct ib_completion_queue *recv_cq,
+ unsigned long qkey );
extern int ib_modify_qp ( struct ib_device *ibdev, struct ib_queue_pair *qp,
unsigned long mod_list, unsigned long qkey );
extern void ib_destroy_qp ( struct ib_device *ibdev,