This commit changes the `ipv6_filter` module to allow TCP traffic
from unsecure dst port to pass through. It also adds a new
module/class to parse TCP header and get different feilds.
It's a generic stream property which doesn't take care of the diagnostics feature details
- get diags commands from the property with VALUE_SET command
- return diags output to the property with VALUE_IS command
* OpenThread no longer automatically configures IPv6 addresses based on network data.
* Added IPv6 address configuration to CLI to support certification tests.
* Added notification to indicate when the Thread Network Data is updated.
* Added otIp6PrefixMatch API to compute prefix match.
With the introduction of the `otThreadStart()`/`otThreadStop()` and
`otInterfaceUp()`/`otInterfaceDown()` APIs, the existing spinel
command mapping was not adequate.
This commit makes the following changes:
* `PROP_NET_ENABLED` is now `PROP_NET_IF_UP`, and maps directly to
the `otInterfaceUp()`/`otInterfaceDown()` functions.
* `PROP_NET_STATE` is now `PROP_NET_STACK_UP`, and is now a boolean
that maps directly to `otThreadStart()`/`otThreadStop()`.
Also, `SPINEL_NET_ROLE_NONE` has now been renamed to
`SPINEL_NET_ROLE_DETACHED`.
Update feature extra clis for thci support.
* cli: add set/get PartitionId
* cli: add get information about thread device's parent.
* cli: add set/get the data poll period for sleepy end device.
* cli: add blacklist relative commands to support network topology defined in Harness test case.
* cli: add set/get assigned linkquality during parent selection of attaching.
* cli: add reset to trigger a platform reset.
* Add link-local 16 only for sleepy end device.
* Add diagnostics module in OpenThread
- provide the same diagnostics interface for both CLI and NCP usage
- implement common diagnostics features based on existing platform interface defined in 'include/platform/'
- other more platform specific diagnostics features will be processed under platform layer
- update CLI interface to support diagnostics feature
- update both Posix and CC2538 platform to support diagnostics feature
* Add diagnostics module unit test
- move platform.h from "examples/platform" to "include/platform"
- add test_diag.cpp to test diagnostics module
* Add a configuration option that would enable/disable diagnostics module
Add --enable-diag configuration option to enable/disable diagnostics module when building OpenThread.
* otPlatform: New non-volatile settings API
This is the new API for the storage and retrieval of non-volatile
settings. Platforms would implement this API in order to allow various
types of information to be preserved across resets or power loss.
* fixup! otPlatform: New non-volatile settings API
This API will initially be used for writing debug logs messages to
the host, but may in the future be expanded for other purposes.
This change also fixes a misspelling of "Property" in various
internal methods.
This change includes the addition of two new platform API functions:
* `otPlatReset()`
* `otPlatGetResetReason()`
They are pretty straightforward. Every platform must implement both, but
`otPlatReset()` is allowed to simply return if the platform doesn't support
being reset (like the posix platform).
This commit addresses issue #283.
* Redefine otEnable/otDisable to just initialize/uninitialize the OpenThread stack.
* Remove otInit API since it is replaced by otEnable.
* Add otInterfaceUp/otInterfaceDown APIs to bring up/down IPv6 interface.
* Add otThreadStart/otThreadStop APIs to start/stop Thread protocol operation.
* Updated NCP implementation to utilize new APIs.
In order to avoid some race conditions, this change necessitated
some minor changes to the SPI slave platform API. Specifically,
the callback function now includes most of the arguments passed
to `otPlatSpiSlavePrepareTransaction()`.
This has not been tested outside of doing a simple compile test.
Once we have a platform up and running we can iron out the
bugs.
This commit introduces the header for the `otPlatSpiSlave` API. The
actual implementation of this API is not yet in place, so additional
work needs to be done to make this API useful.
This commit addresses issue #245.
This commit adds a new class `LinkQualityInfo` which stores all
relevant information about quality of a link, including average
received signal strength (RSS), link margin, and link quality value.
The RSS average is obtained using an adaptive exponential moving
average filter. A unit-test is also added for the new class.
The Neighbor class now includes an instance of LinkQualityInfo. The
RSS average is updated from 'mac.cpp' whenever a valid/verified packet
is received from the corresponding neighbor. The mesh_forwarder,
mle_router, and mle modules are modified to use the new methods from
the newly added class.
This change addresses issue #175.