From 3aa406001844dfbd2b5b5c714f5de003dc5c2052 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Fri, 12 Aug 2022 11:23:38 -0700 Subject: [PATCH] [routing-manager] accept any ULA/GUA with 64-bit len as OMR prefix (#8016) This commit updates `IsValidOmrPrefix()` to accept any ULA/GUA prefix with 64-bit length as OMR prefix. --- src/core/border_router/routing_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/border_router/routing_manager.cpp b/src/core/border_router/routing_manager.cpp index 253a25466..5d2352037 100644 --- a/src/core/border_router/routing_manager.cpp +++ b/src/core/border_router/routing_manager.cpp @@ -932,8 +932,8 @@ bool RoutingManager::IsValidOmrPrefix(const NetworkData::OnMeshPrefixConfig &aOn bool RoutingManager::IsValidOmrPrefix(const Ip6::Prefix &aPrefix) { - // Accept ULA prefix and GUA prefix. - return (aPrefix.IsUniqueLocal() || (aPrefix.mLength >= 3 && (aPrefix.GetBytes()[0] & 0xE0) == 0x20)); + // Accept ULA/GUA prefixes with 64-bit length. + return (aPrefix.GetLength() == kOmrPrefixLength) && !aPrefix.IsLinkLocal() && !aPrefix.IsMulticast(); } bool RoutingManager::IsValidOnLinkPrefix(const Ip6::Nd::PrefixInfoOption &aPio)