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
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
edbc5d3588
Gateways support in NetworkConfig object.
11 years ago
Adam Ierymenko
96a58becf8
Gateways support in network controller schema and database (not implemented yet in client) toward GitHub issue #178
11 years ago
Adam Ierymenko
8a13cfdace
Add per-network relays to NetworkConfig.
11 years ago
Adam Ierymenko
6369c264e2
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
11 years ago
Adam Ierymenko
49d31613b9
Fix some minor issues, now to reintegrate taps.
11 years ago
Adam Ierymenko
a8a92c5b89
A whole lot of Sqlite netconf master work, and some fixes elsewhere in the code.
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
2c8321be1f
Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
12 years ago
Adam Ierymenko
351db7f1a0
Plumb injectPacketFromHost through to API.
12 years ago
Adam Ierymenko
9180a30986
.
12 years ago
Adam Ierymenko
681af253ef
Fix for GitHub issue #88 - actually do in the code what the web UI expects it to do.
12 years ago
Adam Ierymenko
cf4700bc26
Simplify network briding modes -- we only need passive toggle and active bridge list, not three mode types. Also change isOpen to isPublic for terminology consistency.
12 years ago
Adam Ierymenko
4e1f49258b
Bridging in NetworkConfig - GitHub Issue #68
12 years ago
Adam Ierymenko
31ddc49da2
GitHub issue #67
12 years ago
Adam Ierymenko
1e6475fad6
Clean out unused netconf fields, rename a few, work on new netconf server.
12 years ago
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
12 years ago
Adam Ierymenko
07f505971c
Windows build fixes.
12 years ago
Adam Ierymenko
83fc684b20
Add a netconf-service version field to netconf.
12 years ago
Adam Ierymenko
612c17240a
Dead code removal, fix for cleanup GitHub issue #28
12 years ago
Adam Ierymenko
03b909603a
Clean up the awful Network::Config mess and break that out into NetworkConfig.
13 years ago
Adam Ierymenko
5a8f213c23
Work in progress...
13 years ago
Adam Ierymenko
b10871cedc
More work in netconf cleanup.
13 years ago
Adam Ierymenko
9f107dbd4e
Work in progress on cleaning up netconf mess in node code...
13 years ago