diff --git a/src/core/backbone_router/leader.cpp b/src/core/backbone_router/leader.cpp index 353f6f549..5453f089e 100644 --- a/src/core/backbone_router/leader.cpp +++ b/src/core/backbone_router/leader.cpp @@ -288,6 +288,11 @@ void Leader::UpdateDomainPrefixConfig(void) #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 08df80470..5df7ac050 100644 --- a/src/core/backbone_router/leader.hpp +++ b/src/core/backbone_router/leader.hpp @@ -152,6 +152,17 @@ public: */ 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);