Adam Ierymenko
|
5f39d5b7ea
|
Further pare down Cluster messaging and rename some stuff.
|
11 years ago |
Adam Ierymenko
|
9490b1f136
|
Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability.
|
11 years ago |
Adam Ierymenko
|
8ea5f424fd
|
Small amount of cleanup.
|
11 years ago |
Adam Ierymenko
|
ba5008c370
|
Now make cluster announcements slightly more frequent.
|
11 years ago |
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.
|
11 years ago |
Adam Ierymenko
|
3e22fee842
|
Integrate deferred background processing into main OneService implementation.
|
11 years ago |
Adam Ierymenko
|
8ef4edebbf
|
Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.
|
11 years ago |
Adam Ierymenko
|
a42d714a87
|
.
|
11 years ago |
Adam Ierymenko
|
c9e6e60c09
|
Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability.
|
11 years ago |
Adam Ierymenko
|
4e9d430476
|
Make root and relay selection somewhat more robust.
|
11 years ago |
Adam Ierymenko
|
7fbe2f7adf
|
Tweak some more timings for better reliability.
|
11 years ago |
Adam Ierymenko
|
60ce886605
|
Tweak some timings for better reliability.
|
11 years ago |
Adam Ierymenko
|
f1b6427e63
|
Decided to make this 1.1.0 (semantic versioning increment is warranted), and add a legacy hack for older clients working with clusters.
|
11 years ago |
Adam Ierymenko
|
1b4cc4af5c
|
Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup.
|
11 years ago |
Adam Ierymenko
|
7382c328da
|
Null pointer bug appears fixed... testing again at large scale.
|
11 years ago |
Adam Ierymenko
|
641b0dec44
|
.
|
11 years ago |
Adam Ierymenko
|
2fbb5d0bbf
|
.
|
11 years ago |
Adam Ierymenko
|
d8dbbf7484
|
Add some debug code in TRACE mode to catch a bug.
|
11 years ago |
Adam Ierymenko
|
377ccff600
|
getPeer() had a small potential to be unsafe.
|
11 years ago |
Adam Ierymenko
|
b6725c4415
|
Optimize AntiRecursion.
|
11 years ago |
Adam Ierymenko
|
5bfa29dded
|
Make antirec tail len slightly shorter, better performance and still plenty long enough.
|
11 years ago |
Adam Ierymenko
|
d6c0d176ee
|
Periodically re-announce peers that we have.
|
11 years ago |
Adam Ierymenko
|
9f0f0197fe
|
More dead code removal.
|
11 years ago |
Adam Ierymenko
|
a994573a43
|
Eliminate some more dead code. We may do path trust, but not like that.
|
11 years ago |
Adam Ierymenko
|
883c84bdb9
|
Tweak some timings, and remove some dead code.
|
11 years ago |
Adam Ierymenko
|
68d6d3c4ff
|
Fix bug in peer count.
|
11 years ago |
Adam Ierymenko
|
0034efafe4
|
On semi-undocumented test net, assign a RFC4193 IPv6 address too. Will be useful for our at-scale tests.
|
11 years ago |
Adam Ierymenko
|
0fd15d9cf3
|
Fix inverted sense bug.
|
11 years ago |
Adam Ierymenko
|
938d0a970b
|
TRACE build fixes.
|
11 years ago |
Adam Ierymenko
|
fdc3e103cc
|
Cleanup and docs.
|
11 years ago |
Adam Ierymenko
|
c1b0329969
|
Only check IP equality to detect external surface changes (should prevent some spurious resets under symmetric NATs), and simplify some logic.
|
11 years ago |
Adam Ierymenko
|
da93712846
|
Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter.
|
11 years ago |
Adam Ierymenko
|
cdc99bfee1
|
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
11 years ago |
Adam Ierymenko
|
88b100e5d0
|
More cleanup.
|
11 years ago |
Adam Ierymenko
|
51fcc75354
|
Some cleanup, and use getPeerNoCache() exclusively in Cluster.
|
11 years ago |
Adam Ierymenko
|
4221552c0b
|
Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere.
|
11 years ago |
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.
|
11 years ago |
Adam Ierymenko
|
cc6080fe38
|
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
|
11 years ago |
Adam Ierymenko
|
6399f6f094
|
This no longer has to be quite so fast.
|
11 years ago |
Adam Ierymenko
|
218ef07d8e
|
Build fix in TRACE mode.
|
11 years ago |
Adam Ierymenko
|
16bc3e0398
|
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
11 years ago |
Adam Ierymenko
|
40976c02a4
|
Forget paths to peers if we are handing them off.
|
11 years ago |
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.
|
11 years ago |
Adam Ierymenko
|
cfe166ef35
|
Tweak some size limits.
|
11 years ago |
Adam Ierymenko
|
0ffbd05c0e
|
--wtf; prevent roots from TCP fallback
|
11 years ago |
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)
|
11 years ago |
Adam Ierymenko
|
54a99d8e32
|
Well that was broken.
|
11 years ago |
Adam Ierymenko
|
62db18b6dd
|
Lessen this limit just a bit to make cluster settle faster.
|
11 years ago |
Adam Ierymenko
|
f32e9d07dd
|
Don't include COM if not necessary (fix).
|
11 years ago |
Adam Ierymenko
|
700c3166b7
|
Fix inverted sense bug.
|
11 years ago |