mirror of
https://github.com/espressif/openthread.git
synced 2026-08-03 09:27:47 +00:00
[mle] don't allow FTD upgrade to Router while Leader is attaching (#11982)
This prevents the leader from allowing FTD devices' address solicit to succeed while it is in the attaching state. Upon processing an advertisement from a different partition, the leader may evaluate it's own partition to be a singleton vs another partition with routers and choose to start attaching. If a router is upgraded during that time, the leader is committed to leaving already and the other devices on that partition may get stranded if the router is upgraded. i.e. The router and other devices may now see the partition as non-singleton, and if it has a higher partition ID than other partitions, they will be stuck for the duration of the network ID timeout.
This commit is contained in:
@@ -3595,7 +3595,7 @@ template <> void Mle::HandleTmf<kUriAddressSolicit>(Coap::Message &aMessage, con
|
||||
Coap::Message *response = nullptr;
|
||||
AddrSolicitInfo info;
|
||||
|
||||
VerifyOrExit(IsLeader());
|
||||
VerifyOrExit(IsLeader() && !IsAttaching());
|
||||
|
||||
Log(kMessageReceive, kTypeAddressSolicit, aMessageInfo.GetPeerAddr());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user