Thread 1.2 test harness requires the ability to set the number of IP
address the parent could store per child to test the reaction of the
Child DUT. The value intentionally may not conform to the Conformance
Specification. Since it is only used for reference device, this commit
wraps relevant APIs in the OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
macro.
This commit improves usability of Network Diagnostic API by:
- Define native structures to represent various Network Diagnostic TLV
values.
- Add facility function otThreadGetNextDiagnosticTlv to parse plain
otMessage into structured data.
- Dump parsed DIAG_GET.ans/.rsp message in readable format for
networkdiagnostic CLI command.
- Introduce BACKBONE_ROUTER option for Backbone Router function.
- Implement Backbone Router service registration.
- Add basic Backbone Router service.
- Primary Backbone Router restores its Dataset when reattached after
short reset, increases sequence number and re-register to Leader.
- Add configurable jitter for Backbone Router service registration.
- Add Backbone Router service test.
Always output command result, i.e. "Done" on success, error message
otherwise.
Factory commands also follow the same pattern. Their existing error
messages are not removed for backward compatibility consideration.
This commit updates/enhances the CLI `ping` command. It adds the
feature to track and match the ICMPv6 echo requests and responses
using an identifier. Each `ping` command will use a new value as the
identifier. A received ICMPv6 echo response not matching the current
identifier is ignored. This commit also makes the following (smaller)
changes:
- renames the ping related member variables as `mPing{Name}`,
- defines constants for default ping parameters,
- changes `ping` to use public OT APIs/definition (instead of core
methods).
A Leader should always be able to process service registration.
This commit:
- removes the OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE feature
flag around code for handling service registrations by the leader.
- support service ALOC forwarding by all router-capable devices.
- adds ability for any device to read service information from the
network data.
Add MAC option to change number of direct TX retries:
- add member variable containing maximum number of direct TX retries
- add getter/setter methods
Add public API for direct and indirect TX retries
- otLinkGetMaxFrameRetriesDirect
- otLinkSetMaxFrameRetriesDirect
- otLinkGetMaxFrameRetriesIndirect
- otLinkSetMaxFrameRetriesIndirect
Add NCP support for direct and indirect TX retry configuration.
Rename config definition for direct and direct TX retries.
Add cli command handler for direct and indirect TX retries.
This commit adds `Time` class which represents an instance of time
(it is a simple wrapper over a `uint32_t` corresponding to a
numerical time value). The `Time` class provides helpful operator
overloads:
- Operators `+` and `-` with a `Time` instance and a `Duration` to
get a `Time` instance after or before.
- Operator `-` with two `Time` instances to calculate the `Duration`
duration between two time instances.
- Operators `<`, `<=`, `>`,'>=', '==' and `!=` to compare two `Time`
instances. They correctly handle the wrapping of numeric time value.
The core modules are updated to use the new `Time` and `Duration`
types which help make the code simpler. This commit also updates the
unit test `test_timer` to add test cases for newly added types.
This commit adds a `Pskc` as a wrapper over `otPskc` and also
renames all the uses of `PSK` into `Psk` to follow our variable
and type naming convention which treats an acronym as a whole
word.
This commit simplifies boolean checks containing `== false` to use the
`!` operator instead, and removes redundant `== true` checks. This
commit aims to harmonize the boolean checks across core modules.
* [cli] ensure legacy callback APIs are defined as `OT_TOOL_WEAK`
* [posix-app] simplify the makefile (link in ncp lib).
This commit simplifies the posix-app makefiles by removing the
`inc_<module>` source files (which included certain modules from
the `ncp` folder). Instead the library `libopenthread-ncp-ftd.a`
is included when linking thethe final posix-app executables
`ot-ncp`, `ot-cli` and/or, `o-daemon`.
* [posix-app] ensure header files from ncp folder have "ncp/" prefix
This commit changes the posix-app platform makefile such that
the header files from `src/ncp` folder require "ncp/" prefix.