Commit Graph

44 Commits

Author SHA1 Message Date
Adam Ierymenko
73e2c6e511 How did that ever work? 2015-11-09 12:24:49 -08:00
Adam Ierymenko
4ad2ff2f71 . 2015-11-09 11:08:52 -08:00
Adam Ierymenko
b57c855a8c PROXY_SEND fix. 2015-11-09 10:25:20 -08:00
Adam Ierymenko
ed954c5ca2 . 2015-11-09 10:09:16 -08:00
Adam Ierymenko
21341ab15c Ready to test. 2015-11-09 09:45:43 -08:00
Adam Ierymenko
ff81415ffe Build fixes... 2015-11-09 09:14:26 -08:00
Adam Ierymenko
57b71bfff0 Cluster simplification and refactor work in progress... 2015-11-08 13:57:02 -08:00
Adam Ierymenko
6bc8c9d8ef Clustering cleanup, still a work in progress. 2015-11-06 16:12:41 -08:00
Adam Ierymenko
5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 2015-11-06 14:37:17 -08:00
Adam Ierymenko
8ea5f424fd Small amount of cleanup. 2015-11-06 11:15:06 -08:00
Adam Ierymenko
3fa1b5a89d Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future. 2015-11-05 17:22:22 -08:00
Adam Ierymenko
60ce886605 Tweak some timings for better reliability. 2015-11-02 15:15:20 -08:00
Adam Ierymenko
1b4cc4af5c Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup. 2015-10-30 15:54:40 -07:00
Adam Ierymenko
d6c0d176ee Periodically re-announce peers that we have. 2015-10-29 10:10:09 -07:00
Adam Ierymenko
68d6d3c4ff Fix bug in peer count. 2015-10-28 14:29:08 -07:00
Adam Ierymenko
51fcc75354 Some cleanup, and use getPeerNoCache() exclusively in Cluster. 2015-10-27 17:36:47 -07:00
Adam Ierymenko
4221552c0b Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. 2015-10-27 16:52:44 -07:00
Adam Ierymenko
cc1b275ad9 Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not. 2015-10-27 16:47:13 -07:00
Adam Ierymenko
cc6080fe38 (1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking. 2015-10-27 15:57:26 -07:00
Adam Ierymenko
16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 2015-10-27 15:00:16 -07:00
Adam Ierymenko
40976c02a4 Forget paths to peers if we are handing them off. 2015-10-27 14:37:38 -07:00
Adam Ierymenko
f692cec763 Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues. 2015-10-27 14:04:12 -07:00
Adam Ierymenko
a1a0ee4edb Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks) 2015-10-27 12:01:00 -07:00
Adam Ierymenko
8a7a0b6b88 Cleanup, including simplification of root server picking algorithm since we no longer need all that craziness. 2015-10-27 10:37:39 -07:00
Adam Ierymenko
69857b4ba8 Refactor cluster redirects to move code to push peers out of the actual Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical. 2015-10-27 09:36:48 -07:00
Adam Ierymenko
98d856daa2 Only send redirects to the sending InetAddress and only in response to a set of certain frame types to avoid potential race conditions. 2015-10-26 17:58:51 -07:00
Adam Ierymenko
8bfb02ba3c Only send redirects for the same address class, and elminiate some TRACE noise. 2015-10-26 16:55:55 -07:00
Adam Ierymenko
debed1ac2d Expose cluster status in /status JSON response. 2015-10-26 13:06:10 -07:00
Adam Ierymenko
865acfa40f Cluster status plumbing. 2015-10-26 12:41:08 -07:00
Adam Ierymenko
35676217e8 Refactor multicast group announcement to work directly or indirectly. 2015-10-23 14:50:07 -07:00
Adam Ierymenko
29b966894c (1) Fix bug in geo-ip service that prevented cache lookup, (2) fix problem in SelfAwareness (will need to test ALL versions in the wild with this), and (3) add more TRACE instrumentation to Cluster. 2015-10-23 13:03:34 -07:00
Adam Ierymenko
964b30902a Cluster fix: was accumulating remote endpoints endlessly. 2015-10-23 11:51:18 -07:00
Adam Ierymenko
7711eba297 More cluster wiring... 2015-10-22 16:02:01 -07:00
Adam Ierymenko
978b056a01 Wire in redirectPeer(), now about ready to test clustering! 2015-10-20 17:36:10 -07:00
Adam Ierymenko
6a7b47e5e1 Forgot a return true. 2015-10-20 17:27:57 -07:00
Adam Ierymenko
d6dee7bb5c Clustered handling of relaying. 2015-10-20 17:22:53 -07:00
Adam Ierymenko
35a12b94ea Outfit Cluster with TRACE for debugging. 2015-10-20 16:48:49 -07:00
Adam Ierymenko
59e1444b27 Finish wiring up Cluster, fix some issues with other recent changes. 2015-10-20 16:31:41 -07:00
Adam Ierymenko
eb79d4a2f3 Wire up peer announcement in cluster. 2015-10-20 16:24:21 -07:00
Adam Ierymenko
57e29857cf Cluster work -- integrating with the rest of the code. 2015-10-20 15:27:53 -07:00
Adam Ierymenko
5e6eae620b Make _members dynamically allocated due to static array limit on ARM. 2015-10-19 16:18:57 -07:00
Adam Ierymenko
9ece8c465e decrypt fix 2015-10-14 15:49:41 -07:00
Adam Ierymenko
59389b3dce Untested cluster code, not enabled. 2015-10-14 14:17:55 -07:00
Adam Ierymenko
619e113748 Work in progress on Cluster for new root infrastructure, multi-homing. 2015-10-14 14:12:12 -07:00