diff --git a/src/core/backbone_router/local.cpp b/src/core/backbone_router/local.cpp index 69faae0b7..e8bf10470 100644 --- a/src/core/backbone_router/local.cpp +++ b/src/core/backbone_router/local.cpp @@ -224,7 +224,7 @@ void Local::SetState(BackboneRouterState aState) { // Subscribe All Network Backbone Routers Multicast Address for both Secondary and Primary state. mAllNetworkBackboneRouters.GetAddress().SetMulticastNetworkPrefix(Get().GetMeshLocalPrefix()); - IgnoreError(Get().SubscribeMulticast(mAllNetworkBackboneRouters)); + Get().SubscribeMulticast(mAllNetworkBackboneRouters); } else if (aState == OT_BACKBONE_ROUTER_STATE_DISABLED) { @@ -353,7 +353,7 @@ void Local::ApplyMeshLocalPrefix(void) IgnoreError(Get().UnsubscribeMulticast(mAllNetworkBackboneRouters)); mAllNetworkBackboneRouters.GetAddress().SetMulticastNetworkPrefix(Get().GetMeshLocalPrefix()); - IgnoreError(Get().SubscribeMulticast(mAllNetworkBackboneRouters)); + Get().SubscribeMulticast(mAllNetworkBackboneRouters); if (IsPrimary()) { @@ -382,7 +382,7 @@ void Local::UpdateAllDomainBackboneRouters(Leader::DomainPrefixState aState) if (aState == Leader::kDomainPrefixAdded || aState == Leader::kDomainPrefixRefreshed) { mAllDomainBackboneRouters.GetAddress().SetMulticastNetworkPrefix(*Get().GetDomainPrefix()); - IgnoreError(Get().SubscribeMulticast(mAllDomainBackboneRouters)); + Get().SubscribeMulticast(mAllDomainBackboneRouters); } exit: diff --git a/src/core/net/netif.cpp b/src/core/net/netif.cpp index c7fb0ce01..bf9ea49ca 100644 --- a/src/core/net/netif.cpp +++ b/src/core/net/netif.cpp @@ -303,11 +303,9 @@ exit: return error; } -otError Netif::SubscribeMulticast(NetifMulticastAddress &aAddress) +void Netif::SubscribeMulticast(NetifMulticastAddress &aAddress) { - otError error; - - SuccessOrExit(error = mMulticastAddresses.Add(aAddress)); + SuccessOrExit(mMulticastAddresses.Add(aAddress)); Get().Signal(OT_CHANGED_IP6_MULTICAST_SUBSCRIBED); @@ -315,7 +313,7 @@ otError Netif::SubscribeMulticast(NetifMulticastAddress &aAddress) mAddressCallback(&aAddress.mAddress, kMulticastPrefixLength, /* IsAdded */ true, mAddressCallbackContext); exit: - return error; + return; } otError Netif::UnsubscribeMulticast(const NetifMulticastAddress &aAddress) diff --git a/src/core/net/netif.hpp b/src/core/net/netif.hpp index 2cd2c44ed..ae3fd90e2 100644 --- a/src/core/net/netif.hpp +++ b/src/core/net/netif.hpp @@ -309,11 +309,8 @@ public: * * @param[in] aAddress A reference to the multicast address. * - * @retval OT_ERROR_NONE Successfully subscribed to @p aAddress. - * @retval OT_ERROR_ALREADY The multicast address is already subscribed. - * */ - otError SubscribeMulticast(NetifMulticastAddress &aAddress); + void SubscribeMulticast(NetifMulticastAddress &aAddress); /** * This method unsubscribes the network interface to a multicast address. diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 137d98ceb..581d06c5b 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -940,8 +940,8 @@ void Mle::ApplyMeshLocalPrefix(void) // Add the addresses back into the table. Get().AddUnicastAddress(mMeshLocal64); - IgnoreError(Get().SubscribeMulticast(mLinkLocalAllThreadNodes)); - IgnoreError(Get().SubscribeMulticast(mRealmLocalAllThreadNodes)); + Get().SubscribeMulticast(mLinkLocalAllThreadNodes); + Get().SubscribeMulticast(mRealmLocalAllThreadNodes); if (IsAttached()) { diff --git a/tests/unit/test_netif.cpp b/tests/unit/test_netif.cpp index f1c8debca..dbfcc869f 100644 --- a/tests/unit/test_netif.cpp +++ b/tests/unit/test_netif.cpp @@ -136,11 +136,11 @@ void TestNetifMulticastAddresses(void) "UnsubscribeAllRoutersMulticast() did not fail when not subscribed"); IgnoreError(netifAddress.GetAddress().FromString(kTestAddress1)); - SuccessOrQuit(netif.SubscribeMulticast(netifAddress), "SubscribeMulticast() failed"); + netif.SubscribeMulticast(netifAddress); VerifyMulticastAddressList(netif, &addresses[2], 4); - VerifyOrQuit(netif.SubscribeMulticast(netifAddress) == OT_ERROR_ALREADY, - "SubscribeMulticast() did not fail when address was already subscribed"); + netif.SubscribeMulticast(netifAddress); + VerifyMulticastAddressList(netif, &addresses[2], 4); SuccessOrQuit(netif.UnsubscribeAllNodesMulticast(), "UnsubscribeAllNodesMulticast() failed"); VerifyMulticastAddressList(netif, &addresses[5], 1);