summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/infiniband.h
diff options
context:
space:
mode:
authorMichael Brown2007-09-15 01:19:38 +0200
committerMichael Brown2007-09-15 01:19:38 +0200
commit38a73b55c445ffa596d4b4ecc2aef6476d00a3c1 (patch)
treeb736d2159408f8ad94efa479e3cd6e20d7129717 /src/include/gpxe/infiniband.h
parentStarting to introduce an Infiniband device abstraction (diff)
downloadipxe-38a73b55c445ffa596d4b4ecc2aef6476d00a3c1.tar.gz
ipxe-38a73b55c445ffa596d4b4ecc2aef6476d00a3c1.tar.xz
ipxe-38a73b55c445ffa596d4b4ecc2aef6476d00a3c1.zip
Now at least compiles
Diffstat (limited to 'src/include/gpxe/infiniband.h')
-rw-r--r--src/include/gpxe/infiniband.h33
1 files changed, 27 insertions, 6 deletions
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h
index 22a8a982..ccb6e49e 100644
--- a/src/include/gpxe/infiniband.h
+++ b/src/include/gpxe/infiniband.h
@@ -61,6 +61,9 @@ struct ibhdr {
uint16_t reserved;
} __attribute__ (( packed ));
+
+
+
/** An Infiniband Work Queue */
struct ib_work_queue {
/** Number of work queue entries */
@@ -70,10 +73,7 @@ struct ib_work_queue {
* This is the index of the most recently posted entry.
*/
unsigned int posted;
- /** Driver-private data
- *
- * Typically used to hold the address of the work queue.
- */
+ /** Driver private data */
void *priv;
/** I/O buffers assigned to work queue */
struct io_buffer *iobuf[0];
@@ -87,13 +87,30 @@ struct ib_queue_pair {
struct ib_work_queue send;
/** Receive queue */
struct ib_work_queue recv;
+ /** Driver private data */
+ void *priv;
};
/** An Infiniband Address Vector */
struct ib_address_vector {
-
+ /** Destination Queue Pair */
+ unsigned int dest_qp;
+ /** Queue key */
+ unsigned int qkey;
+ /** Destination Local ID */
+ unsigned int dlid;
+ /** Rate */
+ unsigned int rate;
+ /** Service level */
+ unsigned int sl;
+ /** GID is present */
+ unsigned int gid_present;
+ /** GID */
+ struct ib_gid gid;
};
+struct ib_device;
+
/**
* Infiniband device operations
*
@@ -119,7 +136,11 @@ struct ib_device_operations {
struct ib_queue_pair *qp );
};
-
+/** An Infiniband device */
+struct ib_device {
+ /** Driver private data */
+ void *priv;
+};