mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-06 12:33:44 +02:00
Bug fix in multicast changes.
This commit is contained in:
parent
2efc9b31bd
commit
a0a9d52213
1 changed files with 6 additions and 3 deletions
|
@ -251,8 +251,9 @@ public:
|
||||||
if (peer) {
|
if (peer) {
|
||||||
unsigned int chk = 0;
|
unsigned int chk = 0;
|
||||||
while (chk < chosen) {
|
while (chk < chosen) {
|
||||||
if (peers[chk++] == peer)
|
if (peers[chk] == peer)
|
||||||
break;
|
break;
|
||||||
|
++chk;
|
||||||
}
|
}
|
||||||
if (chk == chosen) { /* not already picked */
|
if (chk == chosen) { /* not already picked */
|
||||||
peers[chosen++] = peer;
|
peers[chosen++] = peer;
|
||||||
|
@ -262,7 +263,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return chosen;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -327,7 +328,9 @@ public:
|
||||||
|
|
||||||
/* Tack on a supernode if we have no next hops */
|
/* Tack on a supernode if we have no next hops */
|
||||||
if (!chosen) {
|
if (!chosen) {
|
||||||
P peer = topology.getBestSupernode();
|
Address exclude[1];
|
||||||
|
exclude[0] = originalSubmitter; // if it came from a supernode, don't boomerang
|
||||||
|
P peer = topology.getBestSupernode(exclude,1,true);
|
||||||
if (peer)
|
if (peer)
|
||||||
peers[chosen++] = peer;
|
peers[chosen++] = peer;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue