Commit Graph

263 Commits

Author SHA1 Message Date
46a7a2be2e Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality 2018-05-30 17:45:29 -07:00
6a2ba4baca Introduced basic multipath support 2018-05-01 16:32:15 -07:00
51aadcf901 A few fixes dicatated by valgrind. 2018-02-09 06:35:01 +00:00
d3d58ba8a7 Add support for designated multicast replicators to Multicaster::send(). 2018-01-26 21:19:51 -05:00
f03fd57997 Clean up some multicast code. 2018-01-26 20:38:44 -05:00
4419734a7d Implement continuous contacting of designated anchors and multicast replicators - GitHub issue #666 2018-01-25 07:11:59 -05:00
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
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
16613ab5fb Clean up remote tracing code, add per-network remote trace settings, add remote trace level, and make local trace output readable again. 2017-12-04 14:40:10 -08:00
459f1e7bfb Refactor path stability stuff and add basic multipath support. 2017-10-25 12:42:14 -07:00
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
f8014413a3 Add UDP MTU configurability. 2017-09-01 16:25:34 -07:00
dd8b03a5c5 Threading issue fix? 2017-08-23 18:28:40 -07:00
4d5983114c Fix another deadlock. 2017-08-23 17:14:06 -07:00
0a9c3b5571 Fix possible deadlock. 2017-08-23 16:59:31 -07:00
180049a277 Fix pointer bug. 2017-08-23 16:55:22 -07:00
6ee201865b Clean up WHOIS code. 2017-08-23 16:42:17 -07:00
9cfc109527 Tighten a few timings. 2017-08-23 14:00:08 -07:00
ff5e22031a Small fix: should expire packets to prevent repeated WHOISes. 2017-08-08 13:24:37 -07:00
e3cf756785 Make rxQueue lock-free using an atomic counter ring buffer. 2017-08-08 13:21:10 -07:00
ab0806a036 Cleanup. 2017-07-17 13:48:39 -07:00
495c5ce81d Bunch of remote tracing work. 2017-07-13 10:51:05 -07:00
dab0fb9e05 Remote trace: plumbing, replace old TRACE with calls to Trace object. 2017-07-07 16:58:05 -07:00
f18158a52d . 2017-07-06 11:45:22 -07:00
2f20258807 . 2017-07-06 10:25:36 -07:00
02d18af57d Remove Cluster.hpp 2017-06-23 16:10:26 -07:00
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
91c9f4cb20 Fix TRACE and CLUSTER builds. 2017-03-27 17:33:25 -07:00
e4896b257f Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call. 2017-03-27 17:03:17 -07:00
cdc0eaec3a Fix attempt to WHOIS self. 2017-03-17 22:13:34 +00:00
e3b1fc2ac0 Tweak WHOIS path for federation. 2017-03-10 19:52:08 -08:00
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. 2017-03-01 14:36:52 -08:00
2bf9145ae6 Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix. 2017-03-01 10:22:57 -08:00
43182f8f57 Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution. 2017-02-05 16:19:03 -08:00
31db768e4d A bit of code cleanup. 2017-02-04 00:23:31 -08:00
d9e4ba1280 Eliminate a little copypasta. 2017-02-04 00:04:44 -08:00
dcb1233b0d Slight refactor to RENEDEZVOUS sending code for federation. 2017-02-03 23:54:02 -08:00
9284e4edfe agree() must be called on our identity, the one with the secret 2017-02-01 15:22:14 -08:00
62a705af1c Eliminate another check in cluster frontplane mode. 2017-02-01 14:35:07 -08:00
29ec7bf3a2 Add more specific check in source==self case instead of dumping it. 2017-02-01 14:18:56 -08:00
fc3f4fb988 Yeah that could never have worked (normal packets in cluster mode). 2017-02-01 14:05:13 -08:00
60ff280dcb Another tweak to cluster I/O rules. 2017-02-01 13:52:53 -08:00
b378f5dcd7 Take 3 2017-02-01 13:20:51 -08:00
e778d45128 Still want to send WANT_PEER under two failure modes. 2017-02-01 12:51:52 -08:00
5e11cf6378 Can't armor() a packet until all flags are set. 2017-02-01 12:32:06 -08:00
5dbebc513a Minor send path refactor to make packet I/O work on clusters if they are members of networks. Also fix a crash if compiled in cluster mode but no cluster is enabled. 2017-02-01 12:00:25 -08:00
0b3b994241 Relay policy can now be computed. 2017-01-27 14:05:09 -08:00
64774d0d4f Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots. 2017-01-27 13:27:52 -08:00
84732fcb12 Wire through external path lookup. Static paths should now work. 2016-11-22 14:23:13 -08:00
42ba70e79e Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles. 2016-11-22 10:54:58 -08:00