Arceliar
|
9c818c6278
|
work-in-progress on a new sim
|
2020-04-26 07:33:03 -05:00 |
|
Arceliar
|
9d0969db2b
|
prevent a hypothetical block on link message sending
|
2020-04-05 14:57:05 -05:00 |
|
Arceliar
|
09efdfef9a
|
fix bug in switch actor's cleanRoot, strict nonce handling at the session level, and add separate queues per stream to the packetqueue code
|
2020-04-03 19:26:48 -05:00 |
|
Arceliar
|
03a19997b8
|
Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into buffers
|
2020-04-03 00:33:01 -05:00 |
|
Arceliar
|
945930aa2c
|
WIP have peer actors queue packets, temporarily a single simple FIFO queue with head drop
|
2020-04-03 00:32:26 -05:00 |
|
Arceliar
|
7a314afb31
|
check if an error was returned by Core._init and return it if so
|
2020-03-31 18:14:20 -05:00 |
|
Arceliar
|
9834f222db
|
more work in progress actorizing the remaining parts of the switch
|
2020-03-29 19:01:50 -05:00 |
|
Arceliar
|
15b850be6e
|
fix deadlock when running updateTable in the switch
|
2020-03-29 01:38:32 -05:00 |
|
Arceliar
|
d47797088f
|
fix shutdown deadlock
|
2020-03-29 00:48:41 -05:00 |
|
Arceliar
|
e926a3be6d
|
work in progress actorizing core.peers and replacing switch worker with per-peer switch-generated lookupTable
|
2020-03-29 00:23:38 -05:00 |
|
Arceliar
|
16309d2862
|
Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into buffers
|
2020-03-28 21:10:34 -05:00 |
|
Arceliar
|
1ac3a18aab
|
Fix a typo in search.go's comments
|
2020-03-23 18:03:31 -05:00 |
|
Arceliar
|
a09a83530f
|
update search description in comments
|
2020-03-22 18:42:42 -05:00 |
|
Arceliar
|
b651e57203
|
allow searches to continue as long as the next hop is closer than the Nth closest node found so far where N is currently 16 instead of 1 (makes searches more reliable), and cache all intermediate search steps in the dht
|
2020-03-19 21:11:17 -05:00 |
|
Arceliar
|
4809879995
|
refactor switch code so calling lookupTable.lookup does most of the important work
|
2020-03-10 01:03:07 -05:00 |
|
Arceliar
|
cfd8641925
|
fix conflicts with memleak bugfix
|
2020-03-10 00:03:26 -05:00 |
|
Arceliar
|
8075a60900
|
possibly fix memory leak (if this works, i don't yet understand how the leak was happening originally)
|
2020-03-08 19:32:14 -05:00 |
|
Arceliar
|
f308e81bf3
|
in the switch, keep a separate set of queues per peer instead of a global queue
|
2020-02-18 20:13:39 -06:00 |
|
Neil Alexander
|
471fcd7fdf
|
Update doc.go dial example
|
2020-02-16 23:57:05 +00:00 |
|
Neil Alexander
|
6c731c4efc
|
Fix comment on LocalAddr
|
2020-02-16 23:45:11 +00:00 |
|
Neil Alexander
|
429189d11d
|
Use 'curve25519' instead of 'pubkey'
|
2020-02-16 23:44:20 +00:00 |
|
Neil Alexander
|
6b0b704645
|
Update comments
|
2020-02-16 23:30:47 +00:00 |
|
Neil Alexander
|
63936c11b5
|
Update tuntap module, return pointers
|
2020-02-16 23:21:58 +00:00 |
|
Neil Alexander
|
c107f891d2
|
Implement pubkeys in API functions
|
2020-02-16 23:12:39 +00:00 |
|
Arceliar
|
657777881b
|
actually schedule the search cleanup code to run
|
2020-02-08 20:33:35 -06:00 |
|
Arceliar
|
8e05c6c6a7
|
better search cleanup, but needs more testing to make sure it really works
|
2020-02-08 20:26:37 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
d7d0c2629c
|
don't deduplicate search responses, but limit the max number of nodes handled per response
|
2020-02-08 17:04:00 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
3faa0b2854
|
deduplicate the list of nodes to visit in a search (keeping newest rumors)
|
2020-02-06 20:47:53 -06:00 |
|
Arceliar
|
7c2cb9a02d
|
more search fixes/updates
|
2020-02-06 20:21:17 -06:00 |
|
Arceliar
|
cd856426e5
|
search timing changes
|
2020-02-06 18:37:58 -06:00 |
|
Arceliar
|
70659bfb91
|
sort search response results before sending requests
|
2020-02-06 17:38:42 -06:00 |
|
Arceliar
|
7e64f54c1f
|
log some info about searches and reduce search traffic (especially when things dead-end)
|
2020-02-01 13:58:08 -06:00 |
|
Neil Alexander
|
c48c4ddc80
|
Merge pull request #641 from Arceliar/misc
Misc tuning
|
2020-01-10 11:35:51 +00:00 |
|
Neil Alexander
|
2fc6f9a71d
|
Merge pull request #643 from adamruzicka/mtu
Unify MTU datatypes across the codebase
|
2020-01-07 22:39:38 +00:00 |
|
Arceliar
|
c3b1a6af65
|
some nodeinfo actor fixes and adjust search timeout
|
2020-01-06 18:37:43 -06:00 |
|
Neil Alexander
|
8c12fc4fdb
|
Merge branch 'develop' into misc
|
2020-01-05 23:04:51 +00:00 |
|
Neil Alexander
|
9304873047
|
Convert nodeinfo to actor
|
2020-01-05 22:15:52 +00:00 |
|
Adam Ruzicka
|
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 |
|
Arceliar
|
8513f8f4dc
|
constant space searches that should play nicer if searching for an unreachable destination
|
2020-01-04 16:08:48 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
9fac5355eb
|
make searches more parallel
|
2019-12-25 18:55:29 -06:00 |
|
Dimitris Apostolou
|
73f50af3b7
|
Fix typos
|
2019-11-29 11:45:02 +02:00 |
|
Arceliar
|
98339cdc3f
|
possible fix if monotonic time resolution is related to packet reordering
|
2019-11-25 17:40:58 -06:00 |
|
Arceliar
|
3e07995518
|
it helps to actually set the flag...
|
2019-11-24 18:53:58 -06:00 |
|
Arceliar
|
27cc57dbbc
|
attempt to prevent incorrect idle notification in switch, needs testing
|
2019-11-24 18:24:17 -06:00 |
|
Arceliar
|
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 |
|
Neil Alexander
|
7c18c6806d
|
Further updates, notify sessions about updated MTU from API call
|
2019-11-21 09:54:36 +00:00 |
|
Neil Alexander
|
d1c445dc41
|
Thread safety for MTU API functions
|
2019-11-21 09:28:36 +00:00 |
|
Neil Alexander
|
e90be6f569
|
Add API functions for manipulating maximum session MTU, fix TUN/TAP to use that
|
2019-11-21 00:02:39 +00:00 |
|
Arceliar
|
5f1aea3636
|
fix deadlock when AddPeer fails
|
2019-11-12 21:01:32 -06:00 |
|
Arceliar
|
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 |
|
Arceliar
|
710815fed5
|
add dummy functions for other platforms
|
2019-10-25 19:32:53 -05:00 |
|
Arceliar
|
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 |
|
Neil Alexander
|
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 |
|
Arceliar
|
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 |
|
Arceliar
|
996c6b4f47
|
add one TODO comment and run gofmt
|
2019-10-23 20:28:11 -05:00 |
|
Neil Alexander
|
cd77727c1e
|
Set TCP socket options before upgrading connection
|
2019-10-23 18:24:08 +01:00 |
|
Neil Alexander
|
6a22e6c9de
|
Initial connection upgrade/TLS peering support
|
2019-10-23 17:26:35 +01:00 |
|
Arceliar
|
ea085663ea
|
slight cleanup of dial's timeout
|
2019-10-21 20:52:16 -05:00 |
|
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
|
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
|
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
|
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 |
|