[dua] add `IsDomainUnicast()` helper method (#5230)
diff --git a/src/core/backbone_router/leader.cpp b/src/core/backbone_router/leader.cpp
index 353f6f5..5453f08 100644
--- a/src/core/backbone_router/leader.cpp
+++ b/src/core/backbone_router/leader.cpp
@@ -288,6 +288,11 @@
#endif
}
+bool Leader::IsDomainUnicast(const Ip6::Address &aAddress) const
+{
+ return HasDomainPrefix() && aAddress.PrefixMatch(mDomainPrefix.mPrefix) >= mDomainPrefix.mLength;
+}
+
} // namespace BackboneRouter
} // namespace ot
diff --git a/src/core/backbone_router/leader.hpp b/src/core/backbone_router/leader.hpp
index 08df804..5df7ac0 100644
--- a/src/core/backbone_router/leader.hpp
+++ b/src/core/backbone_router/leader.hpp
@@ -152,6 +152,17 @@
*/
bool HasDomainPrefix(void) const { return (mDomainPrefix.mLength > 0); }
+ /**
+ * This method indicates whether or not the address is a Domain Unicast Address.
+ *
+ * @param[in] aAddress A reference to the address.
+ *
+ * @retval true @p aAddress is a domain unicast address.
+ * @retval false @p aAddress is not a domain unicast address.
+ *
+ */
+ bool IsDomainUnicast(const Ip6::Address &aAddress) const;
+
private:
void UpdateBackboneRouterPrimary(void);
void UpdateDomainPrefixConfig(void);