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 uint16 panid 13 uint16 channel 14 uint16 rssi 15 uint8 lqi 16 } 17 </literallayout> 18 --> 19 <method name="Scan"> 20 <arg name="scan_result" type="a(tqqqy)" direction="out"/> 21 </method> 22 23 <!-- Energy Scan: Perform a Thread energy scan. 24 @scanDuration: The 32-bit duration time for the scan of each channel, in milliseconds. 25 26 @result: array of energy scan results. 27 28 The result struture definition is: 29 <literallayout> 30 struct { 31 uint8 channel 32 int8_t max_rssi 33 } 34 </literallayout> 35 --> 36 <method name="EnergyScan"> 37 <arg name="scanduration" type="u"/> 38 <arg name="result" type="a(yy)" direction="out"/> 39 </method> 40 41 <!-- Attach: Attach the current device to the Thread network. 42 @networkkey: The 128-bit network network key, empty for random. 43 @panid: The 16-bit panid, UINT16_MAX for any. 44 @networkname: The Thread network name. 45 @extpanid: The 64-bit extended panid, UINT64_MAX for random. 46 @pskc: The 128-bit pre-shared key for commissione, empty for random. 47 @channel_mask: The bitwise channel mask, will randomly select a valid channel. 48 49 You can also call this method with no arugment to use the current active network dataset. 50 --> 51 <method name="Attach"> 52 <arg name="networkkey" type="ay"/> 53 <arg name="panid" type="q"/> 54 <arg name="networkname" type="s"/> 55 <arg name="extpanid" type="t"/> 56 <arg name="pskc" type="ay"/> 57 <arg name="channel_mask" type="u"/> 58 </method> 59 60 <!-- AttachAllNodesTo: Request to attach all nodes to the specified Thread network. 61 @dataset: The Operational Dataset that contains parameter values of the Thread network 62 to attach to. It must be a full dataset. 63 @delay_ms: The delay between the method returns and the dataset takes effect, in 64 milliseconds. If this value is 0, then the node is attached to the given network 65 when this method returns. If this value is not 0, then the node is attached to 66 its existing network when this method returns, and will attach to the given 67 network after the delay. 68 --> 69 <method name="AttachAllNodesTo"> 70 <arg name="dataset" type="ay"/> 71 <arg name="delay_ms" type="x" direction="out"/> 72 </method> 73 74 <!-- Detach: Detach the current device from the Thread network. --> 75 <method name="Detach"> 76 </method> 77 78 <!-- PermitUnsecureJoin: Allow joining the network via unsecure traffic temporarily. 79 @port: The port of the unsecure traffic. 80 @timeout: The timeout for the permission. 81 --> 82 <method name="PermitUnsecureJoin"> 83 <arg name="port" type="q"/> 84 <arg name="timeout" type="u"/> 85 </method> 86 87 <!-- JoinerStart: Start Thread joining. 88 @pskd: The pre-shared key for the device. 89 @provision_url: The url for further provision. 90 @vendor vendor_name: The current device vendor name. 91 @vendor vendor_model: The current device model. 92 @vendor vendor_sw_version: The current device software version. 93 @vendor vendor_data: The additional vendor data. 94 --> 95 <method name="JoinerStart"> 96 <arg name="pskd" type="s"/> 97 <arg name="provision_url" type="s"/> 98 <arg name="vendor_name" type="s"/> 99 <arg name="vendor_model" type="s"/> 100 <arg name="vendor_sw_version" type="s"/> 101 <arg name="vendor_data" type="s"/> 102 </method> 103 104 <!-- JoinerStop: Stop Thread joining. --> 105 <method name="JoinerStop"> 106 </method> 107 108 <!-- FactoryReset: Perform a factory reset, will wipe all Thread persistent data. --> 109 <method name="FactoryReset"> 110 </method> 111 112 <!-- Reset: Perform a reset, will try to resume the network after reset. --> 113 <method name="Reset"> 114 </method> 115 116 <!-- AddExternalRoute: Add an external border routing rule to the network. 117 @prefix: The prefix for border routing. 118 119 This will make the current device act as the border router for the prefix. 120 The prefix structure is: 121 <literallayout> 122 struct { 123 struct { 124 uint8[] prefix_bytes 125 uint8 prefix_length 126 } 127 uint16 rloc // Not used 128 uint8 preference 129 bool stable 130 bool next_hop_is_self // Not used 131 } 132 </literallayout> 133 --> 134 <method name="AddExternalRoute"> 135 <arg name="prefix" type="((ayy)qybb)"/> 136 </method> 137 138 <!-- RemoveExternalRoute: Remove an external border routing rule from the network. 139 @prefix: The prefix for border routing. 140 141 The prefix structure is: 142 <literallayout> 143 struct { 144 uint8[] prefix_bytes 145 uint8 prefix_length 146 } 147 </literallayout> 148 --> 149 <method name="RemoveExternalRoute"> 150 <arg name="prefix" type="(ayy)"/> 151 </method> 152 153 <!-- AddOnMeshPrefix: Add an on-mesh prefix to the network. 154 @prefix: The on-mesh prefix. 155 156 The on-mesh prefix structure is: 157 <literallayout> 158 struct { 159 struct { 160 uint8[] prefix_bytes 161 uint8 prefix_length 162 } 163 byte preference 164 struct { 165 boolean preferred 166 boolean slaac 167 boolean dhcp 168 boolean configure 169 boolean default_route 170 boolean on_mesh 171 boolean stable 172 } 173 } 174 </literallayout> 175 --> 176 <method name="AddOnMeshPrefix"> 177 <arg name="prefix" type="((ayy)y(bbbbbbb))"/> 178 </method> 179 180 <!-- RemoveOnMeshPrefix: Remove an on-mesh prefix from the network. 181 @prefix: The on-mesh prefix. 182 183 The prefix structure is: 184 <literallayout> 185 struct { 186 uint8[] prefix_bytes 187 uint8 prefix_length 188 } 189 </literallayout> 190 --> 191 <method name="RemoveOnMeshPrefix"> 192 <arg name="prefix" type="(ayy)"/> 193 </method> 194 195 <!-- UpdateMeshCopTxt: Update multiple entries in the TXT record. 196 @key: The key of the entry. 197 @value: The value of the entry. 198 199 The prefix structure is: 200 <literallayout> 201 struct { 202 string key 203 uint8[] value 204 } 205 </literallayout> 206 --> 207 <method name="UpdateVendorMeshCopTxtEntries"> 208 <arg name="update" type="a(say)" direction="in"/> 209 </method> 210 211 <!-- GetProperties: Get one or more OpenThread properties. 212 @properties: Names of properties. 213 --> 214 <method name="GetProperties"> 215 <arg name="properties" type="as" direction="in"/> 216 </method> 217 218 <!-- MeshLocalPrefix: The /64 mesh-local prefix. --> 219 <property name="MeshLocalPrefix" type="ay" access="readwrite"> 220 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 221 </property> 222 223 <!-- LegacyULAPrefix: The /64 legacy prefix. --> 224 <property name="LegacyULAPrefix" type="ay" access="readwrite"> 225 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 226 </property> 227 228 <!-- LinkMode: The current link mode. 229 <literallayout> 230 struct { 231 bool rx_on_when_idle //whether the radio receiving is on when idle 232 bool device_type //ftd or mtd 233 bool network_data //full or stable 234 } 235 </literallayout> 236 --> 237 <property name="LinkMode" type="(bbb)" access="readwrite"> 238 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 239 </property> 240 241 <!-- DeviceRole: The current device role. 242 Possible values are: 243 <literallayout> 244 0: Disabled 245 1: Detached 246 2: Child 247 3: Router 248 4: Leader 249 </literallayout> 250 --> 251 <property name="DeviceRole" type="s" access="read"> 252 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/> 253 </property> 254 255 <!-- NetworkName: The network name. --> 256 <property name="NetworkName" type="s" access="read"> 257 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 258 </property> 259 260 <!-- PanId: The pan ID. --> 261 <property name="PanId" type="q" access="read"> 262 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 263 </property> 264 265 <!-- ExtPanId: The extended pan ID. --> 266 <property name="ExtPanId" type="t" access="read"> 267 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 268 </property> 269 270 <!-- Channel: The current network channel, from 11 to 26 --> 271 <property name="Channel" type="q" access="read"> 272 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 273 </property> 274 275 <!-- CcaFailureRate: The Clear Channel Assessment failure rate. --> 276 <property name="CcaFailureRate" type="q" access="read"> 277 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 278 </property> 279 280 <!-- MacCounters: The mac layer statistic counters. 281 The counter structure definition: 282 <literallayout> 283 struct { 284 uint32 tx_total; 285 uint32 tx_unicast; 286 uint32 tx_broadcast; 287 uint32 tx_ack_requested; 288 uint32 tx_acked; 289 uint32 tx_no_ack_requested; 290 uint32 tx_data; 291 uint32 tx_data_poll; 292 uint32 tx_beacon; 293 uint32 tx_beacon_request; 294 uint32 tx_other; 295 uint32 tx_retry; 296 uint32 tx_err_cca; 297 uint32 tx_err_abort; 298 uint32 tx_busy_channel; 299 uint32 rx_total; 300 uint32 rx_unicast; 301 uint32 rx_broadcast; 302 uint32 rx_data; 303 uint32 rx_data_poll; 304 uint32 rx_beacon; 305 uint32 rx_beacon_request; 306 uint32 rx_other; 307 uint32 rx_address_filtered; 308 uint32 rx_dest_address_filtered; 309 uint32 rx_duplicated; 310 uint32 rx_err_no_frame; 311 uint32 rx_err_unknown_neighbor; 312 uint32 rx_err_invalid_src_addr; 313 uint32 rx_err_sec; 314 uint32 rx_err_fcs; 315 uint32 rx_err_other; 316 } 317 </literallayout> 318 --> 319 <property name="MacCounters" type="(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)" access="read"> 320 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 321 </property> 322 323 <!-- LinkCounters: The link statistic counters. 324 The counter structure definition: 325 <literallayout> 326 struct { 327 uint32 ip_tx_success; 328 uint32 ip_rx_success; 329 uint32 ip_tx_failure; 330 uint32 ip_rx_failure; 331 } 332 </literallayout> 333 --> 334 <property name="LinkCounters" type="(uuuu)" access="read"> 335 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 336 </property> 337 338 <!-- LinkSupportedChannelMask: The bitwise link supported channel mask --> 339 <property name="LinkSupportedChannelMask" type="u" access="read"> 340 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 341 </property> 342 343 <!-- Rloc16: The 16-bit routing locator --> 344 <property name="Rloc16" type="q" access="read"> 345 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 346 </property> 347 348 <!-- ExtendedAddress: The 64-bit extended address --> 349 <property name="ExtendedAddress" type="t" access="read"> 350 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 351 </property> 352 353 <!-- RouterID: The current router ID --> 354 <property name="RouterID" type="y" access="read"> 355 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 356 </property> 357 358 <!-- LeaderData: The network leader data. 359 The structure definition: 360 <literallayout> 361 struct { 362 uint32_t mPartitionId; // Partition ID 363 uint8_t mWeighting; // Leader Weight 364 uint8_t mDataVersion; // Full Network Data Version 365 uint8_t mStableDataVersion; // Stable Network Data Version 366 uint8_t mLeaderRouterId; // Leader Router ID 367 } 368 </literallayout> 369 --> 370 <property name="LeaderData" type="(uyyyy)" access="read"> 371 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 372 </property> 373 374 <!-- NetworkData: The network data. --> 375 <property name="NetworkData" type="ay" access="read"> 376 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 377 </property> 378 379 <!-- StableNetworkData: The stable network data. --> 380 <property name="StableNetworkData" type="ay" access="read"> 381 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 382 </property> 383 384 <!-- LocalLeaderWeight: The leader weight of the current node. --> 385 <property name="LocalLeaderWeight" type="y" access="read"> 386 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 387 </property> 388 389 <!-- ChannelMonitorSampleCount: The number of the collected samples from the channel monitor --> 390 <property name="ChannelMonitorSampleCount" type="u" access="read"> 391 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 392 </property> 393 394 <!-- ChannelMonitorChannelQualityMap: The channel monitor statistics data. 395 The structure definition: 396 <literallayout> 397 struct { 398 uint8_t mChannel; 399 uint16_t mOccupancy; 400 } 401 </literallayout> 402 --> 403 <property name="ChannelMonitorChannelQualityMap" type="a(yq)" access="read"> 404 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 405 </property> 406 407 <!-- ChildTable: The node's child table as an array of child entry structure. 408 The child entry structure definition: 409 <literallayout> 410 struct { 411 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address 412 uint32_t mTimeout; // Timeout 413 uint32_t mAge; // Time last heard 414 uint16_t mRloc16; // RLOC16 415 uint16_t mChildId; // Child ID 416 uint8_t mNetworkDataVersion; // Network Data Version 417 uint8_t mLinkQualityIn; // Link Quality In 418 int8_t mAverageRssi; // Average RSSI 419 int8_t mLastRssi; // Last observed RSSI 420 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature. 421 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature. 422 bool mRxOnWhenIdle; // rx-on-when-idle 423 bool mFullThreadDevice; // Full Thread Device 424 bool mFullNetworkData; // Full Network Data 425 bool mIsStateRestoring; // Is in restoring state 426 } 427 </literallayout> 428 --> 429 <property name="ChildTable" type="a(tuuqqyyyyqqbbbb)" access="read"> 430 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 431 </property> 432 433 <!-- NeighborTable: The node's neighbor table as an array of neighbor entry structure. 434 The neighbor entry structure definition: 435 <literallayout> 436 struct { 437 uint64_t mExtAddress; // IEEE 802.15.4 Extended Address 438 uint32_t mAge; // Time last heard 439 uint16_t mRloc16; // RLOC16 440 uint32_t mLinkFrameCounter; // Link Frame Counter 441 uint32_t mMleFrameCounter; // MLE Frame Counter 442 uint8_t mLinkQualityIn; // Link Quality In 443 int8_t mAverageRssi; // Average RSSI 444 int8_t mLastRssi; // Last observed RSSI 445 uint16_t mFrameErrorRate; // Frame error rate (0xffff->100%). Requires error tracking feature. 446 uint16_t mMessageErrorRate; // (IPv6) msg error rate (0xffff->100%). Requires error tracking feature. 447 bool mRxOnWhenIdle; // rx-on-when-idle 448 bool mFullThreadDevice; // Full Thread Device 449 bool mFullNetworkData; // Full Network Data 450 bool mIsChild; // Is the neighbor a child 451 } 452 </literallayout> 453 --> 454 <property name="NeighborTable" type="a(tuquuyyyqqbbbb)" access="read"> 455 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 456 </property> 457 458 <!-- PartitionId: The network partition ID. --> 459 <property name="PartitionId" type="u" access="read"> 460 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 461 </property> 462 463 <!-- InstantRssi: The RSSI of the last received packet. --> 464 <property name="InstantRssi" type="y" access="read"> 465 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 466 </property> 467 468 <!-- RadioTxPower: The radio transmit power. --> 469 <property name="RadioTxPower" type="y" access="read"> 470 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 471 </property> 472 473 <!-- ExternalRoutes: The list of current external route rules. 474 External route rule structure definition: 475 <literallayout> 476 struct { 477 struct { 478 uint8[] prefix_bytes 479 uint8 prefix_length 480 } 481 uint16 rloc 482 uint8 preference 483 bool stable 484 bool next_hop_is_self 485 } 486 </literallayout> 487 --> 488 <property name="ExternalRoutes" type="((ayy)qybb)" access="read"> 489 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 490 </property> 491 492 <!-- OnMeshPrefixes: The list of current on-mesh prefixes. 493 on-mesh prefix structure definition: 494 <literallayout> 495 struct { 496 struct { 497 uint8[] prefix_bytes 498 uint8 prefix_length 499 } 500 uint16 rloc 501 uint8 preference 502 bool is_preferred 503 bool is_slaac 504 bool is_dhcp 505 bool is_configure 506 bool is_default_route 507 bool is_on_mesh 508 bool is_stable 509 bool is_nd_dns 510 bool is_dp 511 } 512 </literallayout> 513 --> 514 <property name="OnMeshPrefixes" type="a((ayy)qybbbbbbbbb)" access="read"> 515 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 516 </property> 517 518 <!-- ActiveDatasetTlvs: The Thread active dataset tlv in binary form. --> 519 <property name="ActiveDatasetTlvs" type="ay" access="readwrite"> 520 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 521 </property> 522 523 <!-- RadioRegion: The radio region code in ISO 3166-1. --> 524 <property name="RadioRegion" type="s" access="readwrite"> 525 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 526 </property> 527 528 <!-- SrpServerInfo: The SRP server information. 529 <literallayout> 530 struct { 531 uint8 state 532 uint16 port 533 uint8 address_mode 534 struct { // hosts 535 uint32 fresh_count 536 uint32 deleted_count 537 uint64 lease_time_total 538 uint64 key_lease_time_total 539 uint64 remaining_lease_time_total 540 uint64 remaining_key_lease_time_total 541 } 542 struct { // services 543 uint32 fresh_count 544 uint32 deleted_count 545 uint64 lease_time_total 546 uint64 key_lease_time_total 547 uint64 remaining_lease_time_total 548 uint64 remaining_key_lease_time_total 549 } 550 struct { // response counters 551 uint32 success 552 uint32 server_failure 553 uint32 format_error 554 uint32 name_exists 555 uint32 refused 556 uint32 other 557 } 558 } 559 </literallayout> 560 --> 561 <property name="SrpServerInfo" type="(yqy(uutttt)(uutttt)(uuuuuu))" access="read"> 562 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 563 </property> 564 <!-- DnssdCounters: The DNS-SD counters 565 <literallayout> 566 struct { 567 uint32 success 568 uint32 server_failure 569 uint32 format_error 570 uint32 name_error 571 uint32 not_implemented 572 uint32 other 573 uint32 resolved_by_srp 574 } 575 </literallayout> 576 --> 577 <property name="DnssdCounters" type="(uuuuuuu)" access="read"> 578 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 579 </property> 580 581 <!-- MdnsTelemetryInfo: The MDNS information 582 <literallayout> 583 struct { 584 struct { // host registration responses 585 uint32 success 586 uint32 not_found 587 uint32 invalid_args 588 uint32 duplicated 589 uint32 not_implemented 590 uint32 unknown_error 591 } 592 struct { // service registration responses 593 uint32 success 594 uint32 not_found 595 uint32 invalid_args 596 uint32 duplicated 597 uint32 not_implemented 598 uint32 unknown_error 599 } 600 struct { // host resolution responses 601 uint32 success 602 uint32 not_found 603 uint32 invalid_args 604 uint32 duplicated 605 uint32 not_implemented 606 uint32 unknown_error 607 } 608 struct { // service resolution responses 609 uint32 success 610 uint32 not_found 611 uint32 invalid_args 612 uint32 duplicated 613 uint32 not_implemented 614 uint32 unknown_error 615 } 616 uint32 host_registration_ema_latency 617 uint32 service_registration_ema_latency 618 uint32 host_resolution_ema_latency 619 uint32 service_resolution_ema_latency 620 } 621 </literallayout> 622 --> 623 <property name="MdnsTelemetryInfo" type="(uuuuuu)(uuuuuu)(uuuuuu)(uuuuuu)uuuu" access="read"> 624 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 625 </property> 626 627 <!-- OtHostVersion: The version string of the host build. --> 628 <property name="OtHostVersion" type="s" access="read"> 629 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 630 </property> 631 632 <!-- OtRcpVersion: The version string of the RCP firmware. --> 633 <property name="OtRcpVersion" type="s" access="read"> 634 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 635 </property> 636 637 <!-- ThreadVersion: The Thread protocol version. --> 638 <property name="ThreadVersion" type="q" access="read"> 639 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 640 </property> 641 642 <!-- Eui64: The IEEE EUI-64 of this Thread interface. --> 643 <property name="Eui64" type="t" access="read"> 644 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 645 </property> 646 647 <!-- RadioSpinelMetrics: The radio spinel metrics 648 <literallayout> 649 struct { 650 uint32_t mRcpTimeoutCount; // The number of RCP timeouts. 651 uint32_t mRcpUnexpectedResetCount; // The number of RCP unexcepted resets. 652 uint32_t mRcpRestorationCount; // The number of RCP restorations. 653 uint32_t mSpinelParseErrorCount; // The number of spinel frame parse errors. 654 } 655 </literallayout> 656 --> 657 <property name="RadioSpinelMetrics" type="(uuuu)" access="read"> 658 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 659 </property> 660 661 <!-- RcpInterfaceMetrics: The RCP interface metrics 662 <literallayout> 663 struct { 664 uint8_t mRcpInterfaceType; // The RCP interface type. 665 uint64_t mTransferredFrameCount; // The number of transferred frames. 666 uint64_t mTransferredValidFrameCount; // The number of transferred valid frames. 667 uint64_t mTransferredGarbageFrameCount; // The number of transferred garbage frames. 668 uint64_t mRxFrameCount; // The number of received frames. 669 uint64_t mRxFrameByteCount; // The number of received bytes. 670 uint64_t mTxFrameCount; // The number of transmitted frames. 671 uint64_t mTxFrameByteCount; // The number of transmitted bytes. 672 } 673 </literallayout> 674 --> 675 <property name="RcpInterfaceMetrics" type="(yttttttt)" access="read"> 676 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 677 </property> 678 679 <!-- Uptime: The number of milliseconds since OpenThread instance was initialized. --> 680 <property name="Uptime" type="t" access="read"> 681 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 682 </property> 683 684 <!-- RadioCoexMetrics: The radio coexistence metrics 685 <literallayout> 686 struct { 687 uint32_t mNumGrantGlitch; // Number of grant glitches. 688 uint32_t mNumTxRequest; // Number of tx requests. 689 uint32_t mNumTxGrantImmediate; // Number of tx requests while grant was active. 690 uint32_t mNumTxGrantWait; // Number of tx requests while grant was inactive. 691 uint32_t mNumTxGrantWaitActivated; // Number of tx requests while grant was inactive that were ultimately granted. 692 uint32_t mNumTxGrantWaitTimeout; // Number of tx requests while grant was inactive that timed out. 693 uint32_t mNumTxGrantDeactivatedDuringRequest; // Number of tx that were in progress when grant was deactivated. 694 uint32_t mNumTxDelayedGrant; // Number of tx requests that were not granted within 50us. 695 uint32_t mAvgTxRequestToGrantTime; // Average time in usec from tx request to grant. 696 uint32_t mNumRxRequest; // Number of rx requests. 697 uint32_t mNumRxGrantImmediate; // Number of rx requests while grant was active. 698 uint32_t mNumRxGrantWait; // Number of rx requests while grant was inactive. 699 uint32_t mNumRxGrantWaitActivated; // Number of rx requests while grant was inactive that were ultimately granted. 700 uint32_t mNumRxGrantWaitTimeout; // Number of rx requests while grant was inactive that timed out. 701 uint32_t mNumRxGrantDeactivatedDuringRequest; // Number of rx that were in progress when grant was deactivated. 702 uint32_t mNumRxDelayedGrant; // Number of rx requests that were not granted within 50us. 703 uint32_t mAvgRxRequestToGrantTime; // Average time in usec from rx request to grant. 704 uint32_t mNumRxGrantNone; // Number of rx requests that completed without receiving grant. 705 bool mStopped; // Stats collection stopped due to saturation. 706 } 707 </literallayout> 708 --> 709 <property name="RadioCoexMetrics" type="(uuuuuuuuuuuuuuuuuub)" access="read"> 710 <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> 711 </property> 712 713 </interface> 714 715 <interface name="org.freedesktop.DBus.Properties"> 716 <method name="Get"> 717 <arg name="interface" direction="in" type="s"/> 718 <arg name="property" direction="in" type="s"/> 719 <arg name="value" direction="out" type="v"/> 720 </method> 721 722 <method name="GetAll"> 723 <arg name="interface" direction="in" type="s"/> 724 <arg name="properties" direction="out" type="a{sv}"/> 725 </method> 726 727 <method name="Set"> 728 <arg name="interface" direction="in" type="s"/> 729 <arg name="property" direction="in" type="s"/> 730 <arg name="value" direction="in" type="v"/> 731 </method> 732 733 <signal name="PropertiesChanged"> 734 <arg type="s" name="interface"/> 735 <arg type="a{sv}" name="changed_properties"/> 736 <arg type="as" name="invalidated_properties"/> 737 </signal> 738 </interface> 739</node> 740