6eb9289367
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
2015-04-03 16:52:53 -07:00
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.
2015-04-02 17:54:56 -07:00
8130848020
More refactoring... and update the API a bit... turns out my strategy for reducing indirect function calls also increased memcpy()s which are more expensive. This is simpler and faster.
2015-04-01 14:59:44 -07:00
36eab4f1a9
Whole heap more cleanup and refactoring...
2015-03-31 17:53:34 -07:00
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
2015-02-17 13:11:34 -08:00
b7148c107d
Rip out network environment fingerprint. This will be replaced by constant monitoring of actual external address surface.
2015-02-02 16:40:57 -08:00
b1bf3f68c3
Drop support for legacy P5 multicast, as there are fewer than 1% of these remaining on the network.
2015-02-02 16:34:01 -08:00
60fb28a90a
Cleanup, new C++ netconf code is almost ready to test!
2015-01-06 17:16:54 -08:00
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
2015-01-05 17:47:59 -08:00
0f505411cf
Enable legacy multicast in Constants.
2014-11-25 14:12:33 -08:00
1bd5a1ebcd
Make selftest build and run on FreeBSD 10 with gmake
2014-11-04 11:20:38 -08:00
0e84eb3852
Back off default multicast limit just a little.
2014-10-29 18:25:24 -07:00
4dec598fb8
Make multicast gather slightly more aggressive, and add total to list command in testnet.
2014-10-28 15:33:10 -07:00
03dc823ad7
(1) Back off a little on default max multicast limit since 128 is pretty bandwidth heavy, (2) add a little to default multicast rate limit since new MC algo is fairerererer, (3) decided not to involve netconf masters in multicast so take that out of list of who gets LIKEs.
2014-10-10 12:55:06 -07:00
62da7e67b6
Add some rate limiting to implicit gathers, and always send multicasts to at least one supernode so they can broadcast to old peers (temporary).
2014-10-03 22:30:10 -07:00
96fa3f7550
Work on in-place testnet support.
2014-10-02 16:33:08 -07:00
49dc47ff38
Make multicast gathering a bit smarter.
2014-10-02 11:35:37 -07:00
0778332747
.
2014-09-25 22:08:52 -07:00
9e186bbd89
.
2014-09-25 15:57:43 -07:00
050a0ce85d
.
2014-09-25 15:08:29 -07:00
954f9cbc13
Yet more WIP on mulitcast algo...
2014-09-22 13:18:24 -07:00
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
2014-09-18 18:28:14 -07:00
4708231046
Fix for GitHub issue #122 and other fixes
2014-09-18 10:01:30 -07:00
4e9280fc7a
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
2014-09-05 16:23:24 -07:00
7d4b6767eb
Old-school GCC build fix -- make sure __GCC__ is defined
2014-09-05 17:48:59 +00:00
f5cbb45ab9
Increase sleep/wake detection threshold... might want to switch to using native interfaces to really detect this in the future since this is not 100% reliable.
2014-08-18 10:13:25 -04:00
aa59cfd545
Web request part of supernode resync (not quite done, needs test)
2014-08-15 23:37:35 -04:00
f8d4611d15
(1) Tweak LAN locator beacon frequencies, (2) Windows virtual networks
...
now show up as *real* networks and prompt the user to set their
location and firewall status (public, private, home/work, etc.).
The hack used to achieve #2 should not be examined by children or those
suffering from epilepsy or heart conditions.
2014-08-12 17:20:34 -07:00
8a804b5257
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
2014-08-05 14:05:50 -07:00
b80c229d87
Tons of code cleanup, refactor Network to use EthernetTapFactory, probably also fix GitHub issue #90
2014-07-31 14:09:32 -07:00
4c4675e3ac
Cleanup, add __BSD__
2014-07-15 20:49:13 -07:00
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.
2014-06-30 11:31:04 -07:00
5d467f0f45
Some TRACE improvements and comment revs.
2014-06-18 08:25:30 -07:00
6802da457e
Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
2014-06-13 21:06:34 -07:00
5682f0b772
Some more bridging work... wiring up in Switch - GitHub issue #68
2014-06-13 17:49:33 -07:00
d44e1349d8
Bridge routing table - GitHub issue #68
2014-06-10 17:18:59 -07:00
4e1f49258b
Bridging in NetworkConfig - GitHub Issue #68
2014-06-10 15:47:20 -07:00
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
2014-05-23 14:32:31 -07:00
99c5fae9da
Make Service communicate via empty-line-delimited Dictionary objects instead of the old size prefix way.
2014-05-08 21:27:59 +00:00
aee742e767
More toward GitHub issue #56
2014-04-10 16:30:15 -07:00
c9294c1a78
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
2014-04-10 14:22:25 -07:00
119ef5ecbf
More logic cleanup and some documentation / comment improvements.
2014-04-10 10:00:20 -07:00
8fb442d81a
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
2014-04-09 17:08:35 -07:00
28a6d328a5
Some adjustments to TCP logic for GitHub issue #60
2014-04-09 11:55:24 -07:00
158002d2d1
Tweak some timings and stuff.
2014-04-03 16:19:41 -07:00
c96d3ebf8c
Such ping logic. So edge case.
2014-04-03 14:36:52 -07:00
700a450806
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
2014-04-01 18:39:10 -07:00
595b386afc
Increase maximum packet fragments to make room for huge multicasts with certificates of membership tagged onto them. This likely will not actually increase the number of fragments in practice much, since these are then subsequently compressed. But the buffer needs to be allocated with room for them, otherwise these packets get dropped with a range_error exception internally.
2014-03-31 14:53:33 -07:00
181369964f
Make TCP optional, rename port constant.
2014-03-27 18:22:53 -07:00
ba3f04deed
Work in progress: refactoring paths, adding TCP fallback.
2014-03-20 20:07:35 -07:00