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

897 Commits

Author SHA1 Message Date
2fc6f9a71d Merge pull request #643 from adamruzicka/mtu
Unify MTU datatypes across the codebase
2020-01-07 22:39:38 +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
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
8053766092 Add verbosity setting 2019-09-28 14:25:42 +02:00
21b236771b Add a simple transfer benchmark 2019-09-28 14:25:42 +02:00
8677a042cf Wait for nodes to negotiate 2019-09-28 14:25:42 +02:00
fffbbbcbd3 Pass message between nodes 2019-09-28 14:25:42 +02:00
d96fb27ab8 Add simple connection test 2019-09-28 14:25:42 +02:00
a87581b0fa Merge pull request #556 from Arceliar/switch
Switch hack
2019-09-25 17:58:01 -05:00
ac58c3586e cleanup/comments 2019-09-25 17:53:25 -05:00
d27891aaf6 Merge pull request #528 from yggdrasil-network/documentation
Documentation updates
2019-09-25 17:09:09 +01:00
b9e74f34ec replace the send-to-self with a timer and an arbitrary timeout; i don't really like this but it seems to work better (1 ms is fast by human standards but an eternity for a syscall or the scheduler, so i think that's reasonable) 2019-09-24 18:28:13 -05:00
8c64e6fa09 explicitly notify the switch when a link appears to be blocked in a send instead of assuming this is the case for all idle links. how we decide when it's really blocked still needs testing/optimizing 2019-09-24 18:01:35 -05:00
691192ff5a weird scheduler hack, seems to tend to make things more stable without actually locking streams to any particular link 2019-09-21 14:33:45 -05:00
87658f83e9 Revert "force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution"
This reverts commit 80ba24d512.
2019-09-20 23:09:12 -05:00
f9163a56b6 fix race between listener accepting and shutting down 2019-09-19 19:50:45 -05:00
eeb34ce4e4 modify TcpListener 2019-09-19 19:45:17 -05:00
93e81867fd have link.stop signal active links to close, have tcp.stop wait for all listeners and active connections to close 2019-09-19 19:15:59 -05:00