[infiniband] Update subnet management agent to use a management interface

This commit is contained in:
Michael Brown
2009-08-03 17:47:55 +01:00
parent 0e07516f62
commit 44251ebb9a
8 changed files with 412 additions and 313 deletions

View File

@@ -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

View File

@@ -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 */

20
src/include/gpxe/ib_sma.h Normal file
View File

@@ -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 */

View File

@@ -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;