Adam Ierymenko
|
4e4fd51117
boring doc stuff
|
9 lat temu |
Adam Ierymenko
|
3883ac08c7
Docs and cleanup.
|
9 lat temu |
Adam Ierymenko
|
740eb6ebc4
Simplify Peer locking to eliminate deadlock with new path recursion check code (and also probably improve performance).
|
9 lat temu |
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.
|
9 lat temu |
Adam Ierymenko
|
1023ef23b7
Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods.
|
9 lat temu |
Adam Ierymenko
|
a56fbc1929
Close another potential anti-recursion loophole.
|
9 lat temu |
Adam Ierymenko
|
47ce52228b
Roots should probably not do this since it would likely be a waste of packets.
|
9 lat temu |
Adam Ierymenko
|
9aee72099e
AntiRecursion cleanup and some other minor things.
|
9 lat temu |
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
|
9 lat temu |
Adam Ierymenko
|
4d94ae77b4
simplify if
|
9 lat temu |
Adam Ierymenko
|
d8143a5e18
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
|
9 lat temu |
Adam Ierymenko
|
436c1fac1d
Selectively move over changes from "edge" to "dev" excluding netcon.
|
9 lat temu |
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.
|
9 lat temu |
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.
|
9 lat temu |
Adam Ierymenko
|
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
9 lat temu |
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.
|
9 lat temu |
Adam Ierymenko
|
57b71bfff0
Cluster simplification and refactor work in progress...
|
9 lat temu |
Adam Ierymenko
|
6bc8c9d8ef
Clustering cleanup, still a work in progress.
|
9 lat temu |
Adam Ierymenko
|
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
|
9 lat temu |
Adam Ierymenko
|
a42d714a87
.
|
9 lat temu |
Adam Ierymenko
|
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
|
9 lat temu |
Adam Ierymenko
|
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
9 lat temu |
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.
|
9 lat temu |
Adam Ierymenko
|
cc6080fe38
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
|
9 lat temu |
Adam Ierymenko
|
218ef07d8e
Build fix in TRACE mode.
|
9 lat temu |
Adam Ierymenko
|
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
9 lat temu |
Adam Ierymenko
|
40976c02a4
Forget paths to peers if we are handing them off.
|
9 lat temu |
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)
|
9 lat temu |
Adam Ierymenko
|
9617208e40
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
|
9 lat temu |
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.
|
9 lat temu |