1170 Commits

Author SHA1 Message Date
Arceliar
ba4047b51a correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store 2018-07-06 17:27:04 -05:00
Arceliar
ad5dc9ea87 Drop 1 packet instead of a whole queue when overflowing 2018-07-06 00:55:00 -05:00
Arceliar
e6a47f705d when dropping a queue, select one at random based on queue size in bytes 2018-07-06 00:11:36 -05:00
Arceliar
1a65c065d0 prioritize sending from small queues that have been blocked for a long time 2018-07-05 23:56:37 -05:00
Arceliar
7da4967f5e Limit maximum queue size to 4 MB 2018-07-05 23:39:41 -05:00
Arceliar
a7c8be4d69 base backpressure decisions on queue size in bytes, instead of packet counts 2018-07-05 23:07:01 -05:00
Neil Alexander
885ba4452d
Merge pull request #149 from yggdrasil-network/develop
Version 0.2.3
2018-06-29 23:28:50 +01:00
Neil Alexander
d0e6a9ad41
Merge pull request #150 from neilalexander/version
Update changelog version for v0.2.3
2018-06-29 23:25:00 +01:00
Neil Alexander
af99cebf11
Update changelog version 2018-06-29 23:20:58 +01:00
Neil Alexander
1d05e511b3
Merge pull request #148 from Arceliar/changelog
Add changelog
2018-06-29 08:40:13 +01:00
Neil Alexander
1fced2bdf0
Update changelog 2018-06-29 08:35:39 +01:00
Arceliar
dd6ca6e4b6 Add changelog 2018-06-28 18:47:10 -05:00
Neil Alexander
1a0771b016
Merge pull request #146 from Arceliar/backpressure
Local backpressure improvements
2018-06-28 23:04:03 +01:00
Arceliar
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
Neil Alexander
01f0ec34f4
Merge pull request #147 from neilalexander/alien
Build RPMs in CircleCI using alien
2018-06-25 14:25:48 +01:00
Neil Alexander
3d0b39f05a
Keep version number 2018-06-25 14:21:31 +01:00
Neil Alexander
a7d1f21271
Run alien as root so package permissions are right 2018-06-25 14:19:22 +01:00
Neil Alexander
11acb0129d
Use alien to generate RPMs 2018-06-25 14:17:07 +01:00
Arceliar
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
Arceliar
4ad2446557 cleanup 2018-06-24 18:21:00 -05:00
Arceliar
03949dcf3f fix my terrible bug, I have no idea why the old one even worked 2018-06-24 18:05:00 -05:00
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
Arceliar
fd074a4364
Merge pull request #143 from neilalexander/admin
Change box_pub_key to key in admin API
2018-06-22 16:35:48 -05:00
Neil Alexander
f68f779bee
Change box_pub_key to key in admin API 2018-06-22 22:26:17 +01:00
Neil Alexander
79a35caf24
Merge pull request #142 from Arceliar/sessioncleanup
Sesson cleanup
2018-06-22 08:48:22 +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
e2d739f646
Merge pull request #141 from yggdrasil-network/develop
Version 0.2.2
2018-06-21 12:04:01 -05:00
Arceliar
8e7edf566c
Merge pull request #140 from Arceliar/misc
Misc cleanup
2018-06-21 10:50:18 -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
Neil Alexander
7a19507665
Merge pull request #139 from neilalexander/yggdrasilconf
Add yggdrasilconf for testing with vyatta-yggdrasil
2018-06-21 16:07:25 +01:00
Neil Alexander
1a60e89ada
Add yggdrasilconf for testing with vyatta-yggdrasil 2018-06-21 16:03:46 +01:00
Arceliar
12bcb6cc1f
Merge pull request #138 from neilalexander/dedwarf
Update build script
2018-06-21 09:33:28 -05:00
Arceliar
c4d28c4f65
Update build
More portable way to strip the `.go` extension from files when packing with upx.
2018-06-21 09:29:05 -05:00
Neil Alexander
2c3074a979
Update build script to strip by default, allow debug -d and UPX -u flags 2018-06-21 09:53:35 +01:00
Neil Alexander
b415adee6d
Merge pull request #137 from yggdrasil-network/develop
Integrate history from develop for v0.2.1
2018-06-17 18:27:37 +01:00
Neil Alexander
10a66a4edc
Update semver to hopefully avoid squash merges 2018-06-17 18:17:21 +01:00
Neil Alexander
e8e7e6bcf5
Bring squash merge into develop 2018-06-17 18:11:18 +01:00
Arceliar
f0fd19b5e5
Merge pull request #136 from Arceliar/dcfix
Mitigate connection cycling issue
2018-06-16 16:12:29 -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
Neil Alexander
0ca2cda49b
Merge pull request #135 from neilalexander/utf16
Fix typo for big-endian BOM
2018-06-16 17:05:43 +01:00