Asim Aslam
5f04fd58ab
optimizations to connect fast
2019-12-02 18:48:19 +00:00
Asim Aslam
c840cee404
A variety of fixes to try combat the multicast issue
2019-12-01 19:36:16 +00:00
Asim Aslam
8b63df7a98
regenerate the protos
2019-11-26 13:53:33 +00:00
Asim Aslam
080363e8c4
The mega cruft proxy PR ( #974 )
...
* the mega cruft proxy PR
* Rename broker id
* add protocol=grpc
* fix compilation breaks
* Add the tunnel broker to the network
* fix broker id
* continue to be backwards compatible in the protocol
2019-11-25 16:31:43 +00:00
Asim Aslam
cffa5b6b50
Make use of cloudflare 1.0.0.1 by default to resolve addresses
2019-11-12 15:46:30 +00:00
Till Knuesting
5ae3e179b9
preallocated slices ( #934 )
2019-11-11 00:03:51 +00:00
Till Knuesting
f67c5e779f
preallocated slices ( #917 )
2019-11-05 17:43:12 +00:00
Till Knuesting
24b8d2a315
preallocating slices ( #904 )
...
* preallocated some slices when size is known
* gofmt
* gofmt
2019-11-04 10:33:53 +00:00
Asim Aslam
45cd14c4b7
Suppress log messages
2019-11-03 16:12:17 +00:00
Asim Aslam
174fbde049
add ability to filter routes based on headers
2019-10-31 22:34:06 +00:00
Asim Aslam
d89256d8d5
add network resolver record priority field
2019-10-28 15:31:46 +00:00
Asim Aslam
b42d242ec1
hash address based on service name + node address
2019-10-25 23:06:49 +01:00
Asim Aslam
f26d470db1
A few changes for the network / tunnel link state
2019-10-24 17:51:41 +01:00
Milos Gajdos
4f1dd3f965
Fixed a small messup when printing logs
2019-10-23 20:01:45 +01:00
Milos Gajdos
71122836b8
Use event.Route.Link for getting the route metrics
2019-10-23 19:55:01 +01:00
Milos Gajdos
b67be88952
Check for local links and empty gateways
2019-10-23 19:48:26 +01:00
Milos Gajdos
776284b187
Make sure you dont overflow MaxInt64
2019-10-23 17:42:04 +01:00
Milos Gajdos
35729092e0
Unexport network.Message
2019-10-23 17:32:45 +01:00
Milos Gajdos
68789af4ea
Prune peerlinks of pruned nodes
2019-10-23 17:29:03 +01:00
Milos Gajdos
b3d4a7f740
If no link found, return max possible value
2019-10-23 16:51:22 +01:00
Milos Gajdos
f4f178c130
Set metric on egress. Increment metric on ingress.
2019-10-23 16:51:22 +01:00
Milos Gajdos
1ff65e140a
Change router.Route metric to int64. Set the route metric properly
2019-10-23 16:51:22 +01:00
Milos Gajdos
326156671d
Set route metric to link Length
2019-10-23 16:51:22 +01:00
Milos Gajdos
6353b2b894
Keep track of peer links
2019-10-23 16:51:22 +01:00
Milos Gajdos
3d5d9be02a
Avoid recursive calls to RLock()
...
Topology calls itsel recursively invoking RLock. This, according to go
documentation is wrong. This commit moves the body of Topology function
to a non-thread safe unexported function to keep locsk at check!
2019-10-18 11:26:43 +01:00
Asim Aslam
5c38f38dd9
No need to lock here since Topology read locks and makes copies
2019-10-18 11:26:43 +01:00
Milos Gajdos
2ae583ce94
Cleanup of tunnel dial code. Clean up network channel processors
2019-10-16 20:44:22 +01:00
Asim Aslam
b1d5dc20fa
Merge pull request #860 from micro/tunnel-mode
...
Tunnel mode
2019-10-15 16:14:38 +01:00
Asim Aslam
be5093798b
Use DialMode/ListenMode
2019-10-15 16:08:38 +01:00
Milos Gajdos
4936a2e1a5
Exponential backoff for failed accept connections
2019-10-15 15:58:33 +01:00
Asim Aslam
ca934951ad
Use multicast on network/control channels
2019-10-15 15:57:13 +01:00
Milos Gajdos
fed5af68e6
Handle Accept errors gracefully.
...
Originally when Accept fails we log the error and let the program flow
continue. This can lead to us spawning handling connection go routines
on nil connections which in turn leads to Go panics.
2019-10-15 15:07:28 +01:00
Asim Aslam
b1fed01752
add network name to node
2019-10-14 22:26:23 +01:00
Asim Aslam
f77df51f60
Support reconnects
2019-10-13 18:36:22 +01:00
Asim Aslam
d6c6e7815e
Spaces not tabs
2019-10-13 12:40:53 +01:00
Asim Aslam
01492997ea
add Network.Init method
2019-10-13 12:38:13 +01:00
Asim Aslam
174f1b857c
Network handler moves to service/handler
2019-10-13 12:37:56 +01:00
Asim Aslam
5029d80e68
add Network.Connect handler and network/metadata fields to node
2019-10-13 12:37:39 +01:00
Asim Aslam
b59c5a4488
move network handler to service/handler
2019-10-13 12:37:13 +01:00
Asim Aslam
2e47fdc6f5
Check the node map to avoid dupes in resolved nodes
2019-10-12 20:26:06 +01:00
Milos Gajdos
f6931f3da7
Prune routes from routers that are not in your peer graph
2019-10-10 15:28:27 +01:00
Asim Aslam
b2f99a27b7
Visit all the nodes in flatten
2019-10-10 14:35:11 +01:00
Asim Aslam
0dee11e006
Prune the peer address
2019-10-10 11:25:28 +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
fe5846603a
Only limit the number of nodes returned by network resolver.
2019-10-08 15:48:52 +01:00
Milos Gajdos
61800fb7d7
Fix typo: MaxCconnections -> MaxConnections
2019-10-08 15:15:50 +01:00
Milos Gajdos
ec2fbde979
Limit the number of outbound connections to MaxConnections
...
This commit also fixes control channel shenanigans:
- recover error in control channel accept
2019-10-08 14:48:04 +01:00
Asim Aslam
94adeebed4
Use dns resolver on peer nodes
2019-10-08 09:25:23 +01:00
Asim Aslam
ad823d5177
Add dns net.LookupHost resolver!
2019-10-08 09:04:13 +01:00
Milos Gajdos
9d9683b6f9
Recover net channel Accept errors. Init tunnel nodes before Connect
2019-10-07 19:09:04 +01:00