Arceliar
|
ef15a6bd79
|
tunConn cleanup
|
2019-08-24 11:44:21 -05:00 |
|
Arceliar
|
4893a07696
|
start migrating tunConn to the actor model
|
2019-08-24 11:38:47 -05:00 |
|
Arceliar
|
b582c444f8
|
minor cleanup
|
2019-08-24 01:57:08 -05:00 |
|
Arceliar
|
1e346aaad0
|
have the conn actor receive messages from the session actor and either pass them to a callback or buffer them in a channel for Read to use if no callback was set
|
2019-08-24 01:52:21 -05:00 |
|
Arceliar
|
9948e3d659
|
add Conn.WriteFrom to allow actor-based sending
|
2019-08-24 00:44:02 -05:00 |
|
Arceliar
|
da9f7151e3
|
more conn migration
|
2019-08-24 00:17:37 -05:00 |
|
Arceliar
|
6ecbc439f0
|
start migrating Conn to be an actor
|
2019-08-23 23:36:00 -05:00 |
|
Arceliar
|
cac3444d9a
|
fix debug builds
|
2019-08-23 22:40:13 -05:00 |
|
Arceliar
|
cf9880464b
|
explicitly consider the session finished case, and make a note that we could fix the packet drop situation by making the Conn into an actor too
|
2019-08-23 22:36:59 -05:00 |
|
Arceliar
|
e3603c0462
|
clean up unused session code
|
2019-08-23 22:25:40 -05:00 |
|
Arceliar
|
533da351f9
|
fix actor EnqueueFrom stack overflow (use nil now to send from self) and replace session send/recv workers with actor functions
|
2019-08-23 22:23:01 -05:00 |
|
Arceliar
|
436c84ca33
|
refactor sessions to store a pointer to router instead of core
|
2019-08-23 20:53:00 -05:00 |
|
Arceliar
|
5bb85cf07b
|
refactor searches to store a pointer to router instead of core
|
2019-08-23 20:42:38 -05:00 |
|
Arceliar
|
e7024a00e7
|
have dht store a pointer to router instead of core
|
2019-08-23 20:35:54 -05:00 |
|
Arceliar
|
ebd806f27a
|
move router member initialization into router.init
|
2019-08-23 20:29:16 -05:00 |
|
Arceliar
|
9835c63818
|
refactor things the router owns (dht, sessions, searches) into that struct, to make the ownership more explicit
|
2019-08-23 20:26:15 -05:00 |
|
Arceliar
|
bbcbbaf3b1
|
start migrating sessionInfo to be an actor
|
2019-08-23 20:05:18 -05:00 |
|
Arceliar
|
8e89816099
|
more router migration: rename functions that should only be called internally by the actor
|
2019-08-23 18:59:34 -05:00 |
|
Arceliar
|
232e6d3cb3
|
more router migration
|
2019-08-23 18:55:41 -05:00 |
|
Arceliar
|
9d7e7288c6
|
start migrating the router to an actor
|
2019-08-23 18:47:15 -05:00 |
|
Arceliar
|
12ce8c6a0a
|
Merge pull request #512 from neilalexander/cryptokey
Cryptokey routing changes
|
2019-08-20 20:23:00 -05:00 |
|
Arceliar
|
226dd6170d
|
hopefully prevent a deadlock
|
2019-08-20 18:49:53 -05:00 |
|
Arceliar
|
4156aa3003
|
move ckr checks into the tunConn code
|
2019-08-20 18:10:08 -05:00 |
|
Neil Alexander
|
b79829c43b
|
Merge branch 'develop' into cryptokey
|
2019-08-20 09:43:17 +01:00 |
|
Neil Alexander
|
b6e67bc0ba
|
Check CKR remotes when receiving traffic
|
2019-08-20 09:38:46 +01:00 |
|
Neil Alexander
|
2b6462c8a9
|
Strict checking of Yggdrasil source/destination addresses
|
2019-08-20 09:38:27 +01:00 |
|
Arceliar
|
834a6a6f1a
|
don't allocate a new child cancellation in Conn read/write calls if no deadline is set
|
2019-08-19 18:06:05 -05:00 |
|
Neil Alexander
|
2a629880fd
|
Rename crypto-key config options, improve control flow
|
2019-08-19 10:28:30 +01:00 |
|
Arceliar
|
8af1a7086c
|
when a link becomes idle and packet are buffered that the link could send, send at least 65535 bytes worth instead of 1 packet, this reduces syscall overhead when small packets are sent through the network
|
2019-08-18 12:29:07 -05:00 |
|
Arceliar
|
62337bcd64
|
allow links to send multiple packets at once, currently we still only bother to send 1 at a time from the switch level
|
2019-08-18 12:17:54 -05:00 |
|
Arceliar
|
fd5f3ca764
|
fix heap pop order
|
2019-08-16 23:07:40 -05:00 |
|
Arceliar
|
03b8af9f1a
|
keep track of recent nonces with a heap and a map instead of a fixed-size bitmask
|
2019-08-16 18:37:16 -05:00 |
|
Neil Alexander
|
5b054766a2
|
Update comments in handleIn, add switch_getFlowLabelFromCoords helper (in case it is useful if we try to consider flowlabels in multi-link scenarios)
|
2019-08-15 10:54:04 +01:00 |
|
Arceliar
|
1a2b7a8b60
|
test a change to how switch hops are selected when multiple links are idle
|
2019-08-14 17:57:36 -05:00 |
|
Neil Alexander
|
f26f071901
|
Merge pull request #497 from Slex/issues/488
Implement feature from https://github.com/yggdrasil-network/yggdrasil…
|
2019-08-14 20:11:15 +01:00 |
|
Neil Alexander
|
33cd10c463
|
Merge branch 'issues/488' of github.com:slex/yggdrasil-go into issues/488
|
2019-08-14 19:58:45 +01:00 |
|
Neil Alexander
|
4702da2bcb
|
Use new netlink library (fixes #493)
|
2019-08-14 19:32:40 +01:00 |
|
Neil Alexander
|
d9fabad8bc
|
Merge pull request #502 from Arceliar/linkleak
Try to fix leaks in #501
|
2019-08-14 07:17:39 +01:00 |
|
Arceliar
|
46c5df1c23
|
when we abandon a link because we already have a connection to that peer, only wait for the connection to close if it's an *outgoing* link, otherwise incomming connection attempts can cause us to leak links
|
2019-08-13 18:49:49 -05:00 |
|
Arceliar
|
b2cb1d965c
|
avoid leaking sessions when no listener exists, or blocking if it's busy
|
2019-08-12 18:22:30 -05:00 |
|
Arceliar
|
277da1fe60
|
make sure searches don't end if try to continue (in parallel) with nowhere left to send, but we just sent a search and are still waiting for a response
|
2019-08-11 13:11:14 -05:00 |
|
Arceliar
|
7a28eb787e
|
try to fix a few edge cases with searches that could lead them to ending without the callback being run or without cleaning up the old search info
|
2019-08-11 13:00:19 -05:00 |
|
Slex
|
589ad638ea
|
Implement feature from https://github.com/yggdrasil-network/yggdrasil-go/issues/488
|
2019-08-11 00:31:22 +03:00 |
|
Arceliar
|
5e81a0c421
|
Use a separate buffer per session for incoming packets, so 1 session that floods won't block other sessions
|
2019-08-07 18:08:31 -05:00 |
|
Arceliar
|
9ab08446ff
|
make sure the sessionInfo.recvWorker doesn't block if sinfo.recv somehow fills
|
2019-08-07 17:40:50 -05:00 |
|
Neil Alexander
|
c99ed9fb60
|
Merge pull request #491 from Arceliar/flowkey
Fix the old flowkey stuff so congestion control actually works...
|
2019-08-07 10:33:17 +01:00 |
|
Arceliar
|
d795ab1b65
|
minor allocation fix
|
2019-08-06 20:51:38 -05:00 |
|
Arceliar
|
790524bd1c
|
copy/paste old flowkey logic into a util function, add a struct of key and packet, make WriteNoCopy accept this instead of a slice
|
2019-08-06 19:25:55 -05:00 |
|
Arceliar
|
679866d5ff
|
have createSession fill the sessionInfo.cancel field, have Conn use Conn.session.cancel instead of storing its own cancellation, this should prevent any of these things from being both nil and reachable at the same time
|
2019-08-05 19:11:28 -05:00 |
|
Arceliar
|
8a85149817
|
remove src/.DS_Store
|
2019-08-05 18:50:08 -05:00 |
|