diff options
| author | Michael Brown | 2009-08-03 18:47:55 +0200 |
|---|---|---|
| committer | Michael Brown | 2009-08-09 00:55:29 +0200 |
| commit | 44251ebb9a9689329dd8f0cf571324cf07ad7e75 (patch) | |
| tree | f55e21b90033e007fa08cb1b5f76771570cbe735 /src/include | |
| parent | [infiniband] Add the concept of a management interface (diff) | |
| download | ipxe-44251ebb9a9689329dd8f0cf571324cf07ad7e75.tar.gz ipxe-44251ebb9a9689329dd8f0cf571324cf07ad7e75.tar.xz ipxe-44251ebb9a9689329dd8f0cf571324cf07ad7e75.zip | |
[infiniband] Update subnet management agent to use a management interface
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/gpxe/ib_mad.h | 3 | ||||
| -rw-r--r-- | src/include/gpxe/ib_packet.h | 6 | ||||
| -rw-r--r-- | src/include/gpxe/ib_sma.h | 20 | ||||
| -rw-r--r-- | src/include/gpxe/infiniband.h | 5 |
4 files changed, 28 insertions, 6 deletions
diff --git a/src/include/gpxe/ib_mad.h b/src/include/gpxe/ib_mad.h index cfd8ef9aa..ac9a1d4b0 100644 --- a/src/include/gpxe/ib_mad.h +++ b/src/include/gpxe/ib_mad.h @@ -30,9 +30,6 @@ struct ib_smp_hdr { uint8_t reserved[28]; } __attribute__ (( packed )); -/** Bits to ignore in the management class for subnet management MADs */ -#define IB_SMP_CLASS_IGNORE 0x80 - /** Subnet management class version */ #define IB_SMP_CLASS_VERSION 1 diff --git a/src/include/gpxe/ib_packet.h b/src/include/gpxe/ib_packet.h index a014352ea..d46885969 100644 --- a/src/include/gpxe/ib_packet.h +++ b/src/include/gpxe/ib_packet.h @@ -16,7 +16,11 @@ struct io_buffer; /** Half of an Infiniband Global Identifier */ struct ib_gid_half { - uint8_t bytes[8]; + union { + uint8_t bytes[8]; + uint16_t words[4]; + uint32_t dwords[2]; + } u; }; /** An Infiniband Global Identifier */ diff --git a/src/include/gpxe/ib_sma.h b/src/include/gpxe/ib_sma.h new file mode 100644 index 000000000..78fc67295 --- /dev/null +++ b/src/include/gpxe/ib_sma.h @@ -0,0 +1,20 @@ +#ifndef _GPXE_IB_SMA_H +#define _GPXE_IB_SMA_H + +/** @file + * + * Infiniband subnet management agent + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +struct ib_device; +struct ib_mad_interface; + +extern int ib_create_sma ( struct ib_device *ibdev, + struct ib_mad_interface *mi ); +extern void ib_destroy_sma ( struct ib_device *ibdev, + struct ib_mad_interface *mi ); + +#endif /* _GPXE_IB_SMA_H */ diff --git a/src/include/gpxe/infiniband.h b/src/include/gpxe/infiniband.h index 2581b17bc..d300a77bb 100644 --- a/src/include/gpxe/infiniband.h +++ b/src/include/gpxe/infiniband.h @@ -45,6 +45,7 @@ struct ib_device; struct ib_queue_pair; struct ib_address_vector; struct ib_completion_queue; +struct ib_mad_interface; struct ib_gma; /** Infiniband transmission rates */ @@ -413,8 +414,8 @@ struct ib_device { */ uint32_t rdma_key; - /** Subnet management agent */ - struct ib_gma *sma; + /** Subnet management interface */ + struct ib_mad_interface *smi; /** General management agent */ struct ib_gma *gma; |
