diff --git a/subsys/net/l2/openthread/openthread.c b/subsys/net/l2/openthread/openthread.c index c70adc0714c..51549bd8de5 100644 --- a/subsys/net/l2/openthread/openthread.c +++ b/subsys/net/l2/openthread/openthread.c @@ -21,6 +21,7 @@ LOG_MODULE_REGISTER(net_l2_openthread, CONFIG_OPENTHREAD_L2_LOG_LEVEL); #include #include +#include #include #include #include @@ -442,6 +443,13 @@ int openthread_start(struct openthread_context *ot_context) otLinkSetPollPeriod(ot_context->instance, OT_POLL_PERIOD); } + /* Configure Child Supervision and MLE Child timeouts. */ + otChildSupervisionSetInterval(ot_context->instance, + CONFIG_OPENTHREAD_CHILD_SUPERVISION_INTERVAL); + otChildSupervisionSetCheckTimeout(ot_context->instance, + CONFIG_OPENTHREAD_CHILD_SUPERVISION_CHECK_TIMEOUT); + otThreadSetChildTimeout(ot_context->instance, CONFIG_OPENTHREAD_MLE_CHILD_TIMEOUT); + if (otDatasetIsCommissioned(ot_instance)) { /* OpenThread already has dataset stored - skip the * configuration.