Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[net-diag] vendor name, model, and sw version TLVs #8898

Merged
merged 1 commit into from
May 3, 2023

Conversation

abtink
Copy link
Member

@abtink abtink commented Mar 23, 2023

This commit adds new Network Diagnostic TLVs for vendor name, vendor model and vendor software version. The TLVs follow similar format as the MeshCoP TLVs with the same name, i.e., all of them use UTF8 strings as value with name and model limited to 32 characters, and software version to 16 characters.

The values for these TLVs can be set at build-time using a set of newly added configs OPENTHREAD_CONFIG_NET_DIAG_VENDOR_*, or their equivalent CMake options (e.g., OT_VENDOR_NAME).

It is recommended that these parameters are set at build time using the configs. This way they are stored as constant strings and won't consume RAM. However, for situations where the OT stack is integrated as a library into different projects/products, we can enable a feature for APIs to be added to set these strings at run-time. In this case, the OPENTHREAD_CONFIG_NET_DIAG_VENDOR_* are treated as the default values (used when OT stack is initialized).

This commit also adds Thread Stack Version TLV which has a string value (up to 128 characters) and provides the version string from otGetVersionString().

This commit also adds CLI commands to get and set (when enabled) the vendor name, model, and sw version on device. Also adds a test case test-020-net-diag-vendor-info.py.


Related to SPEC-1175.

@size-report
Copy link

size-report bot commented Mar 23, 2023

Size Report of OpenThread

Merging #8898 into main(2dcecb7).

name branch text data bss total
ot-cli-ftd_1.1 main 469800 760 63956 534516
#8898 470008 760 63956 534724
+/- +208 0 0 +208
ot-cli-mtd_1.1 main 389336 760 53996 444092
#8898 389416 760 53996 444172
+/- +80 0 0 +80
ot-ncp-ftd_1.1 main 444868 760 59176 504804
#8898 444940 760 59176 504876
+/- +72 0 0 +72
ot-ncp-mtd_1.1 main 368812 760 49224 418796
#8898 368876 760 49224 418860
+/- +64 0 0 +64
ot-rcp_1.1 main 60348 564 19964 80876
#8898 60348 564 19964 80876
+/- 0 0 0 0
libopenthread-cli-ftd.a_1.1 main 52088 0 8003 60091
#8898 52236 0 8003 60239
+/- +148 0 0 +148
libopenthread-cli-mtd.a_1.1 main 43186 0 7995 51181
#8898 43319 0 7995 51314
+/- +133 0 0 +133
libopenthread-ftd.a_1.1 main 244954 4 38510 283468
#8898 245041 4 38510 283555
+/- +87 0 0 +87
libopenthread-mtd.a_1.1 main 179982 4 28558 208544
#8898 180065 4 28558 208627
+/- +83 0 0 +83
libopenthread-ncp-ftd.a_1.1 main 31539 0 5852 37391
#8898 31539 0 5852 37391
+/- 0 0 0 0
libopenthread-ncp-mtd.a_1.1 main 26541 0 5852 32393
#8898 26541 0 5852 32393
+/- 0 0 0 0
libopenthread-rcp.a_1.1 main 9028 0 4988 14016
#8898 9028 0 4988 14016
+/- 0 0 0 0
libopenthread-radio.a_1.1 main 18202 0 174 18376
#8898 18202 0 174 18376
+/- 0 0 0 0
ot-cli-ftd_1.3 main 492104 760 73436 566300
#8898 492328 760 73436 566524
+/- +224 0 0 +224
ot-cli-mtd_1.3 main 404472 760 55220 460452
#8898 404552 760 55220 460532
+/- +80 0 0 +80
ot-ncp-ftd_1.3 main 466044 760 68648 535452
#8898 466108 760 68648 535516
+/- +64 0 0 +64
ot-ncp-mtd_1.3 main 382484 760 50440 433684
#8898 382548 760 50440 433748
+/- +64 0 0 +64
ot-rcp_1.3 main 62728 564 20532 83824
#8898 62728 564 20532 83824
+/- 0 0 0 0
libopenthread-cli-ftd.a_1.3 main 54976 0 8003 62979
#8898 55132 0 8003 63135
+/- +156 0 0 +156
libopenthread-cli-mtd.a_1.3 main 45488 0 7995 53483
#8898 45621 0 7995 53616
+/- +133 0 0 +133
libopenthread-ftd.a_1.3 main 263332 4 47446 310782
#8898 263419 4 47446 310869
+/- +87 0 0 +87
libopenthread-mtd.a_1.3 main 191543 4 29238 220785
#8898 191630 4 29238 220872
+/- +87 0 0 +87
libopenthread-ncp-ftd.a_1.3 main 33377 0 5852 39229
#8898 33377 0 5852 39229
+/- 0 0 0 0
libopenthread-ncp-mtd.a_1.3 main 27907 0 5852 33759
#8898 27907 0 5852 33759
+/- 0 0 0 0
libopenthread-rcp.a_1.3 main 9194 0 4988 14182
#8898 9194 0 4988 14182
+/- 0 0 0 0
libopenthread-radio.a_1.3 main 19119 0 206 19325
#8898 19119 0 206 19325
+/- 0 0 0 0

src/cli/cli.cpp Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Mar 23, 2023

Codecov Report

Merging #8898 (9d658b6) into main (2dcecb7) will decrease coverage by 0.05%.
The diff coverage is 87.87%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8898      +/-   ##
==========================================
- Coverage   82.71%   82.66%   -0.05%     
==========================================
  Files         542      543       +1     
  Lines       74247    74333      +86     
==========================================
+ Hits        61410    61450      +40     
- Misses      12837    12883      +46     
Impacted Files Coverage Δ
src/core/thread/network_diagnostic_tlvs.hpp 100.00% <ø> (ø)
src/core/thread/network_diagnostic.hpp 50.00% <50.00%> (ø)
src/cli/cli.cpp 74.24% <73.52%> (+0.14%) ⬆️
src/cli/cli.hpp 100.00% <100.00%> (ø)
src/core/api/netdiag_api.cpp 100.00% <100.00%> (ø)
src/core/thread/network_diagnostic.cpp 86.03% <100.00%> (+1.47%) ⬆️
src/core/utils/parse_cmdline.hpp 100.00% <100.00%> (ø)

... and 23 files with indirect coverage changes

Copy link
Contributor

@superwhd superwhd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Copy link
Member

@wgtdkp wgtdkp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Thanks!

include/openthread/netdiag.h Outdated Show resolved Hide resolved
Copy link
Contributor

@EskoDijk EskoDijk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. One minor question added.

As a side question, it looks as if the NetworkDiagnostic module also contains the client code to get and parse diagnostics from other devices. Is that so?
It seems these functions are not needed on most Thread devices, especially not on MTDs. Not including these functions would save memory space. Being able to ask e.g. the vendor name to an MTD is very useful on the other hand.

src/core/config/network_diagnostic.h Outdated Show resolved Hide resolved
include/openthread/netdiag.h Outdated Show resolved Hide resolved
src/core/config/network_diagnostic.h Outdated Show resolved Hide resolved
@jwhui jwhui requested a review from Vyrastas March 28, 2023 17:42
@abtink
Copy link
Member Author

abtink commented Mar 28, 2023

As a side question, it looks as if the NetworkDiagnostic module also contains the client code to get and parse diagnostics from other devices. Is that so?
It seems these functions are not needed on most Thread devices, especially not on MTDs. Not including these functions would save memory space. Being able to ask e.g. the vendor name to an MTD is very useful on the other hand.

Thanks @EskoDijk. Yes. I have noticed the same and I am not a fan of the current model :)
I have been updating/enhancing the "NetDiag" module in a sequence of PRs. It is in my "todo list" to change this as well, i.e. want to break it into two modules/classes, one that responds to queries/requests and one that provides APIs to perform query/request.

src/cli/cli.cpp Show resolved Hide resolved
src/cli/cli.cpp Outdated Show resolved Hide resolved
@jwhui jwhui requested a review from EskoDijk March 30, 2023 01:16
@abtink abtink force-pushed the net-diag/vendor-info-tlvs branch 3 times, most recently from 0554a37 to b534c45 Compare March 31, 2023 16:26
@abtink abtink force-pushed the net-diag/vendor-info-tlvs branch from b534c45 to 3203cb9 Compare April 8, 2023 01:01
@abtink
Copy link
Member Author

abtink commented Apr 8, 2023

Rebased on main (now on top of "[net-diag] introduce Server and Client classes (#8936)")

This commit adds new Network Diagnostic TLVs for vendor name, vendor
model and vendor software version. The TLVs follow similar format as
the MeshCoP TLVs with the same name, i.e., all of them use UTF8
strings as value with name and model limited to 32 characters, and
software version to 16 characters.

The values for these TLVs can be set at build-time using a set of
newly added configs `OPENTHREAD_CONFIG_NET_DIAG_VENDOR_*`, or their
equivalent CMake options (e.g., `OT_VENDOR_NAME`).

It is recommended that these parameters are set at build time using
the configs. This way they are stored as constant strings and won't
consume RAM. However, for situations where the OT stack is integrated
as a library into different projects/products, we can enable a
feature for APIs to be added to set these strings at run-time. In
this case, the `OPENTHREAD_CONFIG_NET_DIAG_VENDOR_*` are treated as
the default values (used when OT stack is initialized).

This commit also adds Thread Stack Version TLV which has a string
value (up to 64 characters) and provides the version string from
`otGetVersionString()`.

This commit also adds CLI commands to get and set (when enabled) the
vendor name, model, and sw version on device. Also adds a test case
`test-020-net-diag-vendor-info.py`.
@abtink abtink force-pushed the net-diag/vendor-info-tlvs branch from e07d73b to 9d658b6 Compare May 1, 2023 23:51
@jwhui jwhui merged commit 4fed5ea into openthread:main May 3, 2023
101 checks passed
wgtdkp pushed a commit to wgtdkp/openthread that referenced this pull request Jul 16, 2023
Bug: b/281629567

* upstream/main:
  [routing-manager] update OMR prefix def-route flag when publishing `::/0` (openthread#9042)
  [alarm] update docs to explicitly require 32-bit alarms (openthread#9043)
  [dns-client] check all responses in `GetHostAddress()` (openthread#9044)
  [ip6] add new versions of `NewMessage()` (openthread#9038)
  [log] log the port for backbone (openthread#9039)
  [ip6] simplify and update `NewMessageFromData()` (openthread#9037)
  [github-actions] add arm-gcc {10,11,12} checks (openthread#9035)
  Define posix radio RadioSpinel accessor (openthread#9018)
  [network-name] consolidate default network name definition (openthread#9036)
  [topology] track connection time of neighbors (openthread#9007)
  [string] add `StringParseUint8()` helper function (openthread#9026)
  [link-metrics] fix compilation errors (openthread#9033)
  [build] add CMake Android NDK support (openthread#9010)
  [tcp] remove EXCLUDE_TCPLP_LIB option (openthread#8883)
  [netdata] add `otNetDataReplacePublishedExternalRoute()` API (openthread#9013)
  [border-agent] fix BorderAgentId compile and enable it in CI tests (openthread#9030)
  github-actions: bump codecov/codecov-action from 3.1.1 to 3.1.3 (openthread#9031)
  [settings] define new Settings key for Border Router ID (openthread#8971)
  [posix] update upstream DNS addresses after a few minutes  (openthread#8972)
  [link-metrics] refactor link metrics module (openthread#8966)
  [cli] refactor br command prefix type (openthread#9022)
  [test] migrate tests to cmake (openthread#8929)
  [ip6] add `otIp6PrefixFromString()` (openthread#9016)
  [netdata] prefer BR acting as router over ED (when all other checks are same) (openthread#9012)
  [net-diag] vendor name, model, and sw version TLVs (openthread#8898)
  [mle] request "Route TLV" after quick re-attach as FED (openthread#8956)
  [mle] fix how time per role is tracked after counters are reset (openthread#9011)
  [posix] vendor support with lib dependencies (openthread#8950)
  [routing-manager] `RoutePublisher` and new route publishing model (openthread#8986)
  github-actions: bump actions/setup-python from 4.5.0 to 4.6.0 (openthread#9008)
  [mle] clear/update address cache entries on promotion of child to router (openthread#8987)
  [mle] add parent request callback config (openthread#8989)
  [dns-client] update API docs (openthread#8962)
  [build] add cmake option for generating .map files (openthread#9006)
  [diag] implement `diag stream` command (openthread#8975)
  [otci] fix some style issues (openthread#8996)
  [cli] store cli user commands in container and support list prepend (openthread#8977)
  [daemon] remove log of CLI input (openthread#8994)
  [crypto] allow key reference usage for ECDSA (openthread#8961)
  github-actions: bump step-security/harden-runner from 2.3.0 to 2.3.1 (openthread#8991)
  [test] require either mdns or avahi (openthread#8959)
  [sub-mac] check key-id to match in `SignalFrameCounterUsed()` (openthread#8978)
  [dns-client] fix finalizing query from `HandleTimer()` (openthread#8982)
  [github-actions] replace deprecated `set-output` commands (openthread#8976)
  [mle] enable Inform Previous Parent feature by default (openthread#8969)
  github-actions: bump github/codeql-action from 2.2.5 to 2.2.12 (openthread#8968)
  [nat64] add function for parsing IPv4 CIDR (openthread#8954)
  [mle] simplify parsing of Address Registration TLV entries (openthread#8963)
  [mle] simplify appending of Address Registration TLV entries (openthread#8958)
  [net-diags] fix `GetNextDiagTlv()` when skipping over unknown TLVs (openthread#8957)
  [test] disable INTER_OP_BBR by default (openthread#8952)
  [mle] simplify `SendChildUpdateRequest()` (openthread#8951)
  [posix] unify the RCP reset sequence (openthread#8858)
  [style] fix spelling errors (openthread#8939)
  github-actions: bump step-security/harden-runner from 2.2.1 to 2.3.0 (openthread#8943)
  [posix] initialize pointers to avoid potential using uninitialized pointers (openthread#8942)
  [net-diag] introduce `Server` and `Client` classes (openthread#8936)
  [tmf] add local IPv6 DSCP values to indicate TMF message priority (openthread#7869)
  [joiner] use `Clamp()` function to calculate priority from RSS (openthread#8937)
  [coap] avoid using default parameter values for common methods (openthread#8932)
  [build] address new warnings with clang-14 (openthread#8924)
  [posix] reset the signal actions after processing signals (openthread#8934)
  [tmf] add `UriToString()` for logging (openthread#8930)
  [spinel] add openthread config header file (openthread#8928)
  [dns-client] add `ServiceMode` to control service resolution (openthread#8772)
  [tmf] skip copy of `MessageInfo` for empty ack (openthread#8926)
  [data-poll-sender] clamp poll period based on child timeout (openthread#8927)
  github-actions: bump ossf/scorecard-action from 2.1.2 to 2.1.3 (openthread#8925)
  [csl] take into account radio header for aiming at the CSL phase (openthread#8743)
  [tmf] allow pan-id query on MTD (openthread#8919)
  [docs] remove clang-format tags and implement multi-line cparam tags (openthread#8921)
  [network-data] change 6LoWPAN context ID reuse delay to 5 minutes (openthread#8896)
  [test] add tests for DNS forwarding (openthread#8847)
  [sub-mac] prefer scanning and RX after data poll over CSL RX (openthread#8832)
  [expect] split and extend tests for discovery (openthread#8832)
  [discovery] allow (S)SED devices to perform MLE Discovery (openthread#8832)
  [radio] clarify `mTimestamp` meaning in comments (openthread#8894)
  [netif] add diagnostic log for when no valid route is found (openthread#8907)
  [docs] disable Doxygen autolink for the word "Joiner" (openthread#8915)
  [spinel] abort host after receiving unexpected reset from RCP (openthread#8909)
  [ip6] combine `PassToHost()` calls in `Ip6::HandleDatagram()` (openthread#8908)
  github-actions: bump actions/setup-go from 3.5.0 to 4.0.0 (openthread#8910)
  [logging] fix print format for some variables requiring `%u` or `%lu` (openthread#8899)
  [cli] add docs for `partitionid` through `pollperiod` (openthread#8875)
  [common] add `Preference` helper methods for 2-bit preference value (openthread#8895)
  [srp] add support for short (4-bytes) lease option variant (openthread#8879)
  [tlv] fix `ReadStringTlv()` (openthread#8897)
  [trel] protect against invalid long TXT data keys from TREL peer (openthread#8891)
  [mle] add `otDeviceProperties` to calculate local leader weight (openthread#8670)
  [dua] remove DUA address if network data no longer contains DUA prefix (openthread#8874)
  [netif] simplify `ThreadNetif` (openthread#8882)
  [cli] add docs for `networkkey` through `parentpriority` (openthread#8868)
  [dua] avoid unnecessary time ticker processing (openthread#8872)
  github-actions: bump step-security/harden-runner from 2.2.0 to 2.2.1 (openthread#8885)
  [mle] update how we set/get Parent Priority on `ConnectivityTlv` (openthread#8878)
  [netdata] simplify tracking of lowpan context IDs (openthread#8876)
  [netdata] new API to get lowpan context IDs (openthread#8870)
  [dns] implement DNS query over TCP (openthread#8474)
  [mle] add `IncrementLinkQuality()` to `ConnectivityTlv` (openthread#8877)
  [mac] add build config for timeout for receiving a Data Frame (openthread#8863)
  [cli] update dataset to operate directly on TLVs (openthread#8871)
  [dataset] add `otDatasetUpdateTlvs` API (openthread#8871)
  [csl] add code comment & explanation for `HandleCslTimer` (openthread#8867)
  [tcp] update `otTcpConnect()` doc to indicate currently supported behavior (openthread#8835)
  [mle] update and enhance processing of Route TLV (openthread#8851)
  [netdata] ensure to free context ID once (openthread#8860)
  [netdata] update `StartContextReuseTimer()` to start time if not running (openthread#8859)
  [mesh-diag] update `kMaxTlvsToRequest` constant (openthread#8853)
  github-actions: bump docker/setup-buildx-action from 2.2.1 to 2.5.0 (openthread#8856)
  [cli] update `dns` docs (openthread#8831)
  [dataset] add `otDatasetConvertToTlvs()` API (openthread#8720)
  [build] fix the `-Wunused-command-line-argument` warning on macOS (openthread#8839)
  [version] introduce `OT_THREAD_VERSION_1_3_1` (openthread#8849)
  [srp-server] fix -Werror=maybe-uninitialized (openthread#8848)
  [net-diag] add Net Diag Version TLV (openthread#8834)
  [dnssd] change `OT_DNS_QUERY_UPSTREAM` to `OT_DNS_UPSTREAM_QUERY` for consistency (openthread#8846)
  [github-actions] update otns to python 3.9 (openthread#8845)
  [rcp] fix `DecodeStreamRawTxRequest()` to handle missing optional fields (openthread#8844)
  [radio] mechanism to switch to PAN channel more quickly on CSL tx (openthread#8701)
  [thread-cert] add Low Power test case 7_1_02 (openthread#8807)
  [netdata] mechanism to track max Network Data length since start/reset (openthread#8826)
  [mle] add `InitNeighbor()` method (openthread#8836)
  [mle] send MLE Avd on router promo & accept former child as router (openthread#8307)
  [docs] dns browse: explain dns-sd proxy zone (openthread#8824)
  github-actions: bump github/codeql-action from 2.1.39 to 2.2.5 (openthread#8837)
  [mesh-diag] new module and new API to discover network topology (openthread#8682)
  [dnssd] add API for getting the upstream query status (openthread#8815)
  [docs] add plat-dns module to Doxygen menu (openthread#8819)
  [pretty] fix `script/clang-format` (openthread#8814)
  [child-supervision] mechanism to inform interval from child to parent (openthread#7993)
  [mle-router] add common `SetStateRouterOrLeader()` (openthread#8813)
  [cli] fix bad CLI command tag (openthread#8818)
  [cli] added documentation for rcp and route (openthread#8800)
  [mle] smaller enhancements (openthread#8812)
  [message-pool] track max used buffers (openthread#8796)
  [time-sync] define cpp enum/types mirroring public definitions (openthread#8811)
  [routing-manager] new APIs to get state and new CLI commands (openthread#8784)
  [net-diag] define `AppendDiagTlv()` (openthread#8805)
  [core] use `Min()` and `Max()` to track next timer fire time (openthread#8808)
  [backbone-router] define C++ enum/types mirroring public definitions (openthread#8809)
  [unit] add a README guide for unit tests (openthread#8791)
  github-actions: bump step-security/harden-runner from 2.1.0 to 2.2.0 (openthread#8810)
  [cmake] fix `OT_TCP` option (openthread#8804)
  Add missing dependencies to "openthread-posix" target (openthread#8801)
  [commissioner] add joiner session timeout (openthread#8776)
  [cli] update dataset readme with the latest output (openthread#8790)
  [ip6] simplify `Ip6::HandleDatagram()` (openthread#8787)
  [dnssd] support forwarding DNS queries to platform upstream (openthread#8668)
  [docs] add Nabu Casa to supporter list (openthread#8785)
  [docker] avoid unnecessary copying when building an image for testing (openthread#8780)
  [build] add CMake option for enabling TCP (openthread#8778)
  github-actions: bump actions/upload-artifact from 3.1.1 to 3.1.2 (openthread#8781)
  [routing-manager] use NA target address (openthread#8777)
  [trel] remove deprecated `otTrelEnable`/`otTrelDisable` APIs (openthread#8775)
  [test] allow TREL disabled by default (openthread#8774)
  [csl] fix indirect retransmission of frame previously transmitted via CSL (openthread#8770)
  [test] update `test_srp_server` to clear the service instances (openthread#8768)
  [code-utils] use `num_utils` `Min`/`Max` to simplify code (openthread#8762)
  [tests] add build tests for BR features (openthread#6570)
  [posix] set link type to none explicitly (openthread#8526)
  [harness-simulation] keep capture files in sync at runtime (openthread#8138)
  [bootstrap] install bzip2 to uncompress arm toolchain (openthread#8621)
  [net] fix typo multicast in comments (openthread#8756)
  [posix] disable addrconf generating LL address (openthread#8749)
  [trel] add `otTrelSetEnabled` API (openthread#8731)
  [tcp] correct misspelling in API docs (openthread#8750)
  github-actions: bump actions/setup-go from 3.4.0 to 3.5.0 (openthread#8748)
  [net-diag] simplify `NetworkDiagnostic` (openthread#8746)
  [simul-platform] enhance radio `nodeidfilter` command (openthread#8740)
  [history-tracker] track changes to router table (next hop, cost) (openthread#8734)
  [cmake] guard unit tests with `BUILD_TESTING` (openthread#8739)
  [github-actions] fix coverage reporting in unit workflow (openthread#8737)
  [mac] ensure CSL parameters are initialized to zero (openthread#8736)
  [test] use cmake to run unit tests (openthread#8724)
  [ncp] remove legacy network support (openthread#8723)
  [cli] `nexthop` command to output next hop and path cost table (openthread#8729)
  [router-table] use `Tasklet` to signal changes (openthread#8730)
  [ip6] add `Option::ParseFrom()` and common `PadOption` (openthread#8719)
  [cli] add documentation for the DNS CLI commands (openthread#8727)
  [mle] retransmit link request after router reset (openthread#8704)
  [coap] copy token from block2 request message to next response token (openthread#8700)
  github-actions: bump actions/setup-python from 4.3.1 to 4.5.0 (openthread#8725)
  [tests] declare python dependencies with specific versions (openthread#8721)
  [link-metrics] simplify `HandleManagementRequest()` (openthread#8714)
  [ip6] ensure to make room for new header at correct offset (openthread#8717)
  [ip6] remove default constructor for `Ip6::Option` (openthread#8712)
  [cli] add documentation for `dns resolve4` command (openthread#8710)
  [github-actions] update `toranj-ncp` to trigger on pull request only (openthread#8648)
  [message] add `WriteBytesFromMessage()` and `Remove/InsertHeader()` (openthread#8708)
  [ip6] refer to correct RFC in comments/docs (openthread#8711)
  [ip6] rename `Option` sub-classes (openthread#8709)
  [test] move tcplp tests into unit workflow (openthread#8707)
  [posix] remove Android.mk (openthread#8706)
  [mle] add API for changing number of child router links (openthread#8410)
  [api] include `mLinkMargin` in `otNeighborInfo` (openthread#8697)
  github-actions: bump step-security/harden-runner from 2.0.0 to 2.1.0 (openthread#8703)
  [cli-tcp] fix TLS configuration for different platforms (openthread#8693)
  [core] use `AppendBytesFromMessage()` to copy bytes between messages (openthread#8686)
  [net-diags] include link quality in child table entry (openthread#8398)
  [csl] reset tx attempt on `mCslTxChild` when msg is replaced/purged (openthread#8683)
  [ip6] add `GetSize()` to `ExtensionHeader` and `OptionHeader` (openthread#8684)
  github-actions: bump github/codeql-action from 2.1.37 to 2.1.39 (openthread#8679)
  [diag] add power calibration related diag commands (openthread#8584)
  [cli-tcp] add TLS mode to TCP CLI tool and TLS callbacks to TCP API (openthread#8257)
  [ip6-mpl] check the length when reading MPL Option (openthread#8672)
  [github-actions] fix cmake 3.10.3 install (openthread#8671)
  [radio] new API to update frame counter only if new value is larger (openthread#8607)
  [ip6] check role to allow forwarding back to Thread (openthread#8666)
  [ip6] style enhancements and renames (openthread#8665)
  [logging] fix print format when enabling csl debug (openthread#8667)
  [mac-frame] update `InitMacHeader()` (openthread#8660)
  [router-table] new API to get next hop and cost (openthread#8653)
  github-actions: bump actions/download-artifact from 3.0.1 to 3.0.2 (openthread#8658)
  [data-poll-sender] faster rtx polling for CSL (openthread#8654)
  [mle] keep router table next hop and cost on REED to router promotion (openthread#8657)
  [netdata] update `CompareRouteEntries()` on MTD to prefer self (openthread#8656)
  [mac] ensure to apply RSS filter on all rx frame including ack (openthread#8651)
  [trel] use same constant for noise-floor under TREL radio link only (openthread#8650)
  [router-table] simplify `UpdateRoutes()` and how to reset Adv interval (openthread#8644)
  [mle] always check for stale parent in `HandleAdv()` (openthread#8646)
  [mle] update `HandleAdv` to not exit when deciding to promote to router (openthread#8645)
  [infra-if] add API for querying infra link status (openthread#8619)
  [mle] simplify `HandleAdvertisement()` (openthread#8643)
  [router-table] update cost on FED and enhance `GetPathCost()` (openthread#8629)
  [netdiag] include `netdiag.h` header in `network_diagnostic_tlvs.hpp` (openthread#8639)
  [radio] refine the definition of SYMBOL_TIME (openthread#8634)
  [posix] rename and move the configuration of host-rcp time sync interval (openthread#8630)
  [cli] add csl info in single child info (openthread#8606)
  [router-table] update `FillRouteTlv()` to use `GetPathCost()` (openthread#8638)
  [github-actions] fix bootstrap on macos (openthread#8640)
  github-actions: bump actions/checkout from 3.1.0 to 3.3.0 (openthread#8631)
  [router-table] simplify `GetNextHop()` (openthread#8624)
  [router-table] move cost calc and related methods to `RouterTable` (openthread#8623)
  [rcp] RCP to inform host of its supported RCP API version range (openthread#8617)
  [toranj] add cli-based test-cases (openthread#8599)
  [netdata] use `LeaderBase::FindNextMatchingPrefixTlv()` (openthread#8616)
  [ip6] simplify `SelectSourceAddress()` (openthread#8615)
  [posix] add posix config file configuration (openthread#8612)
  [cli] new command to enable/disable discovery request callback (openthread#8579)
  [mle] define constants (C++ style) for OT configs used in MLE (openthread#8602)
  [notifier] update to use `Callback<HandlerType>` (openthread#8611)
  [mle] add helper `RxInfo::IsNeighborStateValid()` (openthread#8610)
  [docs] fix typo in comment (openthread#8609)
  [mle] use DUA address directly in `AppendAddressRegistrationTlv()` (openthread#8608)
  github-actions: bump github/codeql-action from 2.1.36 to 2.1.37 (openthread#8600)
  [mle] update `GetPathCost()` calculation to handle child dest (openthread#8586)
  [tcplp] TCP support on 15.4 (openthread#8590) (openthread#8593)
  [nat64] fix message leak when NAT64 translator is enabled (openthread#8592)
  [network-data] ensure `ExternalRouteLookup()` picks longest match (openthread#8582)
  github-actions: bump ossf/scorecard-action from 2.1.0 to 2.1.2 (openthread#8585)
  [routing-manager] add feature to skip NS probe with router on same device (openthread#8563)
  [tcplp] fix code scanning alerts relating to integer overflow in multiplication (openthread#8578)
  [routing-manager] determine RIO preference based on current role (openthread#8574)
  [cli] add new command `neighbor linkquality` (openthread#8508)
  [router-table] signal if router is removed from `UpdateRouterIdSet()` (openthread#8573)
  [mesh-forwarder] use constant for `hopsLeft` in lowpan `MeshHeader` (openthread#8569)
  [link-metrics] fix build flags for Link Metrics Initiator (openthread#8568)
  [routing-manager] `GetFavoredOmrPrefix` should return an error when Routing Manager is not running (openthread#8565)
  [test] update toranj-cli logging to use log to file model (openthread#8547)
  [common] add `Callback<HandlerType>` class (openthread#8560)
  [nat64] NAT64 translator should be active only when local prefix is published (openthread#8558)
  [cli] fix incorrect mask "channel manager" CLI output (openthread#8571)
  [github-actions] disable `harden-runner` in OTBR workflow (openthread#8572)
  [core] use `kThreadVersion1pX` constants (openthread#8562)
  [link-quality] move `CostForLinkQuality()` to `link_quality.hpp` (openthread#8561)
  [simul-plat] new option to write logs to a given file (openthread#8516)
  [posix] add power calibration support (openthread#8293)
  [diag] modify gpio diag functions description (openthread#8538)
  [netif] add helper to signal fixed multicast address changes (openthread#8559)
  [spinel] remove incorrect static_cast (openthread#8512)
  [pretty] combine strings in `node.py` (openthread#8550)
  [docs] SRP Service Clarification (openthread#8541)
  [mle] add `ShouldDowngrade()` method (openthread#8543)
  [mle] define constant for "Child ID Response" timeout (openthread#8536)
  [test] replace `sprintf` with `snprintf` in `otPlatDiagProcess()` (openthread#8549)
  [mle] simplify `IsSingleton()` methods (openthread#8548)
  [cli] add config for log level for emitting cli input/output to logs (openthread#8545)
  [mle] remove redundant `OPENTHREAD_FTD` checks in `mle_router.cpp` (openthread#8544)
  github-actions: bump ossf/scorecard-action from 2.0.6 to 2.1.0 (openthread#8552)
  [posix] make `mInfraIfIndex` non-static for `posix::InfraIf` (openthread#8546)
  [posix] add build option for posix infra if implementation (openthread#8540)
  [otci] fix parsing route flags (openthread#8537)
  [posix] add / delete route to NAT64 CIDR according to NAT64 translator state (openthread#8505)
  [mle] fix `NeighborHasComparableConnectivity()` (openthread#8535)
  [rcp] fix transaction ID caching and guard max power table code (openthread#8408)
  [router-table] add documentation for `{Get/Set}RouterIdRange()` (openthread#8532)
  [toranj update `build.sh` to use `cmake` for CLI builds (openthread#8529)
  [cmake] add `OT_15_4` option for `RADIO_LINK_IEEE_802_15_4_ENABLE` (openthread#8529)
  [mle] avoid multiple `return` in `HasSmallNumberOfChildren()` (openthread#8534)
  [continuous-integration] remove LGTM.com (openthread#8528)
  [posix] enable receiving Neighbor Advertisement on infra interface (openthread#8521)
  [router-table] simplify tracking of routers and allocated IDs (openthread#8483)
  [test] ensure NAT64 is enabled when running NAT64 tests (openthread#8520)
  [github-actions] set top-level permissions to `read` (openthread#8518)
  [tests] verify the RA/RS fields in border routing counters (openthread#8494)
  [github-actions] apply step-security updates (openthread#8509)
  [crypto] remove legacy `otCryptoEcdsaSign` (openthread#8514)
  [simul-plat] fix parsing of "enable-energy-scan" option (openthread#8515)
  [cli] document `pskcref` (openthread#8511)
  [crypto] move Pskc generation to platform API (openthread#8468)
  [github-actions] enable OSSF Scorecards supply-chain security analysis (openthread#8506)
  [mle] remember current RLOC16 in a member variable (openthread#8499)
  [tests] verify that SRP services are removed when their host expires (openthread#8493)
  [mle] allow rx-on/off with no re-attach based on initial attach mode (openthread#8498)
  [clang-tidy] add missing symlinks to bootstrap (openthread#8507)
  [clang-format] use `AllowShortFunctionsOnASingleLine: All` (openthread#8502)
  [shellcheck] fix SC2155 warning (openthread#8490)
  [clang-tidy] apply v14 changes (openthread#8490)
  [clang-tidy] update to v14 (openthread#8490)
  [clang-format] apply v14 changes (openthread#8490)
  [clang-format] update to v14 (openthread#8490)
  [docs] add security policy (openthread#8497)
  [github-actions] add codeql workflow (openthread#8355)
  [mle] re-attach on FTD/MTD mode changes or from rx-on to sleepy (openthread#8484)
  [logging] fix print format using `%lu` for `uint32_t` variables (openthread#8495)
  [mpl] use `TimeTicker` for aging  `mSeedSet` entries (openthread#8488)
  [cli] add `platform` command which returns current platform (openthread#8444)
  [mpl] smaller enhancements in `Ip6::Mpl` (openthread#8475)
  [mpl] reset seed entry lifetime on rx/tx (openthread#8482)
  [netdata] ensure to update version on leader if there is any change (openthread#8472)
  [nat64] delete nat64_set_enabled() when starting BR in tests (openthread#8476)
  [mle] rename variables to indicate if they are a TLV (openthread#8465)
  [csl] ensure current window is not missed when preparing CSL frame (openthread#8464)
  [mle] update `RouteTlv` to check number of allocated IDs (openthread#8463)
  [netdata] increase `kInfoStringSize` (openthread#8454)
  [dependabot] update commit message prefix (openthread#8457)
  [github-actions] exclude dependabot branches (openthread#8456)
  [indirect-sender] reset CSL Tx attempts in `DataPollHandler` (openthread#8455)
  [logging] fix format strings (openthread#8446)
  [build] fix `LOCAL_EXPORT_CFLAGS`  (openthread#8453)
  [router-table] move `FillRouteTlv()` to `RouterTable` (openthread#8437)
  [router-table] add new helper methods `FindNextHopOf()` and renames (openthread#8437)
  github-actions: bump actions/upload-artifact from 1 to 3 (openthread#8448)
  github-actions: bump docker/setup-buildx-action from 1 to 2 (openthread#8447)
  [api] include Thread version in neighbor info (openthread#8435)
  [routing-manager] ensure local prefix is changed on xpanid change (openthread#8436)
  [nat64] use dbus API for NAT64 tests (openthread#8392)
  [router-table] remove duplicate method (openthread#8434)
  [test] `test_routing_manager` to check duplicate PIO/RIO prefixes (openthread#8431)
  [router-table] fix router next hop change on `Release(aRouterId)` (openthread#8433)
  [meshcop] update processing of UDP Encapsulation TLV (openthread#8427)
  [tlv] add private helper methods to parse and find TLVs in a message (openthread#8421)
  [telemetry] implement RA/RS counters (openthread#8416)
  github-actions: bump actions/download-artifact from 2 to 3 (openthread#8426)
  github-actions: bump docker/login-action from 1 to 2 (openthread#8425)
  github-actions: bump actions/setup-python from 1 to 4 (openthread#8424)
  github-actions: bump codecov/codecov-action from 2 to 3 (openthread#8423)
  github-actions: bump actions/setup-go from 1 to 3 (openthread#8422)
  [github-actions] add Dependabot configuration for GitHub Actions updates (openthread#8418)
  [spinel] update the updating/adding RCP spinel property guideline (openthread#7937)
  [tlv] helper methods to read/find/append TLVs with UTF8 string value (openthread#8417)
  [mle] use `Tlv::FindTlvValueOffset()` instead of `FindTlvOffset()` (openthread#8413)
  [doc] add doc for coex command (openthread#8415)
  [commissioner] fix provisioning URL comparison (openthread#8411)
  [docker] update ubuntu to 22.04 (openthread#8405)
  [meshcop] simplify `StateTlv` (openthread#8404)
  [bootstrap] remove brew from apt package installations (openthread#8399)
  [cli] update `OutputSpaces()` to use literal format string (openthread#8394)
  [spinel] fix `printf` style output (openthread#8401)
  [github-actions] fix macos build checks (openthread#8397)
  [diag] add gpio mode commands (openthread#8391)
  [tests] add tests for Border Routing Counters (openthread#8341)
  [build] add build option `OT_BORDER_ROUTING_COUNTERS` (openthread#8389)
  [spinel] log radio spinel frame (openthread#8342)
  [cli] add commands for Border Routing counters (openthread#8372)
  [netdata] update `Notifier` to prepare and send SVR_DATA.ntf msg (openthread#8376)
  [netdata] add helper method to compare two BR entries (openthread#8375)
  [tests] fix comparison width warning (openthread#8380)
  [netdata] simplify `RouteLookup()` methods (openthread#8374)
  [cli] fix `printf` style output (openthread#8377)
  [posix] use __GLIBC__ instead of __linux__ in backtrace (openthread#8373)
  [cli] add compile-time `printf` style arg check in CLI (openthread#8369)
  [net-diag] simplify processing of TLVs, allow extended TLV (openthread#8368)
  [cli] add `OutputUint64()` for 64-bit integer value in decimal format (openthread#8354)
  [clang-tidy] add `readability-redundant-control-flow` (openthread#8365)
  [clang-tidy] add `modernize-loop-convert` (openthread#8361)
  [tlv] `ReadTlvValue()` to handle regular or extended TLVs (openthread#8364)
  [net-diag] add a common `SendDiagnosticCommand()` method (openthread#8357)
  [posix] add backtrace support (openthread#8358)
  [telemetry] border routing packet counters (openthread#8280)
  [crypto] add ECDSA API (openthread#8273)
  [log] add arg format check to `otLog{Level}Plat()` functions (openthread#8356)
  [net-diag] reuse similar MLE TLV definitions (openthread#8350)
  [netif] fix bug in print statement with no corresponding argument (openthread#8353)
  [log] add compile-time check for `printf` style arg check to log functions (openthread#8339)
  [cli] update CLI `Output` class (openthread#8343)
  [diag] add gpio diag command support (openthread#8316)
  [cli] enhance parsing of flags for `route` commands (openthread#8340)
  [netif] fix bug in print statement (openthread#8338)
  [routing-manager] persist deprecating old prefixes in `Settings` (openthread#8330)
  [network-data] do not process TMF messages if waiting for sync (openthread#8332)
  [mle] log sending of "Link Accept and Request" (openthread#8328)
  [test] increase wait time after `ether` re-enable (openthread#8322)
  [tcplp] fix call to tcplp_sys_accept_ready() (openthread#8327)
  [address-resolver] allow addr resolution using net data service (openthread#8318)
  [routing-manager] add Neighbor Solicit probe mechanism (openthread#8090)
  [mac] add reserved value to source address parsing (openthread#8326)
  [netif-posix] add an option to persistent interface (openthread#8033)
  [routing-manager] new mechanism for deprecating old on-link prefixes (openthread#8315)
  [routing-manager] new mechanism for deprecating old on-link prefixes (openthread#8315)
  [mle] add time tracking to mle roles (openthread#8312)
  [string] add compile-time check for `printf` style arg consistency (openthread#8277)
  [mac] Bugfix: Messages without a source address handled incorrectly (openthread#8321)
  [android] only set -std=c99 for mbedtls (openthread#8310)
  [coap] Bugfix: CoAP not sending 4.04 when URI handler is not found (openthread#8297)
  [github-actions] update `geekyeggo/delete-artifact` to `v2` (openthread#8314)
  [routing-manager] add `OnLinkPrefixManager` (openthread#8285)
  [docs] fix build option table format (openthread#8306)
  [srp-client] inform server on service remove even if not added yet (openthread#8299)
  [nat64] add runtime switch for NAT64 prefix publisher and translator (openthread#8194)
  [multicast-forwarding] reduce warn logs (openthread#8292)
  [heap] move static heap construction to singleton accessor (openthread#8242)
  [cmake] disable `OPENTHREAD_CONFIG_NCP_HDLC_ENABLE` when `OT_NCP_SPI` is set (openthread#8282)
  [docs] Doxygen formatting updates (openthread#8286)
  [cli-tcp] fix bug causing "accept" action for all incoming connections (openthread#8291)
  [tcplp] fix bad memory access when refusing incoming TCP connection (openthread#8291)
  [docs] resized Qorvo logo (openthread#8279)
  [github-actions] migrate to `actions/upload-artifact@v3` (openthread#8278)
  [docs] who supports OT updates (openthread#8263)
  [routing-manager] adv local on-link prefix after added in net data (openthread#8119)
  [dns-client] validate response timeout <= `TimerMilli::kMaxDelay` (openthread#8275)
  [core] remove `OT_UNREACHABLE_CODE(break)` (openthread#8274)
  [routing-manager] enhance mechanism to publish/unpublish route prefixes (openthread#8187)
  [docs] CLI commands ifconfig - linkmetrics (openthread#8253)
  [link-metrics] update method finding neighbor to validate its version (openthread#8271)
  [cmake-build] allow specify multiple targets (openthread#8264)
  [github-actions] migrate to `actions/checkout@v3` (openthread#8269)
  [nat64] fix build issues related to NAT64 on POSIX (openthread#8167)
  [cli] fix `log filename` command arg check (openthread#8270)
  [meshcop] support a zero-length network name for backwards compatibility (openthread#8241)
  [netdata] update `Publisher` to reserve entries for `RoutingManager` (openthread#8148)
  [backbone-router] simplify TMF URI resource handling (openthread#8265)
  [docs] remove versioning note (openthread#8266)
  [thci] fix `setBbrDataset` (openthread#8261)
  [border-agent] simplify `ForwardToLeader()` (openthread#8260)
  [tmf] add `SecureAgent` and simplify URI resource processing (openthread#8260)
  [dns-types] verify pointer refers to prior occurrence (openthread#8262)
  [link-metrics] simplify handling of Type IDs (openthread#8246)
  [log] fix incorrect format strings (openthread#8255)
  [ip6] fix packets not being forwarded outside of Thread (openthread#8102)
  [border-agent] fix logging of `RelayTx` URI (openthread#8254)
  [tmf] new model for handling TMF URI resources (openthread#8233)
  [srp-client] new feature to allow lease and key lease per service (openthread#8211)
  [thci] remove unneeded problematic command (openthread#8235)
  [test] update `AdvanceTime()` in unit tests to handle overflow (openthread#8244)
  [fuzz] advance time before fuzz input enable to more services (openthread#8243)
  [meshcop] simplify energy scan client and server (openthread#8230)
  [dns] allow partial read of TXT data and add config for max size in CLI (openthread#8232)
  [doxygen] change `inout` to `in,out` (openthread#8231)
  [cli] update sub-modules to use `Process<Cmd("cmd")>` method (openthread#8224)
  [timer] add template `TimerMilliIn` to simplify handler functions (openthread#8221)
  [fuzz] add `set -euxo pipefail` to build script (openthread#8222)
  [cmake] allow configuring `OPENTHREAD_CONFIG_MLE_MAX_CHILDREN` with a CMake option (openthread#8216)
  [ip6] define `Ip6::NetifIdentifier` mirroring `otNetifIdentifier` (openthread#8219)
  [nat64] support using IPv4 DNS server addresses in CLI (openthread#8212)
  [fuzz] declare `otPlatLog` as weak (openthread#8220)
  [crypto] update the signature algorithm used for 3.2.0 mbedTLS (openthread#8215)
  [srp-client] update "single service mode" to handle many removes (openthread#8207)
  [nat64] add functional tests (openthread#8161)
  [nat64] fix typo: `synthersize` -> `synthesize` (openthread#8213)
  [cli] print missing mac counters (openthread#8210)
  [test] update SRP unit test to prepare service entries in all cases (openthread#8208)
  [srp-server] lease info  for a deleted service or host entry (openthread#8206)
  [srp-server] update the default min/max lease/key-lease intervals (openthread#8205)
  [posix] fix OT_DAEMON flag definitions (openthread#8203)
  [address-cache] increase default to 32 (openthread#8204)
  [harness-simulation] add the usage of the CLI command `nodeidfilter` (openthread#8196)
  [equatable] update `Equatable` to ensure CRTP-style use (openthread#8199)
  [clearable] update `Clearable` to ensure CRTP-style use (openthread#8198)
  [routing-manager] remove old deprecating prefix on multiple xpanid change (openthread#8151)
  [cmake] add interface libraries ot-config-(ftd|mtd|radio) (openthread#8190)
  [routing-manager] allow old deprecating PIOs when checking RA is from router (openthread#8193)
  [thci] make `OpenThreadTHCI` compatible with Thread reference 20200818 (openthread#8195)
  [mle] add `RouterTable::LogRouteTable()` (openthread#8189)
  [routing-manager] fix prefix comparison in `EvaluateOnLinkPrefix()` (openthread#8192)
  [examples] make built-in otPlatCalloc and otPlatFree definitions weak (openthread#8188)
  [test] add unit test `test_srp_server` (openthread#8163)
  [srp-server] add `AutoEnableMode` to give control to BR (openthread#8129)
  [gh-action] add new case to run unit test with `toranj` config (openthread#8164)
  [cmake] add separate `tcplp` libraries for `ftd` and `mtd` (openthread#8175)
  [routing-manager] add `Nat64PrefixManager` nested class. (openthread#8178)
  [harness-simulation] update `deviceInputFields.xml` automatically (openthread#8177)
  [harness-simulation] change config format from JSON to YAML (openthread#8176)
  [cli-tcp] use TCP Circular Send Buffer in TCP CLI tool and test (openthread#7867)
  [tcp] implement TCP Circular Send Buffer (openthread#7867)
  [tcp] suppress clang-tidy for re-declared TCPlp functions (openthread#7867)
  [cc2538] move to openthread/ot-cc2538 (openthread#8169)
  [thci] wait for connection reset in `powerDown` (openthread#8166)
  [dtls] fix DTLS connection issues (openthread#8168)
  [github-actions] use `concurrency` feature to cancel oustanding jobs (openthread#8154)
  [thci] fix `mdns_query` incorrect `ip6tables` rules (openthread#8159)
  [nat64] implement functions for NAT64 on the client side (openthread#8126)
  [thci] allow custom otbr-agent log dumping command via `Param9` (openthread#8137)
  [cmake] add files allowing direct integration to Zephyr's west (openthread#8143)
  [harness-simulation] add support for RF enclosure simulation (openthread#8092)
  [cli] document the `ping async` option (openthread#8158)
  [github-actions] use external repo for arm build check (openthread#8153)
  [nat64] implement CLI functions for NAT64 (openthread#8058)
  [link-metrics] simplify preparation of MLE Data Request (openthread#8142)
  [tcplp] add test for contiguify functionality (openthread#7868)
  [config] include `misc.h` in `srp_client.h` (openthread#8146)
  [fuzz] enable SRP server in fuzz targets (openthread#8145)
  [fuzz] bump Thread version to 1.3 (openthread#8145)
  [routing-manager] deprecate previous local on-link prefix on xpanid change (openthread#8112)
  [routing-manager] add `RsSender` nested class (openthread#8124)
  [tcp] extend test to cover `otTcpStopListening` API (openthread#8133)
  [harness-simulation] add multiple-version support (openthread#8075)
  [srp-server] log the content of processed SRP update message (openthread#8131)
  [srp-client] update document about selected preferred server (openthread#8125)
  [github-actions] add gcc-12 to build matrix (openthread#8118)
  [ncp] fix init order to resolve compiler warning (openthread#8118)
  [core] do not use `FreeMessageOnError()` on nonnull pointer (openthread#8118)
  [link-metrics] simplify processing of `SeriesFlags` (openthread#8116)
  [routing-manager] add `ScheduleRoutingPolicyEvaluation()` (openthread#8115)
  [discover-scanner] invoke handler when scan is done from a tasklet (openthread#8111)
  [routing-manager] rename published NAT64 prefix (openthread#8113)
  [link-metrics] add blocking CLI query command and enhance tests (openthread#8108)
  [mle] update `DetachGracefully()` to stop BR routing manager (openthread#8105)
  [thread-cert] import `Crypto` on demand (openthread#8109)
  [nat64] change `BORDER_ROUTING_NAT64` to `NAT64_BORDER_ROUTING` (openthread#8047)
  [posix] make base class destructor virtual (openthread#7220)
  [tlvs] rename method to `ReadTlvValue()` from `ReadTlv()` (openthread#8100)
  [radio] define `Radio::kInvalidRssi` constant (openthread#8097)
  [link-metrics] fix reading of Report sub-tlv from message (openthread#8099)
  [github-actions] migrate to ubuntu 20.04 to 18.04 (openthread#8061)
  [otci] support ADB connection for OTCI (openthread#8088)
  [link-quality] helper fn to convert link margin, link quality, RSS (openthread#8081)
  [link-metrics] simplify sending MLE Mgmt Request (openthread#8073)
  [docs] CLI Dataset (openthread#7944)
  [srp-server] update validation of instance and service names (openthread#8080)
  [routing-manager] advert local on-link prefix if same as discovered prefix (openthread#8079)
  [link-metrics] update the scaling of link margin and RSSI metrics (openthread#8078)
  [child-table] check neighbor is in `ChildTable` before cast as `Child` (openthread#8071)
  [posix] initialize `hints` in `InfraNetif::DiscoverNat64Prefix` (openthread#8070)
  [harness-simulation] fix `build_docker_image.sh` error (openthread#8072)
  [mle] add `ParentCandidate` class (openthread#8069)
  [takelet] add template `TaskeltIn` to simplify handler functions (openthread#8064)
  [docs] CLI child commands (openthread#8041)
  [thci] remove unused methods (openthread#7704)
  [mle] move simple RLOC to Router ID conversion functions to `mle_types.hpp` (openthread#8060)
  [mac] add `ComputeLinkMargin()` (openthread#8063)
  [link-metrics] simplify `HandleReport()` (openthread#8054)
  [nat64] disable discovering NAT64 AIL prefix for OpenWRT (openthread#8065)
  [mesh-forwarder] fix random ieee frame version 2015 while attaching (openthread#8067)
  [thci] add support for OTBR simulations (openthread#8015)
  [core] add generic three-way comparison function (openthread#8050)
  [link-metrics] define `StatusSubTlv` to simplify appending/parsing it (openthread#8051)
  [address-resolver] simplify `EntryInfo` and `Iterator` (openthread#8055)
  [multicast-routing] block egress multicast packets from LLA (openthread#8059)
  [docs] update Thread version (openthread#8053)
  [mle] track `LeaderCost` in `Parent` class (openthread#8052)
  [topology] add `Router::GetTwoWayLinkQuality()` method (openthread#8049)
  [link-metrics] simplify `AddReport()` (openthread#8042)
  [nat64] extend wait time between test cases and verify netdata stabilized (openthread#8057)
  [border-agent] update logging for filtered messages (openthread#8045)
  [link-metrics] add `link_metrics_types.hpp` (openthread#8040)
  [tcp] implement otTcpReceiveContiguify (openthread#7634)
  [tcp] modify cbuf to be able to use all bytes provided by the user (openthread#7634)
  [mle] define `DetachGraecfuly` variables as `private` (openthread#8044)
  [link-metrics] fix integer conversions & use of `u8` for offset (openthread#8043)
  [routing-manager] allow domain prefix to be considered as OMR (openthread#8014)
  [ip6] add `MessageOrigin` to indicate origin or IPv6 message (openthread#8036)
  [nat64] implement nat64 translator (ot::Nat64::Translator) (openthread#7836)
  [multicast-routing] don't add MFC entries using mesh local as the source address (openthread#8025)
  [api] harmonize nullptr assert check of pointer input parameters (openthread#8031)
  [mle] add `Parent` class (tracking CSL accuracy info) (openthread#8029)
  [router-table] simplify `Allocate()` and random selection of ID (openthread#8032)
  [ip6] simplify `Ip6::HandleDatagram()` - remove `netif` local var (openthread#8035)
  [ip6] remove extra param from `Ip6::HandleExtensionHeaders()` (openthread#8035)
  [link-metrics] fix the endian-ness of `mPduCountValue` (openthread#8039)
  [csl] add `CslAccuracy` type (openthread#8024)
  [github-actions] upgrade pyshark to 0.4.6 (openthread#8030)
  [thread] add version consts & use `uint16_t` for `Neighbor::mVersion` (openthread#8027)
  [ip6] update `HandlePayload()` (avoid msg clone if not needed) (openthread#8023)
  [mle] define `ParentSearch` class (openthread#8022)
  [routing-manager] fix call to `StartRoutingPolicyEvaluationJitter()` (openthread#8034)
  [slaac] only allow SLAAC for prefixes with 64-bit length (openthread#8021)
  [bbr] reduce the default reregisteration delay (openthread#7996)
  [routing-manager] increase routing policy evaluation jitters (openthread#7982)
  [thci] send mdns queries without `dig` (openthread#7954)
  [doc] fix RCP building information for nRF52840 (openthread#8020)
  [mle] new API to trigger search for better parent (openthread#8018)
  [mle] add method to get parent info (openthread#8019)
  [routing-manager] accept any ULA/GUA with 64-bit len as OMR prefix (openthread#8016)
  [routing-manager] add `RaInfo` tracking all RA related info (openthread#8013)
  [core] add new generic `Min()`, `Max()` and `Clamp()` functions (openthread#8017)
  [meshcop] update deprecated functions for Mbed TLS  `v3.2.1` (openthread#7977)
  [nat64] fetch NAT64 prefix from infrastructure interface and advertise it to netdata (openthread#7619)
  [routing-manager] use `Ip6::Prefix::IsUniqeLocal()` to check OMR prefix (openthread#8012)
  [ip6-address] move more complex `Prefix` methods to `cpp` file (openthread#8011)
  [mle] add `TlvList` to track list of TLV types (openthread#8008)
  [thci] restore BBR config for 1.2 BR_1/BR_2 roles (openthread#7997)
  [thci] enhance `mdns_query` to use `ip6tables` to filter mDNS responses (openthread#8000)
  [tests] add test for Advertising Proxy to publish zero or multiple host addrs (openthread#8003)
  [docs] CLI bbr (openthread#7986)
  [csl] update CSL Channel TLV process to allow for unspecified case (openthread#8005)
  [link-metrics] fix `u32` endian-ness in `ReportSubTlv` (openthread#8006)
  [mle] fix processing of CSL TLVs (openthread#8004)
  [mle] add array bound check to avoid overflow in `HandleDataRequest()` (openthread#8002)
  [mle] helper method appending TLV Request TLV (openthread#8001)
  [thci] enhance SSH connection (openthread#7981)
  [thci] generate more logs (openthread#7975)
  [thci] add SSH keepalive (openthread#7999)
  [api] allow CSL receiver to gather parent CSL capabilities (openthread#7991)
  [message] document buffer size needs (openthread#7998)
  [crypto] allow selecting randomized ECDSA instead of deterministic (openthread#7894)
  [mesh-forwarder] add `Mac::Addresses` (src and dst address) (openthread#7990)
  [routing-manager] add `LocalOnLinkPrefix` class (openthread#7989)
  [thci] change implementation of sniffer simulation from SSH to gRPC (openthread#7983)
  [otci] wait for 2 seconds before retrying a command (openthread#7995)
  [cmake] enhance OT CMake config options (allow on/off/unspecified) (openthread#7979)
  [border-agent] refine meshcop service state bitmap checks (openthread#7950)
  [lowpan] update `ComputeIid()` and simplify `CompressIid()` (openthread#7973)
  [ip6] add `ApplyPrefix()` to `Ip6::InterfaceIdentifier` (openthread#7973)
  [lowpan] update `Context` and add `FindContext()` methods (openthread#7971)
  [config] add `border_routing.h` and `border_agent.h` (openthread#7968)
  [docs] CLI channel (openthread#7957)
  [mesh-forwarder] use `FrameBuidler` in `PrepareDataFrame()` (openthread#7964)
  [frame-builder] add `Insert()`, `Remove()` and other helper methods (openthread#7964)
  [docker] upgrade pip before installing cmake (openthread#7970)
  [github-actions] remove clang-6,7,8 from build check (openthread#7969)
  [test] update `RoutingManager` unit test to check default-route (openthread#7940)
  [test] update `RoutingManager` unit test adding new helper methods (openthread#7951)
  [mle] fix incorrect `StatusTlv` when processing Child Update Response (openthread#7956)
  [mle] send Link Request immediately if router id was previously allocated (openthread#7947)

Change-Id: I527b88eb56fc03995aa1f0585dc4f74d356c26d0
lmnotran pushed a commit to SiliconLabs/openthread that referenced this pull request Oct 5, 2023
Merge in WMN_STACKS/openthread from task/openthread/update-openthread-commit to develop/23q2

* commit 'fccf0f635e494e2d6249bbc49dcd64438163306d':
  Define posix radio RadioSpinel accessor (openthread#9018)
  [network-name] consolidate default network name definition (openthread#9036)
  [topology] track connection time of neighbors (openthread#9007)
  [string] add `StringParseUint8()` helper function (openthread#9026)
  [link-metrics] fix compilation errors (openthread#9033)
  [build] add CMake Android NDK support (openthread#9010)
  [tcp] remove EXCLUDE_TCPLP_LIB option (openthread#8883)
  [netdata] add `otNetDataReplacePublishedExternalRoute()` API (openthread#9013)
  [border-agent] fix BorderAgentId compile and enable it in CI tests (openthread#9030)
  github-actions: bump codecov/codecov-action from 3.1.1 to 3.1.3 (openthread#9031)
  [settings] define new Settings key for Border Router ID (openthread#8971)
  [posix] update upstream DNS addresses after a few minutes  (openthread#8972)
  [link-metrics] refactor link metrics module (openthread#8966)
  [cli] refactor br command prefix type (openthread#9022)
  [test] migrate tests to cmake (openthread#8929)
  [ip6] add `otIp6PrefixFromString()` (openthread#9016)
  [netdata] prefer BR acting as router over ED (when all other checks are same) (openthread#9012)
  [net-diag] vendor name, model, and sw version TLVs (openthread#8898)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants