summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
AgeCommit message (Collapse)Author
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
2014-06-21Debug code -- temporary.Adam Ierymenko
2014-06-18Some TRACE improvements and comment revs.Adam Ierymenko
2014-06-17Some logging fixes.Adam Ierymenko
2014-06-13Bridging pretty much ready to test! Got Switch all wired up. Also fix a ↵Adam Ierymenko
latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
2014-06-13Some more bridging work... wiring up in Switch - GitHub issue #68Adam Ierymenko
2014-05-23Don't transmit broadcasts if enableBroadcast is false on a network.Adam Ierymenko
2014-05-23GitHub Issue #69 - make MAC assignment schema differ between virtual networks.Adam Ierymenko
2014-04-10More toward GitHub issue #56Adam Ierymenko
2014-04-10Prevent recursive transit of ZeroTier packets, toward GitHub issue #56Adam Ierymenko
2014-04-10Probable fix for GitHub issue #63 - do not unite() if either path is TCP, ↵Adam Ierymenko
since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
2014-03-31Build fix.Adam Ierymenko
2014-03-31Oops... turns out we need to differentiate incoming from outgoing TCP and ↵Adam Ierymenko
indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
2014-03-26Add TCP channel support for supernode list, make Peer pick the first path if ↵Adam Ierymenko
all paths are equally dead.
2014-03-25Apply multicast rate limits on a network to ourselves and do not send ↵Adam Ierymenko
multicasts that would exceed limits, for GitHub issue #55
2014-03-20Fix blocking socket issues in new socket I/O code.Adam Ierymenko
2014-03-19IPC changes and SocketManager changes all build!Adam Ierymenko
2014-03-18More ripping out of old condition stuff.Adam Ierymenko
2014-02-16Boring stuff: update dates in copyrights across all files.Adam Ierymenko