mirror of
https://github.com/espressif/openthread.git
synced 2026-08-05 10:27:49 +00:00
[dataset] fix dataset update issues (#2791)
* pending dataset should not be restored from local when ClearNetwork * update the condition for stop /c/as registration attempts during dataset transition
This commit is contained in:
@@ -204,7 +204,7 @@ void DatasetManager::HandleTimer(void)
|
||||
const ActiveTimestampTlv *tlv = static_cast<const ActiveTimestampTlv *>(dataset.Get(Tlv::kActiveTimestamp));
|
||||
const Timestamp * pendingActiveTimestamp = static_cast<const Timestamp *>(tlv);
|
||||
|
||||
if (pendingActiveTimestamp != NULL && mLocal.Compare(pendingActiveTimestamp) >= 0)
|
||||
if (pendingActiveTimestamp != NULL && mLocal.Compare(pendingActiveTimestamp) == 0)
|
||||
{
|
||||
// stop registration attempts during dataset transition
|
||||
ExitNow();
|
||||
@@ -450,7 +450,11 @@ void PendingDataset::Clear(void)
|
||||
|
||||
void PendingDataset::ClearNetwork(void)
|
||||
{
|
||||
Restore();
|
||||
Dataset dataset(mLocal.GetType());
|
||||
|
||||
mTimestamp.Init();
|
||||
mTimestampValid = false;
|
||||
DatasetManager::Set(dataset);
|
||||
}
|
||||
|
||||
otError PendingDataset::Set(const Timestamp &aTimestamp, const Message &aMessage, uint16_t aOffset, uint8_t aLength)
|
||||
|
||||
Reference in New Issue
Block a user