Adam Ierymenko
553101e8b5
merge dev
2018-08-09 11:31:37 -07:00
Adam Ierymenko
5b114791e5
Fix a bug that caused a crash on empty HTTP requests (localhost only) and add a lightweight lock to the RX queue to prevent possible threads stepping on each other in parallel receive paths.
2018-07-20 14:01:58 -07:00
Joseph Henry
28cb40529d
Rough draft of fq-codel implementation
2018-07-10 16:50:12 -07:00
Joseph Henry
a9ca26c698
Added TX queue cap for issue #769
2018-06-07 12:58:07 -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
51aadcf901
A few fixes dicatated by valgrind.
2018-02-09 06:35:01 +00:00
Adam Ierymenko
d3d58ba8a7
Add support for designated multicast replicators to Multicaster::send().
2018-01-26 21:19:51 -05:00
Adam Ierymenko
f03fd57997
Clean up some multicast code.
2018-01-26 20:38:44 -05:00
Adam Ierymenko
4419734a7d
Implement continuous contacting of designated anchors and multicast replicators - GitHub issue #666
2018-01-25 07:11:59 -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
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
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
Adam Ierymenko
f8014413a3
Add UDP MTU configurability.
2017-09-01 16:25:34 -07:00
Adam Ierymenko
dd8b03a5c5
Threading issue fix?
2017-08-23 18:28:40 -07:00
Adam Ierymenko
4d5983114c
Fix another deadlock.
2017-08-23 17:14:06 -07:00
Adam Ierymenko
0a9c3b5571
Fix possible deadlock.
2017-08-23 16:59:31 -07:00
Adam Ierymenko
180049a277
Fix pointer bug.
2017-08-23 16:55:22 -07:00
Adam Ierymenko
6ee201865b
Clean up WHOIS code.
2017-08-23 16:42:17 -07:00
Adam Ierymenko
9cfc109527
Tighten a few timings.
2017-08-23 14:00:08 -07:00
Adam Ierymenko
ff5e22031a
Small fix: should expire packets to prevent repeated WHOISes.
2017-08-08 13:24:37 -07:00
Adam Ierymenko
e3cf756785
Make rxQueue lock-free using an atomic counter ring buffer.
2017-08-08 13:21:10 -07:00
Adam Ierymenko
ab0806a036
Cleanup.
2017-07-17 13:48:39 -07:00
Adam Ierymenko
495c5ce81d
Bunch of remote tracing work.
2017-07-13 10:51:05 -07:00
Adam Ierymenko
dab0fb9e05
Remote trace: plumbing, replace old TRACE with calls to Trace object.
2017-07-07 16:58:05 -07:00
Adam Ierymenko
f18158a52d
.
2017-07-06 11:45:22 -07:00
Adam Ierymenko
2f20258807
.
2017-07-06 10:25:36 -07:00
Adam Ierymenko
02d18af57d
Remove Cluster.hpp
2017-06-23 16:10:26 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
91c9f4cb20
Fix TRACE and CLUSTER builds.
2017-03-27 17:33:25 -07:00
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.
2017-03-27 17:03:17 -07:00
Adam Ierymenko
cdc0eaec3a
Fix attempt to WHOIS self.
2017-03-17 22:13:34 +00:00
Adam Ierymenko
e3b1fc2ac0
Tweak WHOIS path for federation.
2017-03-10 19:52:08 -08:00
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.
2017-03-01 14:36:52 -08:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
31db768e4d
A bit of code cleanup.
2017-02-04 00:23:31 -08:00
Adam Ierymenko
d9e4ba1280
Eliminate a little copypasta.
2017-02-04 00:04:44 -08:00
Adam Ierymenko
dcb1233b0d
Slight refactor to RENEDEZVOUS sending code for federation.
2017-02-03 23:54:02 -08:00
Adam Ierymenko
9284e4edfe
agree() must be called on our identity, the one with the secret
2017-02-01 15:22:14 -08:00
Adam Ierymenko
62a705af1c
Eliminate another check in cluster frontplane mode.
2017-02-01 14:35:07 -08:00
Adam Ierymenko
29ec7bf3a2
Add more specific check in source==self case instead of dumping it.
2017-02-01 14:18:56 -08:00
Adam Ierymenko
fc3f4fb988
Yeah that could never have worked (normal packets in cluster mode).
2017-02-01 14:05:13 -08:00
Adam Ierymenko
60ff280dcb
Another tweak to cluster I/O rules.
2017-02-01 13:52:53 -08:00
Adam Ierymenko
b378f5dcd7
Take 3
2017-02-01 13:20:51 -08:00
Adam Ierymenko
e778d45128
Still want to send WANT_PEER under two failure modes.
2017-02-01 12:51:52 -08:00
Adam Ierymenko
5e11cf6378
Can't armor() a packet until all flags are set.
2017-02-01 12:32:06 -08:00
Adam Ierymenko
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