mirror of
https://github.com/espressif/openthread.git
synced 2026-10-01 21:37:39 +00:00
[border-router] centralize infra-if management in InfraIf (#12046)
This change moves the management of the infrastructure interface state out of the `RoutingManager` and centralizes it within the `InfraIf` class. This makes `InfraIf` a more self-contained component and simplifies the logic in `RoutingManager`. The `RoutingManager` now depends on an initialized `InfraIf`. Its `Init()` method is simplified and is now called from `InfraIf::Init()`. The public API `otBorderRoutingInit()` now directly initializes the `InfraIf`. The `InfraIf::Init()` method is updated to support re-initialization, allowing to switch to a new interface. When switching, it ensures that components on the previous interface are stopped before restarting on the new one.
This commit is contained in:
+1
-1
@@ -111,7 +111,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
otCliInit(&node.GetInstance(), CliOutput, nullptr);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
@@ -100,7 +100,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
node.GetInstance().SetLogLevel(kLogLevelInfo);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
+1
-1
@@ -112,7 +112,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
node.GetInstance().SetLogLevel(kLogLevelInfo);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
node.GetInstance().SetLogLevel(kLogLevelInfo);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
@@ -110,7 +110,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
node.GetInstance().SetLogLevel(kLogLevelInfo);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
|
||||
node.GetInstance().SetLogLevel(kLogLevelInfo);
|
||||
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::InfraIf>().Init(/* aInfraIfIndex */ 1, /* aInfraIfIsRunning */ true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetEnabled(true);
|
||||
node.GetInstance().Get<Srp::Server>().SetAutoEnableMode(true);
|
||||
node.GetInstance().Get<BorderRouter::RoutingManager>().SetDhcp6PdEnabled(true);
|
||||
|
||||
Reference in New Issue
Block a user