linux/include/rdma/ibta_vol1_c12.h

/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/*
 * Copyright (c) 2020, Mellanox Technologies inc. All rights reserved.
 *
 * This file is IBTA volume 1, chapter 12 declarations:
 *  CHAPTER 12: COMMUNICATION MANAGEMENT
 */
#ifndef _IBTA_VOL1_C12_H_
#define _IBTA_VOL1_C12_H_

#include <rdma/iba.h>

#define CM_FIELD_BLOC(field_struct, byte_offset, bits_offset, width)
#define CM_FIELD8_LOC(field_struct, byte_offset, width)
#define CM_FIELD16_LOC(field_struct, byte_offset, width)
#define CM_FIELD32_LOC(field_struct, byte_offset, width)
#define CM_FIELD64_LOC(field_struct, byte_offset)
#define CM_FIELD_MLOC(field_struct, byte_offset, width, type)
#define CM_STRUCT(field_struct, total_len)

/* Table 106 REQ Message Contents */
#define CM_REQ_LOCAL_COMM_ID
#define CM_REQ_VENDOR_ID
#define CM_REQ_SERVICE_ID
#define CM_REQ_LOCAL_CA_GUID
#define CM_REQ_LOCAL_Q_KEY
#define CM_REQ_LOCAL_QPN
#define CM_REQ_RESPONDER_RESOURCES
#define CM_REQ_LOCAL_EECN
#define CM_REQ_INITIATOR_DEPTH
#define CM_REQ_REMOTE_EECN
#define CM_REQ_REMOTE_CM_RESPONSE_TIMEOUT
#define CM_REQ_TRANSPORT_SERVICE_TYPE
#define CM_REQ_END_TO_END_FLOW_CONTROL
#define CM_REQ_STARTING_PSN
#define CM_REQ_LOCAL_CM_RESPONSE_TIMEOUT
#define CM_REQ_RETRY_COUNT
#define CM_REQ_PARTITION_KEY
#define CM_REQ_PATH_PACKET_PAYLOAD_MTU
#define CM_REQ_RDC_EXISTS
#define CM_REQ_RNR_RETRY_COUNT
#define CM_REQ_MAX_CM_RETRIES
#define CM_REQ_SRQ
#define CM_REQ_EXTENDED_TRANSPORT_TYPE
#define CM_REQ_PRIMARY_LOCAL_PORT_LID
#define CM_REQ_PRIMARY_REMOTE_PORT_LID
#define CM_REQ_PRIMARY_LOCAL_PORT_GID
#define CM_REQ_PRIMARY_REMOTE_PORT_GID
#define CM_REQ_PRIMARY_FLOW_LABEL
#define CM_REQ_PRIMARY_PACKET_RATE
#define CM_REQ_PRIMARY_TRAFFIC_CLASS
#define CM_REQ_PRIMARY_HOP_LIMIT
#define CM_REQ_PRIMARY_SL
#define CM_REQ_PRIMARY_SUBNET_LOCAL
#define CM_REQ_PRIMARY_LOCAL_ACK_TIMEOUT
#define CM_REQ_ALTERNATE_LOCAL_PORT_LID
#define CM_REQ_ALTERNATE_REMOTE_PORT_LID
#define CM_REQ_ALTERNATE_LOCAL_PORT_GID
#define CM_REQ_ALTERNATE_REMOTE_PORT_GID
#define CM_REQ_ALTERNATE_FLOW_LABEL
#define CM_REQ_ALTERNATE_PACKET_RATE
#define CM_REQ_ALTERNATE_TRAFFIC_CLASS
#define CM_REQ_ALTERNATE_HOP_LIMIT
#define CM_REQ_ALTERNATE_SL
#define CM_REQ_ALTERNATE_SUBNET_LOCAL
#define CM_REQ_ALTERNATE_LOCAL_ACK_TIMEOUT
#define CM_REQ_SAP_SUPPORTED
#define CM_REQ_PRIVATE_DATA
CM_STRUCT();

/* Table 107 MRA Message Contents */
#define CM_MRA_LOCAL_COMM_ID
#define CM_MRA_REMOTE_COMM_ID
#define CM_MRA_MESSAGE_MRAED
#define CM_MRA_SERVICE_TIMEOUT
#define CM_MRA_PRIVATE_DATA
CM_STRUCT();

/* Table 108 REJ Message Contents */
#define CM_REJ_LOCAL_COMM_ID
#define CM_REJ_REMOTE_COMM_ID
#define CM_REJ_MESSAGE_REJECTED
#define CM_REJ_REJECTED_INFO_LENGTH
#define CM_REJ_REASON
#define CM_REJ_ARI
#define CM_REJ_PRIVATE_DATA
CM_STRUCT();

/* Table 110 REP Message Contents */
#define CM_REP_LOCAL_COMM_ID
#define CM_REP_REMOTE_COMM_ID
#define CM_REP_LOCAL_Q_KEY
#define CM_REP_LOCAL_QPN
#define CM_REP_VENDOR_ID_H
#define CM_REP_LOCAL_EE_CONTEXT_NUMBER
#define CM_REP_VENDOR_ID_M
#define CM_REP_STARTING_PSN
#define CM_REP_VENDOR_ID_L
#define CM_REP_RESPONDER_RESOURCES
#define CM_REP_INITIATOR_DEPTH
#define CM_REP_TARGET_ACK_DELAY
#define CM_REP_FAILOVER_ACCEPTED
#define CM_REP_END_TO_END_FLOW_CONTROL
#define CM_REP_RNR_RETRY_COUNT
#define CM_REP_SRQ
#define CM_REP_LOCAL_CA_GUID
#define CM_REP_PRIVATE_DATA
CM_STRUCT();

/* Table 111 RTU Message Contents */
#define CM_RTU_LOCAL_COMM_ID
#define CM_RTU_REMOTE_COMM_ID
#define CM_RTU_PRIVATE_DATA
CM_STRUCT();

/* Table 112 DREQ Message Contents */
#define CM_DREQ_LOCAL_COMM_ID
#define CM_DREQ_REMOTE_COMM_ID
#define CM_DREQ_REMOTE_QPN_EECN
#define CM_DREQ_PRIVATE_DATA
CM_STRUCT();

/* Table 113 DREP Message Contents */
#define CM_DREP_LOCAL_COMM_ID
#define CM_DREP_REMOTE_COMM_ID
#define CM_DREP_PRIVATE_DATA
CM_STRUCT();

/* Table 115 LAP Message Contents */
#define CM_LAP_LOCAL_COMM_ID
#define CM_LAP_REMOTE_COMM_ID
#define CM_LAP_REMOTE_QPN_EECN
#define CM_LAP_REMOTE_CM_RESPONSE_TIMEOUT
#define CM_LAP_ALTERNATE_LOCAL_PORT_LID
#define CM_LAP_ALTERNATE_REMOTE_PORT_LID
#define CM_LAP_ALTERNATE_LOCAL_PORT_GID
#define CM_LAP_ALTERNATE_REMOTE_PORT_GID
#define CM_LAP_ALTERNATE_FLOW_LABEL
#define CM_LAP_ALTERNATE_TRAFFIC_CLASS
#define CM_LAP_ALTERNATE_HOP_LIMIT
#define CM_LAP_ALTERNATE_PACKET_RATE
#define CM_LAP_ALTERNATE_SL
#define CM_LAP_ALTERNATE_SUBNET_LOCAL
#define CM_LAP_ALTERNATE_LOCAL_ACK_TIMEOUT
#define CM_LAP_PRIVATE_DATA
CM_STRUCT();

/* Table 116 APR Message Contents */
#define CM_APR_LOCAL_COMM_ID
#define CM_APR_REMOTE_COMM_ID
#define CM_APR_ADDITIONAL_INFORMATION_LENGTH
#define CM_APR_AR_STATUS
#define CM_APR_ADDITIONAL_INFORMATION
#define CM_APR_PRIVATE_DATA
CM_STRUCT();

/* Table 119 SIDR_REQ Message Contents */
#define CM_SIDR_REQ_REQUESTID
#define CM_SIDR_REQ_PARTITION_KEY
#define CM_SIDR_REQ_SERVICEID
#define CM_SIDR_REQ_PRIVATE_DATA
CM_STRUCT();

/* Table 120 SIDR_REP Message Contents */
#define CM_SIDR_REP_REQUESTID
#define CM_SIDR_REP_STATUS
#define CM_SIDR_REP_ADDITIONAL_INFORMATION_LENGTH
#define CM_SIDR_REP_VENDOR_ID_H
#define CM_SIDR_REP_QPN
#define CM_SIDR_REP_VENDOR_ID_L
#define CM_SIDR_REP_SERVICEID
#define CM_SIDR_REP_Q_KEY
#define CM_SIDR_REP_ADDITIONAL_INFORMATION
#define CM_SIDR_REP_PRIVATE_DATA
CM_STRUCT();

#endif /* _IBTA_VOL1_C12_H_ */