diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-07-08 20:53:05 -0400 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-07-08 20:53:05 -0400 |
| commit | 775fef9ce9ad52c5f01e2eb88c301f6e40e42bd2 (patch) | |
| tree | 25dd3dcdf243fa01a024f1b8149506fd560a93f8 /node/Topology.cpp | |
| parent | 6eb77da0947377712bf331ba25424dfe0f7a34e0 (diff) | |
| download | infinitytier-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.cpp | 2 |
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; |
