TianoCore EDK2 master
Loading...
Searching...
No Matches
Mctp.h File Reference

Go to the source code of this file.

Data Structures

union  MCTP_CONTROL_MESSAGE
 
union  MCTP_TRANSPORT_HEADER
 
union  MCTP_MESSAGE_HEADER
 

Macros

#define MCTP_NULL_DESTINATION_ENDPOINT_ID   0
 
#define MCTP_NULL_SOURCE_ENDPOINT_ID   0
 
#define MCTP_RESERVED_ENDPOINT_START_ID   1
 
#define MCTP_RESERVED_ENDPOINT_END_ID   7
 
#define MCTP_BROADCAST_ENDPOINT_ID   0xFF
 
#define MCTP_CONTROL_RESERVED   0x00
 
#define MCTP_CONTROL_SET_ENDPOINT_ID   0x01
 
#define MCTP_CONTROL_GET_ENDPOINT_ID   0x02
 
#define MCTP_CONTROL_GET_ENDPOINT_UUID   0x03
 
#define MCTP_CONTROL_GET_MCTP_VERSION_SUPPORT   0x04
 
#define MCTP_CONTROL_GET_MESSAGE_TYPE_SUPPORT   0x05
 
#define MCTP_CONTROL_GET_VENDOR_DEFINED_MESSAGE_SUPPORT   0x06
 
#define MCTP_CONTROL_RESOLVE_ENDPOINT_ID   0x07
 
#define MCTP_CONTROL_ALLOCATE_ENDPOINT_IDS   0x08
 
#define MCTP_CONTROL_ROUTING_INFORMATION_UPDATE   0x09
 
#define MCTP_CONTROL_GET_ROUTINE_TABLE_ENTRIES   0x0A
 
#define MCTP_CONTROL_PREPARE_FOR_ENDPOINT_DISCOVERY   0x0B
 
#define MCTP_CONTROL_ENDPOINT_DISCOVERY   0x0C
 
#define MCTP_CONTROL_DISCOVERY_NOTIFY   0x0D
 
#define MCTP_CONTROL_GET_NETWORK_ID   0x0E
 
#define MCTP_CONTROL_QUERY_HOP   0x0F
 
#define MCTP_CONTROL_RESOLVE_UUID   0x10
 
#define MCTP_CONTROL_QUERY_RATE_LIMIT   0x11
 
#define MCTP_CONTROL_REQUEST_TX_RATE_LIMIT   0x12
 
#define MCTP_CONTROL_UPDATE_RATE_LIMIT   0x13
 
#define MCTP_CONTROL_QUERY_SUPPORTED_INTERFACES   0x14
 
#define MCTP_CONTROL_TRANSPORT_SPECIFIC_START   0xF0
 
#define MCTP_CONTROL_TRANSPORT_SPECIFIC_END   0xFF
 
#define MCTP_CONTROL_COMPLETION_CODES_SUCCESS   0x00
 
#define MCTP_CONTROL_COMPLETION_CODES_ERROR   0x01
 
#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_DATA   0x02
 
#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_LENGTH   0x03
 
#define MCTP_CONTROL_COMPLETION_CODES_ERROR_NOT_READY   0x04
 
#define MCTP_CONTROL_COMPLETION_CODES_ERROR_UNSUPPORTED_CMD   0x05
 
#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_START   0x80
 
#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_END   0xFF
 
#define MCTP_MESSAGE_TYPE_CONTROL   0x00
 
#define MCTP_MESSAGE_TYPE_PLDM   0x01
 
#define MCTP_MESSAGE_TYPE_NCSI   0x02
 
#define MCTP_MESSAGE_TYPE_ETHERNET   0x03
 
#define MCTP_MESSAGE_TYPE_NVME   0x04
 
#define MCTP_MESSAGE_TYPE_SPDM   0x05
 
#define MCTP_MESSAGE_TYPE_SECURE_MESSAGE   0x06
 
#define MCTP_MESSAGE_TYPE_CXL_FM_API   0x07
 
#define MCTP_MESSAGE_TYPE_CXL_CCI   0x08
 
#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_PCI   0x7E
 
#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_IANA   0x7F
 
#define MCTP_ENDPOINT_ID_NULL   0
 
#define MCTP_ENDPOINT_ID_RESERVED_START   1
 
#define MCTP_ENDPOINT_ID_RESERVED_END   7
 
#define MCTP_ENDPOINT_ID_BROADCAST   0xff
 
#define MCTP_BASELINE_MINIMUM_UNIT_TRANSMISSION_SIZE   0x40
 

Detailed Description

The definitions of DMTF Management Component Transport Protocol (MCTP) Base Specification.

Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
DMTF Management Component Transport Protocol (MCTP) Base Specification Version 1.3.1 https://www.dmtf.org/sites/default/files/standards/documents/DSP0236_1.3.1.pdf

Definition in file Mctp.h.

Macro Definition Documentation

◆ MCTP_BASELINE_MINIMUM_UNIT_TRANSMISSION_SIZE

#define MCTP_BASELINE_MINIMUM_UNIT_TRANSMISSION_SIZE   0x40

Minimum transmission size is 64 bytes. The value of 64 is defined in MCTP Base Specification.

Definition at line 104 of file Mctp.h.

◆ MCTP_BROADCAST_ENDPOINT_ID

#define MCTP_BROADCAST_ENDPOINT_ID   0xFF

Definition at line 25 of file Mctp.h.

◆ MCTP_CONTROL_ALLOCATE_ENDPOINT_IDS

#define MCTP_CONTROL_ALLOCATE_ENDPOINT_IDS   0x08

Definition at line 38 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_END

#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_END   0xFF

Definition at line 64 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_START

#define MCTP_CONTROL_COMPLETION_CODES_COMMAND_SPECIFIC_START   0x80

Definition at line 63 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_ERROR

#define MCTP_CONTROL_COMPLETION_CODES_ERROR   0x01

Definition at line 58 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_DATA

#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_DATA   0x02

Definition at line 59 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_LENGTH

#define MCTP_CONTROL_COMPLETION_CODES_ERROR_INVALID_LENGTH   0x03

Definition at line 60 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_ERROR_NOT_READY

#define MCTP_CONTROL_COMPLETION_CODES_ERROR_NOT_READY   0x04

Definition at line 61 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_ERROR_UNSUPPORTED_CMD

#define MCTP_CONTROL_COMPLETION_CODES_ERROR_UNSUPPORTED_CMD   0x05

Definition at line 62 of file Mctp.h.

◆ MCTP_CONTROL_COMPLETION_CODES_SUCCESS

#define MCTP_CONTROL_COMPLETION_CODES_SUCCESS   0x00

MCTP Control Message Completion Codes

Definition at line 57 of file Mctp.h.

◆ MCTP_CONTROL_DISCOVERY_NOTIFY

#define MCTP_CONTROL_DISCOVERY_NOTIFY   0x0D

Definition at line 43 of file Mctp.h.

◆ MCTP_CONTROL_ENDPOINT_DISCOVERY

#define MCTP_CONTROL_ENDPOINT_DISCOVERY   0x0C

Definition at line 42 of file Mctp.h.

◆ MCTP_CONTROL_GET_ENDPOINT_ID

#define MCTP_CONTROL_GET_ENDPOINT_ID   0x02

Definition at line 32 of file Mctp.h.

◆ MCTP_CONTROL_GET_ENDPOINT_UUID

#define MCTP_CONTROL_GET_ENDPOINT_UUID   0x03

Definition at line 33 of file Mctp.h.

◆ MCTP_CONTROL_GET_MCTP_VERSION_SUPPORT

#define MCTP_CONTROL_GET_MCTP_VERSION_SUPPORT   0x04

Definition at line 34 of file Mctp.h.

◆ MCTP_CONTROL_GET_MESSAGE_TYPE_SUPPORT

#define MCTP_CONTROL_GET_MESSAGE_TYPE_SUPPORT   0x05

Definition at line 35 of file Mctp.h.

◆ MCTP_CONTROL_GET_NETWORK_ID

#define MCTP_CONTROL_GET_NETWORK_ID   0x0E

Definition at line 44 of file Mctp.h.

◆ MCTP_CONTROL_GET_ROUTINE_TABLE_ENTRIES

#define MCTP_CONTROL_GET_ROUTINE_TABLE_ENTRIES   0x0A

Definition at line 40 of file Mctp.h.

◆ MCTP_CONTROL_GET_VENDOR_DEFINED_MESSAGE_SUPPORT

#define MCTP_CONTROL_GET_VENDOR_DEFINED_MESSAGE_SUPPORT   0x06

Definition at line 36 of file Mctp.h.

◆ MCTP_CONTROL_PREPARE_FOR_ENDPOINT_DISCOVERY

#define MCTP_CONTROL_PREPARE_FOR_ENDPOINT_DISCOVERY   0x0B

Definition at line 41 of file Mctp.h.

◆ MCTP_CONTROL_QUERY_HOP

#define MCTP_CONTROL_QUERY_HOP   0x0F

Definition at line 45 of file Mctp.h.

◆ MCTP_CONTROL_QUERY_RATE_LIMIT

#define MCTP_CONTROL_QUERY_RATE_LIMIT   0x11

Definition at line 47 of file Mctp.h.

◆ MCTP_CONTROL_QUERY_SUPPORTED_INTERFACES

#define MCTP_CONTROL_QUERY_SUPPORTED_INTERFACES   0x14

Definition at line 50 of file Mctp.h.

◆ MCTP_CONTROL_REQUEST_TX_RATE_LIMIT

#define MCTP_CONTROL_REQUEST_TX_RATE_LIMIT   0x12

Definition at line 48 of file Mctp.h.

◆ MCTP_CONTROL_RESERVED

#define MCTP_CONTROL_RESERVED   0x00

MCTP Control Commands

Definition at line 30 of file Mctp.h.

◆ MCTP_CONTROL_RESOLVE_ENDPOINT_ID

#define MCTP_CONTROL_RESOLVE_ENDPOINT_ID   0x07

Definition at line 37 of file Mctp.h.

◆ MCTP_CONTROL_RESOLVE_UUID

#define MCTP_CONTROL_RESOLVE_UUID   0x10

Definition at line 46 of file Mctp.h.

◆ MCTP_CONTROL_ROUTING_INFORMATION_UPDATE

#define MCTP_CONTROL_ROUTING_INFORMATION_UPDATE   0x09

Definition at line 39 of file Mctp.h.

◆ MCTP_CONTROL_SET_ENDPOINT_ID

#define MCTP_CONTROL_SET_ENDPOINT_ID   0x01

Definition at line 31 of file Mctp.h.

◆ MCTP_CONTROL_TRANSPORT_SPECIFIC_END

#define MCTP_CONTROL_TRANSPORT_SPECIFIC_END   0xFF

Definition at line 52 of file Mctp.h.

◆ MCTP_CONTROL_TRANSPORT_SPECIFIC_START

#define MCTP_CONTROL_TRANSPORT_SPECIFIC_START   0xF0

Definition at line 51 of file Mctp.h.

◆ MCTP_CONTROL_UPDATE_RATE_LIMIT

#define MCTP_CONTROL_UPDATE_RATE_LIMIT   0x13

Definition at line 49 of file Mctp.h.

◆ MCTP_ENDPOINT_ID_BROADCAST

#define MCTP_ENDPOINT_ID_BROADCAST   0xff

Definition at line 84 of file Mctp.h.

◆ MCTP_ENDPOINT_ID_NULL

#define MCTP_ENDPOINT_ID_NULL   0

Definition at line 81 of file Mctp.h.

◆ MCTP_ENDPOINT_ID_RESERVED_END

#define MCTP_ENDPOINT_ID_RESERVED_END   7

Definition at line 83 of file Mctp.h.

◆ MCTP_ENDPOINT_ID_RESERVED_START

#define MCTP_ENDPOINT_ID_RESERVED_START   1

Definition at line 82 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_CONTROL

#define MCTP_MESSAGE_TYPE_CONTROL   0x00

MCTP Control Message Types

Definition at line 69 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_CXL_CCI

#define MCTP_MESSAGE_TYPE_CXL_CCI   0x08

Definition at line 77 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_CXL_FM_API

#define MCTP_MESSAGE_TYPE_CXL_FM_API   0x07

Definition at line 76 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_ETHERNET

#define MCTP_MESSAGE_TYPE_ETHERNET   0x03

Definition at line 72 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_NCSI

#define MCTP_MESSAGE_TYPE_NCSI   0x02

Definition at line 71 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_NVME

#define MCTP_MESSAGE_TYPE_NVME   0x04

Definition at line 73 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_PLDM

#define MCTP_MESSAGE_TYPE_PLDM   0x01

Definition at line 70 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_SECURE_MESSAGE

#define MCTP_MESSAGE_TYPE_SECURE_MESSAGE   0x06

Definition at line 75 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_SPDM

#define MCTP_MESSAGE_TYPE_SPDM   0x05

Definition at line 74 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_VENDOR_DEFINED_IANA

#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_IANA   0x7F

Definition at line 79 of file Mctp.h.

◆ MCTP_MESSAGE_TYPE_VENDOR_DEFINED_PCI

#define MCTP_MESSAGE_TYPE_VENDOR_DEFINED_PCI   0x7E

Definition at line 78 of file Mctp.h.

◆ MCTP_NULL_DESTINATION_ENDPOINT_ID

#define MCTP_NULL_DESTINATION_ENDPOINT_ID   0

Definitions of endpoint ID

Definition at line 21 of file Mctp.h.

◆ MCTP_NULL_SOURCE_ENDPOINT_ID

#define MCTP_NULL_SOURCE_ENDPOINT_ID   0

Definition at line 22 of file Mctp.h.

◆ MCTP_RESERVED_ENDPOINT_END_ID

#define MCTP_RESERVED_ENDPOINT_END_ID   7

Definition at line 24 of file Mctp.h.

◆ MCTP_RESERVED_ENDPOINT_START_ID

#define MCTP_RESERVED_ENDPOINT_START_ID   1

Definition at line 23 of file Mctp.h.