[border-router] separate RxRaTracker into its own class (#12001)

This commit separates the `RxRaTracker` logic from `RoutingManager`
into its own class and source files.

Previously, `RxRaTracker` was a nested class within `RoutingManager`.
This change moves it to `src/core/border_router/rx_ra_tracker.hpp`
and `src/core/border_router/rx_ra_tracker.cpp`, making it a
standalone class within the `ot::BorderRouter` namespace.

This separation improves modularity and prepares for future changes
where `RxRaTracker` may operate independently of `RoutingManager`.
This commit is contained in:
Abtin Keshavarzian
2025-10-08 12:25:00 -07:00
committed by GitHub
parent c5971f7080
commit e18a5a9cd7
13 changed files with 2088 additions and 1917 deletions
+7 -7
View File
@@ -1080,9 +1080,9 @@ void VerifyPrefixTable(const OnLinkPrefix *aOnLinkPrefixes,
Log("VerifyPrefixTable()");
sInstance->Get<BorderRouter::RoutingManager>().InitPrefixTableIterator(iter);
sInstance->Get<BorderRouter::RxRaTracker>().InitIterator(iter);
while (sInstance->Get<BorderRouter::RoutingManager>().GetNextPrefixTableEntry(iter, entry) == kErrorNone)
while (sInstance->Get<BorderRouter::RxRaTracker>().GetNextPrefixTableEntry(iter, entry) == kErrorNone)
{
bool didFind = false;
@@ -1168,9 +1168,9 @@ void VerifyRdnssAddressTable(const RdnssAddress *aRdnssAddresses, uint16_t aNumA
Log("VerifyRdnssAddressTable()");
sInstance->Get<BorderRouter::RoutingManager>().InitPrefixTableIterator(iter);
sInstance->Get<BorderRouter::RxRaTracker>().InitIterator(iter);
while (sInstance->Get<BorderRouter::RoutingManager>().GetNextRdnssAddrEntry(iter, entry) == kErrorNone)
while (sInstance->Get<BorderRouter::RxRaTracker>().GetNextRdnssAddrEntry(iter, entry) == kErrorNone)
{
bool didFind = false;
@@ -1235,9 +1235,9 @@ void VerifyDiscoveredRouters(const InfraRouter *aRouters, uint16_t aNumRouters)
Log("VerifyDiscoveredRouters()");
sInstance->Get<BorderRouter::RoutingManager>().InitPrefixTableIterator(iter);
sInstance->Get<BorderRouter::RxRaTracker>().InitIterator(iter);
while (sInstance->Get<BorderRouter::RoutingManager>().GetNextRouterEntry(iter, entry) == kErrorNone)
while (sInstance->Get<BorderRouter::RxRaTracker>().GetNextRouterEntry(iter, entry) == kErrorNone)
{
bool didFind = false;
@@ -4977,7 +4977,7 @@ void TestRdnss(void)
// Set the RDNSS callback on Routing Manager
rdnssCallbackCalled = false;
sInstance->Get<BorderRouter::RoutingManager>().SetRdnssAddrCallback(HandleRdnssChanged, &rdnssCallbackCalled);
sInstance->Get<BorderRouter::RxRaTracker>().SetRdnssAddrCallback(HandleRdnssChanged, &rdnssCallbackCalled);
VerifyOrQuit(!rdnssCallbackCalled);