4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-15 16:46:06 +00:00
Commit Graph

259 Commits

Author SHA1 Message Date
36c89da848 Stick with tcp://localhost:9001 as default for now 2018-07-07 12:16:55 +01:00
1692bd98fd Centralise platform defaults into the 'defaults' package 2018-07-07 12:08:52 +01:00
ba4047b51a correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store 2018-07-06 17:27:04 -05:00
ad5dc9ea87 Drop 1 packet instead of a whole queue when overflowing 2018-07-06 00:55:00 -05:00
e6a47f705d when dropping a queue, select one at random based on queue size in bytes 2018-07-06 00:11:36 -05:00
1a65c065d0 prioritize sending from small queues that have been blocked for a long time 2018-07-05 23:56:37 -05:00
7da4967f5e Limit maximum queue size to 4 MB 2018-07-05 23:39:41 -05:00
a7c8be4d69 base backpressure decisions on queue size in bytes, instead of packet counts 2018-07-05 23:07:01 -05:00
b63b534fa7 drop packets that have been queued for longer than some timeout (currently 25ms) instead of using fixed length queues 2018-06-25 18:12:18 -05:00
7695a3fcbf try using a simpler FIFO order for each backpressure buffer, since there are other mechanisms to penalize the flooding node, leads to better TCP throughput without affecting traffic between other nodes (does affect traffic in the same session, but there's hypothetically workarounds to that) 2018-06-24 20:20:07 -05:00
4ad2446557 cleanup 2018-06-24 18:21:00 -05:00
03949dcf3f fix my terrible bug, I have no idea why the old one even worked 2018-06-24 18:05:00 -05:00
9c028e1d0d switch to a separate queue per stream of traffic, FIXME for some reason this makes distance calculations more expensive in handleIdle? 2018-06-24 17:39:43 -05:00
189628b381 cleanup 2018-06-23 23:55:27 -05:00
0ad801bcfe more work on backpressure, but still needs more testing 2018-06-23 23:33:03 -05:00
4b83efa218 more backpressure work, still needs testing 2018-06-23 21:51:32 -05:00
52a0027aea switch refactoring, setup for a better approximation of local backpressure 2018-06-23 20:59:26 -05:00
988f4ad265 add a dedicated switch worker and start using it for lookups 2018-06-23 19:08:32 -05:00
2ae213c255 I'll try sorting, that's a good trick 2018-06-23 01:10:18 -05:00
cceecf4b1a larger out queue size, make sure linkOut packets always get sent first 2018-06-22 23:46:42 -05:00
0021f3463f slightly better way for the tcp sender goroutine(s) to block waiting for work 2018-06-22 20:39:57 -05:00
f68f779bee Change box_pub_key to key in admin API 2018-06-22 22:26:17 +01:00
5dfa01a0e8 periodically clean up timed-out sessions and old signatures, instead of trying to do it when creating new sessions or adding new signatures 2018-06-21 20:31:30 -05:00
254be42614 gofmt 2018-06-21 10:39:43 -05:00
19014a198e randomize the delay after tcp disconnects, to prevent synchronization issues 2018-06-21 10:38:31 -05:00
f599a1a2c1 start the pprof based on an env variable in debug builds, otherwise remove the flag/release.go stuff 2018-06-21 10:32:16 -05:00
496dc94f02 possibly mitigate livelock bug where lossy links lead to constant connect/disconnect cycles due to disagreement about which of the two duplicate autoconnection attempts to use 2018-06-16 15:31:25 -05:00
7fe038f87e prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately 2018-06-14 12:32:18 -05:00
6c556da05e Merge pull request #125 from Arceliar/cleanup
Cleanup
2018-06-14 15:26:34 +01:00
d9c9787611 avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer 2018-06-14 09:21:35 -05:00
e8eaabf0c8 comment 2018-06-14 09:12:58 -05:00
57837057b7 tcp/socks cleanup 2018-06-14 09:11:34 -05:00
f7a7f601a0 cleanup old ugly session MTU code that only mattered with lossy UDP fragments 2018-06-14 08:38:43 -05:00
93ffc0b876 macos 2018-06-14 08:00:57 -05:00
e7fca66655 fix address/prefix code, platform specific parts still need testing 2018-06-14 07:58:07 -05:00
330175889e switch address range from fd00::/8 to the deprecated 0200::/7 range 2018-06-14 07:08:48 -05:00
cd514799da recover if p.doSend is closed due to a race between peers.doSendSwitchMsgs and peers.removePeer 2018-06-13 00:24:12 -05:00
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
9ce428af66 Merge pull request #112 from neilalexander/documentation
Adds more comments to ICMPv6 and TUN/TAP.
2018-06-12 17:11:24 -05:00
8e2c2aa977 Document ICMPv6 and TUN/TAP 2018-06-12 22:45:53 +01:00
24228bd381 disable unused configuration Net field and clean up comments to remove mention of UDP where no longer applicable 2018-06-12 14:00:04 -05:00
359af66d0d exponential dht throttle backoff, and make it based on when packets were sent as part of bootstrapping/maintenance, not when arbitrary packets were received 2018-06-12 03:16:10 -05:00
56802d569e minor documentation updates, code comments, and a couple of bugfixes that I noticed when going through the code to comment it 2018-06-10 18:03:28 -05:00
038a51fd13 it helps to add new files 2018-06-09 18:44:59 -05:00
72cca4ea43 version check/warning adjustments 2018-06-09 18:38:30 -05:00
076350f963 remove old tcp key exchange code 2018-06-09 17:49:02 -05:00
8733099516 add version metadata to key exchange at the start of connections 2018-06-09 17:46:19 -05:00
f5c850f098 better way to do wire signed ints (no negative zero, remove conditionals) 2018-06-09 16:36:13 -05:00
e5eb6de1f6 add inner crypto to linkProtoTraffic, using ephemeral keys, to prevent replay attacks from spoofing peer connections 2018-06-08 18:42:56 -05:00
1dcc60f054 check root before accepting that a message is good and unblocking a new peer 2018-06-08 17:33:16 -05:00