summaryrefslogtreecommitdiff
path: root/node/Topology.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-08 20:53:05 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-08 20:53:05 -0400
commit775fef9ce9ad52c5f01e2eb88c301f6e40e42bd2 (patch)
tree25dd3dcdf243fa01a024f1b8149506fd560a93f8 /node/Topology.cpp
parent6eb77da0947377712bf331ba25424dfe0f7a34e0 (diff)
downloadinfinitytier-775fef9ce9ad52c5f01e2eb88c301f6e40e42bd2.tar.gz
infinitytier-775fef9ce9ad52c5f01e2eb88c301f6e40e42bd2.zip
Silly multicast propagation fix: exclude upstream sender to never send duplicate multicasts back to where they came from
Diffstat (limited to 'node/Topology.cpp')
-rw-r--r--node/Topology.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/node/Topology.cpp b/node/Topology.cpp
index cbe42e8f..1b7973a6 100644
--- a/node/Topology.cpp
+++ b/node/Topology.cpp
@@ -242,7 +242,7 @@ unsigned int Topology::pickMulticastPropagationPeers(uint64_t nwid,const Address
if (g != mgm->second.end()) {
uint64_t now = Utils::now();
for(std::map< Address,uint64_t >::iterator m(g->second.begin());m!=g->second.end();) {
- if ((now - m->second) < ZT_MULTICAST_LIKE_EXPIRE) {
+ if (((now - m->second) < ZT_MULTICAST_LIKE_EXPIRE)&&(m->first != exclude)) {
std::map< Address,SharedPtr<Peer> >::const_iterator p(_activePeers.find(m->first));
if (p != _activePeers.end()) {
possiblePeers[numPossiblePeers++] = p->second;