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

247 Commits

Author SHA1 Message Date
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
f30d040366 Merge branch 'master' of https://github.com/yggdrasil-network/yggdrasil-go into develop 2018-06-08 16:17:24 -05:00
495891d9e8 remove testing panics 2018-06-07 22:32:01 -05:00
e29f700dd6 enable multicast on interfaces that come up after startup 2018-06-07 22:07:19 -05:00
ea1d21f7e5 don't change dhtInfo.pings when sending a search, to prevent multiple different searches from evicting a node 2018-06-07 21:28:08 -05:00
bced15b138 remove TTL from traffic packets 2018-06-07 20:29:22 -05:00
84c13fac90 don't use TTL 2018-06-07 20:18:13 -05:00
fe12e1509a add a throttle to nodes in the dht. the throttle is gradually increased each time the node is pinged. it determines the minimum amount of time to wait between using the node in a bootstrapping search 2018-06-07 17:55:43 -05:00
ec1c173ca5 it helps to check that messages decoded correctly 2018-06-07 16:53:39 -05:00
bcfeb22915 more tcp debugging 2018-06-07 16:49:51 -05:00
63feed8dc3 adjust tcp timeout and add shadow queues to track dropped packets 2018-06-07 15:04:17 -05:00
c1f8baf9b5 update dht.reset() to possibly play better with coord changes 2018-06-07 14:39:43 -05:00
d468882147 cleanup 2018-06-07 14:24:02 -05:00