380 Commits

Author SHA1 Message Date
Asim Aslam
34967e8e33
Merge pull request #573 from milosgajdos83/flap-detection
Router rework. Flap detection. Table package.
2019-07-10 07:12:18 +01:00
Asim Aslam
eda380284c remove network 2019-07-09 18:45:14 +01:00
Asim Aslam
0bf54c122f move transport back 2019-07-09 18:41:26 +01:00
Asim Aslam
97282a5377 remove resolver 2019-07-09 16:54:44 +01:00
Asim Aslam
b642d5e1c0 remove proto dir 2019-07-09 16:53:30 +01:00
Asim Aslam
c5a282ddd3 remove the tunnel 2019-07-09 16:52:44 +01:00
Milos Gajdos
6cf8bde612
Router selector and proxy modifications due to Route struct changes. 2019-07-09 16:45:31 +01:00
Asim Aslam
327029beff fix string method 2019-07-09 16:44:43 +01:00
Asim Aslam
c5214c931f reorder and reword 2019-07-09 16:38:44 +01:00
Asim Aslam
d725980444 add some initialisers 2019-07-09 16:37:59 +01:00
Milos Gajdos
23cb811f60
Removed fmt.Stringer artistry from all roouter and table structs 2019-07-09 16:17:18 +01:00
Milos Gajdos
c5fb409760
Removed debug logs 2019-07-09 15:55:39 +01:00
Milos Gajdos
70665e5a7d
Route has changed to accomodate Link, Service and Address 2019-07-09 15:46:32 +01:00
Milos Gajdos
449aa0a339
Collect ANNOUNCE mesage events before adding default gateway. 2019-07-09 15:46:31 +01:00
Milos Gajdos
265271008e
Simplified processEvents loop; Added router Announcement. 2019-07-09 15:46:31 +01:00
Milos Gajdos
b82245429e
Simplified table logic. Lookup tests. mucp/cient update 2019-07-09 15:46:31 +01:00
Milos Gajdos
cc590f5f2c
Table now has a dedicated package inside router package. 2019-07-09 15:46:31 +01:00
Milos Gajdos
0c1a28a9b6
Router routing table management. Table route hashes. Status codes changed.
We now manage routing table actions using dedicated functions run on
either registry or services in the registry.

Routing table now uses Route.Hash() instead of maintaining its own hash
struct filed which previously performed these operations.

Various names of variables have been changed to make them more concise.
2019-07-09 15:46:31 +01:00
Milos Gajdos
30d05e34a9
Read and remove routes based on registry event deltas 2019-07-09 15:46:31 +01:00
Milos Gajdos
b68f0e237f
Removed event from eventMap once sent to be advertised 2019-07-09 15:46:31 +01:00
Milos Gajdos
72ef032162
First shot at flapping detection and event advertising.
This commit also adds Route hash function, lots of debug messages for
now and String() methods for various API objects.
2019-07-09 15:46:30 +01:00
Milos Gajdos
d6c07dfb16
Update is now Advert 2019-07-09 15:46:30 +01:00
Milos Gajdos
ea872f6900
Updated error statements; Update ships list of events. 2019-07-09 15:46:30 +01:00
Asim Aslam
6bdc23a3aa add comments 2019-07-08 16:32:12 +01:00
Asim Aslam
fa54db5ba5 rename network name to go.micro 2019-07-08 16:27:02 +01:00
Asim Aslam
608a1f8add remove node code 2019-07-08 16:25:04 +01:00
Asim Aslam
4a02e1ff2f rewrite network interface 2019-07-08 16:24:57 +01:00
Asim Aslam
e0bf1c2283 Remove Port from registry 2019-07-08 08:01:42 +01:00
Asim Aslam
5b7454e5a8 update transport package comments 2019-07-07 15:04:07 +01:00
Asim Aslam
0b732b2c49 update transport package comments 2019-07-07 15:03:08 +01:00
Asim Aslam
777a203f96 gofmt 2019-07-07 12:33:54 +01:00
Asim Aslam
5f664faeba Add transport options comments 2019-07-07 12:23:03 +01:00
Asim Aslam
d2d6841f02 Move transport to network/transport 2019-07-07 10:37:34 +01:00
Asim Aslam
eafc930f84 Change network id to name 2019-07-07 10:10:38 +01:00
Asim Aslam
00ba1655ca remove some readmes 2019-07-04 11:15:54 +01:00
Asim Aslam
2644497ccb Fix some link connection logic 2019-07-03 19:51:40 +01:00
Asim Aslam
e54de56376 Functional loopback code 2019-07-03 19:26:24 +01:00
Asim Aslam
7008809eff Make the link use debug 2019-07-02 20:57:23 +01:00
Asim Aslam
f619e46def Some functioning network code 2019-07-02 20:54:21 +01:00
Asim Aslam
543dc0166c Restructure network things before moving 2019-07-02 08:45:00 +01:00
Milos Gajdos
0e1fcc4f28
Stop hardcoding table sizes; increment as you move on. 2019-07-01 23:38:49 +01:00
Milos Gajdos
8f22e61a8b
List test function properly named. 2019-07-01 23:38:48 +01:00
Milos Gajdos
956902f641
Added List tests. 2019-07-01 23:38:48 +01:00
Milos Gajdos
ffac0b9a18
First batch of Add/Del/Update tests. 2019-07-01 23:38:48 +01:00
Asim Aslam
c108b51d2a add network to Node proto 2019-07-01 23:12:05 +01:00
Asim Aslam
5fd798c9b6 add resolver comment 2019-07-01 23:11:55 +01:00
Asim Aslam
ebe3633082 move network initialiser code 2019-07-01 22:59:11 +01:00
Asim Aslam
032c3134c6 update comment 2019-07-01 22:54:26 +01:00
Asim Aslam
8ccf61ebaf Strip Link methods 2019-07-01 22:52:28 +01:00
Asim Aslam
fbbc33d0f9 Set Network() to string 2019-07-01 22:41:27 +01:00
Milos Gajdos
da299ea26b
Simmplified RT Lookup. No more Metric in Query. 2019-07-01 20:33:08 +01:00
Asim Aslam
d3e200575c Merge branch 'master' of ssh://github.com/micro/go-micro 2019-07-01 18:37:45 +01:00
Asim Aslam
ddee8412ff Add tunnel interface 2019-07-01 18:37:39 +01:00
Milos Gajdos
f6e064cdbd
Fixed router idempotency. Return registry.ErrWatchStopped from mdns reg 2019-07-01 15:46:26 +01:00
Milos Gajdos
cff46c3fd8
Added Init state. Recreate exit and advertise channels when recovering
In order to differentiate between intialized and other states we
introduced a new state: Init. The router is in this state only when it's
created.

We have cleaned up router status management which is now handled by
manageStatus function only.
2019-07-01 15:46:26 +01:00
Milos Gajdos
32300eadc1
Added Router Status which allows to track router status 2019-07-01 15:46:25 +01:00
Milos Gajdos
8ad2f73ad6
Advertisement is now Update; started bit is now running. 2019-07-01 15:46:25 +01:00
Milos Gajdos
9d7420658d
Changed router interface. Added table watcher. Advertise routes
* Changed router interface to return Advertisement channel
* Added default gateway route to the routing table if supplied
* Watch table for updates and advertise to the network
* We hash the routes on 3-tuple (Destination, Gateway, Network)
2019-07-01 15:46:25 +01:00
Asim Aslam
0899282277 Checkpoint networking code 2019-07-01 11:55:15 +01:00
Asim Aslam
b4b76d452a Call advertise 2019-06-27 14:38:12 +01:00
Asim Aslam
67e3d560fe Lookup every service. FML 2019-06-27 14:37:52 +01:00
Asim Aslam
9630e153a5 fix grpc proto wrapper 2019-06-27 13:08:06 +01:00
Asim Aslam
43297f731c Add default router 2019-06-27 12:57:23 +01:00
Asim Aslam
f6f6e1b561 Use the router to get routes 2019-06-27 12:56:52 +01:00
Asim Aslam
b904f383c1 go fmt 2019-06-26 19:28:30 +01:00
Milos Gajdos
76011b151d
Bugfix: Set gateway to node.Address
gw has not been initialized; it was basically an empty string and only
got populated by Sprintf-ing the addr:port IF the port has been set.
This commit sets the gw to node.Address to it's never an empty string.
2019-06-26 16:28:33 +01:00
Asim Aslam
27b145f968 add router proto 2019-06-26 16:23:10 +01:00
Asim Aslam
ac098e4d78 add router selector and network defaults 2019-06-26 16:12:57 +01:00
Milos Gajdos
fe84a2d726
Route per service node. No Network Registry for now. 2019-06-26 16:03:19 +01:00
Asim Aslam
68764ebafc Add registry resolver 2019-06-24 15:30:17 +01:00
Asim Aslam
4d08618517 fix typo 2019-06-24 15:22:12 +01:00
Asim Aslam
e5959f80d6 add http resolver 2019-06-24 15:21:24 +01:00
Asim Aslam
b89423bf37 add resolver 2019-06-24 15:11:11 +01:00
Asim Aslam
dffbe045e4 move node functions 2019-06-22 19:02:57 +01:00
Asim Aslam
2d91ba411e update the network interface 2019-06-22 16:51:20 +01:00
Asim Aslam
3f97743e34 Move router and proxy into network package 2019-06-21 17:20:31 +01:00
Asim Aslam
ed54384bf4 Update network 2019-06-18 11:56:11 +01:00
Asim Aslam
59eaa89bac Node is a network 2019-06-17 21:11:39 +01:00
Asim Aslam
1a571b8c82 Add network transport 2019-06-17 18:25:42 +01:00
Asim Aslam
308673b393 add network package 2019-06-17 16:57:53 +01:00