summaryrefslogtreecommitdiff
path: root/node/NetworkConfig.cpp
AgeCommit message (Collapse)Author
2019-03-25Various other fixes including removal of more mem*() issues and netlink ↵Adam Ierymenko
fixes for AARCH64.
2019-03-25More mem*() stuff...Adam Ierymenko
2019-01-14Updated licenses for 2019Joseph Henry
2018-01-26Tie up the rest of hub and spoke designated replicator multicast mode.Adam Ierymenko
2018-01-08Copyright updates for 2018.Adam Ierymenko
2017-12-04Clean up remote tracing code, add per-network remote trace settings, add ↵Adam Ierymenko
remote trace level, and make local trace output readable again.
2017-09-01Another fix for ye old tyme clients.Adam Ierymenko
2017-07-07Remote trace: plumbing, replace old TRACE with calls to Trace object.Adam Ierymenko
2017-07-06Cleanup.Adam Ierymenko
2017-06-27Rename Utils::snprintf due to it being a #define on one platform.Adam Ierymenko
2017-05-04First pass of configurable MTU and max MTU increase.Adam Ierymenko
2017-04-27License header update.Adam Ierymenko
2017-02-23Certificate of ownership -- used to secure against IP address spoofing, ↵Adam Ierymenko
especially for IPv4 and regular IPv6.
2017-02-04A bit of code cleanup.Adam Ierymenko
2016-09-07Credential TTL (tags/capabilities) should be credential time max delta, ↵Adam Ierymenko
since we could get pushed one that is newer.
2016-08-23Cleanup.Adam Ierymenko
2016-08-22Get rid of expiration in Capability and Tag and move this to NetworkConfig ↵Adam Ierymenko
so it can be set network-wide and reset if needed. Also add NetworkConfig field for this and centralize checking of credential time validity.
2016-08-09Handling of multi-part chunked network configs on the inbound side.Adam Ierymenko
2016-08-09Encode and decode of tags and capabilities in NetworkConfig.Adam Ierymenko
2016-08-02Kill network preferred relays -- this feature is gone (and was seldom used ↵Adam Ierymenko
anyway) in favor of federation.
2016-07-28Cleanup...Adam Ierymenko
2016-07-25Basic L2/L3 filter for rules engine (not integrated yet) and some cleanup.Adam Ierymenko
2016-06-23IPv6 NDP emulation flag in NetworkConfig, and implement Docker-friendlyAdam Ierymenko
(and other host friendly) IPv6 /80 magic subnetting to allow massive multicast-free NDP emulated IPv6 networks where each host can have a /48 worth of IPv6 IPs for internal containers, VMs, etc. Alan Kay, thou art avenged. https://ivanovivan.wordpress.com/2010/09/13/alan-kay-quotes/
2016-06-21Add rule type to match a COM field of the peer by ID and value because this ↵Adam Ierymenko
will be powerful.
2016-06-21Make Dictionary templatable so it can be used where we want a higher capacity.Adam Ierymenko
2016-06-17Linux bug fixes, small controller fix.Adam Ierymenko
2016-06-16New format now integrated, and it works.Adam Ierymenko
2016-06-16Big refactor mostly builds. We now have a uniform backward compatible netconf.Adam Ierymenko
2016-05-11Refactor controller to send both old and new format netconf.Adam Ierymenko
2016-05-06Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes ↵Adam Ierymenko
network controller easier to refactor.
2016-05-06Merge gateways and routes in netconf since they are the same thing.Adam Ierymenko
2016-04-26Bunch more refactoring for an even more compact NetworkConfig ↵Adam Ierymenko
representation, especially rules.
2016-04-26Replace two bools in NetworkConfig with a flags field.Adam Ierymenko
2016-04-26More refactoring to remove old Dictionary dependencies.Adam Ierymenko
2016-04-22Refactor rules table in-memory structure in new NetworkConfig to permit far ↵Adam Ierymenko
more rules with better space efficiency.
2016-04-12NetworkConfig refactor part 1Adam Ierymenko
2016-01-12boring doc stuffAdam Ierymenko
2015-10-28On semi-undocumented test net, assign a RFC4193 IPv6 address too. Will be ↵Adam Ierymenko
useful for our at-scale tests.
2015-10-01Simplify Dictionary and reduce memory usage, now no more std::maps in core.Adam Ierymenko
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-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-06-29Fix semantics of std::unique() to actually remove duplicates (hidden memory ↵Adam Ierymenko
leak?)
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-13Add new fields in operator==Adam Ierymenko
2015-06-13Gateways support in NetworkConfig object.Adam Ierymenko
2015-06-01Fix to GitHub issue #140 -- network preferred relays. Also go ahead and ↵Adam Ierymenko
allow RENDEZVOUS from regular peers.
2015-05-04Hack around GitHub issue #165 (?)Adam Ierymenko
2015-04-20Add per-network relays to NetworkConfig.Adam Ierymenko
2015-04-15Rename netconf to controller and NetworkConfigMaster to NetworkController ↵Adam Ierymenko
for consistency.
2015-04-08All of node/ now compiles again!Adam Ierymenko