diff options
Diffstat (limited to 'src/include/gpxe')
| -rw-r--r-- | src/include/gpxe/infiniband.h | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h index 22a8a9824..ccb6e49e4 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; +}; |
