Adam Ierymenko
f21ecb3762
Yet more major and very nit-picky refactoring for performance, etc. Also use std::atomic<> now with a TODO to implement a shim if we ever do need to build this on a pre-c++11 compiler.
2020-02-12 14:04:25 -08:00
Adam Ierymenko
df346a6df6
Work in progress... clean up memcpy and create an annotation for that, lots more porting to new Buf/Protocol code, etc.
2020-02-03 13:00:13 -08:00
Adam Ierymenko
59da359b06
More porting to new Buf system.
2020-01-24 23:36:08 -08:00
Adam Ierymenko
5c6bf9d0a4
Wiring up addroot/removeroot
2020-01-23 18:05:34 -08:00
Adam Ierymenko
d7b31fe014
Warning removal and build fixes.
2020-01-21 12:55:51 -08:00
Adam Ierymenko
eef70e198b
Version 2.x notice updates and other boring stuff.
2020-01-20 08:46:20 -08:00
Adam Ierymenko
53b7c8f725
Make Peer bootstrap field an Endpoint even though we only support InetAddress right now, and a bunch more stuff.
2020-01-20 08:08:38 -08:00
Adam Ierymenko
3ff9ffd5d4
A bunch of wiring up of stuff...
2020-01-17 14:01:22 -08:00
Adam Ierymenko
ee5a988f14
Wiring back up PUSH_DIRECT_PATHS and friends.
2020-01-13 14:04:17 -08:00
Adam Ierymenko
a5aea2f3bb
Everything but the Go code builds now!
2020-01-10 21:09:13 -08:00
Adam Ierymenko
7291ac2093
A bunch more cleanup and build fixes, and remove old version of multipath code to prep for new version.
2020-01-10 20:40:14 -08:00
Adam Ierymenko
9642ff5fb9
.
2020-01-08 18:08:41 -08:00
Adam Ierymenko
6267c67888
A bunch of cleanup and refactoring toward 2.x
2019-12-12 16:15:49 -08:00
Adam Ierymenko
22e95b3bcb
.
2019-10-09 10:00:30 -07:00
Adam Ierymenko
5c06d40358
cleanup
2019-09-12 10:37:26 -07:00
Adam Ierymenko
592e743349
Yet more multicast work.
2019-09-09 15:49:17 -07:00
Adam Ierymenko
6f22570648
Optimization and cleanup
2019-08-26 20:18:28 -07:00
Adam Ierymenko
6f6138c500
Merge relicensing change from dev
2019-08-23 09:27:13 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
Adam Ierymenko
0731f3f1a9
wiring more stuff up, and simplification of timing loops
2019-08-23 07:04:20 -07:00
Adam Ierymenko
b66431bc29
Work in progress...
2019-08-22 13:06:08 -07:00
Adam Ierymenko
95a6fce2b4
Yet more cleanup, it builds again now.
2019-08-21 14:36:56 -07:00
Adam Ierymenko
0b5472f9fb
Tons and tons of cleanup and cruft removal
2019-08-21 14:24:45 -07:00
Adam Ierymenko
67a9898a99
Bunch more work on DNS, cleanup, removal of obsolete cruft.
2019-08-21 09:27:45 -07:00
Adam Ierymenko
5cfbb0a423
Clean up dead stuff from OneService and fix build errors.
2019-08-19 19:21:33 -07:00
Adam Ierymenko
d7a31088ba
Cleanup, warning removal, cppcheck informed cleanup.
2019-08-14 10:35:57 -07:00
Adam Ierymenko
debd5a5c5e
Add capability for P2P multicast propagation, and some cleanup.
2019-07-16 13:33:11 -05: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