Commit Graph

57 Commits

Author SHA1 Message Date
Paul Lorenz d62e3cb71f Use cmap IterCB instead of IterBuffered where possible. Fixes #1902 2024-04-04 21:27:38 -04:00
Paul Lorenz ad779ed118 Improve link mgmt backwards compatibility. Fixes #1900
* We're sending peer change messages to older routers that don't understand them.
* We should probably use the older controller link management code for routers without the link management stability fixes
* Includes a few minor cleanups
2024-04-04 19:07:24 -04:00
Paul Lorenz fab81e4cd4 Add terminator chaos testing and fix issues found. Fixes #1794 Fixes #1369 2024-03-12 10:31:36 -04:00
Paul Lorenz 8423a8dd6a Fix link management race conditions found by chaos testing. Fixes #1709 2024-01-29 17:23:51 -05:00
Paul Lorenz c4abcae949 Link management fixes. Fixes #1692 Fixes #1693 2024-01-19 17:33:21 -05:00
Paul Lorenz f3d67b7f49 Update fabric imports 2023-09-28 23:34:28 -04:00
Paul Lorenz cdfd037da9 Move protobuf definitions to common 2023-08-10 19:38:48 -04:00
Paul Lorenz f15b8bef23 Add some more config value validation and guardrails 2023-08-03 17:07:49 -04:00
Paul Lorenz 2ee9539f9c Move link calculation to routers. Fixes #692, fixes #749, fixes openziti/fabric#343 2023-08-03 17:07:48 -04:00
Paul Lorenz 8149b69614 Add support for quiescing and dequiescing routers. Fixes openziti/fabric#538
Quiesce marks all terminators as failed and stores the previous state.
Dequiesce restores all terminators with failed state and stored previous
state to their previous state
2023-06-05 17:46:13 -04:00
Paul Lorenz bc9bac6f0d Add config support for link groups. Doesn't use group config yet. 2023-05-11 09:34:33 -04:00
Paul Lorenz f0b83d0010 Track raft index in Db. Let's us start without rerunning all cmds at startup. Fixes #677. Fixes openziti/fabric#582 2023-04-25 11:32:35 -04:00
Paul Lorenz d1d0fe781b Update for storage API changes. 2023-04-25 11:32:33 -04:00
Paul Lorenz 32da1861ca Add router disable flag. Fixes openziti/fabric#651 2023-03-27 14:18:43 -04:00
Paul Lorenz 74de7e65ee update CODEOWNERS to sig-core and update MM notifications 2022-11-30 12:22:14 -05:00
Paul Lorenz 4a1f234839 Add linter and update deps 2022-10-10 13:29:40 -04:00
Paul Lorenz 02539e9e16 Support multiple control channels. Fixes openziti/fabric#469 2022-09-29 12:06:41 -04:00
Paul Lorenz 519574497e Update to channel v2 2022-09-26 17:00:34 -04:00
Paul Lorenz 858642bc38 Move UpdatedFields to fabric. Start moving model layer to generics 2022-07-27 11:33:24 -04:00
Paul Lorenz 7abe5d5605 Cleanup circuits for deleted routers. Fixes openziti/fabric#452 2022-07-18 15:03:35 -04:00
Paul Lorenz 3d49022f4a Update for foundation changes 2022-07-01 14:29:12 -04:00
Paul Lorenz b26fcf8909 Fix copyright 2022-06-29 16:59:46 -04:00
Paul Lorenz a64c626cb4 Controller -> Manager for entity managers 2022-06-02 22:53:22 -04:00
Paul Lorenz eaa75d48c6 Initial support for distributed model via RAFT 2022-06-02 22:49:55 -04:00
Andrew Martinez 6f867e34db uses generic version of cmap 2022-05-27 09:47:15 -04:00
Paul Lorenz 1874ab5f27 Allow a new control channel to takeover even if the router is already connected
Add churn limiter so it can only happen so often
2022-04-28 14:55:14 -04:00
Paul Lorenz b35b532d25 Update to use storage library 2022-03-30 16:22:32 -04:00
tburtchell 2f8a608c4c Replacing link 'type' with 'protocol' and 'costTags' (#336)
* Replacing link 'type' with 'protocol' and 'costTags'
2022-03-22 09:06:02 -04:00
Paul Lorenz 2b7db10913 Allow routers more control over link management (#318)
* Allow routers more control over link management
2022-03-07 12:22:17 -05:00
Cam Otts 725afe13de added allow traversal flag (#326)
* added allow traversal flag

* Added test to verify a single router connection that is marked untraversable fails path creating

* Updated default cost to be one step above the threshold to avoid overflow.

* Updated checks to only care about middle routers. Fixed relevant unit tests and added test with untraversable middle router.

* Refactor allowTraversal to be flipped to noTraversal

* default noTraversal to false
2022-03-02 10:33:04 -06:00
Cam Otts be30ee8026 Added cost to routers and relevant persistence and path checking. (#324)
* Added cost to routers and relevant persistence and path checking.

* removed router cost from config

* changed cost to be required on update

* removed some import reorderings and added fingerprint to be required

* missed one line
2022-02-23 10:14:00 -06:00
Paul Lorenz 883312255f address review comments 2022-02-17 15:47:47 -05:00
Paul Lorenz 5eaa60e236 Use RemoveCB to update cache atomically. Do uncached lookup when updating cache 2022-02-17 15:35:57 -05:00
Paul Lorenz 01fa63e716 Use updated store events. Fixes openziti/fabric#319 2022-02-17 10:41:38 -05:00
Paul Lorenz 84ae5576e1 Update to use channel library 2022-01-27 16:46:21 -05:00
Paul Lorenz e781e3c713 Update control channel to new channel API 2022-01-19 08:15:33 -05:00
Paul Lorenz 00957fe8e6 Implement router update/patch 2021-11-30 14:26:07 -05:00
Paul Lorenz 3a50999365 Add cache of links by router 2021-11-23 08:24:24 -05:00
Paul Lorenz 51a4fe8ed9 Import route evaluation with more efficient data structure 2021-11-19 15:17:56 -05:00
Andrew Martinez 4d9ea4e504 update cache instead of clearing 2021-04-08 16:00:42 -04:00
Andrew Martinez b9b624a0a0 add ability to clear the cached state of a router from bbolt
Will be used for enrollment extension where the fingerprint has been
updated
2021-04-08 16:00:41 -04:00
Andrew Martinez a1df84e913 fixes openziti/fabric#133
- Adds version header to outgoing controller hellos and incomming router
  hellos
2020-10-06 09:41:36 -04:00
Paul Lorenz 549260d650 Persist terminator precedence. Fix link cost use/scaling. Fix link re… (#125)
* Persist terminator precedence. Fix link cost use/scaling. Fix link removal related panic. Fix service cache clearing on terminator change.

Fixes GH-112
Fixes GH-121
Fixes GH-122
Fixes GH-123
Fixes GH-124
2020-09-01 15:58:46 -04:00
Paul Lorenz ffbb4e4cc3 Add names to service and router. Add more store tests. Fixes GH-101 2020-06-18 17:05:39 -04:00
Paul Lorenz 373e20d8d1 Allow routers with nil fingerprints. Allows multi-step enrollment. Fixes GH-97 2020-06-02 16:49:46 -04:00
Michael Quigley 10e6a7ef93 netfoundry/ziti-fabric -> openziti/fabric 2020-05-26 17:14:16 -04:00
Paul Lorenz e9575bb717 Integrate Xt into smartrouting/circuit creation. Includes several Xt cleanups (#87)
Integrate Xt into smart routing

For Xt:
* weights -> costs
* drop preferred precedence
* Allow larger cost ranges
* Add failure costs and common cost visitor
2020-04-30 14:50:07 -04:00
Paul Lorenz df0d35e576 Sync terminators when routers connect so invalid terminators can be r… (#86)
* Sync terminators when routers connect so invalid terminators can be removed
2020-04-27 15:56:54 -04:00
Michael Quigley da0025381e Test fixes. 2020-04-01 14:49:42 -04:00
Michael Quigley 8ef0c5f6e1 Merge branch 'master' into p14_c1 2020-04-01 10:25:27 -04:00