summaryrefslogtreecommitdiff
path: root/node/Network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Network.cpp')
-rw-r--r--node/Network.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/node/Network.cpp b/node/Network.cpp
index 7c2a4084..4fd88f67 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -1237,6 +1237,13 @@ void Network::_announceMulticastGroups(const MulticastGroup *const onlyThis)
}
_announceMulticastGroupsTo(*a,groups);
}
+
+ // Announce to controller, which does not need our COM since it obviously
+ // knows if we are a member. Of course if we already did or are going to
+ // below then we can skip it here.
+ const Address c(controller());
+ if ( (std::find(upstreams.begin(),upstreams.end(),c) == upstreams.end()) && (!_memberships.contains(c)) )
+ _announceMulticastGroupsTo(c,groups);
}
// Make sure that all "network anchors" have Membership records so we will