180 Commits (ad1e83d8b9b23d82d3ab26803b687a7a0117f3c7)

Author SHA1 Message Date
Adam Ierymenko 56096be8b6 Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array. 10 years ago
Adam Ierymenko 76f9b4c582 A few other little formatting things. 10 years ago
Adam Ierymenko c589bc4c57 Indentation 10 years ago
Adam Ierymenko d6a1868d0a Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory. 10 years ago
Adam Ierymenko 0c951b6e56 More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it. 10 years ago
Adam Ierymenko eadafd8de7 Little fix to NAT-t alg 10 years ago
Adam Ierymenko 4e4fd51117 boring doc stuff 10 years ago
Adam Ierymenko 83ef98a9dc Add a network-associated user ptr in API. 10 years ago
Adam Ierymenko 704205c5f7 Dead code removal. 10 years ago
Adam Ierymenko bbcc3304a0 Check shouldUsePathForZeroTierTraffic in legacy beacon responder. 10 years ago
Adam Ierymenko 1023ef23b7 Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods. 10 years ago
Adam Ierymenko a56fbc1929 Close another potential anti-recursion loophole. 10 years ago
Adam Ierymenko d8143a5e18 Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev) 10 years ago
Adam Ierymenko 436c1fac1d Selectively move over changes from "edge" to "dev" excluding netcon. 10 years ago
Adam Ierymenko 82aa3f59d6 Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway. 10 years ago
Adam Ierymenko ceaef19fb7 Fix for GitHub issue #260 -- fix for (non-exploitable) crash in network preferred relay code 10 years ago
Adam Ierymenko 2cc50bdb10 Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT 11 years ago
Adam Ierymenko 47424df417 Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous messages from being sent. 11 years ago
Adam Ierymenko f4d12603e0 Tweak how Switch passes off to Cluster on relay to fit new paradigm. 11 years ago
Adam Ierymenko 6bc8c9d8ef Clustering cleanup, still a work in progress. 11 years ago
Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 11 years ago
Adam Ierymenko 9490b1f136 Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability. 11 years ago
Adam Ierymenko 8ef4edebbf Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers. 11 years ago
Adam Ierymenko c9e6e60c09 Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability. 11 years ago
Adam Ierymenko 4e9d430476 Make root and relay selection somewhat more robust. 11 years ago
Adam Ierymenko 7fbe2f7adf Tweak some more timings for better reliability. 11 years ago
Adam Ierymenko 16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 11 years ago
Adam Ierymenko f692cec763 Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues. 11 years ago
Adam Ierymenko de761c5a82 Fix test world def. 11 years ago
Adam Ierymenko d6dee7bb5c Clustered handling of relaying. 11 years ago
Adam Ierymenko 3adb183c5f Fix bad COM attachment bug and eliminate an unnecessary redundant check. 11 years ago
Adam Ierymenko a3db7d0728 Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things. 11 years ago
Adam Ierymenko f69454ec98 (1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses. 11 years ago
Adam Ierymenko 367ffde00c Plumb through localInterfaceId to track local interfaces corresponding with remote addresses. 11 years ago
Adam Ierymenko 85b90f122a Final std::map<> from Switch, and add some smallish default values for hash size. 11 years ago
Adam Ierymenko 3dba016a93 Almost done... very few std::map<>s remaining in any spot that matters. 11 years ago
Adam Ierymenko db0369e9b8 Remove way-overkill multimap from Switch. 11 years ago
Adam Ierymenko 0ab3e49be9 Starting in on Switch... kill map in defrag queue, which will probably improve performance pretty decently under high load with lots of peers. 11 years ago
Adam Ierymenko eea8d58afa docs,cleanup 11 years ago
Adam Ierymenko 21e6850722 Cancel NAT-t attempts if peer is no longer "alive" 11 years ago
Adam Ierymenko 4564dd95ff Revert... no luck with any of that. 11 years ago
Adam Ierymenko d2bfdfa6e7 Play with NAT-t tweaks some more. 11 years ago
Adam Ierymenko 17bfd4d55e Add TRACE for NAT-t debugging. 11 years ago
Adam Ierymenko b31071463c Try another NAT traversal improvement. 11 years ago
Adam Ierymenko 821f1f366e Fix to NAT escalation sequence. 11 years ago
Adam Ierymenko e30ba3e138 Eliminate some aggressive port scanning NAT-t behavior that has proven ineffective. 11 years ago
Adam Ierymenko fe20f0d7cd Put back legacy code to listen for LAN announcements to support same network location with pre-1.0.4 clients. 11 years ago
Adam Ierymenko 3f567a07ca Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20. 11 years ago
Adam Ierymenko 41fc08b330 etherTypeName() is only used in Switch and only with ZT_TRACE 11 years ago
Adam Ierymenko 778c7e6e70 More cleanup to direct path push, comment fixes, etc. 11 years ago