Commit Graph

688 Commits

Author SHA1 Message Date
Adam Ierymenko
6eb9289367 Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch. 2015-04-03 16:52:53 -07:00
Adam Ierymenko
ee0f56355b Send path simplification. 2015-04-03 13:14:37 -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
5f51653f9c More cleanup. 2015-04-01 19:16:07 -07:00
Adam Ierymenko
0214dbc277 More cleanup. 2015-04-01 19:15:21 -07:00
Adam Ierymenko
1f28ce3980 Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc. 2015-04-01 19:09:18 -07:00
Adam Ierymenko
49349470a0 ... 2015-04-01 16:27:14 -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
7ff0cab1b7 docs 2015-03-31 18:33:39 -07:00
Adam Ierymenko
b723855751 Refactoring... lalalala... 2015-03-31 18:17:11 -07:00
Adam Ierymenko
36eab4f1a9 Whole heap more cleanup and refactoring... 2015-03-31 17:53:34 -07:00
Adam Ierymenko
647ce82b86 Move more stuff into osdep/ -- node/ will not use threads directly. 2015-03-31 15:23:14 -07:00
Adam Ierymenko
2c5dbecb3c More CAPI work, and move old control/ and old node/Node to attic. 2015-03-31 13:54:50 -07:00
Adam Ierymenko
fe94c9460b Phy is a better name than Wire, and other cleanup. 2015-03-31 11:52:10 -07:00
Adam Ierymenko
fe87c1db67 Work on new simplified C API -- required for embedded, language bindings, mobile (language bindings again), etc. 2015-03-30 19:46:07 -07:00
Adam Ierymenko
60158aa5dd Turns out that node/ likely has no business with or need for the system IP routing table. So shelve that code for now. 2015-03-30 17:48:48 -07:00
Adam Ierymenko
a8a92c5b89 A whole lot of Sqlite netconf master work, and some fixes elsewhere in the code. 2015-03-18 16:10:48 -07:00
Adam Ierymenko
278c8fd9f1 Wire up externally specified NetworkConfigMaster 2015-03-13 13:53:15 -07:00
Adam Ierymenko
b6fba5934a RedisNetworkConfigMaster in its own folder. Also fix some hex/decimal Redis database confusion. 2015-02-24 14:17:57 -08:00
Adam Ierymenko
ff255a34de Make NetworkConfigMaster a plugin to get Redis and other non-endpoint code out of node/ 2015-02-24 12:28:58 -08:00
Adam Ierymenko
93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 2015-02-17 13:11:34 -08:00
Adam Ierymenko
89f0c948f8 Physical address change message verb. 2015-02-04 11:59:02 -08:00
Adam Ierymenko
eeed31b396 Ping supernodes on surface change, and also reset TCP flag. 2015-02-02 17:02:23 -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
37d23336ed Surface logic in Topology. 2015-02-02 16:23:26 -08:00
Adam Ierymenko
61cff47f5b Code to track externally visible address surface. 2015-02-02 15:24:05 -08:00
Adam Ierymenko
c30bf7957e Hash code method for InetAddress 2015-02-02 14:44:24 -08:00
Adam Ierymenko
c8c5d3b06e Create netconf master if redis options are in local.conf. 2015-01-09 18:25:41 -05:00
Adam Ierymenko
0b84c10ccc Add confirmation step to new netconf, with the caveat that it will be disabled for older netconf servers to avoid race. Also add some comments. 2015-01-09 16:35:20 -05:00
Adam Ierymenko
afea153a0b Build fixes. 2015-01-08 18:17:02 -05:00
Adam Ierymenko
64ba596e0b C++ network config master ready to test. 2015-01-08 14:27:55 -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
a369c69091 C++ netconf master Redis plumbing. 2015-01-06 13:45:10 -08:00
Adam Ierymenko
b644d2a893 Add timestamp field to network config requests. 2015-01-05 17:51:50 -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
96e9a90e8e docs 2015-01-05 16:19:56 -08:00
Adam Ierymenko
87c599df5c Back out service message type -- YAGNI violation. 2015-01-05 15:52:02 -08:00
Adam Ierymenko
56cfe1d603 Strip out old Service code, add new service message type. 2015-01-05 11:47:22 -08:00
Adam Ierymenko
f60dfe4963 FreeBSD works, and some documentation fixes. 2014-12-19 15:18:20 -08:00
Adam Ierymenko
ff539c22f9 locallyValidate() is expensive -- stop doing it on every HELLO since in most cases we already know the identity and know it is valid 2014-12-16 09:29:40 -08:00
Adam Ierymenko
149dbff3ea Windows Visual Studio meaningless-warning-ectomy. 2014-12-02 16:50:53 -08:00
Adam Ierymenko
30e82a4d9c Fix network enumeration buffer size bug -- reported by user Neal Symms via LiveAgent 2014-12-02 12:53:30 -08:00
Adam Ierymenko
8c64046a53 docs 2014-11-26 14:59:43 -08:00
Adam Ierymenko
04e4c5263e Remove more legacy code -- just doing the supernode redist for old multicast is now good enough given the small number of legacy nodes left. 2014-11-26 13:39:57 -08:00
Adam Ierymenko
4303376ba6 cleanup and docs 2014-11-26 13:30:00 -08:00
Adam Ierymenko
cda61fe2d9 docs and cleanup 2014-11-26 13:14:18 -08:00
Adam Ierymenko
0f505411cf Enable legacy multicast in Constants. 2014-11-25 14:12:33 -08:00
Adam Ierymenko
15d3e383e6 Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled. 2014-11-25 12:46:51 -08:00
Adam Ierymenko
6888c6482c Re-enable legacy multicast distribution -- still too many pre1.0.0 nodes online. 2014-11-24 10:37:34 -08:00