Adam Ierymenko
|
e3cf756785
|
Make rxQueue lock-free using an atomic counter ring buffer.
|
2017-08-08 13:21:10 -07:00 |
|
Adam Ierymenko
|
b9e1d53d7a
|
Minor cleanup.
|
2017-07-17 14:21:09 -07:00 |
|
Adam Ierymenko
|
f18158a52d
|
.
|
2017-07-06 11:45:22 -07:00 |
|
Adam Ierymenko
|
1b68d6dbdc
|
License header update.
|
2017-04-27 20:47:25 -07:00 |
|
Adam Ierymenko
|
e4896b257f
|
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
|
2017-03-27 17:03:17 -07:00 |
|
Adam Ierymenko
|
d9e4ba1280
|
Eliminate a little copypasta.
|
2017-02-04 00:04:44 -08:00 |
|
Adam Ierymenko
|
dcb1233b0d
|
Slight refactor to RENEDEZVOUS sending code for federation.
|
2017-02-03 23:54:02 -08:00 |
|
Adam Ierymenko
|
5dbebc513a
|
Minor send path refactor to make packet I/O work on clusters if they are members of networks. Also fix a crash if compiled in cluster mode but no cluster is enabled.
|
2017-02-01 12:00:25 -08:00 |
|
Adam Ierymenko
|
39333c9e8e
|
Modify unite() to deal with a second layer of upstreams.
|
2016-11-17 16:59:04 -08:00 |
|
Adam Ierymenko
|
e1310a764a
|
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
|
2016-08-09 15:45:26 -07:00 |
|
Adam Ierymenko
|
56096be8b6
|
Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array.
|
2016-04-06 16:28:40 -07:00 |
|
Adam Ierymenko
|
284e5d83b5
|
Fix some broken TRACEs and a tiny reorder in a few ifs.
|
2016-03-28 12:15:24 -07:00 |
|
Adam Ierymenko
|
d6a1868d0a
|
Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory.
|
2016-03-18 14:16:07 -07:00 |
|
Adam Ierymenko
|
4e4fd51117
|
boring doc stuff
|
2016-01-12 14:04:55 -08:00 |
|
Adam Ierymenko
|
704205c5f7
|
Dead code removal.
|
2016-01-12 09:33:14 -08:00 |
|
Adam Ierymenko
|
436c1fac1d
|
Selectively move over changes from "edge" to "dev" excluding netcon.
|
2015-12-21 16:15:39 -08:00 |
|
Adam Ierymenko
|
9490b1f136
|
Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability.
|
2015-11-06 13:38:56 -08:00 |
|
Adam Ierymenko
|
f692cec763
|
Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues.
|
2015-10-27 14:04:12 -07:00 |
|
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.
|
2015-09-24 16:21:36 -07:00 |
|
Adam Ierymenko
|
367ffde00c
|
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
2015-09-23 13:49:56 -07:00 |
|
Adam Ierymenko
|
85b90f122a
|
Final std::map<> from Switch, and add some smallish default values for hash size.
|
2015-09-04 15:35:43 -07:00 |
|
Adam Ierymenko
|
3dba016a93
|
Almost done... very few std::map<>s remaining in any spot that matters.
|
2015-09-04 15:21:22 -07:00 |
|
Adam Ierymenko
|
db0369e9b8
|
Remove way-overkill multimap from Switch.
|
2015-09-04 14:56:39 -07:00 |
|
Adam Ierymenko
|
0ab3e49be9
|
Starting in on Switch... kill map in defrag queue, which will probably improve performance pretty decently under high load with lots of peers.
|
2015-09-04 14:44:22 -07:00 |
|
Adam Ierymenko
|
b31071463c
|
Try another NAT traversal improvement.
|
2015-07-28 11:28:47 -07:00 |
|
Adam Ierymenko
|
fe20f0d7cd
|
Put back legacy code to listen for LAN announcements to support same network location with pre-1.0.4 clients.
|
2015-07-13 08:33:02 -07:00 |
|
Adam Ierymenko
|
41fc08b330
|
etherTypeName() is only used in Switch and only with ZT_TRACE
|
2015-07-07 10:06:05 -07:00 |
|
Adam Ierymenko
|
07ea4fd4f9
|
Fix potential bug in controller config request.
|
2015-07-07 10:02:48 -07:00 |
|
Adam Ierymenko
|
778c7e6e70
|
More cleanup to direct path push, comment fixes, etc.
|
2015-07-07 10:00:34 -07:00 |
|
Adam Ierymenko
|
79e9a8bcc2
|
Almost everything for GitHub issue #180 except direct path map setup.
|
2015-07-06 15:28:48 -07:00 |
|
Adam Ierymenko
|
960ceb4791
|
Rest of GitHub issue #140 implementation.
|
2015-06-01 17:50:44 -07:00 |
|
Adam Ierymenko
|
196f27f1f0
|
Add delay to NAT-t escalation stuff to try to address GitHub issue #167
|
2015-05-22 13:11:55 -07:00 |
|
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.
|
2015-05-21 15:58:26 -07:00 |
|
Adam Ierymenko
|
c894710ac1
|
Remove Logger.hpp references.
|
2015-04-08 16:00:48 -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
|
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
|
93012b0ee5
|
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
2015-02-17 13:11:34 -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
|
e7c81ef34e
|
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
|
2014-10-03 22:03:19 -07:00 |
|
Adam Ierymenko
|
ae082c3cb8
|
Yay... now everything compiles! Getting close to testing on this. Still have not added backward compatibility support for relaying of multicasts to 0.9.X clients yet but that will be easy. Will test with heterogenous 1.0.0 clients only first.
|
2014-10-01 12:41:48 -07:00 |
|
Adam Ierymenko
|
8607aa7c3c
|
Everything in for new multicast except IncomingPacket parsing...
|
2014-09-30 08:38:03 -07:00 |
|
Adam Ierymenko
|
431476e2e4
|
Some more multicast algo work...
|
2014-09-24 13:45:58 -07:00 |
|
Adam Ierymenko
|
557801a09e
|
Rename PacketDecoder to much more descriptive IncomingPacket
|
2014-09-24 09:04:09 -07:00 |
|
Adam Ierymenko
|
d9abd4d9be
|
Work on defining new direct broadcast multicast algorithm.
|
2014-09-18 18:28:14 -07:00 |
|
Adam Ierymenko
|
aee742e767
|
More toward GitHub issue #56
|
2014-04-10 16:30:15 -07:00 |
|
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.
|
2014-03-31 22:23:55 -07:00 |
|
Adam Ierymenko
|
abc82d6a52
|
IPC changes and SocketManager changes all build!
|
2014-03-19 13:56:48 -07:00 |
|
Adam Ierymenko
|
0b75992737
|
Everything but the local config bus... blech.
|
2014-03-18 14:33:57 -07:00 |
|