#ifndef OPA_SMI_H
#define OPA_SMI_H
#include <rdma/ib_mad.h>
#include <rdma/ib_smi.h>
#define OPA_SMP_LID_DATA_SIZE …
#define OPA_SMP_DR_DATA_SIZE …
#define OPA_SMP_MAX_PATH_HOPS …
#define OPA_MAX_VLS …
#define OPA_MAX_SLS …
#define OPA_MAX_SCS …
#define OPA_LID_PERMISSIVE …
struct opa_smp { … } __packed;
#define OPA_ATTRIB_ID_NODE_DESCRIPTION …
#define OPA_ATTRIB_ID_NODE_INFO …
#define OPA_ATTRIB_ID_PORT_INFO …
#define OPA_ATTRIB_ID_PARTITION_TABLE …
#define OPA_ATTRIB_ID_SL_TO_SC_MAP …
#define OPA_ATTRIB_ID_VL_ARBITRATION …
#define OPA_ATTRIB_ID_SM_INFO …
#define OPA_ATTRIB_ID_CABLE_INFO …
#define OPA_ATTRIB_ID_AGGREGATE …
#define OPA_ATTRIB_ID_SC_TO_SL_MAP …
#define OPA_ATTRIB_ID_SC_TO_VLR_MAP …
#define OPA_ATTRIB_ID_SC_TO_VLT_MAP …
#define OPA_ATTRIB_ID_SC_TO_VLNT_MAP …
#define OPA_ATTRIB_ID_PORT_STATE_INFO …
#define OPA_ATTRIB_ID_BUFFER_CONTROL_TABLE …
struct opa_node_description { … } __packed;
struct opa_node_info { … } __packed;
#define OPA_PARTITION_TABLE_BLK_SIZE …
static inline u8
opa_get_smp_direction(struct opa_smp *smp)
{ … }
static inline u8 *opa_get_smp_data(struct opa_smp *smp)
{ … }
static inline size_t opa_get_smp_data_size(struct opa_smp *smp)
{ … }
static inline size_t opa_get_smp_header_size(struct opa_smp *smp)
{ … }
#endif