5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-12-23 18:05:39 +00:00
Commit Graph

247 Commits

Author SHA1 Message Date
Arceliar
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
Arceliar
189628b381 cleanup 2018-06-23 23:55:27 -05:00
Arceliar
0ad801bcfe more work on backpressure, but still needs more testing 2018-06-23 23:33:03 -05:00
Arceliar
4b83efa218 more backpressure work, still needs testing 2018-06-23 21:51:32 -05:00
Arceliar
52a0027aea switch refactoring, setup for a better approximation of local backpressure 2018-06-23 20:59:26 -05:00
Arceliar
988f4ad265 add a dedicated switch worker and start using it for lookups 2018-06-23 19:08:32 -05:00
Arceliar
2ae213c255 I'll try sorting, that's a good trick 2018-06-23 01:10:18 -05:00
Arceliar
cceecf4b1a larger out queue size, make sure linkOut packets always get sent first 2018-06-22 23:46:42 -05:00
Arceliar
0021f3463f slightly better way for the tcp sender goroutine(s) to block waiting for work 2018-06-22 20:39:57 -05:00
Neil Alexander
f68f779bee
Change box_pub_key to key in admin API 2018-06-22 22:26:17 +01:00
Arceliar
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
Arceliar
254be42614 gofmt 2018-06-21 10:39:43 -05:00
Arceliar
19014a198e randomize the delay after tcp disconnects, to prevent synchronization issues 2018-06-21 10:38:31 -05:00
Arceliar
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
Arceliar
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
Arceliar
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
Neil Alexander
6c556da05e
Merge pull request #125 from Arceliar/cleanup
Cleanup
2018-06-14 15:26:34 +01:00
Arceliar
d9c9787611 avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer 2018-06-14 09:21:35 -05:00
Arceliar
e8eaabf0c8 comment 2018-06-14 09:12:58 -05:00
Arceliar
57837057b7 tcp/socks cleanup 2018-06-14 09:11:34 -05:00
Arceliar
f7a7f601a0 cleanup old ugly session MTU code that only mattered with lossy UDP fragments 2018-06-14 08:38:43 -05:00
Arceliar
93ffc0b876 macos 2018-06-14 08:00:57 -05:00
Arceliar
e7fca66655 fix address/prefix code, platform specific parts still need testing 2018-06-14 07:58:07 -05:00
Arceliar
330175889e switch address range from fd00::/8 to the deprecated 0200::/7 range 2018-06-14 07:08:48 -05:00
Arceliar
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
Arceliar
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
Arceliar
9ce428af66
Merge pull request #112 from neilalexander/documentation
Adds more comments to ICMPv6 and TUN/TAP.
2018-06-12 17:11:24 -05:00
Neil Alexander
8e2c2aa977
Document ICMPv6 and TUN/TAP 2018-06-12 22:45:53 +01:00
Arceliar
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
Arceliar
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
Arceliar
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
Arceliar
038a51fd13 it helps to add new files 2018-06-09 18:44:59 -05:00
Arceliar
72cca4ea43 version check/warning adjustments 2018-06-09 18:38:30 -05:00
Arceliar
076350f963 remove old tcp key exchange code 2018-06-09 17:49:02 -05:00
Arceliar
8733099516 add version metadata to key exchange at the start of connections 2018-06-09 17:46:19 -05:00
Arceliar
f5c850f098 better way to do wire signed ints (no negative zero, remove conditionals) 2018-06-09 16:36:13 -05:00
Arceliar
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
Arceliar
1dcc60f054 check root before accepting that a message is good and unblocking a new peer 2018-06-08 17:33:16 -05:00
Arceliar
f30d040366 Merge branch 'master' of https://github.com/yggdrasil-network/yggdrasil-go into develop 2018-06-08 16:17:24 -05:00
Arceliar
495891d9e8 remove testing panics 2018-06-07 22:32:01 -05:00
Arceliar
e29f700dd6 enable multicast on interfaces that come up after startup 2018-06-07 22:07:19 -05:00
Arceliar
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
Arceliar
bced15b138 remove TTL from traffic packets 2018-06-07 20:29:22 -05:00
Arceliar
84c13fac90 don't use TTL 2018-06-07 20:18:13 -05:00
Arceliar
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
Arceliar
ec1c173ca5 it helps to check that messages decoded correctly 2018-06-07 16:53:39 -05:00
Arceliar
bcfeb22915 more tcp debugging 2018-06-07 16:49:51 -05:00
Arceliar
63feed8dc3 adjust tcp timeout and add shadow queues to track dropped packets 2018-06-07 15:04:17 -05:00
Arceliar
c1f8baf9b5 update dht.reset() to possibly play better with coord changes 2018-06-07 14:39:43 -05:00
Arceliar
d468882147 cleanup 2018-06-07 14:24:02 -05:00