aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/ib_mad.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2010-09-11 15:31:33 +0100
committerMichael Brown <mcb30@ipxe.org>2010-09-12 22:32:02 +0100
commitef8452a64222fb65c7b778736dbd50654e0188a4 (patch)
tree8b91c5877cd0af7d595ab658b29dd39fc04ae200 /src/include/ipxe/ib_mad.h
parente6519af60d7279571f99e522db63d8365b49757d (diff)
downloadipxe-ef8452a64222fb65c7b778736dbd50654e0188a4.tar.gz
[infiniband] Respond to CM disconnection requests
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/ib_mad.h')
-rw-r--r--src/include/ipxe/ib_mad.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/include/ipxe/ib_mad.h b/src/include/ipxe/ib_mad.h
index 94f171ada..23c2657ca 100644
--- a/src/include/ipxe/ib_mad.h
+++ b/src/include/ipxe/ib_mad.h
@@ -451,6 +451,34 @@ struct ib_cm_ready_to_use {
uint8_t private_data[224];
} __attribute__ (( packed ));
+/** A communication management disconnection request
+ *
+ * Defined in section 12.6.10 of the IBA.
+ */
+struct ib_cm_disconnect_request {
+ /** Local communication ID */
+ uint32_t local_id;
+ /** Remote communication ID */
+ uint32_t remote_id;
+ /** Remote QPN/EECN */
+ uint32_t remote_qpn_eecn;
+ /** Private data */
+ uint8_t private_data[220];
+} __attribute__ (( packed ));
+
+/** A communication management disconnection reply
+ *
+ * Defined in section 12.6.11 of the IBA.
+ */
+struct ib_cm_disconnect_reply {
+ /** Local communication ID */
+ uint32_t local_id;
+ /** Remote communication ID */
+ uint32_t remote_id;
+ /** Private data */
+ uint8_t private_data[224];
+} __attribute__ (( packed ));
+
/** A communication management attribute */
union ib_cm_data {
struct ib_cm_common common;
@@ -458,6 +486,8 @@ union ib_cm_data {
struct ib_cm_connect_reject connect_reject;
struct ib_cm_connect_reply connect_reply;
struct ib_cm_ready_to_use ready_to_use;
+ struct ib_cm_disconnect_request disconnect_request;
+ struct ib_cm_disconnect_reply disconnect_reply;
uint8_t bytes[232];
} __attribute__ (( packed ));