Commit Graph

206 Commits

Author SHA1 Message Date
Adam Ierymenko
68c9398f71
Merge branch 'master' into dev 2022-03-10 15:48:47 -05:00
Adam Ierymenko
34a64f30de
Bump the peer cache serialization version due to path changes, will cause peers to be re-learned. Technically the peer cache is optional anyway so it's not going to break anything and should guard against weird issues due to path learning changes on restart. 2022-03-09 09:13:26 -05:00
Joseph Henry
8148c658cf
Remove bonds for peers that have fully expired. Remove notion of bond health 2022-03-02 09:55:23 -08:00
Joseph Henry
5e13b42abc
Rate gate ECHO per Path instead of per Peer 2022-02-21 14:37:39 -08:00
Joseph Henry
1b0c183913
Force non-leaf peers into local active-backup bond when multipath is enabled 2022-02-17 15:16:33 -08:00
Joseph Henry
4190318c85
Fix typo in constant name 2022-01-28 10:41:21 -08:00
Shawn
ae93cccde6 FIX: fix wrong flag usage of rateGateCredentialsReceived 2022-01-27 11:59:21 +08:00
Joseph Henry
e1af003e4f
Consolidation of multipath logic. Better system separation 2021-09-01 21:37:49 -07:00
Joseph Henry
0ed9db05d2
Restore original ECHO rate limiting (changed for multipath) 2021-07-20 19:06:47 -07:00
Adam Ierymenko
147945d20f
Lets try always supplying the AES keys to Packet dearmor() and see if that prevents the coma problem. 2021-02-13 00:01:49 -05:00
Adam Ierymenko
ac808d51d6
Crash fix 2021-02-03 18:56:07 -05:00
Adam Ierymenko
378bc73bf8
Clean up some peer path learning logic, use a cheaper data structure. 2021-02-03 14:30:03 -05:00
Adam Ierymenko
72d48da210
Fix duplicate paths and reduce thrashing issues. 2021-02-02 16:11:13 -05:00
Adam Ierymenko
7219ca0c0f AES works! Only with this or newer nodes. Uses salsa with older ones as usual. 2020-09-14 20:44:21 -04:00
Adam Ierymenko
e6b5f8aabd AES work... but disabled in this commit. 2020-09-10 15:43:40 -04:00
Adam Ierymenko
b7b01da742 Wire up dearmor() path. 2020-08-25 14:13:20 -07:00
Adam Ierymenko
93d6b41898 Disable AES in commit so as not to break other builds. 2020-08-25 08:08:54 -07:00
Adam Ierymenko
2ac49d99dd AES integrated on send side. 2020-08-21 14:23:31 -07:00
Adam Ierymenko
06730c7d1d BSL date bump 2020-08-20 12:51:39 -07:00
Joseph Henry
edd960566a Improve bond tracing, fix bond initialization bugs, remove vestigial debug code 2020-08-06 18:10:40 -07:00
Joseph Henry
a50e8e9878 Add Bonds, Slaves, and Flows 2020-05-12 01:35:48 -07:00
Joseph Henry
de9cfbe9b0 Merge dev into multipath 2020-05-12 00:08:52 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
Joseph Henry
5453cab22b Added flow-awareness check for policies, more work on ZT_MULTIPATH_ACTIVE_BACKUP 2019-08-20 18:50:38 -07:00
Joseph Henry
b0a91c0187 Partial implementation of ZT_MULTIPATH_ACTIVE_BACKUP 2019-08-20 16:19:20 -07:00
Joseph Henry
0634214f2c Added notion of Flows 2019-08-19 21:52:33 -07:00
Joseph Henry
3c7e25ed58 Added call to computeAggregateAllocation() in multipath mode=1 to give realtime allocation output 2019-08-12 17:04:27 -07:00
Adam Ierymenko
cacdb445c7 Bump protocol version to 10 2019-05-14 13:54:27 -07:00
Adam Ierymenko
d530356055 RingBuffer<> is now templated with size, buffer is now static. 2019-03-22 14:39:52 -07:00
Adam Ierymenko
63ec19674c . 2019-03-19 16:43:43 -07:00
Grant Limberg
d4c0349de9 Revert "#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10"
This reverts commit 270debb3fc.
2019-03-11 09:44:40 -07:00
Joseph Henry
270debb3fc #ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10 2019-03-01 13:28:00 -08:00
Joseph Henry
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
Joseph Henry
bdcdccfcc3 Improved path selection, more efficient traffic allocation, lower QoS/ACK overhead 2018-06-22 16:30:20 -07:00
Joseph Henry
17fbb020e7 Added multipath field to zerotier-cli status output. Adjusted how path estimates are computed and cached 2018-06-14 16:34:45 -07:00
Joseph Henry
f8005b88ad Minor cleanup. More efficient push() operation for RingBuffer 2018-06-13 14:50:37 -07:00
Joseph Henry
0faa655b83 Reduced how often relative path qualities and aggregate link allocations are computed 2018-06-12 16:30:46 -07:00
Joseph Henry
6fddf31db3 Improved rate limit logic for QoS/ACK packets. Also reduced how often processBackgroundPathMeasurements() is called 2018-06-12 15:24:12 -07:00
Joseph Henry
9681fedbb4 Spellcheck sweep across codebase 2018-06-07 17:25:27 -07:00
Joseph Henry
b6d97af451 Added rate gates for QOS and ACK packets 2018-06-07 15:26:18 -07:00
Joseph Henry
91a22a686a Added auto-escalation to multipath if both peers support it. Improved QoS/ACK tracking. Related bug fixes 2018-06-01 18:03:59 -07:00
Joseph Henry
46a7a2be2e Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality 2018-05-30 17:45:29 -07:00
Joseph Henry
6a2ba4baca Introduced basic multipath support 2018-05-01 16:32:15 -07:00
Adam Ierymenko
6d8e1e8783 More cleanup of old stuff. 2018-01-26 21:34:56 -05:00
Adam Ierymenko
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
Adam Ierymenko
9c7ee5a21e Tear out old "link quality" stuff since it is not currently used and will be done differently. 2018-01-08 13:06:24 -08:00
Adam Ierymenko
508fa6a7fe A few fixes for cluster mode. 2017-10-25 15:44:10 -07:00
Adam Ierymenko
71bdaa9508 Now with more worky. 2017-10-25 13:27:28 -07:00
Adam Ierymenko
459f1e7bfb Refactor path stability stuff and add basic multipath support. 2017-10-25 12:42:14 -07:00
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.
2017-10-02 15:52:57 -07:00