diff --git a/src/core/border_router/routing_manager.cpp b/src/core/border_router/routing_manager.cpp index 5c5c9713c..da6cba55f 100644 --- a/src/core/border_router/routing_manager.cpp +++ b/src/core/border_router/routing_manager.cpp @@ -4007,9 +4007,7 @@ RoutingManager::PdPrefixManager::State RoutingManager::PdPrefixManager::GetState void RoutingManager::PdPrefixManager::Evaluate(void) { const FavoredOmrPrefix &favoredPrefix = Get().mOmrPrefixManager.GetFavoredPrefix(); - - bool shouldPause = !favoredPrefix.IsEmpty() && favoredPrefix.GetPrefix() != mPrefix.GetPrefix() && - favoredPrefix.GetPreference() >= kPdRoutePreference; + bool shouldPause = favoredPrefix.IsInfrastructureDerived() && (favoredPrefix.GetPrefix() != mPrefix.GetPrefix()); PauseResume(/* aPause */ shouldPause); }