summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
AgeCommit message (Collapse)Author
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
2014-02-06More Windows service work... it builds! Now to do a new installer and test. ↵Adam Ierymenko
Also fix a Windows compile warning in Switch.cpp.
2014-02-03Yank a code path it turns out we probably don't want.Adam Ierymenko
2014-01-30Take TRACE back out of Mac makefile, fix a few decode little things.Adam Ierymenko
2014-01-30Bunch of fixes to startup, pinging, and choice of route. Also some TRACE ↵Adam Ierymenko
updates.
2014-01-29More work on connection reset stuff...Adam Ierymenko
2014-01-29Alternate order of packet emission in unite().Adam Ierymenko
2014-01-28Yank PROBE stuff since it's not used and was a premature addition to the ↵Adam Ierymenko
protocol.
2014-01-27Make EthernetTap creation occur in a background thread in Network since it's ↵Adam Ierymenko
a time consuming operation on Windows. This fixes one of the last remaining Windows problems.