1 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
2 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
4 <interface name="io.openthread.BorderRouter">
5 <!-- Scan: Perform a Thread network scan.
6 @scan_result: array of scan results.
8 The result struture definition is:
16 uint16 joiner_udp_port
27 <arg name="scan_result" type="a(tstayqqqqyybb)" direction="out"/>
30 <!-- Attach: Attach the current device to the Thread network.
31 @masterkey: The 128-bit network master key, empty for random.
32 @panid: The 16-bit panid, UINT16_MAX for any.
33 @networkname: The Thread network name.
34 @extpanid: The 64-bit extended panid, UINT64_MAX for random.
35 @pskc: The 128-bit pre-shared key for commissione, empty for random.
36 @channel_mask: The bitwise channel mask, will randomly select a valid channel.
38 You can also call this method with no arugment to use the current active network dataset.
40 <method name="Attach">
41 <arg name="masterkey" type="ay"/>
42 <arg name="panid" type="q"/>
43 <arg name="networkname" type="s"/>
44 <arg name="extpanid" type="t"/>
45 <arg name="pskc" type="ay"/>
46 <arg name="channel_mask" type="u"/>
49 <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily.
50 @port: The port of the unsecure traffic.
51 @timeout: The timeout for the permission.
53 <method name="PermitUnsecureJoin">
54 <arg name="port" type="q"/>
55 <arg name="timeout" type="u"/>
58 <!-- JoinerStart: Start Thread joining.
59 @pskd: The pre-shared key for the device.
60 @provision_url: The url for further provision.
61 @vendor vendor_name: The current device vendor name.
62 @vendor vendor_model: The current device model.
63 @vendor vendor_sw_version: The current device software version.
64 @vendor vendor_data: The additional vendor data.
66 <method name="JoinerStart">
67 <arg name="pskd" type="s"/>
68 <arg name="provision_url" type="s"/>
69 <arg name="vendor_name" type="s"/>
70 <arg name="vendor_model" type="s"/>
71 <arg name="vendor_sw_version" type="s"/>
72 <arg name="vendor_data" type="s"/>
75 <!-- JoinerStop: Stop Thread joining. -->
76 <method name="JoinerStop">
79 <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. -->
80 <method name="FactoryReset">
83 <!-- Reset: Perform a reset, will try to resume the network after reset. -->
87 <!-- AddExternalRoute: Add an external border routing rule to the network.
88 @prefix: The prefix for border routing.
90 This will make the current device act as the border router for the prefix.
91 The prefix structure is:
98 uint16 rloc // Not used
101 bool next_hop_is_self // Not used
105 <method name="AddExternalRoute">
106 <arg name="prefix" type="((ayy)qybb)"/>
109 <!-- RemoveExternalRoute: Remove an external border routing rule from the network.
110 @prefix: The prefix for border routing.
112 The prefix structure is:
120 <method name="RemoveExternalRoute">
121 <arg name="prefix" type="(ayy)"/>
124 <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network.
125 @prefix: The on-mesh prefix.
127 The on-mesh prefix structure is:
140 boolean default_route
147 <method name="AddOnMeshPrefix">
148 <arg name="prefix" type="((ayy)y(bbbbbbb))"/>
151 <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network.
152 @prefix: The on-mesh prefix.
154 The prefix structure is:
162 <method name="RemoveOnMeshPrefix">
163 <arg name="prefix" type="(ayy)"/>
166 <!-- MeshLocalPrefix: The /64 mesh-local prefix. -->
167 <property name="MeshLocalPrefix" type="ay" access="readwrite">
168 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
171 <!-- LegacyULAPrefix: The /64 legacy prefix. -->
172 <property name="LegacyULAPrefix" type="ay" access="readwrite">
173 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
176 <!-- LinkMode: The current link mode.
179 bool rx_on_when_idle //whether the radio receiving is on when idle
180 bool device_type //ftd or mtd
181 bool network_data //full or stable
185 <property name="LinkMode" type="(bbb)" access="readwrite">
186 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
189 <!-- DeviceRole: The current device role.
199 <property name="DeviceRole" type="s" access="read">
200 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
203 <!-- NetworkName: The network name. -->
204 <property name="NetworkName" type="s" access="read">
205 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
208 <!-- PanId: The pan ID. -->
209 <property name="PanId" type="q" access="read">
210 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
213 <!-- ExtPanId: The extended pan ID. -->
214 <property name="ExtPanId" type="t" access="read">
215 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
218 <!-- Channel: The current network channel, from 11 to 26 -->
219 <property name="Channel" type="q" access="read">
220 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
223 <!-- CcaFailureRate: The Clear Channel Assessment failure rate. -->
224 <property name="CcaFailureRate" type="q" access="read">
225 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
228 <!-- MacCounters: The mac layer statistic counters.
229 The counter structure definition:
235 uint32 tx_ack_requested;
237 uint32 tx_no_ack_requested;
241 uint32 tx_beacon_request;
246 uint32 tx_busy_channel;
253 uint32 rx_beacon_request;
255 uint32 rx_address_filtered;
256 uint32 rx_dest_address_filtered;
257 uint32 rx_duplicated;
258 uint32 rx_err_no_frame;
259 uint32 rx_err_unknown_neighbor;
260 uint32 rx_err_invalid_src_addr;
267 <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read">
268 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
271 <!-- LinkCounters: The link statistic counters.
272 The counter structure definition:
275 uint32 ip_tx_success;
276 uint32 ip_rx_success;
277 uint32 ip_tx_failure;
278 uint32 ip_rx_failure;
282 <property name="LinkCounters" type="(uuuu)" access="read">
283 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
286 <!-- LinkSupportedChannelMask: The bitwise link supported channel mask -->
287 <property name="LinkSupportedChannelMask" type="u" access="read">
288 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
291 <!-- Rloc16: The 16-bit routing locator -->
292 <property name="Rloc16" type="q" access="read">
293 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
296 <!-- ExtendedAddress: The 64-bit extended address -->
297 <property name="ExtendedAddress" type="t" access="read">
298 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
301 <!-- RouterID: The current router ID -->
302 <property name="RouterID" type="y" access="read">
303 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
306 <!-- LeaderData: The network leader data.
307 The structure definition:
310 uint32_t mPartitionId; // Partition ID
311 uint8_t mWeighting; // Leader Weight
312 uint8_t mDataVersion; // Full Network Data Version
313 uint8_t mStableDataVersion; // Stable Network Data Version
314 uint8_t mLeaderRouterId; // Leader Router ID
318 <property name="LeaderData" type="(uyyyy)" access="read">
319 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
322 <!-- NetworkData: The network data. -->
323 <property name="NetworkData" type="ay" access="read">
324 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
327 <!-- StableNetworkData: The stable network data. -->
328 <property name="StableNetworkData" type="ay" access="read">
329 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
332 <!-- LocalLeaderWeight: The leader weight of the current node. -->
333 <property name="LocalLeaderWeight" type="y" access="read">
334 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
337 <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor -->
338 <property name="ChannelMonitorSampleCount" type="u" access="read">
339 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
342 <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data.
343 The structure definition:
351 <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read">
352 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
355 <!-- ChildTable: The node's child table as an array of child entry structure.
356 The child entry structure definition:
359 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address
360 uint32_t mTimeout; // Timeout
361 uint32_t mAge; // Time last heard
362 uint16_t mRloc16; // RLOC16
363 uint16_t mChildId; // Child ID
364 uint8_t mNetworkDataVersion; // Network Data Version
365 uint8_t mLinkQualityIn; // Link Quality In
366 int8_t mAverageRssi; // Average RSSI
367 int8_t mLastRssi; // Last observed RSSI
368 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature.
369 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
370 bool mRxOnWhenIdle; // rx-on-when-idle
371 bool mFullThreadDevice; // Full Thread Device
372 bool mFullNetworkData; // Full Network Data
373 bool mIsStateRestoring; // Is in restoring state
377 <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read">
378 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
381 <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure.
382 The neighbor entry structure definition:
385 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address
386 uint32_t mAge; // Time last heard
387 uint16_t mRloc16; // RLOC16
388 uint32_t mLinkFrameCounter; // Link Frame Counter
389 uint32_t mMleFrameCounter; // MLE Frame Counter
390 uint8_t mLinkQualityIn; // Link Quality In
391 int8_t mAverageRssi; // Average RSSI
392 int8_t mLastRssi; // Last observed RSSI
393 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature.
394 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature.
395 bool mRxOnWhenIdle; // rx-on-when-idle
396 bool mFullThreadDevice; // Full Thread Device
397 bool mFullNetworkData; // Full Network Data
398 bool mIsChild; // Is the neighbor a child
402 <property name="NeighborTable" type="a(tuquuyyyqqbbbb)" access="read">
403 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
406 <!-- PartitionId: The network partition ID. -->
407 <property name="PartitionId" type="u" access="read">
408 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
411 <!-- InstantRssi: The RSSI of the last received packet. -->
412 <property name="InstantRssi" type="y" access="read">
413 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
416 <!-- RadioTxPower: The radio transmit power. -->
417 <property name="RadioTxPower" type="y" access="read">
418 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
421 <!-- ExternalRoutes: The list of current external route rules.
422 External route rule structure definition:
432 bool next_hop_is_self
436 <property name="ExternalRoutes" type="((ayy)qybb)" access="read">
437 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
440 <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. -->
441 <property name="ActiveDatasetTlvs" type="ay" access="readwrite">
442 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
445 <!-- RadioRegion: The radio region code in ISO 3166-1. -->
446 <property name="RadioRegion" type="s" access="readwrite">
447 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/>
451 <interface name="org.freedesktop.DBus.Properties">
453 <arg name="interface" direction="in" type="s"/>
454 <arg name="property" direction="in" type="s"/>
455 <arg name="value" direction="out" type="v"/>
458 <method name="GetAll">
459 <arg name="interface" direction="in" type="s"/>
460 <arg name="properties" direction="out" type="a{sv}"/>
464 <arg name="interface" direction="in" type="s"/>
465 <arg name="property" direction="in" type="s"/>
466 <arg name="value" direction="in" type="v"/>
469 <signal name="PropertiesChanged">
470 <arg type="s" name="interface"/>
471 <arg type="a{sv}" name="changed_properties"/>
472 <arg type="as" name="invalidated_properties"/>