173 Commits (master)

Author SHA1 Message Date
Adam Ierymenko d6f0f1a82a Use network user ptr in lookup for Ethernet frame handling to eliminate map lookup. 10 years ago
Adam Ierymenko 83ef98a9dc Add a network-associated user ptr in API. 10 years ago
Adam Ierymenko 35676217e8 Refactor multicast group announcement to work directly or indirectly. 11 years ago
Adam Ierymenko d6676a9d6c Always announce multicast groups, not just to peers with direct links, and push network COMs to any MULTICAST_LIKE recipient for future use. 11 years ago
Adam Ierymenko 9405150b11 Restore group announcement on Peer::receive() but centralize packet composition in one place. 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 307e44f7c8 Two for one! (std::map removal) 11 years ago
Adam Ierymenko d1341578d8 ... and another one! 11 years ago
Adam Ierymenko 7b8ce16057 Another std::map<> dies. 11 years ago
Adam Ierymenko 778c7e6e70 More cleanup to direct path push, comment fixes, etc. 11 years ago
Adam Ierymenko f398952a6c Revert some bad docs in Packet -- I think we will still use that. Also rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter. 11 years ago
Adam Ierymenko 57c7992c78 GitHub issue #191 - kill intra-network multicast rate limits (which were not 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. 11 years ago
Adam Ierymenko 5e3c6d9e0d Some nodeJS work, and apply fix from GitHub issue #166 plus a small optimization to avoid repeated calls to _allMulticastGroups(). 11 years ago
Adam Ierymenko bdce679d84 Should fix deadlock issue in GitHub issue #166 11 years ago
Adam Ierymenko 6369c264e2 Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency. 11 years ago
Adam Ierymenko 1c9ca73065 Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes. 11 years ago
Adam Ierymenko 67f1f1892f Bunch of tap stuff, IP address assignment hookups, etc. 11 years ago
Adam Ierymenko 4d5a6a25d3 Add events for packet decode errors, etc., and re-implement TRACE as an event. 11 years ago
Adam Ierymenko bf2ff964e1 Utils::now() removal and a bunch of compile fixes. 11 years ago
Adam Ierymenko 76ad19f411 Use binary_search for multicast groups, which are kept in sorted order. 11 years ago
Adam Ierymenko 758bf949db Check for subscribed multicast groups should be able to check groups bridged behind me. 11 years ago
Adam Ierymenko 51f46a009a Multicast group join/leave and group membership announcement. 11 years ago
Adam Ierymenko 8001b2c0cb Network now calls port config function as per new API. 11 years ago
Adam Ierymenko a86300c58f Network build fixes and cleanup of remaining internal references to _tap 11 years ago
Adam Ierymenko 0214dbc277 More cleanup. 11 years ago
Adam Ierymenko 1f28ce3980 Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc. 11 years ago
Adam Ierymenko 49349470a0 ... 11 years ago
Adam Ierymenko 647ce82b86 Move more stuff into osdep/ -- node/ will not use threads directly. 11 years ago
Adam Ierymenko 93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 11 years ago
Adam Ierymenko 4e95384ad6 Cleanup, add tristate to config code in Network, and happy new year! 11 years ago
Adam Ierymenko 56f8f8aa24 Return self in GATHER requests if self is a member of multicast group, and reinstate legacy support. 12 years ago
Adam Ierymenko d5e0f7e3e4 Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership. 12 years ago
Adam Ierymenko 496109fdcc Announce multicast group changes on network rescanMulticastGroups() 12 years ago
Adam Ierymenko aad344bb84 Add test network support to Network. 12 years ago
Adam Ierymenko 351db7f1a0 Plumb injectPacketFromHost through to API. 12 years ago
Adam Ierymenko ae082c3cb8 Yay... now everything compiles! Getting close to testing on this. Still have 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. 12 years ago
Adam Ierymenko b41437780b Add origin to new MULTICAST_FRAME, move security check for certs into Network to remove redundant code and bug-proneness, more work on IncomingPacket... 12 years ago
Adam Ierymenko 2659427864 Multicaster needs to be global, not per-network, and a bunch of other stuff. 12 years ago
Adam Ierymenko 8607aa7c3c Everything in for new multicast except IncomingPacket parsing... 12 years ago
Adam Ierymenko 2d41055bdc Some Network code cleanup. 12 years ago
Adam Ierymenko 050a0ce85d . 12 years ago
Adam Ierymenko 6c87f9f765 Rename MulticastTopology to Multicaster -- same name as old multicast controller but different code. More descriptive though. 12 years ago
Adam Ierymenko 81b12b6826 Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables. 12 years ago
Adam Ierymenko 557801a09e Rename PacketDecoder to much more descriptive IncomingPacket 12 years ago
Adam Ierymenko 9180a30986 . 12 years ago
Adam Ierymenko 61d0f27d2a Make MulticastTopology have its own mutex. 12 years ago
Adam Ierymenko 954f9cbc13 Yet more WIP on mulitcast algo... 12 years ago
Adam Ierymenko d9abd4d9be Work on defining new direct broadcast multicast algorithm. 12 years ago
Adam Ierymenko 1d37204a37 Refactoring in progress... pardon our dust... 12 years ago