1420 Commits

Author SHA1 Message Date
Arceliar
c04816b4bd
Merge pull request #510 from Arceliar/streamWrites
Send multiple packets from the switch at once
2019-08-18 18:19:06 -05: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
Neil Alexander
009d9c9ec0
Merge pull request #505 from yggdrasil-network/develop
Version 0.3.7
v0.3.7
2019-08-18 11:20:50 +01:00
Arceliar
039dd98f0d
Update CHANGELOG.md 2019-08-17 12:46:34 -05:00
Arceliar
57e7acdda8
Update CHANGELOG.md 2019-08-17 12:42:17 -05:00
Neil Alexander
80535d402f
Merge pull request #508 from Arceliar/nonce
New nonce tracking
2019-08-17 10:55:21 +01: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
fdac8932a8
Update changelog 2019-08-15 13:11:54 +01:00
Neil Alexander
ae0fe93de5
Update changelog 2019-08-15 12:54:04 +01:00
Neil Alexander
adf69d0127
Merge pull request #506 from Arceliar/switchorder
Switch priority change
2019-08-15 11:00:12 +01: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
382c2e6546 even more go.sum 2019-08-14 18:14:24 -05: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
2abb71682f
Update changelog, readme, go.mod/go.sum 2019-08-14 22:21:30 +01: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
02bfe28399
Minor tweaks 2019-08-14 20:09:02 +01:00
Neil Alexander
2cec5bf108
Merge pull request #504 from neilalexander/netlink
Use new netlink library (fixes #493)
2019-08-14 19:59:30 +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
Neil Alexander
5e7df5a1c4
Merge pull request #499 from yggdrasil-network/sessionfix
Prevent session leaks or blocking if the listener is busy
2019-08-13 08:27:30 +01: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
c15976e4dc go.sum 2019-08-12 18:08:02 -05:00
Neil Alexander
70a118ae98
Update go.mod/go.sum 2019-08-12 11:41:29 +01:00
Neil Alexander
16076b53b9
Merge pull request #498 from Arceliar/search
Search fixes
2019-08-11 21:13:49 +01: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
ae05683c73
Merge pull request #494 from Arceliar/bufpersession
Per-session front-dropping buffers for incoming traffic
2019-08-07 18:15:20 -05: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
71e9ca25f7
Merge pull request #492 from neilalexander/fixlisten
Transform Listen statement to new format if needed
2019-08-07 10:57:55 +01:00
Neil Alexander
bbb35d7209
Transform Listen statement to new format if needed 2019-08-07 10:52:19 +01: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
6cb0ed91ad
Merge pull request #486 from Arceliar/bugfix
Conn/Session cleanup
2019-08-05 19:17:30 -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
032b86c9a3
Merge pull request #485 from Arceliar/bugfix
Bugfix
2019-08-05 18:57:14 -05:00
Arceliar
8a85149817 remove src/.DS_Store 2019-08-05 18:50:08 -05:00
Arceliar
84a4f54217 temporary fix to nil pointer, better to make sure it's never nil 2019-08-05 18:49:15 -05:00
Neil Alexander
bd3b42022b
Merge pull request #480 from Arceliar/speedup
Speedup
2019-08-05 10:24:54 +01:00
Neil Alexander
f046249ac6
Merge pull request #484 from neilalexander/config
API changes
2019-08-05 10:24:43 +01:00
Neil Alexander
2ee00fcc09
Return box_pub_key as hex string in JSON (replaces #481) 2019-08-05 10:21:40 +01:00
Neil Alexander
3a2ae9d902
Update API to represent coords as []uint64 2019-08-05 10:17:19 +01:00
Neil Alexander
37533f157d
Make some API changes (currently broken) 2019-08-05 00:30:12 +01:00
Arceliar
979c3d4c07 move some potentially blocking operations out of session pool workers, minor cleanup 2019-08-04 16:29:58 -05:00