From ab57ca2f44b4d74fd47d19dd065d95b0ca5d7cb4 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Wed, 18 May 2022 15:35:05 -0700 Subject: [PATCH] [ip6] simplify `Ip6::ShouldForwardToThread()` (#7706) --- src/core/net/ip6.cpp | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 3f5ec0de3..b510fb12c 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -1309,43 +1309,29 @@ exit: bool Ip6::ShouldForwardToThread(const MessageInfo &aMessageInfo, bool aFromHost) const { - OT_UNUSED_VARIABLE(aFromHost); + bool shouldForward = false; - bool rval = false; - - if (aMessageInfo.GetSockAddr().IsMulticast()) + if (aMessageInfo.GetSockAddr().IsMulticast() || aMessageInfo.GetSockAddr().IsLinkLocal()) { - // multicast - ExitNow(rval = true); - } - else if (aMessageInfo.GetSockAddr().IsLinkLocal()) - { - // on-link link-local address - ExitNow(rval = true); + shouldForward = true; } else if (IsOnLink(aMessageInfo.GetSockAddr())) { - // on-link global address #if OPENTHREAD_FTD && OPENTHREAD_CONFIG_BACKBONE_ROUTER_DUA_NDPROXYING_ENABLE - ExitNow(rval = (aFromHost || - !Get().ShouldForwardDuaToBackbone(aMessageInfo.GetSockAddr()))); + shouldForward = + (aFromHost || !Get().ShouldForwardDuaToBackbone(aMessageInfo.GetSockAddr())); #else - ExitNow(rval = true); + OT_UNUSED_VARIABLE(aFromHost); + shouldForward = true; #endif } else if (Get().RouteLookup(aMessageInfo.GetPeerAddr(), aMessageInfo.GetSockAddr(), nullptr) == kErrorNone) { - // route - ExitNow(rval = true); - } - else - { - ExitNow(rval = false); + shouldForward = true; } -exit: - return rval; + return shouldForward; } const Netif::UnicastAddress *Ip6::SelectSourceAddress(MessageInfo &aMessageInfo)