1<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" 2 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> 3<node> 4 <interface name="io.openthread.BorderRouter"> 5 <!-- Scan: Perform a Thread network scan. 6 @scan_result: array of scan results. 7 8 The result struture definition is: 9 <literallayout> 10 struct { 11 uint64 ext_address 12 string network_name 13 uint64 ext_panid 14 uint8[] steering_data 15 uint16 panid 16 uint16 joiner_udp_port 17 uint8 channel 18 int16 rssi 19 uint8 lqi 20 uint8 version 21 bool is_native 22 bool is_joinable 23 } 24 </literallayout> 25 --> 26 <method name="Scan"> 27 <arg name="scan_result" type="a(tstayqqynyybb)" direction="out"/> 28 </method> 29 30 <!-- Energy Scan: Perform a Thread energy scan. 31 @scanDuration: The 32-bit duration time for the scan of each channel, in milliseconds. 32 33 @result: array of energy scan results. 34 35 The result struture definition is: 36 <literallayout> 37 struct { 38 uint8 channel 39 int8_t max_rssi 40 } 41 </literallayout> 42 --> 43 <method name="EnergyScan"> 44 <arg name="scanduration" type="u"/> 45 <arg name="result" type="a(yy)" direction="out"/> 46 </method> 47 48 <!-- Attach: Attach the current device to the Thread network. 49 @networkkey: The 128-bit network network key, empty for random. 50 @panid: The 16-bit panid, UINT16_MAX for any. 51 @networkname: The Thread network name. 52 @extpanid: The 64-bit extended panid, UINT64_MAX for random. 53 @pskc: The 128-bit pre-shared key for commissione, empty for random. 54 @channel_mask: The bitwise channel mask, will randomly select a valid channel. 55 56 You can also call this method with no arugment to use the current active network dataset. 57 --> 58 <method name="Attach"> 59 <arg name="networkkey" type="ay"/> 60 <arg name="panid" type="q"/> 61 <arg name="networkname" type="s"/> 62 <arg name="extpanid" type="t"/> 63 <arg name="pskc" type="ay"/> 64 <arg name="channel_mask" type="u"/> 65 </method> 66 67 <!-- AttachAllNodesTo: Request to attach all nodes to the specified Thread network. 68 @dataset: The Operational Dataset that contains parameter values of the Thread network 69 to attach to. It must be a full dataset. 70 @delay_ms: The delay between the method returns and the dataset takes effect, in 71 milliseconds. If this value is 0, then the node is attached to the given network 72 when this method returns. If this value is not 0, then the node is attached to 73 its existing network when this method returns, and will attach to the given 74 network after the delay. 75 --> 76 <method name="AttachAllNodesTo"> 77 <arg name="dataset" type="ay"/> 78 <arg name="delay_ms" type="x" direction="out"/> 79 </method> 80 81 <!-- Detach: Detach the current device from the Thread network. --> 82 <method name="Detach"> 83 </method> 84 85 <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily. 86 @port: The port of the unsecure traffic. 87 @timeout: The timeout for the permission. 88 --> 89 <method name="PermitUnsecureJoin"> 90 <arg name="port" type="q"/> 91 <arg name="timeout" type="u"/> 92 </method> 93 94 <!-- JoinerStart: Start Thread joining. 95 @pskd: The pre-shared key for the device. 96 @provision_url: The url for further provision. 97 @vendor vendor_name: The current device vendor name. 98 @vendor vendor_model: The current device model. 99 @vendor vendor_sw_version: The current device software version. 100 @vendor vendor_data: The additional vendor data. 101 --> 102 <method name="JoinerStart"> 103 <arg name="pskd" type="s"/> 104 <arg name="provision_url" type="s"/> 105 <arg name="vendor_name" type="s"/> 106 <arg name="vendor_model" type="s"/> 107 <arg name="vendor_sw_version" type="s"/> 108 <arg name="vendor_data" type="s"/> 109 </method> 110 111 <!-- JoinerStop: Stop Thread joining. --> 112 <method name="JoinerStop"> 113 </method> 114 115 <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. --> 116 <method name="FactoryReset"> 117 </method> 118 119 <!-- Reset: Perform a reset, will try to resume the network after reset. --> 120 <method name="Reset"> 121 </method> 122 123 <!-- AddExternalRoute: Add an external border routing rule to the network. 124 @prefix: The prefix for border routing. 125 126 This will make the current device act as the border router for the prefix. 127 The prefix structure is: 128 <literallayout> 129 struct { 130 struct { 131 uint8[] prefix_bytes 132 uint8 prefix_length 133 } 134 uint16 rloc // Not used 135 uint8 preference 136 bool stable 137 bool next_hop_is_self // Not used 138 } 139 </literallayout> 140 --> 141 <method name="AddExternalRoute"> 142 <arg name="prefix" type="((ayy)qybb)"/> 143 </method> 144 145 <!-- RemoveExternalRoute: Remove an external border routing rule from the network. 146 @prefix: The prefix for border routing. 147 148 The prefix structure is: 149 <literallayout> 150 struct { 151 uint8[] prefix_bytes 152 uint8 prefix_length 153 } 154 </literallayout> 155 --> 156 <method name="RemoveExternalRoute"> 157 <arg name="prefix" type="(ayy)"/> 158 </method> 159 160 <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network. 161 @prefix: The on-mesh prefix. 162 163 The on-mesh prefix structure is: 164 <literallayout> 165 struct { 166 struct { 167 uint8[] prefix_bytes 168 uint8 prefix_length 169 } 170 uint16 rloc16 171 byte preference 172 bool preferred 173 bool slaac 174 bool dhcp 175 bool configure 176 bool default_route 177 bool on_mesh 178 bool stable 179 bool nd_dns 180 bool dp 181 } 182 </literallayout> 183 --> 184 <method name="AddOnMeshPrefix"> 185 <arg name="prefix" type="((ayy)qybbbbbbbbb)"/> 186 </method> 187 188 <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network. 189 @prefix: The on-mesh prefix. 190 191 The prefix structure is: 192 <literallayout> 193 struct { 194 uint8[] prefix_bytes 195 uint8 prefix_length 196 } 197 </literallayout> 198 --> 199 <method name="RemoveOnMeshPrefix"> 200 <arg name="prefix" type="(ayy)"/> 201 </method> 202 203 <!-- UpdateMeshCopTxt: Update multiple entries in the TXT record. 204 @key: The key of the entry. 205 @value: The value of the entry. 206 207 The prefix structure is: 208 <literallayout> 209 struct { 210 string key 211 uint8[] value 212 } 213 </literallayout> 214 --> 215 <method name="UpdateVendorMeshCopTxtEntries"> 216 <arg name="update" type="a(say)" direction="in"/> 217 </method> 218 219 <!-- GetProperties: Get one or more OpenThread properties. 220 @properties: Names of properties. 221 --> 222 <method name="GetProperties"> 223 <arg name="properties" type="as" direction="in"/> 224 </method> 225 226 <!-- LeaveNetwork: Detach from the network and forget the credentials. --> 227 <method name="LeaveNetwork"> 228 </method> 229 230 <method name="SetNat64Enabled"> 231 <arg name="enable" type="b" direction="in"/> 232 </method> 233 234 <!-- MeshLocalPrefix: The /64 mesh-local prefix. --> 235 <property name="MeshLocalPrefix" type="ay" access="readwrite"> 236 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 237 </property> 238 239 <!-- LinkMode: The current link mode. 240 <literallayout> 241 struct { 242 bool rx_on_when_idle //whether the radio receiving is on when idle 243 bool device_type //ftd or mtd 244 bool network_data //full or stable 245 } 246 </literallayout> 247 --> 248 <property name="LinkMode" type="(bbb)" access="readwrite"> 249 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 250 </property> 251 252 <!-- DeviceRole: The current device role. 253 Possible values are: 254 <literallayout> 255 0: Disabled 256 1: Detached 257 2: Child 258 3: Router 259 4: Leader 260 </literallayout> 261 --> 262 <property name="DeviceRole" type="s" access="read"> 263 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/> 264 </property> 265 266 <!-- NetworkName: The network name. --> 267 <property name="NetworkName" type="s" access="read"> 268 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 269 </property> 270 271 <!-- PanId: The pan ID. --> 272 <property name="PanId" type="q" access="read"> 273 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 274 </property> 275 276 <!-- ExtPanId: The extended pan ID. --> 277 <property name="ExtPanId" type="t" access="read"> 278 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 279 </property> 280 281 <!-- Channel: The current network channel, from 11 to 26 --> 282 <property name="Channel" type="q" access="read"> 283 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 284 </property> 285 286 <!-- CcaFailureRate: The Clear Channel Assessment failure rate. --> 287 <property name="CcaFailureRate" type="q" access="read"> 288 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 289 </property> 290 291 <!-- MacCounters: The mac layer statistic counters. 292 The counter structure definition: 293 <literallayout> 294 struct { 295 uint32 tx_total; 296 uint32 tx_unicast; 297 uint32 tx_broadcast; 298 uint32 tx_ack_requested; 299 uint32 tx_acked; 300 uint32 tx_no_ack_requested; 301 uint32 tx_data; 302 uint32 tx_data_poll; 303 uint32 tx_beacon; 304 uint32 tx_beacon_request; 305 uint32 tx_other; 306 uint32 tx_retry; 307 uint32 tx_err_cca; 308 uint32 tx_err_abort; 309 uint32 tx_busy_channel; 310 uint32 rx_total; 311 uint32 rx_unicast; 312 uint32 rx_broadcast; 313 uint32 rx_data; 314 uint32 rx_data_poll; 315 uint32 rx_beacon; 316 uint32 rx_beacon_request; 317 uint32 rx_other; 318 uint32 rx_address_filtered; 319 uint32 rx_dest_address_filtered; 320 uint32 rx_duplicated; 321 uint32 rx_err_no_frame; 322 uint32 rx_err_unknown_neighbor; 323 uint32 rx_err_invalid_src_addr; 324 uint32 rx_err_sec; 325 uint32 rx_err_fcs; 326 uint32 rx_err_other; 327 } 328 </literallayout> 329 --> 330 <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read"> 331 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 332 </property> 333 334 <!-- LinkCounters: The link statistic counters. 335 The counter structure definition: 336 <literallayout> 337 struct { 338 uint32 ip_tx_success; 339 uint32 ip_rx_success; 340 uint32 ip_tx_failure; 341 uint32 ip_rx_failure; 342 } 343 </literallayout> 344 --> 345 <property name="LinkCounters" type="(uuuu)" access="read"> 346 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 347 </property> 348 349 <!-- LinkSupportedChannelMask: The bitwise link supported channel mask --> 350 <property name="LinkSupportedChannelMask" type="u" access="read"> 351 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 352 </property> 353 354 <!-- LinkPreferredChannelMask: The bitwise link preferred channel mask --> 355 <property name="LinkPreferredChannelMask" type="u" access="read"> 356 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 357 </property> 358 359 <!-- Rloc16: The 16-bit routing locator --> 360 <property name="Rloc16" type="q" access="read"> 361 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 362 </property> 363 364 <!-- ExtendedAddress: The 64-bit extended address --> 365 <property name="ExtendedAddress" type="t" access="read"> 366 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 367 </property> 368 369 <!-- RouterID: The current router ID --> 370 <property name="RouterID" type="y" access="read"> 371 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 372 </property> 373 374 <!-- LeaderData: The network leader data. 375 The structure definition: 376 <literallayout> 377 struct { 378 uint32_t mPartitionId; // Partition ID 379 uint8_t mWeighting; // Leader Weight 380 uint8_t mDataVersion; // Full Network Data Version 381 uint8_t mStableDataVersion; // Stable Network Data Version 382 uint8_t mLeaderRouterId; // Leader Router ID 383 } 384 </literallayout> 385 --> 386 <property name="LeaderData" type="(uyyyy)" access="read"> 387 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 388 </property> 389 390 <!-- NetworkData: The network data. --> 391 <property name="NetworkData" type="ay" access="read"> 392 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 393 </property> 394 395 <!-- StableNetworkData: The stable network data. --> 396 <property name="StableNetworkData" type="ay" access="read"> 397 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 398 </property> 399 400 <!-- LocalLeaderWeight: The leader weight of the current node. --> 401 <property name="LocalLeaderWeight" type="y" access="read"> 402 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 403 </property> 404 405 <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor --> 406 <property name="ChannelMonitorSampleCount" type="u" access="read"> 407 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 408 </property> 409 410 <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data. 411 The structure definition: 412 <literallayout> 413 struct { 414 uint8_t mChannel; 415 uint16_t mOccupancy; 416 } 417 </literallayout> 418 --> 419 <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read"> 420 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 421 </property> 422 423 <!-- ChildTable: The node's child table as an array of child entry structure. 424 The child entry structure definition: 425 <literallayout> 426 struct { 427 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address 428 uint32_t mTimeout; // Timeout 429 uint32_t mAge; // Time last heard 430 uint16_t mRloc16; // RLOC16 431 uint16_t mChildId; // Child ID 432 uint8_t mNetworkDataVersion; // Network Data Version 433 uint8_t mLinkQualityIn; // Link Quality In 434 int8_t mAverageRssi; // Average RSSI 435 int8_t mLastRssi; // Last observed RSSI 436 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature. 437 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature. 438 bool mRxOnWhenIdle; // rx-on-when-idle 439 bool mFullThreadDevice; // Full Thread Device 440 bool mFullNetworkData; // Full Network Data 441 bool mIsStateRestoring; // Is in restoring state 442 } 443 </literallayout> 444 --> 445 <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read"> 446 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 447 </property> 448 449 <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure. 450 The neighbor entry structure definition: 451 <literallayout> 452 struct { 453 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address 454 uint32_t mAge; // Time last heard 455 uint16_t mRloc16; // RLOC16 456 uint32_t mLinkFrameCounter; // Link Frame Counter 457 uint32_t mMleFrameCounter; // MLE Frame Counter 458 uint8_t mLinkQualityIn; // Link Quality In 459 int8_t mAverageRssi; // Average RSSI 460 int8_t mLastRssi; // Last observed RSSI 461 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature. 462 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature. 463 uint16_t mVersion; // Thread version of the neighbor 464 bool mRxOnWhenIdle; // rx-on-when-idle 465 bool mFullThreadDevice; // Full Thread Device 466 bool mFullNetworkData; // Full Network Data 467 bool mIsChild; // Is the neighbor a child 468 } 469 </literallayout> 470 --> 471 <property name="NeighborTable" type="a(tuquuyyyqqqbbbb)" access="read"> 472 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 473 </property> 474 475 <!-- PartitionId: The network partition ID. --> 476 <property name="PartitionId" type="u" access="read"> 477 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 478 </property> 479 480 <!-- InstantRssi: The RSSI of the last received packet. --> 481 <property name="InstantRssi" type="y" access="read"> 482 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 483 </property> 484 485 <!-- RadioTxPower: The radio transmit power. --> 486 <property name="RadioTxPower" type="y" access="read"> 487 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 488 </property> 489 490 <!-- ExternalRoutes: The list of current external route rules. 491 External route rule structure definition: 492 <literallayout> 493 struct { 494 struct { 495 uint8[] prefix_bytes 496 uint8 prefix_length 497 } 498 uint16 rloc 499 uint8 preference 500 bool stable 501 bool next_hop_is_self 502 } 503 </literallayout> 504 --> 505 <property name="ExternalRoutes" type="((ayy)qybb)" access="read"> 506 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 507 </property> 508 509 <!-- OnMeshPrefixes: The list of current on-mesh prefixes. 510 on-mesh prefix structure definition: 511 <literallayout> 512 struct { 513 struct { 514 uint8[] prefix_bytes 515 uint8 prefix_length 516 } 517 uint16 rloc 518 uint8 preference 519 bool is_preferred 520 bool is_slaac 521 bool is_dhcp 522 bool is_configure 523 bool is_default_route 524 bool is_on_mesh 525 bool is_stable 526 bool is_nd_dns 527 bool is_dp 528 } 529 </literallayout> 530 --> 531 <property name="OnMeshPrefixes" type="a((ayy)qybbbbbbbbb)" access="read"> 532 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 533 </property> 534 535 <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. --> 536 <property name="ActiveDatasetTlvs" type="ay" access="readwrite"> 537 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 538 </property> 539 540 <!-- PendingDatasetTlvs: The Thread pending dataset tlv in binary form. --> 541 <property name="PendingDatasetTlvs" type="ay" access="read"> 542 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 543 </property> 544 545 <!-- FeatureFlagListData: The Thread feature flags (defined as proto/feature_flag.proto) 546 in binary form. --> 547 <property name="FeatureFlagListData" type="ay" access="readwrite"> 548 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 549 </property> 550 551 <!-- RadioRegion: The radio region code in ISO 3166-1. --> 552 <property name="RadioRegion" type="s" access="readwrite"> 553 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 554 </property> 555 556 <!-- SrpServerInfo: The SRP server information. 557 <literallayout> 558 struct { 559 uint8 state 560 uint16 port 561 uint8 address_mode 562 struct { // hosts 563 uint32 fresh_count 564 uint32 deleted_count 565 uint64 lease_time_total 566 uint64 key_lease_time_total 567 uint64 remaining_lease_time_total 568 uint64 remaining_key_lease_time_total 569 } 570 struct { // services 571 uint32 fresh_count 572 uint32 deleted_count 573 uint64 lease_time_total 574 uint64 key_lease_time_total 575 uint64 remaining_lease_time_total 576 uint64 remaining_key_lease_time_total 577 } 578 struct { // response counters 579 uint32 success 580 uint32 server_failure 581 uint32 format_error 582 uint32 name_exists 583 uint32 refused 584 uint32 other 585 } 586 } 587 </literallayout> 588 --> 589 <property name="SrpServerInfo" type="(yqy(uutttt)(uutttt)(uuuuuu))" access="read"> 590 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 591 </property> 592 <!-- DnssdCounters: The DNS-SD counters 593 <literallayout> 594 struct { 595 uint32 success 596 uint32 server_failure 597 uint32 format_error 598 uint32 name_error 599 uint32 not_implemented 600 uint32 other 601 uint32 resolved_by_srp 602 } 603 </literallayout> 604 --> 605 <property name="DnssdCounters" type="(uuuuuuu)" access="read"> 606 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 607 </property> 608 609 <!-- MdnsTelemetryInfo: The MDNS information 610 <literallayout> 611 struct { 612 struct { // host registration responses 613 uint32 success 614 uint32 not_found 615 uint32 invalid_args 616 uint32 duplicated 617 uint32 not_implemented 618 uint32 unknown_error 619 uint32 aborted 620 uint32 invalid_state 621 } 622 struct { // service registration responses 623 uint32 success 624 uint32 not_found 625 uint32 invalid_args 626 uint32 duplicated 627 uint32 not_implemented 628 uint32 unknown_error 629 uint32 aborted 630 uint32 invalid_state 631 } 632 struct { // host resolution responses 633 uint32 success 634 uint32 not_found 635 uint32 invalid_args 636 uint32 duplicated 637 uint32 not_implemented 638 uint32 unknown_error 639 uint32 aborted 640 uint32 invalid_state 641 } 642 struct { // service resolution responses 643 uint32 success 644 uint32 not_found 645 uint32 invalid_args 646 uint32 duplicated 647 uint32 not_implemented 648 uint32 unknown_error 649 uint32 aborted 650 uint32 invalid_state 651 } 652 uint32 host_registration_ema_latency 653 uint32 service_registration_ema_latency 654 uint32 host_resolution_ema_latency 655 uint32 service_resolution_ema_latency 656 } 657 </literallayout> 658 --> 659 <property name="MdnsTelemetryInfo" type="(uuuuuuuu)(uuuuuuuu)(uuuuuuuu)(uuuuuuuu)uuuu" access="read"> 660 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 661 </property> 662 663 <!-- OtbrVersion: The version string of the otbr package. --> 664 <property name="OtbrVersion" type="s" access="read"> 665 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 666 </property> 667 668 <!-- OtHostVersion: The version string of the host build. --> 669 <property name="OtHostVersion" type="s" access="read"> 670 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 671 </property> 672 673 <!-- OtRcpVersion: The version string of the RCP firmware. --> 674 <property name="OtRcpVersion" type="s" access="read"> 675 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 676 </property> 677 678 <!-- ThreadVersion: The Thread protocol version. --> 679 <property name="ThreadVersion" type="q" access="read"> 680 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 681 </property> 682 683 <!-- Eui64: The IEEE EUI-64 of this Thread interface. --> 684 <property name="Eui64" type="t" access="read"> 685 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 686 </property> 687 688 <!-- RadioSpinelMetrics: The radio spinel metrics 689 <literallayout> 690 struct { 691 uint32_t mRcpTimeoutCount; // The number of RCP timeouts. 692 uint32_t mRcpUnexpectedResetCount; // The number of RCP unexcepted resets. 693 uint32_t mRcpRestorationCount; // The number of RCP restorations. 694 uint32_t mSpinelParseErrorCount; // The number of spinel frame parse errors. 695 } 696 </literallayout> 697 --> 698 <property name="RadioSpinelMetrics" type="(uuuu)" access="read"> 699 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 700 </property> 701 702 <!-- RcpInterfaceMetrics: The RCP interface metrics 703 <literallayout> 704 struct { 705 uint8_t mRcpInterfaceType; // The RCP interface type. 706 uint64_t mTransferredFrameCount; // The number of transferred frames. 707 uint64_t mTransferredValidFrameCount; // The number of transferred valid frames. 708 uint64_t mTransferredGarbageFrameCount; // The number of transferred garbage frames. 709 uint64_t mRxFrameCount; // The number of received frames. 710 uint64_t mRxFrameByteCount; // The number of received bytes. 711 uint64_t mTxFrameCount; // The number of transmitted frames. 712 uint64_t mTxFrameByteCount; // The number of transmitted bytes. 713 } 714 </literallayout> 715 --> 716 <property name="RcpInterfaceMetrics" type="(yttttttt)" access="read"> 717 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 718 </property> 719 720 <!-- Uptime: The number of milliseconds since OpenThread instance was initialized. --> 721 <property name="Uptime" type="t" access="read"> 722 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 723 </property> 724 725 <!-- RadioCoexMetrics: The radio coexistence metrics 726 <literallayout> 727 struct { 728 uint32_t mNumGrantGlitch; // Number of grant glitches. 729 uint32_t mNumTxRequest; // Number of tx requests. 730 uint32_t mNumTxGrantImmediate; // Number of tx requests while grant was active. 731 uint32_t mNumTxGrantWait; // Number of tx requests while grant was inactive. 732 uint32_t mNumTxGrantWaitActivated; // Number of tx requests while grant was inactive that were ultimately granted. 733 uint32_t mNumTxGrantWaitTimeout; // Number of tx requests while grant was inactive that timed out. 734 uint32_t mNumTxGrantDeactivatedDuringRequest; // Number of tx that were in progress when grant was deactivated. 735 uint32_t mNumTxDelayedGrant; // Number of tx requests that were not granted within 50us. 736 uint32_t mAvgTxRequestToGrantTime; // Average time in usec from tx request to grant. 737 uint32_t mNumRxRequest; // Number of rx requests. 738 uint32_t mNumRxGrantImmediate; // Number of rx requests while grant was active. 739 uint32_t mNumRxGrantWait; // Number of rx requests while grant was inactive. 740 uint32_t mNumRxGrantWaitActivated; // Number of rx requests while grant was inactive that were ultimately granted. 741 uint32_t mNumRxGrantWaitTimeout; // Number of rx requests while grant was inactive that timed out. 742 uint32_t mNumRxGrantDeactivatedDuringRequest; // Number of rx that were in progress when grant was deactivated. 743 uint32_t mNumRxDelayedGrant; // Number of rx requests that were not granted within 50us. 744 uint32_t mAvgRxRequestToGrantTime; // Average time in usec from rx request to grant. 745 uint32_t mNumRxGrantNone; // Number of rx requests that completed without receiving grant. 746 bool mStopped; // Stats collection stopped due to saturation. 747 } 748 </literallayout> 749 --> 750 <property name="RadioCoexMetrics" type="(uuuuuuuuuuuuuuuuuub)" access="read"> 751 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 752 </property> 753 754 <!-- Nat64State: The state of NAT64 755 <literallayout> 756 struct { 757 string mPrefixManagerState; 758 string mTranslatorState; 759 } 760 </literallayout> 761 --> 762 <property name="Nat64State" type="(ss)" access="read"> 763 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 764 </property> 765 766 <!-- Nat64Mappings: The state of NAT64 767 <literallayout> 768 struct 769 { 770 uint64_t mId; // The unique id for a mapping session. 771 uint8_t[] mIp4; // The IPv4 address of the mapping. 772 uint8_t[] mIp6; // The IPv6 address of the mapping. 773 uint32_t mRemainingTimeMs; // Remaining time before expiry in milliseconds. 774 struct 775 { 776 struct 777 { 778 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 779 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 780 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 781 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 782 } mTotal; // Counters for sum of all protocols. 783 struct 784 { 785 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 786 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 787 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 788 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 789 } mIcmp; // Counters for ICMP and ICMPv6. 790 struct 791 { 792 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 793 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 794 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 795 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 796 } mUdp; // Counters for UDP. 797 struct 798 { 799 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 800 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 801 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 802 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 803 } mTcp; // Counters for TCP. 804 } mCounters; 805 }[] 806 </literallayout> 807 --> 808 <property name="Nat64Mappings" type="a(tayayu((tttt)(tttt)(tttt)(tttt)))" access="read"> 809 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 810 </property> 811 812 <!-- Nat64ProtocolCounters: The state of NAT64 813 <literallayout> 814 struct 815 { 816 struct 817 { 818 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 819 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 820 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 821 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 822 } mTotal; // Counters for sum of all protocols. 823 struct 824 { 825 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 826 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 827 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 828 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 829 } mIcmp; // Counters for ICMP and ICMPv6. 830 struct 831 { 832 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 833 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 834 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 835 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 836 } mUdp; // Counters for UDP. 837 struct 838 { 839 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 840 uint64_t m4To6Bytes; // Sum of size of packets translated from IPv4 to IPv6. 841 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 842 uint64_t m6To4Bytes; // Sum of size of packets translated from IPv6 to IPv4. 843 } mTcp; // Counters for TCP. 844 } 845 </literallayout> 846 --> 847 <property name="Nat64ProtocolCounters" type="((tttt)(tttt)(tttt)(tttt))" access="read"> 848 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 849 </property> 850 851 <!-- Nat64ErrorCounters: The state of NAT64 852 <literallayout> 853 struct 854 { 855 struct 856 { 857 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 858 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 859 } mUnknown; // Packet drop for unknown reasons. 860 struct 861 { 862 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 863 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 864 } mIllegalPacket; // Packet drop due to failed to parse the datagram. 865 struct 866 { 867 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 868 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 869 } mUnsupportedProto; // Packet drop due to unsupported IP protocol. 870 struct 871 { 872 uint64_t m4To6Packets; // Number of packets translated from IPv4 to IPv6. 873 uint64_t m6To4Packets; // Number of packets translated from IPv6 to IPv4. 874 } mNoMapping; // Packet drop due to no mappings found or mapping pool exhausted. 875 } 876 </literallayout> 877 --> 878 <property name="Nat64ErrorCounters" type="((tt)(tt)(tt)(tt))" access="read"> 879 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 880 </property> 881 882 <!-- Nat64Cidr: The CIDR used for NAT64 --> 883 <property name="Nat64Cidr" type="s" access="readwrite"> 884 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 885 </property> 886 887 <!-- BorderRoutingCounters: The counters for inbound/outbound packets 888 <literallayout> 889 struct { 890 struct { // inbound unicast 891 uint64 packets 892 uint64 bytes 893 } 894 struct { // inbound multicast 895 uint64 packets 896 uint64 bytes 897 } 898 struct { // outbound unicast 899 uint64 packets 900 uint64 bytes 901 } 902 struct { // outbound multicast 903 uint64 packets 904 uint64 bytes 905 } 906 uint32 ra_rx; // The number of received RA packets. 907 uint32 ra_tx_success; // The number of RA packets successfully transmitted. 908 uint32 ra_tx_failure; // The number of RA packets failed to transmit. 909 uint32 rs_rx; // The number of received RS packets. 910 uint32 rs_tx_success; // The number of RS packets successfully transmitted. 911 uint32 rs_tx_failure; // The number of RS packets failed to transmit. 912 } 913 </literallayout> 914 --> 915 <property name="BorderRoutingCounters" type="((tt)(tt)(tt)(tt)uuuuuu)" access="read"> 916 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 917 </property> 918 919 <!-- InfraLinkInfo: Information of infrastructure network interface. 920 <literallayout> 921 struct { 922 string name; // The name of the infrastructure network interface. 923 bool is_up; // Whether the infrastructure network interface is up. 924 bool is_running; // Whether the infrastructure network interface is running. 925 bool is_multicast; // Whether the infrastructure network interface is multicast. 926 uint32 link_local_addresses // The number of link-local addresses on the infra network interface. 927 uint32 unique_local_addresses // The number of unique local addresses on the infra network interface. 928 uint32 global_unicast_addresses // The number of global unicast addresses on the infra network interface. 929 } 930 </literallayout> 931 --> 932 <property name="InfraLinkInfo" type="(sbbbuuu)" access="read"> 933 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 934 </property> 935 936 <!-- DnsUpstreamQueryState: Whether the server will / should forward DNS queries platform 937 specified upstream DNS servers. --> 938 <property name="DnsUpstreamQueryState" type="b" access="readwrite"> 939 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 940 </property> 941 942 <!-- TelemetryData: The Thread telemetry data (defined as proto/thread_telemetry.proto) 943 in binary form. --> 944 <property name="TelemetryData" type="ay" access="read"> 945 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 946 </property> 947 948 <!-- Capabilities: The Thread capabilities data (defined as proto/capabilities.proto) 949 in binary form. --> 950 <property name="Capabilities" type="ay" access="read"> 951 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 952 </property> 953 954 <!-- The Ready signal is sent on start --> 955 <signal name="Ready"> 956 </signal> 957 958 </interface> 959 960 <interface name="org.freedesktop.DBus.Properties"> 961 <method name="Get"> 962 <arg name="interface" direction="in" type="s"/> 963 <arg name="property" direction="in" type="s"/> 964 <arg name="value" direction="out" type="v"/> 965 </method> 966 967 <method name="GetAll"> 968 <arg name="interface" direction="in" type="s"/> 969 <arg name="properties" direction="out" type="a{sv}"/> 970 </method> 971 972 <method name="Set"> 973 <arg name="interface" direction="in" type="s"/> 974 <arg name="property" direction="in" type="s"/> 975 <arg name="value" direction="in" type="v"/> 976 </method> 977 978 <signal name="PropertiesChanged"> 979 <arg type="s" name="interface"/> 980 <arg type="a{sv}" name="changed_properties"/> 981 <arg type="as" name="invalidated_properties"/> 982 </signal> 983 </interface> 984</node> 985