Adam Ierymenko
|
f2d2df2b11
|
Cluster build fix.
|
10 years ago |
Adam Ierymenko
|
48a374c82c
|
(1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection.
|
10 years ago |
Adam Ierymenko
|
8a2e8bd585
|
Rework how paths are set as remote cluster preferred. The code is now clearer and cluster preference indications are now very sticky as they should be.
|
10 years ago |
Adam Ierymenko
|
43780742b0
|
comments, docs
|
10 years ago |
Adam Ierymenko
|
d7f2287ce9
|
More tweaks to path behavior.
|
10 years ago |
Adam Ierymenko
|
eebcf08084
|
Tweaks to new Path code for dual-stack operation, and other fixes.
|
10 years ago |
Adam Ierymenko
|
4992ac2d9f
|
Cluster sub-optimal is in fact necessary...
|
10 years ago |
Adam Ierymenko
|
4f8253dcdb
|
Tweaks to path handling...
|
10 years ago |
Adam Ierymenko
|
d1101441b3
|
Tweak some timings.
|
10 years ago |
Adam Ierymenko
|
e8f6b4b5d3
|
Rest of big Path canonicalization refactor.
|
10 years ago |
Adam Ierymenko
|
584228b2b5
|
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
|
10 years ago |
Adam Ierymenko
|
c476285bd6
|
Harden PUSH_DIRECT_PATHS and simplify things by only doing it on receive when hops>0 and trust has been established.
|
10 years ago |
Adam Ierymenko
|
e1310a764a
|
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
|
10 years ago |
Adam Ierymenko
|
00fd9c3a15
|
It builds... almost ready to test some rules engine stuff.
|
10 years ago |
Adam Ierymenko
|
e2f783ebbd
|
.
|
10 years ago |
Adam Ierymenko
|
56febbf2ba
|
.
|
10 years ago |
Adam Ierymenko
|
2f18a92e20
|
Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
|
10 years ago |
Adam Ierymenko
|
4c455876f9
|
Revise peer path weighting to always prioritize cluster-optimal paths.
|
10 years ago |
Adam Ierymenko
|
cecfa99b7b
|
(1) cluster members send a flag indicating that a PUSH_DIRECT_PATHS is a cluster redirect, (2) 1.1.5 uses this to avoid a bug (this bug does not exist in 1.1.4)
|
10 years ago |
Adam Ierymenko
|
284e5d83b5
|
Fix some broken TRACEs and a tiny reorder in a few ifs.
|
10 years ago |
Adam Ierymenko
|
0c951b6e56
|
More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it.
|
10 years ago |
Adam Ierymenko
|
4769dacf61
|
Tweak needsOurMembershipCertificate timing to resolve a possible source of occasional dropped packets.
|
10 years ago |
Adam Ierymenko
|
4e4fd51117
|
boring doc stuff
|
10 years ago |
Adam Ierymenko
|
3883ac08c7
|
Docs and cleanup.
|
10 years ago |
Adam Ierymenko
|
740eb6ebc4
|
Simplify Peer locking to eliminate deadlock with new path recursion check code (and also probably improve performance).
|
10 years ago |
Adam Ierymenko
|
b3e3d4cacc
|
Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
|
10 years ago |
Adam Ierymenko
|
1023ef23b7
|
Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods.
|
10 years ago |
Adam Ierymenko
|
a56fbc1929
|
Close another potential anti-recursion loophole.
|
10 years ago |
Adam Ierymenko
|
47ce52228b
|
Roots should probably not do this since it would likely be a waste of packets.
|
10 years ago |
Adam Ierymenko
|
9aee72099e
|
AntiRecursion cleanup and some other minor things.
|
10 years ago |
Adam Ierymenko
|
05b2c0743f
|
Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
|
10 years ago |
Adam Ierymenko
|
4d94ae77b4
|
simplify if
|
10 years ago |
Adam Ierymenko
|
d8143a5e18
|
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
|
10 years ago |
Adam Ierymenko
|
436c1fac1d
|
Selectively move over changes from "edge" to "dev" excluding netcon.
|
10 years ago |
Adam Ierymenko
|
d3dacf5c2a
|
Tiny bit of dead code cleanup.
|
10 years ago |
Adam Ierymenko
|
2160164e8c
|
(1) Get rid of path sorting and just scan them, since sorting may have been a premature optimization that introduced a regression and path instability in a few edge cases, and (2) do not attempt to contact remote paths received via PUSH_DIRECT_PATH if we already have that path and it is already active (dumb, should have done this originally)
|
10 years ago |
Adam Ierymenko
|
022d3857cc
|
Fix should use ECHO check.
|
10 years ago |
Adam Ierymenko
|
82aa3f59d6
|
Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway.
|
10 years ago |
Adam Ierymenko
|
0940d673db
|
Always advertise to the cluster when we have a peer even if we have also initiated handoff. This might be the cause of the warmup problem -- will test later. At the very least it should not hurt anything due to pick-latest logic and the fact that cluster members with only suboptimal paths do not respond to WANT_PEER.
|
10 years ago |
Adam Ierymenko
|
32ec378e3b
|
Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http.
|
11 years ago |
Adam Ierymenko
|
2cc50bdb10
|
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
11 years ago |
Adam Ierymenko
|
35c4e28f31
|
Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes.
|
11 years ago |
Adam Ierymenko
|
57b71bfff0
|
Cluster simplification and refactor work in progress...
|
11 years ago |
Adam Ierymenko
|
6bc8c9d8ef
|
Clustering cleanup, still a work in progress.
|
11 years ago |
Adam Ierymenko
|
5f39d5b7ea
|
Further pare down Cluster messaging and rename some stuff.
|
11 years ago |
Adam Ierymenko
|
a42d714a87
|
.
|
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
|
cdc99bfee1
|
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
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 |