Skip to content

Commit 6d327a7

Browse files
Fixed typo in an updated test and boundary conditions for StartTransition()
* Fixed the upper boundary condition such that kRouterTransitionDelayMax (1200) is included in the possible range of values. * Allows 0 as a delay minimum for potentially immediate upgrades, which the new role transition timer approach now supports, such that the valid role transition range is now 0-1200, inclusive of both bounds. * Fixed typo with router2_rejoin_pkt in verify_1_1_5_3_6.py
1 parent 7c9b971 commit 6d327a7

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

src/core/thread/mle_ftd.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4086,15 +4086,15 @@ void Mle::RouterRoleTransition::StartTransition(uint16_t aRouterTransitionMini
40864086
Transition aTransitionType)
40874087
{
40884088
uint16_t minimumDelay = Min<uint16_t>(aRouterTransitionMinimum, kRouterTransitionDelayMax);
4089-
if (aRouterTransitionJitter == 0 || minimumDelay == kRouterTransitionDelayMax)
4089+
if (aRouterTransitionJitter == 0)
40904090
{
4091-
mTimeout = 1 + minimumDelay;
4091+
mTimeout = minimumDelay;
40924092
}
40934093
else
40944094
{
4095-
uint16_t jitter = Min<uint16_t>(aRouterTransitionJitter, kRouterTransitionDelayMax);
4096-
uint16_t maximumDelay = Min<uint16_t>(minimumDelay + jitter + 1, kRouterTransitionDelayMax);
4097-
mTimeout = 1 + Random::NonCrypto::GetUint16InRange(minimumDelay, maximumDelay);
4095+
uint16_t jitter = Min<uint16_t>(aRouterTransitionJitter, kRouterTransitionDelayMax);
4096+
uint16_t delayUpperLimit = Min<uint16_t>(minimumDelay + jitter, kRouterTransitionDelayMax + 1);
4097+
mTimeout = Random::NonCrypto::GetUint16InRange(minimumDelay, delayUpperLimit);
40984098
}
40994099

41004100
mTransition = aTransitionType;

tests/nexus/verify_1_1_5_3_6.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def verify(pv):
127127
filter_wpan_src64(ROUTER_2).\
128128
must_next()
129129
router2_id_reattached = (router2_rejoin_pkt.mle.tlv.source_addr >> 10)
130-
router2_child_id_reattached = router2_pkt.mle.tlv.source_addr & 0x1FF
130+
router2_child_id_reattached = router2_rejoin_pkt.mle.tlv.source_addr & 0x1FF
131131
# Router 2 should only advertise as a router
132132
assert router2_child_id_reattached == 0
133133

0 commit comments

Comments
 (0)