Adam Ierymenko
|
ccc73b920e
Node peer list function for CAPI, and some Peer cleanup.
|
10 years ago |
Adam Ierymenko
|
ee2f51f48e
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
|
10 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.
|
10 years ago |
Adam Ierymenko
|
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
|
10 years ago |
Adam Ierymenko
|
a2821e9000
Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz.
|
10 years ago |
Adam Ierymenko
|
ee0f56355b
Send path simplification.
|
10 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.
|
10 years ago |
Adam Ierymenko
|
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
10 years ago |
Adam Ierymenko
|
eeed31b396
Ping supernodes on surface change, and also reset TCP flag.
|
10 years ago |
Adam Ierymenko
|
37d23336ed
Surface logic in Topology.
|
10 years ago |
Adam Ierymenko
|
61cff47f5b
Code to track externally visible address surface.
|
10 years ago |
Adam Ierymenko
|
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
|
10 years ago |
Adam Ierymenko
|
74f36f5dc0
Windows build fixes.
|
11 years ago |
Adam Ierymenko
|
a8bd8fff93
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
|
11 years ago |
Adam Ierymenko
|
2416491cbc
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
|
11 years ago |
Adam Ierymenko
|
e1882b614b
Some cleanup, Multicaster now sends multicasts as it gets additional members.
|
11 years ago |
Adam Ierymenko
|
81b12b6826
Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables.
|
11 years ago |
Adam Ierymenko
|
2762db8408
More work on control bus refactor...
|
11 years ago |
Adam Ierymenko
|
1d37204a37
Refactoring in progress... pardon our dust...
|
11 years ago |
Adam Ierymenko
|
4e9280fc7a
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
|
11 years ago |
Adam Ierymenko
|
c2187c8759
(1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates
|
11 years ago |
Adam Ierymenko
|
be6b61b1bc
Accept supernode dictionaries in Topology, also fix (unused) field name in one of these.
|
11 years ago |
Adam Ierymenko
|
8a804b5257
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
|
11 years ago |
Adam Ierymenko
|
88bdb81791
Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
|
11 years ago |
Adam Ierymenko
|
8fb442d81a
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
|
11 years ago |
Adam Ierymenko
|
fe85426df6
A few more tweaks to TCP failover... seems to be switching back and forth pretty well now!
|
11 years ago |
Adam Ierymenko
|
158002d2d1
Tweak some timings and stuff.
|
11 years ago |
Adam Ierymenko
|
c96d3ebf8c
Such ping logic. So edge case.
|
11 years ago |
Adam Ierymenko
|
700a450806
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
|
11 years ago |
Adam Ierymenko
|
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
|
11 years ago |