Revert "[weave] Watch fuchsia.lowpan.device for if state"

This reverts commit 693faa80c87c2449505c2b4c3b781371f351f517.
diff --git a/src/connectivity/weave/adaptation/BUILD.gn b/src/connectivity/weave/adaptation/BUILD.gn
index c39c886..eb3e478 100644
--- a/src/connectivity/weave/adaptation/BUILD.gn
+++ b/src/connectivity/weave/adaptation/BUILD.gn
@@ -63,7 +63,6 @@
     "//sdk/lib/sys/cpp",
     "//sdk/lib/sys/inspect/cpp",
     "//sdk/lib/syslog/cpp:backend_legacy",
-    "//src/lib/backoff",
     "//src/lib/files",
     "//src/lib/fsl",
     "//src/lib/json_parser",
diff --git a/src/connectivity/weave/adaptation/connectivity_manager_delegate_impl.cpp b/src/connectivity/weave/adaptation/connectivity_manager_delegate_impl.cpp
index e77c65a..9e60f62 100644
--- a/src/connectivity/weave/adaptation/connectivity_manager_delegate_impl.cpp
+++ b/src/connectivity/weave/adaptation/connectivity_manager_delegate_impl.cpp
@@ -317,18 +317,13 @@
           [](intptr_t) { Warm::WiFiInterfaceStateChange(Warm::kInterfaceStateUp); }, 0);
     }
 
-    // The thread interface ID is recorded, but WARM is explicitly not signaled.
-    // This is deferred to the ThreadStackManager, which notifies WARM when the
-    // fuchsia.lowpan.device FIDL service reports that a new device was added.
-    // This distinction is required as LoWPAN may create a network device and
-    // trigger this interface update before it registers the LoWPAN device for
-    // it's clients, resulting in an inconsistent state where WARM believes the
-    // interface is up, but LoWPAN claims it is unaware of the device.
     if (thread_interface_id_ == 0 && properties.has_name() &&
         properties.name() == ThreadStackMgrImpl().GetInterfaceName()) {
       thread_interface_id_ = properties.id();
       FX_LOGS(INFO) << "Identifying interface \"" << properties.name()
                     << "\" as the Thread interface.";
+      PlatformMgr().ScheduleWork(
+          [](intptr_t) { Warm::ThreadInterfaceStateChange(Warm::kInterfaceStateUp); }, 0);
     }
   } else if (event.is_removed()) {
     routable_v4_interfaces.erase(event.removed());
@@ -345,9 +340,11 @@
           },
           reinterpret_cast<intptr_t>(this));
     } else if (event.removed() == thread_interface_id_) {
+      FX_LOGS(INFO) << "Thread iface removed, informing WARM of Thread down.";
       PlatformMgr().ScheduleWork(
           [](intptr_t context) {
             auto self = reinterpret_cast<ConnectivityManagerDelegateImpl*>(context);
+            Warm::ThreadInterfaceStateChange(Warm::kInterfaceStateDown);
             self->thread_interface_id_ = 0;
           },
           reinterpret_cast<intptr_t>(this));
@@ -377,8 +374,7 @@
     return kThreadMode_NotSupported;
   }
 
-  return ((ThreadStackMgrImpl()._IsThreadEnabled()) ? (kThreadMode_Enabled)
-                                                    : (kThreadMode_Disabled));
+  return ((ThreadStackMgrImpl()._IsThreadEnabled()) ? (kThreadMode_Enabled) : (kThreadMode_Disabled));
 }
 
 }  // namespace DeviceLayer
diff --git a/src/connectivity/weave/adaptation/tests/thread_stack_manager_unittests.cpp b/src/connectivity/weave/adaptation/tests/thread_stack_manager_unittests.cpp
index 95c6b92..03859f3 100644
--- a/src/connectivity/weave/adaptation/tests/thread_stack_manager_unittests.cpp
+++ b/src/connectivity/weave/adaptation/tests/thread_stack_manager_unittests.cpp
@@ -22,7 +22,6 @@
 #include <Weave/DeviceLayer/internal/WeaveDeviceLayerInternal.h>
 #include <Weave/DeviceLayer/internal/DeviceNetworkInfo.h>
 #include <Weave/DeviceLayer/ThreadStackManager.h>
-#include <Warm/Warm.h>
 #pragma GCC diagnostic pop
 // clang-format on
 
@@ -490,13 +489,6 @@
 
   void GetDevices(GetDevicesCallback callback) override { callback({kFakeInterfaceName}); }
 
-  void WatchDevices(WatchDevicesCallback callback) override {
-    if (!watch_devices_once_) {
-      callback({.added = {kFakeInterfaceName}});
-      watch_devices_once_ = true;
-    }
-  }
-
   void LookupDevice(std::string name, Protocols protocols, LookupDeviceCallback callback) override {
     Lookup_LookupDevice_Result result;
     if (name != kFakeInterfaceName) {
@@ -530,10 +522,13 @@
   }
 
   fidl::InterfaceRequestHandler<Lookup> GetHandler(async_dispatcher_t* dispatcher) {
-    return bindings_.GetHandler(this, dispatcher);
+    dispatcher_ = dispatcher;
+    device_.set_dispatcher(dispatcher);
+    return [this](fidl::InterfaceRequest<Lookup> request) {
+      binding_.Bind(std::move(request), dispatcher_);
+    };
   }
 
-  void set_dispatcher(async_dispatcher_t* dispatcher) { dispatcher_ = dispatcher; }
   FakeLowpanDevice& device() { return device_; }
   FakeThreadLegacy& thread_legacy() { return thread_legacy_; }
   FakeCounters& counters() { return counters_; }
@@ -542,13 +537,12 @@
   FakeLowpanDevice device_;
   FakeThreadLegacy thread_legacy_;
   FakeCounters counters_;
-  bool watch_devices_once_ = false;
   fidl::BindingSet<Device> device_bindings_;
   fidl::BindingSet<DeviceExtra> device_extra_bindings_;
   fidl::BindingSet<LegacyJoining> thread_legacy_bindings_;
   fidl::BindingSet<Counters> counters_bindings_;
   async_dispatcher_t* dispatcher_;
-  fidl::BindingSet<Lookup> bindings_;
+  fidl::Binding<Lookup> binding_{this};
 };
 
 class FakeNetRoutes : public fuchsia::net::routes::testing::State_TestBase {
@@ -696,16 +690,6 @@
         fake_lookup_.GetHandler(dispatcher()));
     context_provider_.service_directory_provider()->AddService(
         fake_routes_.GetHandler(dispatcher()));
-    fake_lookup_.set_dispatcher(dispatcher());
-    fake_lookup_.device().set_dispatcher(dispatcher());
-
-    // TODO(fxbug.dev/90188): This test currently depends on WARM, which does
-    // not have a delegate interface in openweave-core. As a consequence, while
-    // this test does not need WARM, we must still initialize it and ensure that
-    // the fabric state is consistent, so that it does not attempt to add
-    // addresses during this test. The associated bug tracks the refactor to
-    // create that delegate interface and remove this test dependency.
-    fabric_state_.FabricId = kFabricIdNotSpecified;
   }
 
   void ResetConfigMgr() {
@@ -716,8 +700,6 @@
   void SetUp() override {
     WeaveTestFixture<>::SetUp();
     PlatformMgrImpl().SetComponentContextForProcess(context_provider_.TakeContext());
-    PlatformMgrImpl().SetDispatcher(dispatcher());
-    Warm::Init(fabric_state_);
     RunFixtureLoop();
     ResetConfigMgr();
     ConfigurationMgr().StorePairingCode(kFakePairingCode, sizeof(kFakePairingCode));
@@ -736,7 +718,6 @@
     WeaveTestFixture<>::TearDown();
     ThreadStackMgrImpl().SetDelegate(nullptr);
     ConfigurationMgrImpl().SetDelegate(nullptr);
-    Warm::Shutdown(fabric_state_);
   }
 
  protected:
@@ -744,7 +725,6 @@
     return *reinterpret_cast<TestConfigurationManager*>(ConfigurationMgrImpl().GetDelegate());
   }
 
-  WeaveFabricState fabric_state_;
   FakeLowpanLookup fake_lookup_;
   FakeNetRoutes fake_routes_;
   MockedEventLoggingThreadStackManagerDelegateImpl* tsm_delegate_;
diff --git a/src/connectivity/weave/adaptation/tests/warm_unittests.cpp b/src/connectivity/weave/adaptation/tests/warm_unittests.cpp
index 147d443..46347ee 100644
--- a/src/connectivity/weave/adaptation/tests/warm_unittests.cpp
+++ b/src/connectivity/weave/adaptation/tests/warm_unittests.cpp
@@ -552,6 +552,28 @@
   EXPECT_FALSE(fake_lowpan_lookup().device_route().ContainsSubnetForAddress(addr));
 }
 
+TEST_F(WarmTest, AddAddressThreadUnprovisioned) {
+  constexpr char kSubnetIp[] = "2001:0DB8:0042::";
+  constexpr uint8_t kPrefixLength = 48;
+  Inet::IPAddress addr;
+
+  // Fake unprovisioned TSM.
+  thread_delegate().set_is_thread_provisioned(false);
+
+  // Sanity check - no addresses assigned.
+  OwnedInterface& lowpan = GetThreadInterface();
+  EXPECT_EQ(lowpan.ipv6addrs.size(), 0u);
+
+  // Attempt to add the address.
+  ASSERT_TRUE(Inet::IPAddress::FromString(kSubnetIp, addr));
+  auto result = AddRemoveHostAddress(kInterfaceTypeThread, addr, kPrefixLength, /*add*/ true);
+  EXPECT_EQ(result, kPlatformResultFailure);
+
+  // Confirm that nothing was changed.
+  EXPECT_EQ(lowpan.ipv6addrs.size(), 0u);
+  EXPECT_FALSE(fake_lowpan_lookup().device_route().ContainsSubnetForAddress(addr));
+}
+
 TEST_F(WarmTest, AddRemoveAddressTunnel) {
   constexpr char kSubnetIp[] = "2001:0DB8:0042::";
   constexpr uint8_t kPrefixLength = 48;
@@ -613,12 +635,10 @@
   OwnedInterface& lowpan = GetThreadInterface();
   EXPECT_EQ(lowpan.ipv6addrs.size(), 0u);
 
-  // Attempt to remove the address, expecting success - if the interface isn't
-  // available, assume it's removed. WARM may invoke us after the interface is
-  // down. This is distinct from the 'add' case, where it represents a failure.
+  // Attempt to remove the address, expecting failure.
   ASSERT_TRUE(Inet::IPAddress::FromString(kSubnetIp, addr));
   auto result = AddRemoveHostAddress(kInterfaceTypeThread, addr, kPrefixLength, /*add*/ false);
-  EXPECT_EQ(result, kPlatformResultSuccess);
+  EXPECT_EQ(result, kPlatformResultFailure);
 
   // Sanity check - still no addresses assigned.
   EXPECT_EQ(lowpan.ipv6addrs.size(), 0u);
@@ -634,12 +654,10 @@
   OwnedInterface& weave_tun = GetTunnelInterface();
   EXPECT_EQ(weave_tun.ipv6addrs.size(), 0u);
 
-  // Attempt to remove the address, expecting success - if the interface isn't
-  // available, assume it's removed. WARM may invoke us after the interface is
-  // down. This is distinct from the 'add' case, where it represents a failure.
+  // Attempt to remove the address, expecting failure.
   ASSERT_TRUE(Inet::IPAddress::FromString(kSubnetIp, addr));
   auto result = AddRemoveHostAddress(kInterfaceTypeTunnel, addr, kPrefixLength, /*add*/ false);
-  EXPECT_EQ(result, kPlatformResultSuccess);
+  EXPECT_EQ(result, kPlatformResultFailure);
 
   // Sanity check - still no addresses assigned.
   EXPECT_EQ(weave_tun.ipv6addrs.size(), 0u);
@@ -654,12 +672,10 @@
   OwnedInterface& wlan = GetWiFiInterface();
   EXPECT_EQ(wlan.ipv6addrs.size(), 0u);
 
-  // Attempt to remove the address, expecting success - if the interface isn't
-  // available, assume it's removed. WARM may invoke us after the interface is
-  // down. This is distinct from the 'add' case, where it represents a failure.
+  // Attempt to remove the address, expecting failure.
   ASSERT_TRUE(Inet::IPAddress::FromString(kSubnetIp, addr));
   auto result = AddRemoveHostAddress(kInterfaceTypeWiFi, addr, kPrefixLength, /*add*/ false);
-  EXPECT_EQ(result, kPlatformResultSuccess);
+  EXPECT_EQ(result, kPlatformResultFailure);
 
   // Sanity check - still no addresses assigned.
   EXPECT_EQ(wlan.ipv6addrs.size(), 0u);
diff --git a/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.cpp b/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.cpp
index 124a73f..f377af9 100644
--- a/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.cpp
+++ b/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.cpp
@@ -12,7 +12,6 @@
 #include <Weave/DeviceLayer/PlatformManager.h>
 #include <Weave/DeviceLayer/ThreadStackManager.h>
 #include <Weave/Support/TraitEventUtils.h>
-#include <Warm/Warm.h>
 // clang-format on
 
 #include "thread_stack_manager_delegate_impl.h"
@@ -96,11 +95,6 @@
 // synchronously within the Device Layer, these functions all use SyncPtrs for
 // interfacing with the LoWPAN FIDL protocols.
 
-ThreadStackManagerDelegateImpl::ThreadStackManagerDelegateImpl()
-    : lookup_watcher_backoff_(zx::duration(zx_duration_from_sec(5)) /*initial_delay*/,
-                              2 /*retry_factor*/,
-                              zx::duration(zx_duration_from_sec(60)) /*max_delay*/) {}
-
 WEAVE_ERROR ThreadStackManagerDelegateImpl::InitThreadStack() {
   // See note at top to explain these SyncPtrs.
   LookupSyncPtr lookup;
@@ -180,62 +174,13 @@
 
   is_thread_supported_ = true;
 
-  WatchLowpanDeviceChange();
   if (!IsThreadProvisioned()) {
     return StartThreadJoining();
   }
+
   return WEAVE_NO_ERROR;
 }
 
-void ThreadStackManagerDelegateImpl::WatchLowpanDeviceChange() {
-  auto svc = PlatformMgrImpl().GetComponentContextForProcess()->svc();
-  zx_status_t status;
-
-  FX_LOGS(INFO) << "Begin watching for LoWPAN device changes.";
-  auto restart_callback = [this](zx_status_t error_status) {
-    if (error_status != ZX_OK) {
-      FX_LOGS(ERROR) << "Disconnected from fuchsia.lowpan.device, reconnecting: "
-                     << zx_status_get_string(error_status);
-      lookup_watcher_delayed_task_.set_handler([this]() { WatchLowpanDeviceChange(); });
-      lookup_watcher_delayed_task_.PostDelayed(PlatformMgrImpl().GetDispatcher(),
-                                               lookup_watcher_backoff_.GetNext());
-    }
-  };
-
-  status = svc->Connect(lookup_watcher_.NewRequest());
-  if (status != ZX_OK) {
-    restart_callback(status);
-    return;
-  }
-
-  lookup_watcher_.set_error_handler(restart_callback);
-  lookup_watcher_->WatchDevices(
-      fit::bind_member(this, &ThreadStackManagerDelegateImpl::OnLowpanDeviceChange));
-}
-
-void ThreadStackManagerDelegateImpl::OnLowpanDeviceChange(
-    fuchsia::lowpan::device::DeviceChanges changes) {
-  auto device_added = std::find(changes.added.begin(), changes.added.end(), interface_name_);
-  auto device_removed = std::find(changes.removed.begin(), changes.removed.end(), interface_name_);
-
-  bool added = device_added != changes.added.end();
-  bool removed = device_removed != changes.removed.end();
-
-  lookup_watcher_backoff_.Reset();
-  if (added) {
-    FX_LOGS(INFO) << "LoWPAN device added, notifying WARM.";
-    PlatformMgr().ScheduleWork(
-        [](intptr_t) { Warm::ThreadInterfaceStateChange(Warm::kInterfaceStateUp); });
-  } else if (removed) {
-    FX_LOGS(INFO) << "LoWPAN device removed, notifying WARM.";
-    PlatformMgr().ScheduleWork(
-        [](intptr_t) { Warm::ThreadInterfaceStateChange(Warm::kInterfaceStateDown); });
-  }
-
-  lookup_watcher_->WatchDevices(
-      fit::bind_member(this, &ThreadStackManagerDelegateImpl::OnLowpanDeviceChange));
-}
-
 bool ThreadStackManagerDelegateImpl::HaveRouteToAddress(const IPAddress& destAddr) {
   fuchsia::net::routes::StateSyncPtr routes;
   State_Resolve_Result result;
diff --git a/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.h b/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.h
index fa9675f8..e8c5803 100644
--- a/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.h
+++ b/src/connectivity/weave/adaptation/thread_stack_manager_delegate_impl.h
@@ -18,15 +18,13 @@
 #pragma GCC diagnostic pop
 // clang-format on
 
-#include "src/lib/backoff/exponential_backoff.h"
-
 namespace nl {
 namespace Weave {
 namespace DeviceLayer {
 
 class NL_DLL_EXPORT ThreadStackManagerDelegateImpl : public ThreadStackManagerImpl::Delegate {
  public:
-  ThreadStackManagerDelegateImpl();
+  ThreadStackManagerDelegateImpl() = default;
 
   // ThreadStackManager implementations.
 
@@ -59,10 +57,6 @@
   std::string interface_name_;
   bool is_thread_supported_ = false;
 
-  // Handle events from fuchsia.lowpan.device to maintain Thread state.
-  void WatchLowpanDeviceChange();
-  void OnLowpanDeviceChange(fuchsia::lowpan::device::DeviceChanges changes);
-
   zx_status_t GetProtocols(fuchsia::lowpan::device::Protocols protocols);
   zx_status_t GetDevice(fuchsia::lowpan::device::DeviceSyncPtr& device);
   zx_status_t GetDeviceState(fuchsia::lowpan::device::DeviceState& device_state);
@@ -83,14 +77,9 @@
   void HandleProvisioningProgress(
       fuchsia::lowpan::device::ProvisioningMonitor_WatchProgress_Result);
 
-  async::TaskClosure lookup_watcher_delayed_task_;
-  backoff::ExponentialBackoff lookup_watcher_backoff_;
-  fuchsia::lowpan::device::LookupPtr lookup_watcher_;
-
   async::TaskClosure joining_timeout_;
   async::TaskClosure joining_retry_delay_;
   fuchsia::lowpan::device::ProvisioningMonitorPtr provisioning_monitor_;
-
   bool joining_in_progress_ = false;
   bool joining_timeout_expired_ = false;
 };
diff --git a/src/connectivity/weave/adaptation/warm_support.cpp b/src/connectivity/weave/adaptation/warm_support.cpp
index 983f6ea..94d558e 100644
--- a/src/connectivity/weave/adaptation/warm_support.cpp
+++ b/src/connectivity/weave/adaptation/warm_support.cpp
@@ -31,9 +31,6 @@
 // Fixed name for tunnel interface.
 constexpr char kTunInterfaceName[] = "weav-tun0";
 
-// Prefix length for Thread addresses.
-constexpr uint8_t kThreadPrefixLength = 64;
-
 // Route metric values for primary and backup tunnels. Higher priority tunnels
 // have lower metric values so that they are prioritized in the routing table.
 constexpr uint32_t kRouteMetric_HighPriority = 0;
@@ -104,12 +101,29 @@
   return 0;
 }
 
-// Add or remove an address attached to the Thread or WLAN interfaces.
-PlatformResult AddRemoveAddressInternal(InterfaceType interface_type,
-                                        const Inet::IPAddress &address, uint8_t prefix_length,
-                                        bool add) {
+}  // namespace
+
+WEAVE_ERROR Init(WarmFabricStateDelegate *inFabricStateDelegate) { return WEAVE_NO_ERROR; }
+
+NL_DLL_EXPORT
+void CriticalSectionEnter(void) {}
+
+NL_DLL_EXPORT
+void CriticalSectionExit(void) {}
+
+NL_DLL_EXPORT
+void RequestInvokeActions(void) { ::nl::Weave::Warm::InvokeActions(); }
+
+// Add or remove address on tunnel interface.
+PlatformResult AddRemoveHostAddress(InterfaceType interface_type, const Inet::IPAddress &address,
+                                    uint8_t prefix_length, bool add) {
   auto svc = nl::Weave::DeviceLayer::PlatformMgrImpl().GetComponentContextForProcess()->svc();
 
+  if (interface_type == InterfaceType::kInterfaceTypeThread && !ConnectivityMgrImpl().IsThreadProvisioned()) {
+    FX_LOGS(WARNING) << "Not adding address when Thread is not provisioned.";
+    return kPlatformResultFailure;
+  }
+
   // Determine interface name to add/remove from.
   std::optional<std::string> interface_name = GetInterfaceName(interface_type);
   if (!interface_name) {
@@ -151,17 +165,13 @@
     FX_LOGS(ERROR) << "Failed to configure interface address to interface id "
                    << interface_id.value() << ": " << zx_status_get_string(status);
     return kPlatformResultFailure;
-  } else if (result.status == fuchsia::netstack::Status::UNKNOWN_ERROR) {
-    FX_LOGS(INFO) << "Interface address already configured on interface id "
-                  << interface_id.value();
-    return kPlatformResultSuccess;
   } else if (result.status != fuchsia::netstack::Status::OK) {
     FX_LOGS(ERROR) << "Unable to configure interface address to interface id "
                    << interface_id.value() << ": " << result.message;
     return kPlatformResultFailure;
   }
 
-  FX_LOGS(INFO) << (add ? "Added" : "Removed") << " address from interface id "
+  FX_LOGS(INFO) << (add ? "Added" : "Removed") << " host address from interface id "
                 << interface_id.value();
 
   // If this is not a Thread interface, adding the host address is sufficient.
@@ -216,8 +226,8 @@
 }
 
 // Add or remove route to/from forwarding table.
-PlatformResult AddRemoveRouteInternal(InterfaceType interface_type, const Inet::IPPrefix &prefix,
-                                      RoutePriority priority, bool add) {
+PlatformResult AddRemoveHostRoute(InterfaceType interface_type, const Inet::IPPrefix &prefix,
+                                  RoutePriority priority, bool add) {
   auto svc = nl::Weave::DeviceLayer::PlatformMgrImpl().GetComponentContextForProcess()->svc();
 
   // Determine interface name to add to/remove from.
@@ -295,7 +305,7 @@
     return kPlatformResultFailure;
   }
 
-  FX_LOGS(INFO) << (add ? "Added" : "Removed") << " route to/from interface id "
+  FX_LOGS(INFO) << (add ? "Added" : "Removed") << " host route to/from interface id "
                 << interface_id.value();
 
 #if WARM_CONFIG_SUPPORT_BORDER_ROUTING
@@ -337,55 +347,32 @@
   return kPlatformResultSuccess;
 }
 
-}  // namespace
-
-WEAVE_ERROR Init(WarmFabricStateDelegate *inFabricStateDelegate) { return WEAVE_NO_ERROR; }
-
-NL_DLL_EXPORT
-void CriticalSectionEnter(void) {}
-
-NL_DLL_EXPORT
-void CriticalSectionExit(void) {}
-
-// Add or remove a host address attached to the Thread or WLAN interfaces.
-PlatformResult AddRemoveHostAddress(InterfaceType interface_type, const Inet::IPAddress &address,
-                                    uint8_t prefix_length, bool add) {
-  return AddRemoveAddressInternal(interface_type, address, prefix_length, add);
-}
-
-// Add or remove a host route attached to the Thread or WLAN interfaces.
-PlatformResult AddRemoveHostRoute(InterfaceType interface_type, const Inet::IPPrefix &prefix,
-                                  RoutePriority priority, bool add) {
-  return AddRemoveRouteInternal(interface_type, prefix, priority, add);
-}
-
-NL_DLL_EXPORT
-void RequestInvokeActions(void) { ::nl::Weave::Warm::InvokeActions(); }
-
 #if WARM_CONFIG_SUPPORT_THREAD
-PlatformResult AddRemoveThreadAddress(InterfaceType interface_type, const Inet::IPAddress &address,
-                                      bool add) {
-  return AddRemoveAddressInternal(interface_type, address, kThreadPrefixLength, add);
+PlatformResult AddRemoveThreadAddress(InterfaceType inInterfaceType,
+                                      const Inet::IPAddress &inAddress, bool inAdd) {
+  // This will be handled during the subsequent AddRemoveHostAddress from WARM.
+  return kPlatformResultSuccess;
 }
 #endif  // WARM_CONFIG_SUPPORT_THREAD
 
 #if WARM_CONFIG_SUPPORT_THREAD_ROUTING
-PlatformResult StartStopThreadAdvertisement(InterfaceType interface_type,
-                                            const Inet::IPPrefix &prefix, bool start) {
+PlatformResult StartStopThreadAdvertisement(InterfaceType inInterfaceType,
+                                            const Inet::IPPrefix &inPrefix, bool inStart) {
   // This is handled by the LoWPAN service, nothing to do here.
   return kPlatformResultSuccess;
 }
 #endif  // WARM_CONFIG_SUPPORT_THREAD_ROUTING
 
 #if WARM_CONFIG_SUPPORT_BORDER_ROUTING
-PlatformResult AddRemoveThreadRoute(InterfaceType interface_type, const Inet::IPPrefix &prefix,
-                                    RoutePriority priority, bool add) {
-  return AddRemoveRouteInternal(interface_type, prefix, priority, add);
+PlatformResult AddRemoveThreadRoute(InterfaceType inInterfaceType, const Inet::IPPrefix &inPrefix,
+                                    RoutePriority inPriority, bool inAdd) {
+  // This will be handled during the subsequent AddRemoveHostAddress from WARM.
+  return kPlatformResultSuccess;
 }
 
-PlatformResult SetThreadRoutePriority(InterfaceType interface_type, const Inet::IPPrefix &prefix,
-                                      RoutePriority priority) {
-  // This will be handled during the AddRemoveThreadRoute from WARM.
+PlatformResult SetThreadRoutePriority(InterfaceType inInterfaceType, const Inet::IPPrefix &inPrefix,
+                                      RoutePriority inPriority) {
+  // This will be handled during the subsequent AddRemoveHostAddress from WARM.
   return kPlatformResultSuccess;
 }
 #endif  // WARM_CONFIG_SUPPORT_BORDER_ROUTING