mirror of
https://github.com/espressif/openthread.git
synced 2026-07-09 05:40:27 +00:00
091f68ed70
This commit contains changes to child supervision feature. It adds a new mechanism for a child to inform its desired supervision interval to its parent. A new optional MLE TLV is added with type 27 and value of `uint16_t` indicating the supervision interval in seconds. This TLV is included in MLE Child ID Request and MLE Child Update Request (sent from the child). The parent echoes back this TLV in the corresponding responses to indicate that it supports supervision. This commit changes the parent implementation to track the supervision interval per child. This commit also updates the OT public APIs along with the related CLI commands: - API now allows the supervision interval to be set on a child. - New field in `otChildInfo` to indicate the child's supervision interval. - New counter is added to track the number of supervision check timeouts failures on a child (intended for testing and debugging). This commit adds a test `test_child_supervision` to cover behavior of child supervision and its new behaviors. This change allows backward compatibility: If the parent does not support child supervision, it ignores the new TLV in the MLE messages and the child would fall back to periodically exchanging MLE Child Update Request with parent. If the child does not support supervision and/or does not indicate its desired child supervision interval, the parent will fall back to use the configured default interval.