bcc890e47c
router: pass node metadata to route instead of service metadata ( #1855 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-07-17 16:45:22 +01:00
ben-toogood
a4252ba69c
router/registry: use warn error level ( #1826 )
2020-07-13 15:27:14 +01:00
ben-toogood
c817f29d6e
router/registry: fix registry not found bug ( #1794 )
2020-07-03 13:35:59 +01:00
ben-toogood
64e9185386
router/registry: fix nil eventChan bug ( #1773 )
...
* router/registry: fix nil eventChan bug
2020-07-01 12:03:13 +01:00
Dominic Wong
58845d7012
only prewarm the route table if requested ( #1765 )
2020-07-01 10:05:21 +01:00
ben-toogood
dcf01ebbf0
router/registry: fix concurrent map iteration and map write ( #1762 )
2020-06-30 17:40:38 +01:00
ben-toogood
a95accad56
router: add metadata to routes ( #1763 )
...
* router: add metadata to route
* router/registry: set node metadata in route
* router/service: pass metadata to/from router service
2020-06-30 14:10:13 +01:00
ben-toogood
deea8fecf4
router/registry: add fallback if routes aren't found in the cache ( #1758 )
...
* router/registry: add fallback if routes aren't found in the cache
* router: fix rlock bug
* router/registry: pass fetchRoutes into the table, not the router
2020-06-30 09:53:49 +01:00
ben-toogood
df3e5364ca
api/resolver: add resolve options ( #1756 )
...
* api/resolver: Resolve options
* router/registry: fix init bug
* router/registry: fix wildcard query bug
* web: fix registation domain bug
* registry/etcd: pass domain in service metadata
* api/resolver/subdomain: expose domain func
* Update api/resolver/subdomain/subdomain.go
Co-authored-by: Dominic Wong <domwongemail@googlemail.com>
Co-authored-by: Dominic Wong <domwongemail@googlemail.com>
2020-06-29 16:37:45 +01:00
ben-toogood
2000da6fd8
router/registry: add support for registry domains ( #1744 )
2020-06-25 12:35:00 +01:00
ben-toogood
c940961574
router: update interface ( #1732 )
...
* router: replace Start and Stop with Close
* router: update default network to micro
* router: update tests
2020-06-24 11:09:16 +01:00
Asim Aslam
290595f88e
Strip down router code ( #1627 )
2020-05-13 16:13:36 +01:00
7b385bf163
minimize allocations in logger and tunnel code ( #1323 )
...
* logs alloc
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* tunnel allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* try to fix tunnel
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* cache cipher for send
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-11 17:55:39 +00:00
b4a743898e
fix router panic ( #1254 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-24 23:15:59 +00:00
117f56ebf7
prune util/log and user logger ( #1237 )
...
* prune util/log and user logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* plaintext logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* add newline
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-23 13:45:20 +00:00
Asim Aslam
8ea84ac3eb
Fix router panic for nil watcher
2020-02-10 15:38:41 +00:00
f23638c036
fix import paths for v2 release
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-01-30 14:44:40 +03:00
Asim Aslam
29c1076950
refactor and cleanup some router code
2020-01-22 16:33:31 +00:00
Milos Gajdos
23d65145e6
Use the same logic for advertising routes in Router and Network
...
router.Query() allows to query the routes with given router.Strategy.
It uses the same logic as was implemented in flushRoutes but the code
was never updated. This way we are consistent across both router and
network packages.
2020-01-17 16:25:18 +00:00
Milos Gajdos
7f9b3b5556
Remove Solicitation from the network
...
Instead, when a new peer is discovered it is sent a sync message i.e. we
do the full sync when discovering peers
2020-01-16 19:43:10 +00:00
Asim Aslam
7e46ff5d92
strip some more logging down
2019-12-10 09:08:03 +00:00
Asim Aslam
59c1680594
Move Debug to Trace in router
2019-12-09 09:32:17 +00:00
Asim Aslam
c445aed6b1
Cleanup and speedup network convergence along with direct messaging for connect and solicit
2019-12-07 19:54:29 +00:00
Asim Aslam
ac9001ac74
advert ttl inline with router table tick
2019-12-05 17:50:32 +00:00
Milos Gajdos
bca12a7003
Changed a few router knobs to avoid storms ⛈
2019-12-05 17:11:17 +00:00
Milos Gajdos
4a11a4c546
Fix router race condition
2019-12-03 15:22:54 +00:00
Astone
29fb58db39
improve code quality
2019-12-03 20:59:02 +08:00
Asim Aslam
6f1c30aef5
remove unused value in router
2019-11-30 21:39:03 +00:00
Asim Aslam
107124e5dc
Changes for the storm
2019-11-29 17:27:29 +00:00
Asim Aslam
fd5c29addc
Add the ability to only advertise local routes or don't advertise at all ( #932 )
...
* Add the ability to only advertise local routes or don't advertise at all
* Reorder processing to shortcircuit no advertising
2019-11-11 15:28:37 +00:00
Milos Gajdos
b84134581c
Flap detection vol2 ( #915 )
...
* We now purge flapping routes before regular tick processes them
* Updated comments
* Record the timestamp as soon as you receive the event
* Set route Address to routing table test
* Fixed a bunch of deadlocks. Added basic Router tests.
2019-11-05 17:44:24 +00:00
Milos Gajdos
4a694c9d02
Change flap detection configuration ( #914 )
...
* Change flap detection configuration
* Make PenaltyHalfLife a float, not int 🤦♂️
* Lower event suppression to 200
2019-11-04 19:01:52 +00:00
Asim Aslam
2f3c251b00
Recovery should be < 500
2019-11-03 17:10:00 +00:00
Asim Aslam
c1b0a968ae
Augment the router penalty and decay as a hack fix ( #912 )
...
* Augment the router penalty and decay as a hack fix
* increase recovery cost
2019-11-03 16:29:10 +00:00
Milos Gajdos
7a4bff4e9f
Changed names of some variables.
2019-10-09 19:08:24 +01:00
Milos Gajdos
d5ce96da24
Avoid locking on reading strategy for now
2019-10-09 18:19:48 +01:00
Milos Gajdos
837597fe6f
Make Optimal strategy default. Collapse routing tables based on strategy
2019-10-09 17:24:38 +01:00
Milos Gajdos
96e564e402
Add router advertisement Strategy option to router.
2019-10-09 17:24:38 +01:00
Asim Aslam
fe94237448
Update router querying method ( #834 )
...
* Add address to router query options. Drop Query interface for QueryOptions
* Cleanup isMatch function
* Update network proto
2019-10-09 17:13:52 +01:00
Milos Gajdos
2d7975a7ce
Rather than append to list of events just keep the last event for a route hash
2019-09-26 17:54:55 +01:00
Milos Gajdos
b2577e6022
Update log statement
2019-09-26 12:19:00 +01:00
Milos Gajdos
77f3e7ef48
Simplified table code. Fixed event dedup.
2019-09-26 11:56:30 +01:00
Asim Aslam
6f2a8298ef
Fix router log messages
2019-09-25 20:29:25 +01:00
Milos Gajdos
323a72be34
Small refactoring; Split horizon loop break.
2019-09-13 18:46:24 +01:00
Milos Gajdos
bb595c85b2
Lets make advert channel buffered so we don't lose adverts
2019-09-05 19:05:47 +01:00
Milos Gajdos
2522d8cb96
Send solicit message when new neighbour is discovered
2019-09-05 16:04:44 +01:00
Milos Gajdos
9161b20d6b
Add Solicit method to router interface
...
When calling Solicit, router lists all the routes and advertise them
straight away
2019-09-05 13:23:33 +01:00
Milos Gajdos
5e7208119e
Adds network id. Skips processing routes when router is the origin.
2019-08-27 23:08:35 +01:00
Milos Gajdos
75871287a1
Make stop idempotent. Small refactoring. Router name is memory.
2019-08-21 21:10:42 +01:00
Asim Aslam
fb750a0bb1
Don't start the router if its already running
2019-08-21 18:58:56 +01:00