Arceliar
adc21baa28
Merge pull request #152 from Arceliar/backpressure
...
Limit backpressure resource consumption
2018-07-06 17:38:28 -05:00
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
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
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
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
Neil Alexander
9ac7d4e0df
Fix typo for big-endian BOM
2018-06-16 17:01:47 +01:00
Neil Alexander
0ec5f1c02c
Version 0.2.1 ( #130 )
...
* switch address range from fd00::/8 to the deprecated 0200::/7 range
* Fix launchd script path and amend debian control file
* fix address/prefix code, platform specific parts still need testing
* macos
* cleanup old ugly session MTU code that only mattered with lossy UDP fragments
* Fix debian control file
* Let's try this again
* tcp/socks cleanup
* comment
* avoid the proxy.SOCK5 connection attempt unless we're actually going to use the dialer
* Update generate.sh
* prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately
* address range changes
* Update README.md
Consistently remove leading zeros from addresses in the readme.
* Update yggdrasil.go
* Collect yggdrasilctl during CI build
* Fix CircleCI after fat-fingered copypasta
* Fix for Windows
* clean up main yggdrasil.go imports and run gofmt
2018-06-15 11:02:45 +01:00