| # Message Layer |
| |
| ## Debug Prints |
| |
| When progress logging is enabled, the message layer emits a number of prints |
| that provide more details on the messages being sent or received. Most of these |
| are fairly self explanatory with the exception of the ones listed below. |
| |
| ### Message Transmission |
| |
| #### Legend |
| |
| On message transmission, the following print is emitted. The various fields that |
| will be expanded are denoted with `$` . |
| |
| Unless specified, numerical values are represented in decimal notation. |
| |
| ``` |
| <<< [E:$exchange_id S:$session_id M:$msg_id (Ack: $ack_msg_id)] ($msg_category) Msg TX from $source to $fabric_index:$destination [$compressed_fabric_id] [$peer_address] --- Type $protocol_id:$msg_type ($protocol_name:$msg_type_name) (B:$size) |
| ``` |
| |
| | Field | Description | |
| | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | |
| | exchange_id | Exchange ID + `IsInitiator` flag from message header ('i' if initiator, 'r' if responder') | |
| | session_id | Local session id for unicast secure, 0 for unicast un-secure, group id for groupcast | |
| | msg_id | Message counter | |
| | ack_msg_id | If present, the ACK message counter. Otherwise, this entire field is omitted from display | |
| | msg_category | U: Un-secure Unicast, S: Secure Unicast, G: Secure Groupcast | |
| | fabric_index | Fabric index on the sending side | |
| | source | 64-bit Node Identifier that can represent both group, operational and temporary node identifiers depending on `$msg_category` (in hex) | |
| | destination | 64-bit Node Identifier that can represent both group, operational and temporary node identifiers depending on `$msg_category` (in hex) | |
| | compressed_fabric_id | If present and valid, lower 16-bits of the compressed fabric ID (in hex). Otherwise, it will be set to 0000. | |
| | peer_address | The peer address (IP and port) for the session | |
| | protocol_id | 16-bit Protocol ID within the common vendor namespace (in hex) | |
| | msg_type | 8-bit message type ID (in hex) | |
| | protocol_name | If available, a logical name for the protocol | |
| | msg_type_name | If available, a logical name for the message type | |
| | size | Size, in bytes, of the message being transmitted. Includes the Matter payload header and packet header but not transport headers | |
| |
| #### Examples: |
| |
| _Unencrypted Unicast:_ |
| |
| ``` |
| <<< [E:26341i S:0 M:264589322] (U) Msg TX from 0FDE2AE2EAF5D74D to 0:0000000000000000 [0000] --- Type 0000:30 (SecureChannel:CASE_Sigma1) |
| ``` |
| |
| _Secure Unicast:_ |
| |
| ``` |
| <<< [E:26347i S:5110 M:30642895 (Ack: 9203233)] (S) Msg TX from 000000000001B669 to 1:0000000012344321 [1667] --- Type 0001:06 (IM:WriteRequest) |
| ``` |
| |
| _Secure Groupcast:_ |
| |
| ``` |
| <<< [E:26349i S:17850 M:2000] (G) Msg TX from 000000000001B669 to 1:FFFFFFFFFFFF0102 [1667] --- Type 0001:06 (IM:WriteRequest) |
| ``` |
| |
| ### Message Reception |
| |
| #### Legend |
| |
| On message transmission, the following print is emitted. The various fields that |
| will be expanded are denoted with `$` . |
| |
| Unless specified, numerical values are represented in decimal notation. |
| |
| ``` |
| >>> [E:$exchange_id M: $msg_id (Ack: $ack_msg_id)] ($msg_category) Msg RX from $fabric_index:$source to $destination [$compressed_fabric_id] --- Type $protocol_id:$msg_type ($protocol_name:$msg_type_name) (B:$size) |
| ``` |
| |
| This has a similar legend to that for transmission except `$source` denotes the |
| source's node identifier and `$fabric_index` is the index on the recipient. |
| |
| #### Examples |
| |
| _Unencrypted Unicast:_ |
| |
| ``` |
| >>> [E:26341i S:0 M:264589322] (U) Msg RX from 0:0FDE2AE2EAF5D74D to 0000000000000000 [0000] --- Type 0000:30 (SecureChannel:CASE_Sigma1) |
| ``` |
| |
| _Secure Unicast:_ |
| |
| ``` |
| >>> [E:26342i S:62311 M:30642885] (S) Msg RX from 1:000000000001B669 to 0000000012344321 [1667] --- Type 0001:08 (IM:InvokeCommandRequest) |
| ``` |
| |
| _Secure Groupcast:_ |
| |
| ``` |
| >>> [E:26349i S:1720 M:2000] (G) Msg RX from 1:000000000001B669 to FFFFFFFFFFFF0102 [0000] --- Type 0001:06 (IM:WriteRequest) |
| ``` |