summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
AgeCommit message (Collapse)Author
2015-06-26GitHub issue #191 - kill intra-network multicast rate limits (which were not ↵Adam Ierymenko
well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
2015-06-19Root server terminology cleanup, and tighten up a security check by checking ↵Adam Ierymenko
full identity of peers instead of just address.
2015-05-06Renamed supernode to rootserverKees Bos
2015-06-01Fix to GitHub issue #140 -- network preferred relays. Also go ahead and ↵Adam Ierymenko
allow RENDEZVOUS from regular peers.
2015-06-01Rest of GitHub issue #140 implementation.Adam Ierymenko
2015-05-22Build fix.Adam Ierymenko
2015-05-22typoAdam Ierymenko
2015-05-22Add delay to NAT-t escalation stuff to try to address GitHub issue #167Adam Ierymenko
2015-05-21Completely factor out "desperation" from the core. I thought of a ↵Adam Ierymenko
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-04-26Do not unite() peers across different IP scopes as this would pretty much ↵Adam Ierymenko
never work.
2015-04-15Disable a few noisy TRACEs, and limit how often we confirm new paths to ↵Adam Ierymenko
avoid flooding.
2015-04-15Fix some deadlock issues, move awareness of broadcast subscription into ↵Adam Ierymenko
core, other bug fixes.
2015-04-10Restrict unite() to desperation==0 since NAT-t only works right now with ↵Adam Ierymenko
direct links.
2015-04-09TRACE compile fixes, other fixes, and it basically works! It says HELLO.Adam Ierymenko
2015-04-08Add events for packet decode errors, etc., and re-implement TRACE as an event.Adam Ierymenko
2015-04-08Utils::now() removal and a bunch of compile fixes.Adam Ierymenko
2015-04-07Tons of refactoring, change to desperation algorithm to use max of core or ↵Adam Ierymenko
link, porting over core loop code from old Node.cpp to new CAPI version, etc.
2015-04-07Always use HELLO to contact, and we now confirm newly learned paths via a ↵Adam Ierymenko
two-way handshake to prevent half-connects.
2015-04-06More NAT strategy cleanup.Adam Ierymenko
2015-04-06Get rid of random port strategy -- research does not support.Adam Ierymenko
2015-04-03Eliminate redundant SharedPtr assignment.Adam Ierymenko
2015-04-03Bunch more cleanup, improvements to NAT traversal logic, finished updating ↵Adam Ierymenko
Switch.
2015-04-03Send path simplification.Adam Ierymenko
2015-04-02The concept of link desperation (escalating to less desirable transports) ↵Adam Ierymenko
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-02-17Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]Adam Ierymenko
2015-01-05Cleanup, add tristate to config code in Network, and happy new year!Adam Ierymenko
2014-11-20Tweak to symmetric NAT buster to add one to the number of ports above the ↵Adam Ierymenko
current one it attempts.
2014-10-28Fix a nasty bug introduced in packet fragmentation a while back during ↵Adam Ierymenko
refactoring, and a few other things related to multicast.
2014-10-09New multicast bug fixes, TRACE improvements, and temporarily disable legacy ↵Adam Ierymenko
multicast for debugging purposes.
2014-10-09Reorg multicast packet, and a whole bunch of refactoring around the pushing ↵Adam Ierymenko
of certificates of membership.
2014-10-04Pull logic to always send new multicasts to supernode since we need to do ↵Adam Ierymenko
that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
2014-10-03Turns out that needed to be a list after all. Also clean up ↵Adam Ierymenko
Multicaster::gather().
2014-10-02Make multicast gathering a bit smarter.Adam Ierymenko
2014-10-01Some cleanup, Multicaster now sends multicasts as it gets additional members.Adam Ierymenko
2014-10-01Yay... now everything compiles! Getting close to testing on this. Still have ↵Adam Ierymenko
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-09-30Everything in for new multicast except IncomingPacket parsing...Adam Ierymenko
2014-09-24Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a ↵Adam Ierymenko
little more consistent about using _ to denote private member variables.
2014-09-24Some more multicast algo work...Adam Ierymenko
2014-09-24Rename PacketDecoder to much more descriptive IncomingPacketAdam Ierymenko
2014-09-18Work on defining new direct broadcast multicast algorithm.Adam Ierymenko
2014-09-05Rip out dead "firewall opener" code, replace in pipeline with ↵Adam Ierymenko
anti-symmetric-NAT tactics.
2014-08-19Makefile changes, and make Topology::getBestSupernode() return the "next" ↵Adam Ierymenko
supernode if I am a supernode. Also some comment cleanup.
2014-08-05(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work ↵Adam Ierymenko
for making supernode topology hot-updatable.
2014-06-30Keep track of basic aliveness for peers regardless if direct or indirect ↵Adam Ierymenko
connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
2014-06-26Only add active bridges to top of MC propagation list if they are alive. ↵Adam Ierymenko
Otherwise a dead active bridge might kill multicast for us.
2014-06-21Comments and cleanup.Adam Ierymenko
2014-06-21Bridging (GitHub issue #68) does indeed work! Just needed to fix a packet ↵Adam Ierymenko
size thinko.
2014-06-21.Adam Ierymenko
2014-06-21Bridging #68 should work now!Adam Ierymenko
2014-06-21.Adam Ierymenko