This is a fix for Contiki RPL so that it fully supports DAO ACK in
an end-to-end fashion. When DAO is sent it will be forwarded upwards
as before. DAO ACK will be forwarded downwards until it reach the node
that initiated the DAO ACK and unlike before it is not a single-hop
DAO ACK but it is fully reaching the RPL ROOT before any DAO ACK is
sent back. DAO ACK also now fully support different status messages
(success / fail).
- Structural modification of RPL data storage.
- Support multiple gateways (multiple DODAG-ID with a unique InstanceID)
- Use Lollipop counters
- Add leaf-only configuration option for RPL
Bugfix :
- Correctly send "Grounded" flag in DIO
300 bytes, as well as cleaner protocol logic.
* Made parent management uniform.
* Simplified the DIO processing.
* Improved the Objective Function API and its documentation.
* Removed redundant code at various places.
* Improved identifier naming.
* Switched visualization from candidate parents to preferred parents only.
* Made DAO ACK transmissions configurable.
* Improved initial ETX guess by using a cached local confidence value.
* Added a periodical rank recalculation function to reduce
the maximum stack depth.
* Increased the Trickle redundancy constant to ensure faster
topological updates.
Extended the objective function API with a callback function that receives link-layer neighbor information.
Throttled DAO transmissions to one per DEFAULT_DAO_LATENCY period.
Added support for an ETX objective function (hysteresis control still lacking though).
Fixed a leak of routes installed by DAOs.
Control that dst_adv_supported is set before sending DAOs.
Improved debugging output.