commit | 8f89f468b6976e0e6b0b52acba723a4d8a61f1fc | [log] [tgz] |
---|---|---|
author | whd <7058128+superwhd@users.noreply.github.com> | Tue May 31 12:34:05 2022 +0800 |
committer | GitHub <noreply@github.com> | Mon May 30 21:34:05 2022 -0700 |
tree | f6f64cc523d6be29c1628bbd2ebeeb190ce46b08 | |
parent | d3bf9bad8f93b0aabe226b3716b9bdecff1f9b42 [diff] |
[mdns] downgrade the log level for `Bad Reference` error with `mDNSResponder` (#1399) Previously `otbr-agent` treats `Bad Reference` error as `Warning` level when logging. However, the `Bad Reference` is sometimes expected. For example, when're querying PTR record via discovery proxy and there are multiple instances being discovered. 1. `otbr-agent` calls `GetAddrInfo` on every discovered instance. `ServiceRef`s are created accordingly. 2. In a `Process` call: 1. All ready `ServiceRef`s are pushed into `readyServices`. Then `otbr-agent` processes every `ServiceRef` in `readyServices`. 2. When the first `GetAddrInfo` callback returns with a valid address, it finishes the resolution. 3. Discovery proxy unsubscribes the service. The related `ServiceRefs` are all destructed. However, they are still being referenced in `readyServices`. When a destructed `ServiceRef` is processed, it will throw a `Bad Reference` error.
Per the Thread Specification, a Thread Border Router connects a Thread network to other IP-based networks, such as Wi-Fi or Ethernet. A Thread network requires a Border Router to connect to other networks.
A Thread Border Router minimally supports the following functions:
OpenThread's implementation of a Border Router is called OpenThread Border Router (OTBR). OTBR is a Thread Certified Component on the Raspberry Pi 3B with a Nordic nRF52840 NCP.
OTBR includes a number of features, including:
More information about Thread can be found at threadgroup.org. Thread is a registered trademark of the Thread Group, Inc.
The quickest way to get started with OTBR is to try the Docker version. Run OTBR in a Docker container on any Linux-based system or a Raspberry Pi 3B, using either a physical or emulated NCP. See the Docker Support guide on openthread.io for more info.
OTBR also runs directly on supported platforms like the Raspberry Pi 3B. If you're interested in building and configuring OTBR directly, or to learn more about the OTBR architecture, then see the rest of our end-user documentation at openthread.io.
Note: For users in China, end-user documentation is available at openthread.google.cn.
If you're interested in contributing to OpenThread Border Router, read on.
We would love for you to contribute to OpenThread Border Router and help make it even better than it is today! See our Contributing Guidelines for more information.
Contributors are required to abide by our Code of Conduct and Coding Conventions and Style Guide.
We follow the philosophy of Scripts to Rule Them All.
OpenThread Border Router follows the Semantic Versioning guidelines for release cycle transparency and to maintain backwards compatibility. OpenThread Border Router's versioning is independent of the Thread protocol specification version but will clearly indicate which version of the specification it currently supports.
OpenThread Border Router is released under the BSD 3-Clause license. See the LICENSE
file for more information.
Please only use the OpenThread name and marks when accurately referencing this software distribution. Do not use the marks in a way that suggests you are endorsed by or otherwise affiliated with Nest, Google, or The Thread Group.
OpenThread support is available on GitHub:
To learn more about OpenThread, see the OpenThread repository.