Adam Ierymenko
b11ffc9635
Integrate Hashtable into Multicaster, where @mwarning found heaviest std::map() overhead.
2015-08-27 16:17:21 -07:00
Adam Ierymenko
412389ec75
Implement ERROR_UNWATNED_MULTICAST
2015-07-07 11:49:38 -07:00
Adam Ierymenko
3f71afd0fb
Put multicast txQueue back to list.
2015-06-26 14:26:35 -07:00
Moritz Warning
0073d0f694
replace txQueue list by vector for faster memory access and less allocations
2015-06-19 00:28:51 +02: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
7619b0ecbd
Send multicasts in random order.
...
This should not affect most users, but on large networks it should cause service
announcements to work a lot better. This is the result of a prolonged discussion
with a user about the visibility of game servers on a large network. The old
multicast algorithm was de-facto randomized due to its distributed nature, while
the new algorithm is more deterministic. This will restore some randomization
beyond limit-overflow conditions.
It won't affect small networks at all.
2014-11-21 10:50:27 -08:00
Adam Ierymenko
22d8aa4dc9
Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers.
2014-10-29 15:26:32 -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
c2aac69a9f
Fixes to legacy peer support.
2014-10-11 15:49:31 -07:00
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
2014-10-09 17:58:31 -07:00
Adam Ierymenko
ab22feba9a
Bump version to 1.0.0, add legacy support code to Multicaster to not send new frame to known-to-be-old peers.
2014-10-05 10:34:25 -07:00
Adam Ierymenko
2c8321be1f
Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
2014-10-04 13:15:02 -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
3f7e7e8a88
Do not multicast to self.
2014-10-03 18:42:41 -07:00
Adam Ierymenko
49dc47ff38
Make multicast gathering a bit smarter.
2014-10-02 11:35:37 -07:00
Adam Ierymenko
e1882b614b
Some cleanup, Multicaster now sends multicasts as it gets additional members.
2014-10-01 14:05:25 -07:00
Adam Ierymenko
2659427864
Multicaster needs to be global, not per-network, and a bunch of other stuff.
2014-09-30 16:28:25 -07:00
Adam Ierymenko
ed0ba49502
A few more revisions to new multicast verbs.
2014-09-26 14:18:25 -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
6c87f9f765
Rename MulticastTopology to Multicaster -- same name as old multicast controller but different code. More descriptive though.
2014-09-24 14:02:16 -07:00
Adam Ierymenko
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
2014-09-18 18:28:14 -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
5682f0b772
Some more bridging work... wiring up in Switch - GitHub issue #68
2014-06-13 17:49:33 -07:00
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
2014-02-16 12:40:22 -08:00
Adam Ierymenko
612c17240a
Dead code removal, fix for cleanup GitHub issue #28
2013-12-06 16:49:20 -08:00
Adam Ierymenko
2cfa76fa8b
Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0!
2013-10-02 13:50:42 -04:00
Adam Ierymenko
929ed5d8b8
Merge branch 'adamierymenko-dev' of /Users/api/Code/local-ZeroTierOne into adamierymenko-dev
2013-10-01 17:19:36 -04:00
Adam Ierymenko
4b6ec872c7
More multicast fixes.
2013-10-01 17:19:24 -04:00
Adam Ierymenko
676f391ccf
Multicast debug changes.
2013-10-01 16:31:46 -04:00
Adam Ierymenko
0dca9964bf
Whew, it builds!
2013-09-27 16:03:13 -04:00
Adam Ierymenko
4e010da54b
Work in progress...
2013-09-26 17:45:19 -04:00
Adam Ierymenko
24bad9f3d1
More work in progress in new multicast propagation...
2013-09-25 17:41:49 -04:00
Adam Ierymenko
f3128a18fe
Work in progress...
2013-09-25 10:55:27 -04:00
Adam Ierymenko
62a6f7ca63
More work in progress on new Multicaster. This should be pretty much good to go, and performance should not be too O(crappy).
2013-09-22 13:35:40 -04:00
Adam Ierymenko
770fbaf4b2
New multicast algorithm work in progress...
2013-09-21 16:46:00 -04:00
Adam Ierymenko
f9079a110e
Make network multicast breadth/depth parameters configurable on a per-net basis.
2013-09-17 16:11:57 -04:00
Adam Ierymenko
b2b24ca41b
Some file format cleanup.
2013-09-17 15:46:56 -04:00
Adam Ierymenko
4f53d09c7e
Build fix for 32-bit Linux and tweaks to address derivation algorithm.
2013-09-16 14:47:48 -04:00
Adam Ierymenko
e376c6f6a9
New crypto integrated -- going to be testing new identity address generation algo a bit more before finalizing.
2013-09-16 13:57:57 -04:00
Adam Ierymenko
1a7e303f97
docs and minor cleanup
2013-08-30 16:47:54 -04:00
Adam Ierymenko
a0a9d52213
Bug fix in multicast changes.
2013-08-21 14:51:32 -04:00
Adam Ierymenko
2efc9b31bd
Huge convoluted logic de-tangling in multicast propagation, supernodes now do random propagation for more efficient coverage with less bias in sparse graph cases.
2013-08-21 11:45:06 -04:00
Adam Ierymenko
1d9977b8b9
A bit of code comment cleanup.
2013-08-21 10:19:34 -04:00
Adam Ierymenko
3af55f4423
Add RateLimiter for rate limiting multicast, not tested yet.
2013-08-08 17:20:35 -04:00
Adam Ierymenko
e73c4cb68b
Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener timing code.
2013-08-06 00:05:39 -04:00
Adam Ierymenko
b8e9a79d00
docs
2013-07-20 18:24:56 -04:00
Adam Ierymenko
a6f4de8172
Also exclude upstream when picking supernode for multicast propagation, to not bounce back and forth to the same supernode.
2013-07-15 08:00:15 -04:00