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