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
|
82348e1537
|
Temporarily blacklist he.net IPv6 tunnel addresses for paths: these usually have a very low MTU which causes packet loss and other issues.
|
10 years ago |
Adam Ierymenko
|
63ec7e58d4
|
Make activity no longer a function of ping frequency, since this causes compatibility bugs when the latter was modified due to timer interactions with other versions.
|
10 years ago |
Adam Ierymenko
|
4e4fd51117
|
boring doc stuff
|
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
|
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
|
aa39b0dc24
|
Show paths as active or preferred in listpeers.
|
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
|
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
|
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
|
51fcc75354
|
Some cleanup, and use getPeerNoCache() exclusively in Cluster.
|
11 years ago |
Adam Ierymenko
|
16bc3e0398
|
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
11 years ago |
Adam Ierymenko
|
0b2e5ed499
|
Fix some broken logic in Path::reliable()
|
11 years ago |
Adam Ierymenko
|
5076c49210
|
Peer serialization and related changes.
|
11 years ago |
Adam Ierymenko
|
a3db7d0728
|
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
11 years ago |
Adam Ierymenko
|
11ff96ba1d
|
Consider IPv6 paths reliable (no constant keepalives needed)
|
11 years ago |
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.
|
11 years ago |
Adam Ierymenko
|
0e5aac6a11
|
Prefer IPv6 paths if available.
|
11 years ago |
Adam Ierymenko
|
0b354803f3
|
Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank.
|
11 years ago |
Adam Ierymenko
|
c863ff3f02
|
A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
|
11 years ago |
Adam Ierymenko
|
235f4762b7
|
Plumbing for local interface addresses -- GitHub issue #180
|
11 years ago |
Adam Ierymenko
|
93bb934d4e
|
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
11 years ago |
Adam Ierymenko
|
feddd946f9
|
For curiosity add Salsa20/8 to benchmarks.
|
11 years ago |
Adam Ierymenko
|
d9006712f6
|
Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world.
|
11 years ago |
Adam Ierymenko
|
49f031ccb4
|
Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc.
|
11 years ago |
Adam Ierymenko
|
52c3b7c34e
|
Implemented empirical determination of external addressing, paritioned per scope.
|
11 years ago |
Adam Ierymenko
|
6eb9289367
|
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
|
11 years ago |
Adam Ierymenko
|
ee0f56355b
|
Send path simplification.
|
11 years ago |
Adam Ierymenko
|
a69e1876f1
|
The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core.
|
11 years ago |
Adam Ierymenko
|
93012b0ee5
|
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
11 years ago |
Adam Ierymenko
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
11 years ago |
Adam Ierymenko
|
0e47f13f14
|
Simplify locking semantics some more to address a deadlock.
|
12 years ago |
Adam Ierymenko
|
4e9280fc7a
|
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
|
12 years ago |
Adam Ierymenko
|
158002d2d1
|
Tweak some timings and stuff.
|
12 years ago |
Adam Ierymenko
|
6ab95e0391
|
Get : out of Path.toString() since this will conflict with : in IPv6 IPs.
|
12 years ago |
Adam Ierymenko
|
f13493edb2
|
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
|
12 years ago |
Adam Ierymenko
|
8e587ae481
|
Clean dead paths from peers.
|
12 years ago |
Adam Ierymenko
|
acb056e3b1
|
Small readability fix.
|
12 years ago |
Adam Ierymenko
|
e6b23059ac
|
Change the way TCP failover is invoked.
|
12 years ago |
Adam Ierymenko
|
33ad3deaee
|
Builds with new Path code.
|
12 years ago |
Adam Ierymenko
|
ba3f04deed
|
Work in progress: refactoring paths, adding TCP fallback.
|
12 years ago |
Adam Ierymenko
|
45e823d27c
|
Reworking of paths in Peer work-in-progress, and TCP connect support in SocketManager. Also add FD_SETSIZE checking for the default select implementation of sockets.
|
12 years ago |