summaryrefslogtreecommitdiff
path: root/node/Network.cpp
AgeCommit message (Collapse)Author
2016-08-03Bunch of work on pushing and replication of tags and capabilities, and ↵Adam Ierymenko
protocol cleanup.
2016-06-21Make Dictionary templatable so it can be used where we want a higher capacity.Adam Ierymenko
2016-06-16Big refactor mostly builds. We now have a uniform backward compatible netconf.Adam Ierymenko
2016-06-14Big refactor in service code to prep for plumbing through route management.Adam Ierymenko
2016-06-07Carry virtual network routes through to API.Adam Ierymenko
2016-05-16Fix new binary meta-data deserialization and add some debug code (will ↵Adam Ierymenko
disable later).
2016-05-11Ready to test whole new netconf refactor.Adam Ierymenko
2016-05-06Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes ↵Adam Ierymenko
network controller easier to refactor.
2016-05-06Changes to how new-style binary network configs are detected, and a ↵Adam Ierymenko
new-style binary serialized meta-data representation.
2016-04-26Deserialize new style netconf.Adam Ierymenko
2016-04-26More refactoring to remove old Dictionary dependencies.Adam Ierymenko
2016-04-19Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, ↵Adam Ierymenko
and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
2016-04-12Refactor Network for new NetworkConfig.Adam Ierymenko
2016-04-12NetworkConfig refactor part 1Adam Ierymenko
2016-01-12boring doc stuffAdam Ierymenko
2016-01-12Docs and cleanup.Adam Ierymenko
2016-01-12Use network user ptr in lookup for Ethernet frame handling to eliminate map ↵Adam Ierymenko
lookup.
2016-01-12Add a network-associated user ptr in API.Adam Ierymenko
2015-10-27Factor out RemotePath subclass of Path -- no longer needed, just cruft.Adam Ierymenko
2015-10-23Refactor multicast group announcement to work directly or indirectly.Adam Ierymenko
2015-10-07Tune NAT-t keepalives so that timing is better obeyed, clean up a build ↵Adam Ierymenko
warning, and fix a potential source of network recursion (though harmless).
2015-10-06Fix TRACE output.Adam Ierymenko
2015-10-02no toString() method on peer. Commenting out for now.Grant Limberg
2015-10-01Always announce multicast groups, not just to peers with direct links, and ↵Adam Ierymenko
push network COMs to any MULTICAST_LIKE recipient for future use.
2015-10-01Restore group announcement on Peer::receive() but centralize packet ↵Adam Ierymenko
composition in one place.
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-08Add a bit of useful testing instrumentation to SqliteNetworkController.Adam Ierymenko
2015-09-04Two for one! (std::map removal)Adam Ierymenko
2015-09-04... and another one!Adam Ierymenko
2015-09-04Another std::map<> dies.Adam Ierymenko
2015-07-31Add security notice to auto-update info in -h output, and fix a missing paren.Adam Ierymenko
2015-07-31Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to ↵Adam Ierymenko
controllers (for future use).
2015-07-23Eliminate some poorly thought out optimizations from the netconf/controller ↵Adam Ierymenko
interaction, and go ahead and bump version to 1.0.4. For a while in 1.0.3 -dev I was trying to optimize out repeated network controller requests by using a ratcheting mechanism. If the client received a network config that was indeed different from the one it had, it would respond by instantlly requesting it again. Not sure what I was thinking. It's fundamentally unsafe to respond to a message with another message of the same type -- it risks a race condition. In this case that's exactly what could happen. It just isn't worth the added complexity to avoid a tiny, tiny amount of network overhead, so I've taken this whole path out. A few extra bytes every two minutes isn't worth fretting about, but as I recall the reason for this optimization was to save CPU on the controller. This can be achieved by just caching responses in memory *there* and serving those same responses back out if they haven't changed. I think I developed that 'ratcheting' stuff before I went full time on this. It's hard to develop stuff like this without hours of sustained focus.
2015-07-07Fix potential bug in controller config request.Adam Ierymenko
2015-07-07Revert some bad docs in Packet -- I think we will still use that. Also ↵Adam Ierymenko
rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
2015-06-29Fix semantics of std::unique() to actually remove duplicates (hidden memory ↵Adam Ierymenko
leak?)
2015-06-26Fix cert verification check for self signed signaturesKees Bos
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-01Rest of GitHub issue #140 implementation.Adam Ierymenko
2015-06-01Fix for GitHub issue #170Adam Ierymenko
2015-05-25Some nodeJS work, and apply fix from GitHub issue #166 plus a small ↵Adam Ierymenko
optimization to avoid repeated calls to _allMulticastGroups().
2015-05-13Should fix deadlock issue in GitHub issue #166Adam Ierymenko
2015-04-24Windows now builds and runs selftest correctly, and fixed a Windows (and ↵Adam Ierymenko
possibly other platforms) issue in Phy<>.
2015-04-15More cleanup, and fix for the extremely unlikely case of identity collision.Adam Ierymenko
2015-04-15Rename netconf to controller and NetworkConfigMaster to NetworkController ↵Adam Ierymenko
for consistency.
2015-04-15Fix some deadlock issues, move awareness of broadcast subscription into ↵Adam Ierymenko
core, other bug fixes.
2015-04-14Bunch of tap stuff, IP address assignment hookups, etc.Adam Ierymenko