4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-16 10:06:05 +00:00
Commit Graph

1012 Commits

Author SHA1 Message Date
8e05c6c6a7 better search cleanup, but needs more testing to make sure it really works 2020-02-08 20:26:37 -06:00
d0e6846173 work in progress to make searches use parallel threads per response, so one malicious node doesn't block progress from honest ones 2020-02-08 20:15:48 -06:00
d7d0c2629c don't deduplicate search responses, but limit the max number of nodes handled per response 2020-02-08 17:04:00 -06:00
cd9613fddc add some additional debug timing info and logging to dials, and fix an unnecessary delay in search startup 2020-02-07 22:34:54 -06:00
3faa0b2854 deduplicate the list of nodes to visit in a search (keeping newest rumors) 2020-02-06 20:47:53 -06:00
7c2cb9a02d more search fixes/updates 2020-02-06 20:21:17 -06:00
cd856426e5 search timing changes 2020-02-06 18:37:58 -06:00
70659bfb91 sort search response results before sending requests 2020-02-06 17:38:42 -06:00
7e64f54c1f log some info about searches and reduce search traffic (especially when things dead-end) 2020-02-01 13:58:08 -06:00
c48c4ddc80 Merge pull request #641 from Arceliar/misc
Misc tuning
2020-01-10 11:35:51 +00:00
2fc6f9a71d Merge pull request #643 from adamruzicka/mtu
Unify MTU datatypes across the codebase
2020-01-07 22:39:38 +00:00
c3b1a6af65 some nodeinfo actor fixes and adjust search timeout 2020-01-06 18:37:43 -06:00
8c12fc4fdb Merge branch 'develop' into misc 2020-01-05 23:04:51 +00:00
9304873047 Convert nodeinfo to actor 2020-01-05 22:15:52 +00:00
8358fe5c5c Unify MTU datatypes across the codebase
The codebase uses int and unit16 to represent MTU randomly. This change
unifies it to a MTU type from types package, which is currently uint16.
2020-01-05 18:01:22 +00:00
8513f8f4dc constant space searches that should play nicer if searching for an unreachable destination 2020-01-04 16:08:48 -06:00
201dbec63d always keep the 2 closest nodes in each direction around the dht ring, possibly helps things recover faster after joins/leaves 2019-12-25 19:01:20 -06:00
9fac5355eb make searches more parallel 2019-12-25 18:55:29 -06:00
73f50af3b7 Fix typos 2019-11-29 11:45:02 +02:00
98339cdc3f possible fix if monotonic time resolution is related to packet reordering 2019-11-25 17:40:58 -06:00
3e07995518 it helps to actually set the flag... 2019-11-24 18:53:58 -06:00
27cc57dbbc attempt to prevent incorrect idle notification in switch, needs testing 2019-11-24 18:24:17 -06:00
248a08b2f1 send a message to the sessions to update mtu instead of trying to update it directly 2019-11-21 19:23:44 -06:00
7c18c6806d Further updates, notify sessions about updated MTU from API call 2019-11-21 09:54:36 +00:00
d1c445dc41 Thread safety for MTU API functions 2019-11-21 09:28:36 +00:00
e90be6f569 Add API functions for manipulating maximum session MTU, fix TUN/TAP to use that 2019-11-21 00:02:39 +00:00
5f1aea3636 fix deadlock when AddPeer fails 2019-11-12 21:01:32 -06:00
6d3aefb825 fix a data race when an existing session's coords are updated in response to a successful search 2019-10-27 19:55:35 -05:00
710815fed5 add dummy functions for other platforms 2019-10-25 19:32:53 -05:00
bcacfb0638 test adding BindToDevice to linux. if it works then we'll want to rethink slightly how we get the tcpContext on every platform, to make this compile everywhere and look a little cleaner 2019-10-25 18:33:23 -05:00
d58f88d29a Update builds to Go 1.13 as this is required for TLS (apparently golang.org/x/crypto/ed25519 is not acceptable to the crypto/tls module and this prevents Yggdrasil from starting) 2019-10-24 09:28:09 +01:00
c3dee478f5 fix ed25519 dependency for golang 1.12 and earlier, though we may want to update builds to 1.13 anyway... 2019-10-23 20:38:09 -05:00
996c6b4f47 add one TODO comment and run gofmt 2019-10-23 20:28:11 -05:00
cd77727c1e Set TCP socket options before upgrading connection 2019-10-23 18:24:08 +01:00
6a22e6c9de Initial connection upgrade/TLS peering support 2019-10-23 17:26:35 +01:00
ea085663ea slight cleanup of dial's timeout 2019-10-21 20:52:16 -05:00
681c8ca6f9 safer dial timeout handling, in case it was used with a nil context or a context that had no timeout set 2019-10-21 20:47:50 -05:00
eccd9a348f give yggdrasil.Dialer the same interface as a net.Dialer, so the only differences are what fields exist in the struct 2019-10-21 19:44:06 -05:00
cb40874f97 have listener return a net.Conn, adjust yggdrasil.Conn to match this interface 2019-10-19 15:10:28 -05:00
3491292599 code cleanup 2019-10-12 15:46:56 -05:00
31ce854835 update session when a search for an existing session finishes 2019-10-12 15:37:40 -05:00
a1c413f769 fix nil pointer dereference in yggdrasil.Conn.search 2019-10-06 11:53:14 -05:00
c38e40e8e3 actually use doCancel in writeNoCopy 2019-10-05 12:23:21 -05:00
83e3a24423 Merge pull request #562 from AwesomePatrol/dev/patrol/bench01
#60 Add simple tests and benchmark
2019-10-05 12:20:27 -05:00
f474869ad9 cleanup bad comment 2019-10-05 12:17:40 -05:00
fb3430207c don't fail if there's an error setting bbr, just log it and continue 2019-10-05 11:03:38 -05:00
8e22d7137a use bbr congestion control on linux, note that we're not doing anything intelligent with the errors right now if setting it fails 2019-10-05 10:47:15 -05:00
f22eac497b typo 2019-10-03 18:50:33 -05:00
b2922189b8 fix deadlock from use of phony.Block by actors when ckr is enabled 2019-10-03 18:44:47 -05:00
783959208c Add more comments to explain helper functions 2019-09-28 14:41:53 +02:00