summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
AgeCommit message (Collapse)Author
2015-11-09Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NATAdam Ierymenko
2015-11-09Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous ↵Adam Ierymenko
messages from being sent.
2015-11-09Tweak how Switch passes off to Cluster on relay to fit new paradigm.Adam Ierymenko
2015-11-06Clustering cleanup, still a work in progress.Adam Ierymenko
2015-11-06Further pare down Cluster messaging and rename some stuff.Adam Ierymenko
2015-11-06Try prioritizing cluster-send over direct send in cluster mode -- may ↵Adam Ierymenko
improve cluster relaying reliability.
2015-11-05Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.Adam Ierymenko
2015-11-03Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing ↵Adam Ierymenko
responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability.
2015-11-02Make root and relay selection somewhat more robust.Adam Ierymenko
2015-11-02Tweak some more timings for better reliability.Adam Ierymenko
2015-10-27Factor out RemotePath subclass of Path -- no longer needed, just cruft.Adam Ierymenko
2015-10-27Change how cluster relays packets -- just PROXY_UNITE and then send packet ↵Adam Ierymenko
via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues.
2015-10-26Fix test world def.Adam Ierymenko
2015-10-20Clustered handling of relaying.Adam Ierymenko
2015-10-19Fix bad COM attachment bug and eliminate an unnecessary redundant check.Adam Ierymenko
2015-10-01Refactor: move network COMs out of Network and into Peer in prep for ↵Adam Ierymenko
tightening up multicast lookup and other things.
2015-09-24(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local ↵Adam Ierymenko
interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
2015-09-23Plumb through localInterfaceId to track local interfaces corresponding with ↵Adam Ierymenko
remote addresses.
2015-09-04Final std::map<> from Switch, and add some smallish default values for hash ↵Adam Ierymenko
size.
2015-09-04Almost done... very few std::map<>s remaining in any spot that matters.Adam Ierymenko
2015-09-04Remove way-overkill multimap from Switch.Adam Ierymenko
2015-09-04Starting in on Switch... kill map in defrag queue, which will probably ↵Adam Ierymenko
improve performance pretty decently under high load with lots of peers.
2015-07-28docs,cleanupAdam Ierymenko
2015-07-28Cancel NAT-t attempts if peer is no longer "alive"Adam Ierymenko
2015-07-28Revert... no luck with any of that.Adam Ierymenko
2015-07-28Play with NAT-t tweaks some more.Adam Ierymenko
2015-07-28Add TRACE for NAT-t debugging.Adam Ierymenko
2015-07-28Try another NAT traversal improvement.Adam Ierymenko
2015-07-27Fix to NAT escalation sequence.Adam Ierymenko
2015-07-27Eliminate some aggressive port scanning NAT-t behavior that has proven ↵Adam Ierymenko
ineffective.
2015-07-13Put back legacy code to listen for LAN announcements to support same network ↵Adam Ierymenko
location with pre-1.0.4 clients.
2015-07-07Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG ↵Adam Ierymenko
and replacing it with a simple non-crypto PRNG that just uses Salsa20.
2015-07-07etherTypeName() is only used in Switch and only with ZT_TRACEAdam Ierymenko
2015-07-07More cleanup to direct path push, comment fixes, etc.Adam Ierymenko
2015-07-06Fix a regression.Adam Ierymenko
2015-07-06Almost everything for GitHub issue #180 except direct path map setup.Adam Ierymenko
2015-07-06Almost all of GitHub issue #180Adam Ierymenko
2015-07-06Some cleanup, docs, and Path -> Path > RemotePath refactor.Adam Ierymenko
2015-07-06Include COM with EXT_FRAME in bridged case.Adam Ierymenko
2015-07-06Kill debug line.Adam Ierymenko
2015-07-06Documentation in Packet, more work on path push, and clean up ancient legacy ↵Adam Ierymenko
support code in Switch.
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.