[routing-manager] start routing policy evaluation when on-link prefix state changes (#7250)

We should reevaluate routing policy only when a discovered on-link
prefix becomes deprecated or preferred. This change reduces sending RA
messages when another peer is keep advertising deprecated (preferred
lifetime is zero) on-link prefix.
This commit is contained in:
Kangping
2021-12-24 13:53:04 -08:00
committed by GitHub
parent 3726888937
commit d47dea0b6f
+4 -1
View File
@@ -1149,9 +1149,12 @@ bool RoutingManager::UpdateDiscoveredOnLinkPrefix(const RouterAdv::PrefixInfoOpt
existingPrefix->mValidLifetime = kTwoHoursInSeconds;
}
// The on-link prefix routing policy may be affected when a
// discovered on-link prefix becomes deprecated or preferred.
needReevaluate = (onLinkPrefix.IsDeprecated() != existingPrefix->IsDeprecated());
existingPrefix->mPreferredLifetime = onLinkPrefix.mPreferredLifetime;
existingPrefix->mTimeLastUpdate = onLinkPrefix.mTimeLastUpdate;
needReevaluate = (existingPrefix->mPreferredLifetime == 0);
}
mDiscoveredPrefixInvalidTimer.FireAtIfEarlier(existingPrefix->GetExpireTime());