linux/include/rdma/opa_smi.h

/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/*
 * Copyright (c) 2014 Intel Corporation.  All rights reserved.
 */

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


/* Subnet management attributes */
/* ... */
#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 /* OPA_SMI_H */