Grant Limberg
d4c0349de9
Revert "#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10"
...
This reverts commit 270debb3fc .
7 years ago
Joseph Henry
270debb3fc
#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10
7 years ago
Joseph Henry
0e597191b8
Updated licenses for 2019
7 years ago
Joseph Henry
bdcdccfcc3
Improved path selection, more efficient traffic allocation, lower QoS/ACK overhead
8 years ago
Joseph Henry
52264d5e28
Fixed aggregateLinkLatency(). Also changed unit for throughput from byte to bit
8 years ago
Joseph Henry
17fbb020e7
Added multipath field to zerotier-cli status output. Adjusted how path estimates are computed and cached
8 years ago
Joseph Henry
f8005b88ad
Minor cleanup. More efficient push() operation for RingBuffer
8 years ago
Joseph Henry
0faa655b83
Reduced how often relative path qualities and aggregate link allocations are computed
8 years ago
Joseph Henry
6fddf31db3
Improved rate limit logic for QoS/ACK packets. Also reduced how often processBackgroundPathMeasurements() is called
8 years ago
Joseph Henry
9681fedbb4
Spellcheck sweep across codebase
8 years ago
Joseph Henry
91a22a686a
Added auto-escalation to multipath if both peers support it. Improved QoS/ACK tracking. Related bug fixes
8 years ago
Joseph Henry
46a7a2be2e
Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality
8 years ago
Joseph Henry
91c8e82c42
Adjusted locking order of _paths_m for path pruning. Other minor multipath changes
8 years ago
Joseph Henry
1debe2292d
Cleanup. Misc type conversion and signedness fixes
8 years ago
Joseph Henry
6a2ba4baca
Introduced basic multipath support
8 years ago
Adam Ierymenko
fe1fa20c6c
Fix build on Intel C/C++ Compiler for Linux.
8 years ago
Adam Ierymenko
6d8e1e8783
More cleanup of old stuff.
8 years ago
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
8 years ago
Adam Ierymenko
9c7ee5a21e
Tear out old "link quality" stuff since it is not currently used and will be done differently.
8 years ago
Adam Ierymenko
0608704626
Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions.
8 years ago
Adam Ierymenko
508fa6a7fe
A few fixes for cluster mode.
9 years ago
Adam Ierymenko
459f1e7bfb
Refactor path stability stuff and add basic multipath support.
9 years ago
Grant Limberg
b1d60df44c
timestamps changed from uint64_t to int64_t
...
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability. This will keep time calculations within expected ranges.
9 years ago
Adam Ierymenko
640ad577d1
.
9 years ago
Adam Ierymenko
f18158a52d
.
9 years ago
Adam Ierymenko
2f20258807
.
9 years ago
Adam Ierymenko
baa10c2995
.
9 years ago
Adam Ierymenko
1b68d6dbdc
License header update.
9 years ago
Adam Ierymenko
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
9 years ago
Adam Ierymenko
a97918f812
Windows build fixes.
9 years ago
Adam Ierymenko
1d39be61b2
ZeroTier now has link quality measurement. We are not using this yet but decided to put it in to prep for future QoS support and SD-WAN stuff.
9 years ago
Adam Ierymenko
2bf9145ae6
Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix.
9 years ago
Adam Ierymenko
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
10 years ago
Adam Ierymenko
8ef0e4bbaf
Get rid of HELLO rate gate on path since its basically worthless. There are 65535 ports per IP.
10 years ago
Adam Ierymenko
ab9afbc749
(1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
10 years ago
Adam Ierymenko
a7d988745b
Use ECHO instead of HELLO where possible.
10 years ago
Adam Ierymenko
48a374c82c
(1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection.
10 years ago
Adam Ierymenko
43780742b0
comments, docs
10 years ago
Adam Ierymenko
d7f2287ce9
More tweaks to path behavior.
10 years ago
Adam Ierymenko
4992ac2d9f
Cluster sub-optimal is in fact necessary...
10 years ago
Adam Ierymenko
e8f6b4b5d3
Rest of big Path canonicalization refactor.
10 years ago
Adam Ierymenko
a3bdae9735
Work in progress: Path canonicalization refactor.
10 years ago
Adam Ierymenko
584228b2b5
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
10 years ago
Adam Ierymenko
2c995f1f91
IPv6 links are unfortunately not "reliable." Many IPv6 gateways, while not
...
implementing NAT, do implement stateful firewalling with absurdly short
timeouts (<60s). Keepalives are still required in IPv6.
Network engineers continue to mindlessly carry forward cruft and baggage
from IPv4 to IPv6.
10 years ago
Adam Ierymenko
2f18a92e20
Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
10 years ago
Adam Ierymenko
4c455876f9
Revise peer path weighting to always prioritize cluster-optimal paths.
10 years ago
Adam Ierymenko
82348e1537
Temporarily blacklist he.net IPv6 tunnel addresses for paths: these usually have a very low MTU which causes packet loss and other issues.
10 years ago
Adam Ierymenko
63ec7e58d4
Make activity no longer a function of ping frequency, since this causes compatibility bugs when the latter was modified due to timer interactions with other versions.
10 years ago
Adam Ierymenko
4e4fd51117
boring doc stuff
10 years ago
Adam Ierymenko
05b2c0743f
Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
10 years ago