Commit Graph

101 Commits

Author SHA1 Message Date
Adam Ierymenko
98bcc3d4b5 Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding. 2015-04-15 13:15:09 -07:00
Adam Ierymenko
67f1f1892f Bunch of tap stuff, IP address assignment hookups, etc. 2015-04-14 17:57:51 -07:00
Adam Ierymenko
e34bc961db Add awareness of online status, and put old OS-dep utils in OSUtils. 2015-04-08 17:10:21 -07:00
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. 2015-04-07 19:31:11 -07:00
Adam Ierymenko
52c3b7c34e Implemented empirical determination of external addressing, paritioned per scope. 2015-04-07 11:56:10 -07:00
Adam Ierymenko
6eb9289367 Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch. 2015-04-03 16:52:53 -07:00
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. 2015-04-02 17:54:56 -07:00
Adam Ierymenko
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
Adam Ierymenko
36eab4f1a9 Whole heap more cleanup and refactoring... 2015-03-31 17:53:34 -07:00
Adam Ierymenko
93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 2015-02-17 13:11:34 -08:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
60fb28a90a Cleanup, new C++ netconf code is almost ready to test! 2015-01-06 17:16:54 -08:00
Adam Ierymenko
4e95384ad6 Cleanup, add tristate to config code in Network, and happy new year! 2015-01-05 17:47:59 -08:00
Adam Ierymenko
0f505411cf Enable legacy multicast in Constants. 2014-11-25 14:12:33 -08:00
Adam Ierymenko
1bd5a1ebcd Make selftest build and run on FreeBSD 10 with gmake 2014-11-04 11:20:38 -08:00
Adam Ierymenko
0e84eb3852 Back off default multicast limit just a little. 2014-10-29 18:25:24 -07:00
Adam Ierymenko
4dec598fb8 Make multicast gather slightly more aggressive, and add total to list command in testnet. 2014-10-28 15:33:10 -07:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
96fa3f7550 Work on in-place testnet support. 2014-10-02 16:33:08 -07:00
Adam Ierymenko
49dc47ff38 Make multicast gathering a bit smarter. 2014-10-02 11:35:37 -07:00
Adam Ierymenko
0778332747 . 2014-09-25 22:08:52 -07:00
Adam Ierymenko
9e186bbd89 . 2014-09-25 15:57:43 -07:00
Adam Ierymenko
050a0ce85d . 2014-09-25 15:08:29 -07:00
Adam Ierymenko
954f9cbc13 Yet more WIP on mulitcast algo... 2014-09-22 13:18:24 -07:00
Adam Ierymenko
d9abd4d9be Work on defining new direct broadcast multicast algorithm. 2014-09-18 18:28:14 -07:00
Adam Ierymenko
4708231046 Fix for GitHub issue #122 and other fixes 2014-09-18 10:01:30 -07:00
Adam Ierymenko
4e9280fc7a Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics. 2014-09-05 16:23:24 -07:00
Adam Ierymenko
7d4b6767eb Old-school GCC build fix -- make sure __GCC__ is defined 2014-09-05 17:48:59 +00:00
Adam Ierymenko
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
Adam Ierymenko
aa59cfd545 Web request part of supernode resync (not quite done, needs test) 2014-08-15 23:37:35 -04:00
Adam Ierymenko
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
Adam Ierymenko
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
Adam Ierymenko
b80c229d87 Tons of code cleanup, refactor Network to use EthernetTapFactory, probably also fix GitHub issue #90 2014-07-31 14:09:32 -07:00
Adam Ierymenko
4c4675e3ac Cleanup, add __BSD__ 2014-07-15 20:49:13 -07:00
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. 2014-06-30 11:31:04 -07:00
Adam Ierymenko
5d467f0f45 Some TRACE improvements and comment revs. 2014-06-18 08:25:30 -07:00
Adam Ierymenko
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
Adam Ierymenko
5682f0b772 Some more bridging work... wiring up in Switch - GitHub issue #68 2014-06-13 17:49:33 -07:00
Adam Ierymenko
d44e1349d8 Bridge routing table - GitHub issue #68 2014-06-10 17:18:59 -07:00
Adam Ierymenko
4e1f49258b Bridging in NetworkConfig - GitHub Issue #68 2014-06-10 15:47:20 -07:00
Adam Ierymenko
beb7b5bbe5 GitHub Issue #69 - make MAC assignment schema differ between virtual networks. 2014-05-23 14:32:31 -07:00
Adam Ierymenko
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
Adam Ierymenko
aee742e767 More toward GitHub issue #56 2014-04-10 16:30:15 -07:00
Adam Ierymenko
c9294c1a78 Prevent recursive transit of ZeroTier packets, toward GitHub issue #56 2014-04-10 14:22:25 -07:00
Adam Ierymenko
119ef5ecbf More logic cleanup and some documentation / comment improvements. 2014-04-10 10:00:20 -07:00
Adam Ierymenko
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
Adam Ierymenko
28a6d328a5 Some adjustments to TCP logic for GitHub issue #60 2014-04-09 11:55:24 -07:00
Adam Ierymenko
158002d2d1 Tweak some timings and stuff. 2014-04-03 16:19:41 -07:00