Commit Graph

971 Commits

Author SHA1 Message Date
Arceliar
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
Arceliar
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
Arceliar
efc0b9ef9f Merge branch 'develop' into netconn 2019-10-21 18:47:40 -05:00
Arceliar
a81476f489 fix incorrectly held mutex in ckr getPublicKeyForAddress 2019-10-20 20:00:55 -05:00
Arceliar
cb40874f97 have listener return a net.Conn, adjust yggdrasil.Conn to match this interface 2019-10-19 15:10:28 -05:00
Arceliar
3491292599 code cleanup 2019-10-12 15:46:56 -05:00
Arceliar
31ce854835 update session when a search for an existing session finishes 2019-10-12 15:37:40 -05:00
Arceliar
a1c413f769 fix nil pointer dereference in yggdrasil.Conn.search 2019-10-06 11:53:14 -05:00
Arceliar
c38e40e8e3 actually use doCancel in writeNoCopy 2019-10-05 12:23:21 -05:00
Arceliar
83e3a24423
Merge pull request #562 from AwesomePatrol/dev/patrol/bench01
#60 Add simple tests and benchmark
2019-10-05 12:20:27 -05:00
Arceliar
f474869ad9 cleanup bad comment 2019-10-05 12:17:40 -05:00
Arceliar
fb3430207c don't fail if there's an error setting bbr, just log it and continue 2019-10-05 11:03:38 -05:00
Arceliar
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
Arceliar
f22eac497b typo 2019-10-03 18:50:33 -05:00
Arceliar
b2922189b8 fix deadlock from use of phony.Block by actors when ckr is enabled 2019-10-03 18:44:47 -05:00
Aleksander Mistewicz
783959208c Add more comments to explain helper functions 2019-09-28 14:41:53 +02:00
Aleksander Mistewicz
8053766092 Add verbosity setting 2019-09-28 14:25:42 +02:00
Aleksander Mistewicz
21b236771b Add a simple transfer benchmark 2019-09-28 14:25:42 +02:00
Aleksander Mistewicz
8677a042cf Wait for nodes to negotiate 2019-09-28 14:25:42 +02:00
Aleksander Mistewicz
fffbbbcbd3 Pass message between nodes 2019-09-28 14:25:42 +02:00
Aleksander Mistewicz
d96fb27ab8 Add simple connection test 2019-09-28 14:25:42 +02:00
Arceliar
0f99d590a1 typo, ipv6->ipv4 2019-09-26 18:15:26 -05:00
Arceliar
e16d3efb0a check packet length before checking if it's an ipv6 packet, and add some trace level logging whenever a packet is rejected for being too short to parse 2019-09-26 18:11:58 -05:00
Arceliar
a87581b0fa
Merge pull request #556 from Arceliar/switch
Switch hack
2019-09-25 17:58:01 -05:00
Arceliar
ac58c3586e cleanup/comments 2019-09-25 17:53:25 -05:00
Neil Alexander
d27891aaf6
Merge pull request #528 from yggdrasil-network/documentation
Documentation updates
2019-09-25 17:09:09 +01:00
Arceliar
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
Arceliar
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
Arceliar
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
Arceliar
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
Arceliar
8003ea0f3e use a separate multicast beacon interval per multicast interface 2019-09-20 17:42:42 -05:00
Neil Alexander
1cd4b6e8dd
Increase multicast interval at startup from 1s to 15s 2019-09-20 10:08:41 +01:00
Arceliar
f9163a56b6 fix race between listener accepting and shutting down 2019-09-19 19:50:45 -05:00
Arceliar
eeb34ce4e4 modify TcpListener 2019-09-19 19:45:17 -05:00
Arceliar
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
Neil Alexander
681e9afc79
Merge develop into bugfixes 2019-09-19 09:05:56 +01:00
Neil Alexander
7b1678a11d
Goroutines in _addPeerLoop from bugfixes 2019-09-19 09:04:25 +01:00
Neil Alexander
5a382e7e0b
Cherrypick fixes for _addPeerLoop memory leak for now 2019-09-19 08:55:55 +01:00
Arceliar
995d67cca8 fix leak in _addPeerLoop 2019-09-18 18:46:03 -05:00
Arceliar
92d9274f3f resolve conflicts 2019-09-18 18:40:01 -05:00
Arceliar
2d64a6380a misc other fixes 2019-09-18 18:33:51 -05:00
Neil Alexander
909e4e29a8
Don't spawn goroutines for addPeerLoop, TCP connect timeout of 5 seconds for now 2019-09-18 23:44:28 +01:00
Neil Alexander
64570a8d3e
Merge pull request #542 from Arceliar/switch
Switch
2019-09-18 20:26:48 +01:00
Neil Alexander
0a12e4b1c1
Revert "Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg"
This reverts commit be35675d0f.
2019-09-18 20:26:06 +01:00
Neil Alexander
ddaaa865cb
Be more verbose when a peer or listener is badly formatted 2019-09-18 19:58:41 +01:00
Neil Alexander
94cf2854a9
Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) 2019-09-18 19:48:53 +01:00
Neil Alexander
ae0b2672ff
Fix #539 2019-09-18 19:48:16 +01:00
Neil Alexander
2dc136f94a
Multicast actor to prevent races 2019-09-18 16:51:46 +01:00
Neil Alexander
b959f53fee
Shut down listeners when stopping 2019-09-18 16:32:22 +01:00
Neil Alexander
b0df9e2f31
Fix race when adding peers 2019-09-18 16:15:33 +01:00