mirror of
https://github.com/espressif/openthread.git
synced 2026-06-05 21:14:49 +00:00
61be1c0e45
Fixes an intermittent failure in the `nexus_announce_no_flap_on_unmergeable_partitions` test. Previously, only LEADER_NEW was isolated (by enabling allowlist mode with an empty address list) in Step 2. Because LEADER_OLD still had allowlist mode disabled, it could receive advertisements from LEADER_NEW. If LEADER_NEW's randomly allocated partition ID happened to be larger than LEADER_OLD's, LEADER_OLD would see it as a "better partition" and initiate a transition to child to attach to LEADER_NEW. Although this attempt would initially fail in Step 2 (since LEADER_NEW dropped all RX), it kept retrying. In Step 3, when the allowlist was opened on both sides, the queued/retried attach attempt from LEADER_OLD succeeded, making it a child and causing the Leader assertion to fail. Isolating both nodes during Step 2 ensures that LEADER_OLD never hears LEADER_NEW's initial good-link advertisements. When Step 3 begins, it only hears LEADER_NEW through the weak link and correctly rejects the advertisements, keeping both nodes stable leaders of separate partitions.