This commit contains the following changes:
- Adds new logs when a new message is being prepared for indirect tx
to a sleepy child.
- Adds new logs when an Ipv6 message being dropped from reassembly list
due to reassembly timeout or missing fragments (in case of MTD).
This commit contains node logic change. It makes some formatting
changes in the comments, also renames method/function argument/param
variable names to follow the style guideline (e.g.,
`anInputBuf -> aInputBuf`).
This commit contains the following changes:
- Updates logs for a failed tx or rx to include info about the
frame (len, seq number, type, src/dst address, etc.).
- Adds detailed logs about transmitted or received Beacon frames
(network name, xpanid, protocol id, version, joinability, native
flag, ...)
- Adds helper method `ToInfoString()` to `Frame` and `BeaconPyalod`
classes to provide a debug info string representation of the
object.
- Invalidate Active and Pending Datasets when configs are changed via APIs.
- Do not allow client to change network configurations while Thread is enabled.
This commit adds a new class `SourceMatchController` which
contains all (existing) logic to maintain the source match table
and control when/how to enable or disable the source matching
feature.
It also updates `Child` class by changing the access level of
member variables related to the source matching feature (e.g.,
number of indirect queued messages) to private to ensure that
they are only modified by the new `SourceMatchController` class
while providing simple getter methods for use by other classes.
The changes in this commit also address two corner-case issues
related to source address matching feature:
- First issue where we could possibly enable the source address
matching after successfully adding a short address while still
having remaining pending entries.
- Second issue where an entry would not be added properly from a
`SetSrcMatchAsShort()` call for a child, if there were more
than one message queued for the child.
This commit introduces a new class `DataPollManager`. This class
contains all the logic related to sending of the data poll messages
and managing the data poll transmission period.
The data poll interval is derived based on combination of value
from user (from `SetExternalPollPeriod()`) and the internal state
of the OpenThread. Data poll manager may send data polls more
frequently during attach process or when expecting a control-message
from parent or in case of data poll transmission failures or data
poll timeouts.
* Add initial commissioning commands support to the NCP
* Make GetPropertyHandler_THREAD_COMMISSIONER_ENABLED send true only if commissioner active, move commissioner state enum to oepnthread/types.h
* Use enum to return commissioner state, make spinel property return true only if Commissioner State Active
* Fix spinel documentation
* Do not drop CoAP requests with unknown options
If packets are dropped due to unrecognized options, then it should be done
according to RFC7252 Section 5.4.1., otherwise leave it for the user.
* Implement CoAP Header GetFirstOption
* Implement in Header
* Add to CoAP API
* Use in code
* Remove CoAP Header GetCurrentOption
* Correction in the comments
* Initialize CoAP Header before parsing
* Added most recent RSSI to child and neighbour tables
* Align = signs in mle_router Get{Router/Child}Info
* Fixed build errors, was using the wrong config before so wasnt actualy building the code
This commit adds support for the dynamic log level selection. Config
option `OPENTHREAD_CONFIG_ENABLE_DYNAMIC_LOG_LEVEL` can be used to
enable/disable this feature (default setting is disabled).
Note that the `OPENTHREAD_CONFIG_LOG_LEVEL` specifies the log level at
compile/build time. The dynamic log level feature (if enabled) only
allows decreasing log level from the compile time setting.
This commit also adds `SPINEL_PROP_DEBUG_NCP_LOG_LEVEL` as a new
spinel property to control the log level. The set/get handlers for
this property along with its documentation are also added.
This commit modifies some of the log related macros/methods so
to harmonize them all to require an `otInstance` as their first
argument.
If transmission of an indirect frame (frame to a sleepy child)
fails, the sender retransmits the frame following the reception of
a new data request command (a new data poll) from the sleepy child.
It is ensured that the re-transmissions use the same security frame
counter, key id, and data sequence number as the earlier attempts.
To realize this, info about the indirect transmissions (such as attempt
counter, frame counter, key id) is saved in the child table.
In `openthread-core-default-config.h` a set of new OpenThread options
are added to allow the maximum number of attempts to be configured
for both direct and indirect transmissions.
* Implement automatic Joiner removal feature.
* Save some RAM in JoinerRouter class.
* Specify timeout for each Joiner separately.
* Update Windows API files.
* Initial new API helpers
* Finish up API helper
* Update App to use new API helpers
* More cleanup and added support for preferred router ID
* Clean up state change handlers
* Add logging
* Some more clean up and redesign
* Added small readme for Windows App.
This commit adds/updates comments. It contains no code/logic change.
- Adds comments to describe expected behavior and use of source
address match feature and the related radio platform functions.
- Updates comments to describe the selection of poll period and the
`SetAssignPollPeriod()`.