|
| 1 | +<?xml version="1.0"?> |
| 2 | +<!-- |
| 3 | +Copyright (c) 2024 Project CHIP Authors |
| 4 | +
|
| 5 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | +you may not use this file except in compliance with the License. |
| 7 | +You may obtain a copy of the License at |
| 8 | +
|
| 9 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | +
|
| 11 | +Unless required by applicable law or agreed to in writing, software |
| 12 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | +See the License for the specific language governing permissions and |
| 15 | +limitations under the License. |
| 16 | +--> |
| 17 | +<configurator> |
| 18 | + <domain name="CHIP"/> |
| 19 | + |
| 20 | + <bitmap name="Feature" type="bitmap32"> |
| 21 | + <cluster code="0x0452"/> |
| 22 | + <field name="PANChange" mask="0x1"/> |
| 23 | + </bitmap> |
| 24 | + |
| 25 | + <enum name="RoutingRoleEnum" type="enum8"> |
| 26 | + <cluster code="0x0452"/> |
| 27 | + <item name="Unspecified" value="0x00"/> |
| 28 | + <item name="Unassigned" value="0x01"/> |
| 29 | + <item name="SleepyEndDevice" value="0x02"/> |
| 30 | + <item name="EndDevice" value="0x03"/> |
| 31 | + <item name="REED" value="0x04"/> |
| 32 | + <item name="Router" value="0x05"/> |
| 33 | + <item name="Leader" value="0x06"/> |
| 34 | + </enum> |
| 35 | + |
| 36 | + <struct name="NeiborTableStruct"> |
| 37 | + <cluster code="0x0452"/> |
| 38 | + <item fieldId="0" name="ExtAddress" type="int64u"/> |
| 39 | + <item fieldId="1" name="Age" type="int32u"/> |
| 40 | + <item fieldId="2" name="Rloc16" type="int16u"/> |
| 41 | + <item fieldId="3" name="AverageRssi" type="int8s" isNullable="true"/> |
| 42 | + <item fieldId="4" name="LastRssi" type="int8s" isNullable="true"/> |
| 43 | + <item fieldId="5" name="RoutingRole" type="RoutingRoleEnum"/> |
| 44 | + </struct> |
| 45 | + |
| 46 | + <struct name="RouteTableStruct"> |
| 47 | + <cluster code="0x0452"/> |
| 48 | + <item fieldId="0" name="RouterId" type="int8u"/> |
| 49 | + <item fieldId="1" name="PathCost" type="int8u"/> |
| 50 | + <item fieldId="2" name="LQIIn" type="int8u"/> |
| 51 | + <item fieldId="3" name="LQIOut" type="int8u"/> |
| 52 | + </struct> |
| 53 | + |
| 54 | + <struct name="ChildTableStruct"> |
| 55 | + <cluster code="0x0452"/> |
| 56 | + <item fieldId="0" name="Rloc16" type="int16u"/> |
| 57 | + <item fieldId="1" name="LinkQuality" type="int8u"/> |
| 58 | + <item fieldId="2" name="RoutingRole" type="RoutingRoleEnum"/> |
| 59 | + </struct> |
| 60 | + |
| 61 | + <struct name="ThreadNodeStruct"> |
| 62 | + <cluster code="0x0452"/> |
| 63 | + <item fieldId="0" name="ExtAddress" type="int64u"/> |
| 64 | + <item fieldId="1" name="Rloc16" type="int16u"/> |
| 65 | + <item fieldId="2" name="IPv6s" type="octet_string" array="true"/> |
| 66 | + <item fieldId="3" name="RoutingRole" type="RoutingRoleEnum"/> |
| 67 | + <item fieldId="4" name="RouteTable" type="RouteTableStruct" array="true"/> |
| 68 | + <item fieldId="5" name="ChildTable" type="ChildTableStruct" array="true"/> |
| 69 | + </struct> |
| 70 | + |
| 71 | + <cluster> |
| 72 | + <domain>HRAP</domain> |
| 73 | + <name>Thread Border Router Management</name> |
| 74 | + <code>0x0452</code> |
| 75 | + <define>THREAD_BORDER_ROUTER_MANAGEMENT</define> |
| 76 | + <client init="false" tick="false">true</client> |
| 77 | + <server init="false" tick="false">true</server> |
| 78 | + <description>Thread BR management</description> |
| 79 | + |
| 80 | + <globalAttribute code="0xFFFD" side="either" value="1"/> |
| 81 | + |
| 82 | + <attribute side="server" code="0x0000" define="BORDER_ROUTER_NAME" type="char_string" length="63">BorderRouterName</attribute> |
| 83 | + |
| 84 | + <attribute side="server" code="0x0001" define="BORDER_AGENT_ID" type="octet_string" length="16">BorderAgentId</attribute> |
| 85 | + |
| 86 | + <attribute side="server" code="0x0002" define="THREAD_VERSION" type="int16u">ThreadVersion</attribute> |
| 87 | + |
| 88 | + <attribute side="server" code="0x0003" define="INTERFACE_ENABLED" type="boolean">InterfaceEnabled</attribute> |
| 89 | + |
| 90 | + <attribute side="server" code="0x0004" define="THREAD_NODE" type="ThreadNodeStruct">ThreadNode</attribute> |
| 91 | + |
| 92 | + <attribute side="server" code="0x0005" define="ACTIVE_DATASET_TIMESTAMP" type="int64u" isNullable="true">ActiveDatasetTimestamp</attribute> |
| 93 | + |
| 94 | + |
| 95 | + <command source="client" code="0x00" name="GetActiveDatasetRequest" response="DatasetResponse" optional="false"> |
| 96 | + <description>On receipt of this command, the Thread Border Router will read the active operational dataset of the Thread network that it is connaected to, and send the DatasetResponse as the response. This command must be sent over a valid CASE session</description> |
| 97 | + <access op="invoke" privilege="manage"/> |
| 98 | + </command> |
| 99 | + |
| 100 | + <command source="client" code="0x01" name="GetPendingDatasetRequest" response="DatasetResponse" optional="false"> |
| 101 | + <description>On receipt of this command, the Thread Border Router will read the pending dataset and send the DatasetResponse as the response. This command must be sent over a valid CASE session</description> |
| 102 | + <access op="invoke" privilege="manage"/> |
| 103 | + </command> |
| 104 | + |
| 105 | + <command source="server" code="0x02" name="DatasetResponse" optional="false"> |
| 106 | + <description>Generated response to GetActiveDatasetRequest or GetPendingDatasetRequest commands</description> |
| 107 | + <arg name="Dataset" type="octet_string" length="254"/> |
| 108 | + </command> |
| 109 | + |
| 110 | + <command source="client" code="0x03" name="SetActiveDatasetRequest" optional="false"> |
| 111 | + <description>On receipt of this command, the Thread Border Router will set or update the active Dataset of the Thread network that the Stub Router is connected to.</description> |
| 112 | + <arg name="ActiveDataset" type="octet_string" length="254"/> |
| 113 | + <arg name="Breadcrumb" type="int64u"/> |
| 114 | + <access op="invoke" privilege="manage"/> |
| 115 | + </command> |
| 116 | + |
| 117 | + <command source="client" code="0x04" name="SetPendingDatasetRequest" optional="true"> |
| 118 | + <description>On receipt of this command, the Thread Border Router will set or update the pending Dataset</description> |
| 119 | + <arg name="PendingDataset" type="octet_string" length="254"/> |
| 120 | + <access op="invoke" privilege="manage"/> |
| 121 | + </command> |
| 122 | + |
| 123 | + <command source="client" code="0x05" name="TopologyRequest" response="TopologyResponse" optional="false"> |
| 124 | + <description>On receipt of this command, the Thread Border Router will response the current topology of the Thread network that it is connected to.</description> |
| 125 | + <arg name="Count" type="int16u"/> |
| 126 | + <arg name="StartIndex" type="int16u"/> |
| 127 | + <arg name="Snapshot" type="int8u"/> |
| 128 | + <access op="invoke" privilege="administer"/> |
| 129 | + </command> |
| 130 | + |
| 131 | + <command source="server" code="0x06" name="TopologyResponse" optional="false"> |
| 132 | + <description>Generated response to TopologyRequest command</description> |
| 133 | + <arg name="Status" type="status"/> |
| 134 | + <arg name="Snapshot" type="int8u"/> |
| 135 | + <arg name="NumberOfDevices" type="int16u"/> |
| 136 | + <arg name="ThreadTopology" type="ThreadNodeStruct" array="true"/> |
| 137 | + </command> |
| 138 | + |
| 139 | + </cluster> |
| 140 | +</configurator> |
0 commit comments