mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-22 18:22:37 +00:00
Added ZT_DIRECT_PATH_PUSH_INTERVAL_MULTIPATH to decrease link aggregation time
This commit is contained in:
parent
3c7e25ed58
commit
d8ce1f7914
@ -546,6 +546,15 @@
|
|||||||
*/
|
*/
|
||||||
#define ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH 120000
|
#define ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH 120000
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interval between direct path pushes in milliseconds if we are currently in multipath
|
||||||
|
* mode. In this mode the distinction between ZT_DIRECT_PATH_PUSH_INTERVAL and
|
||||||
|
* ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH does not exist since we want to inform other
|
||||||
|
* peers of this peer's new link/address as soon as possible so that both peers can
|
||||||
|
* begin forming an aggregated link.
|
||||||
|
*/
|
||||||
|
#define ZT_DIRECT_PATH_PUSH_INTERVAL_MULTIPATH ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH / 16
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Time horizon for push direct paths cutoff
|
* Time horizon for push direct paths cutoff
|
||||||
*/
|
*/
|
||||||
|
@ -210,7 +210,8 @@ void Peer::received(
|
|||||||
// is done less frequently.
|
// is done less frequently.
|
||||||
if (this->trustEstablished(now)) {
|
if (this->trustEstablished(now)) {
|
||||||
const int64_t sinceLastPush = now - _lastDirectPathPushSent;
|
const int64_t sinceLastPush = now - _lastDirectPathPushSent;
|
||||||
if (sinceLastPush >= ((hops == 0) ? ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH : ZT_DIRECT_PATH_PUSH_INTERVAL)) {
|
if (sinceLastPush >= ((hops == 0) ? ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH : ZT_DIRECT_PATH_PUSH_INTERVAL)
|
||||||
|
|| (_canUseMultipath && (sinceLastPush >= (ZT_DIRECT_PATH_PUSH_INTERVAL_MULTIPATH)))) {
|
||||||
_lastDirectPathPushSent = now;
|
_lastDirectPathPushSent = now;
|
||||||
std::vector<InetAddress> pathsToPush(RR->node->directPaths());
|
std::vector<InetAddress> pathsToPush(RR->node->directPaths());
|
||||||
if (pathsToPush.size() > 0) {
|
if (pathsToPush.size() > 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user