Adam Ierymenko
0b3b994241
Relay policy can now be computed.
9 years ago
Adam Ierymenko
cc4bacc199
Cleanup, and implement compression disable flag for networks.
10 years ago
Adam Ierymenko
68e549233d
Revise bearer token code in controller, and add relay policy as a meta-data item presented to controller by nodes (to facilitate future meshiness).
10 years ago
Adam Ierymenko
ef87069957
Fix gating of multicast GATHER replies since these can come from upstream, etc., and fix an issue with sending ECHO to recheck marginal paths.
10 years ago
Adam Ierymenko
c9ee8612e4
Credential TTL (tags/capabilities) should be credential time max delta, since we could get pushed one that is newer.
10 years ago
Adam Ierymenko
8b6d23b9f6
Optimize filter code a bit, and add a network-level setting for what should happen if an unsupported or unknown MATCH is encountered in a rules table.
10 years ago
Adam Ierymenko
ded5a53a6c
Documentation updates, add rules engine revision to network config request meta-data.
10 years ago
Adam Ierymenko
0a7a33ef8f
Instantaneous blacklisting and credential revocation.
10 years ago
Adam Ierymenko
32fa061700
Compute credential TTL et al.
10 years ago
Adam Ierymenko
68b4ca9b31
Cleanup.
10 years ago
Adam Ierymenko
0dfc08b317
Tidy up a few minor protocol things, improve documentation in Packet.hpp.
10 years ago
Adam Ierymenko
77f7dcf40a
Obsolete "test network" removal.
10 years ago
Adam Ierymenko
9a3c652a51
Get rid of expiration in Capability and Tag and move this to NetworkConfig so it can be set network-wide and reset if needed. Also add NetworkConfig field for this and centralize checking of credential time validity.
10 years ago
Adam Ierymenko
b72847d504
Finally implement network join auth tokens, at least at the protocol level.
10 years ago
Adam Ierymenko
4d498b3765
Handling of multi-part chunked network configs on the inbound side.
10 years ago
Adam Ierymenko
bcd05fbdfa
Chunking of network config replies.
10 years ago
Adam Ierymenko
2ba9343607
Encode and decode of tags and capabilities in NetworkConfig.
10 years ago
Adam Ierymenko
404a0bbddd
...
10 years ago
Adam Ierymenko
7e6e56e2bc
Bunch of work on pushing and replication of tags and capabilities, and protocol cleanup.
10 years ago
Adam Ierymenko
91940cbcf5
Kill network preferred relays -- this feature is gone (and was seldom used anyway) in favor of federation.
10 years ago
Adam Ierymenko
7404eb46c4
Integration of Filter into inbound and outbound packet path.
10 years ago
Adam Ierymenko
6320879fe1
Fix for GitHub issue #358 and bump version to 1.1.13 (dev)
10 years ago
Adam Ierymenko
38dfebad8c
IPv6 NDP emulation flag in NetworkConfig, and implement Docker-friendly
...
(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/
10 years ago
Adam Ierymenko
b2d048aa0e
Make Dictionary templatable so it can be used where we want a higher capacity.
10 years ago
Adam Ierymenko
601c51b351
Bug fix.
10 years ago
Adam Ierymenko
901b75e756
New format now integrated, and it works.
10 years ago
Adam Ierymenko
e09c1a1c11
Big refactor mostly builds. We now have a uniform backward compatible netconf.
10 years ago
Adam Ierymenko
4446dbde5e
Big refactor in service code to prep for plumbing through route management.
10 years ago
Adam Ierymenko
82635ce606
Add flags and metric to ZT-managed routes.
10 years ago
Adam Ierymenko
ca88e1f1cf
fix size
10 years ago
Adam Ierymenko
be37d025b8
Make flags 64-bit in both network request and config.
10 years ago
Adam Ierymenko
0bcc7d46a3
Disable debug code.
10 years ago
Adam Ierymenko
93b673043c
Fix new binary meta-data deserialization and add some debug code (will disable later).
10 years ago
Adam Ierymenko
548730660b
Ready to test whole new netconf refactor.
10 years ago
Adam Ierymenko
8b9519f0af
Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes network controller easier to refactor.
10 years ago
Adam Ierymenko
529515d1d1
Changes to how new-style binary network configs are detected, and a new-style binary serialized meta-data representation.
10 years ago
Adam Ierymenko
b543868351
Missing deserialize stuff.
10 years ago
Adam Ierymenko
0f17077b3d
Merge gateways and routes in netconf since they are the same thing.
10 years ago
Adam Ierymenko
59eb09d063
Deserialize new style netconf.
10 years ago
Adam Ierymenko
b9dba97fdb
Bunch more refactoring for an even more compact NetworkConfig representation, especially rules.
10 years ago
Adam Ierymenko
25a5275921
.
10 years ago
Adam Ierymenko
e731fc1a3a
Replace two bools in NetworkConfig with a flags field.
10 years ago
Adam Ierymenko
90e1262a8b
More refactoring to remove old Dictionary dependencies.
10 years ago
Adam Ierymenko
d736074301
Refactor rules table in-memory structure in new NetworkConfig to permit far more rules with better space efficiency.
10 years ago
Adam Ierymenko
31db6f8f36
NetworkConfig refactor almost done.
10 years ago
Adam Ierymenko
bbd9915056
Refactor Node for new NetworkConfig
10 years ago
Adam Ierymenko
6f854c8391
NetworkConfig refactor part 1
10 years ago
Adam Ierymenko
4e4fd51117
boring doc stuff
10 years ago
Adam Ierymenko
3ba54c7e35
Eliminate some poorly thought out optimizations from the netconf/controller 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.
11 years ago
Adam Ierymenko
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
11 years ago