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.
|
2015-12-15 10:30:40 -08:00 |
|
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.
|
2015-11-11 14:36:22 -08:00 |
|
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.
|
2015-11-09 18:01:23 -08:00 |
|
Adam Ierymenko
|
2cc50bdb10
|
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
2015-11-09 15:44:13 -08:00 |
|
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.
|
2015-11-09 14:25:28 -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
|
a42d714a87
|
.
|
2015-11-03 11:18:45 -08:00 |
|
Adam Ierymenko
|
a994573a43
|
Eliminate some more dead code. We may do path trust, but not like that.
|
2015-10-29 09:42:15 -07:00 |
|
Adam Ierymenko
|
cdc99bfee1
|
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
2015-10-27 18:18:26 -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
|
218ef07d8e
|
Build fix in TRACE mode.
|
2015-10-27 15:01:11 -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
|
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
|
9617208e40
|
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
|
2015-10-27 09:53:43 -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
|
e713f7a54c
|
Can redirect in response to a few more verbs, just not these.
|
2015-10-26 18:20:40 -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
|
978b056a01
|
Wire in redirectPeer(), now about ready to test clustering!
|
2015-10-20 17:36:10 -07:00 |
|
Adam Ierymenko
|
2258e36a59
|
Move replication of COMs to avoid race condition.
|
2015-10-20 16:34:21 -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
|
cfdcce6d12
|
Fix very obscure IP scope classification logic bug.
|
2015-10-19 15:19:04 -07:00 |
|
Adam Ierymenko
|
9150778757
|
.
|
2015-10-19 15:04:26 -07:00 |
|
Adam Ierymenko
|
50f3ccd3c9
|
.
|
2015-10-19 15:03:58 -07:00 |
|
Adam Ierymenko
|
584072fa6a
|
Fix for V4/V6 stable addressing.
|
2015-10-19 14:04:36 -07:00 |
|
Adam Ierymenko
|
cc4d0199e7
|
Fix vProto init.
|
2015-10-16 10:58:59 -07:00 |
|
Adam Ierymenko
|
781f06ef82
|
Accept OK for confirm of HELLO or ECHO.
|
2015-10-16 10:48:38 -07:00 |
|
Adam Ierymenko
|
5ce3aac929
|
Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.
|
2015-10-16 10:28:09 -07:00 |
|
Adam Ierymenko
|
2229e91b57
|
IPv6 support fixes.
|
2015-10-16 10:10:12 -07:00 |
|
Adam Ierymenko
|
5d2f523e81
|
World stuff...
|
2015-10-13 12:10:44 -07:00 |
|
Adam Ierymenko
|
7d62dbe9f7
|
Tune NAT-t keepalives so that timing is better obeyed, clean up a build warning, and fix a potential source of network recursion (though harmless).
|
2015-10-07 11:57:59 -07:00 |
|
Adam Ierymenko
|
ab0228f626
|
More cleanup and simple refactoring, consolidate InetAddres serialize/deserialize into the class.
|
2015-10-07 10:30:47 -07:00 |
|
Grant Limberg
|
6080a45c9c
|
change cert to com. no variable named cert.
|
2015-10-02 19:39:13 -07:00 |
|
Adam Ierymenko
|
2c196307ee
|
--bugs;
|
2015-10-01 13:01:18 -07:00 |
|
Adam Ierymenko
|
53e5f94b99
|
.
|
2015-10-01 12:25:43 -07:00 |
|
Adam Ierymenko
|
9405150b11
|
Restore group announcement on Peer::receive() but centralize packet composition in one place.
|
2015-10-01 11:37:02 -07:00 |
|
Adam Ierymenko
|
a3db7d0728
|
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
2015-10-01 11:11:52 -07:00 |
|
Adam Ierymenko
|
f69454ec98
|
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
|
2015-09-24 16:21:36 -07:00 |
|
Adam Ierymenko
|
367ffde00c
|
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
2015-09-23 13:49:56 -07:00 |
|
Adam Ierymenko
|
86996d4315
|
Eliminate compiler warning.
|
2015-09-23 10:27:53 -07:00 |
|
Adam Ierymenko
|
d656e87395
|
Send a random small payload for NAT keepalives, since zero byte packets seem to fail to keep associations alive behind some NATs.
|
2015-09-22 15:58:00 -07:00 |
|
Adam Ierymenko
|
8d09c37140
|
Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to controllers (for future use).
|
2015-07-31 09:37:13 -07:00 |
|
Adam Ierymenko
|
708aac1ea7
|
Remove some left over debug code, and fix attempt to send to self if we are an active bridge.
|
2015-07-28 11:43:09 -07:00 |
|
Adam Ierymenko
|
dda376c9eb
|
Nuke some abandoned code.
|
2015-07-28 11:16:43 -07:00 |
|