Arceliar
|
9c01947b1c
|
reduce allocations in switch
|
2019-05-16 18:10:47 -05:00 |
|
Neil Alexander
|
0b494a8255
|
Refactoring: move tuntap and icmpv6 into separate package
|
2019-03-28 00:30:25 +00:00 |
|
Arceliar
|
3c696c3e55
|
use idle time in switch decisions to force it to try all links
|
2019-03-09 19:27:52 -06:00 |
|
Arceliar
|
c7b4bfcef5
|
misc fixes
|
2019-03-09 18:08:26 -06:00 |
|
Arceliar
|
02b1892cc5
|
try to switch parents if a parent link is blocked
|
2019-03-07 21:36:12 -06:00 |
|
Arceliar
|
06df791efc
|
buffer packets moving from the switch to the router, allow them front drop if there's too many
|
2019-02-28 19:08:56 -06:00 |
|
Arceliar
|
654407dc6d
|
close long-dead connections in link.go instead of in switch.go, this is important in case a connection opens but never bothers to send even one switch message
|
2019-02-24 13:24:55 -06:00 |
|
Arceliar
|
042adb0516
|
make sure the only place traffic is ever dropped is in the switch. this currently disables the dedicated crypto workers
|
2019-02-23 00:07:00 -06:00 |
|
Arceliar
|
e31962de0f
|
Merge branch 'develop' into switch
|
2019-02-16 16:26:20 -06:00 |
|
Arceliar
|
6f0bbbfb98
|
Debug some issues with the state machine that tracks idle connections in link.go
|
2019-02-15 19:35:10 -06:00 |
|
Arceliar
|
3c9c8672c9
|
Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into switch
|
2019-02-15 16:28:48 -06:00 |
|
Arceliar
|
21cecf4630
|
consistently prioritize which peer to forward to instead of letting it be partly random
|
2019-02-09 17:44:25 -06:00 |
|
Arceliar
|
ad43558fbb
|
fix bug in switch time
|
2019-02-09 15:30:17 -06:00 |
|
Arceliar
|
74ac535d55
|
slightly faster switch logic, should be easier to have a useful tie-breaker for peers that are equally close to the destination via the tree metric
|
2019-02-08 19:46:11 -06:00 |
|
Arceliar
|
5ddf84f329
|
remove peers completely after a long switch timeout, this could use some improvement later
|
2019-02-03 15:22:14 -06:00 |
|
Neil Alexander
|
0838928668
|
Add support for flexible logging levels
|
2019-01-27 13:31:43 +00:00 |
|
Neil Alexander
|
3bf53796a7
|
Merge branch 'develop' into nodeconfig
|
2019-01-15 08:37:10 +00:00 |
|
Tristan B. Kildaire
|
08a71af2d8
|
Spelling fixes for switch.go
|
2019-01-09 11:49:12 +02:00 |
|
Neil Alexander
|
7fae1c993a
|
Handle errors from reconfigure tasks
|
2018-12-30 12:04:42 +00:00 |
|
Neil Alexander
|
2925920c70
|
Use mutex in switch/tcp init
|
2018-12-29 19:53:31 +00:00 |
|
Neil Alexander
|
fa7c4117b4
|
Use Core.config in init functions
|
2018-12-29 19:14:26 +00:00 |
|
Neil Alexander
|
219fb96553
|
Support notifying components for config reload, listen for SIGHUP
|
2018-12-29 18:51:51 +00:00 |
|
Arceliar
|
ea4ca02681
|
fix code after moving address/crypto/util
|
2018-12-14 20:49:18 -06:00 |
|
Arceliar
|
bd2d706745
|
fix bug from go vet while I'm at it
|
2018-12-07 20:36:30 -06:00 |
|
Arceliar
|
fe772dd38e
|
switch bugfixes
|
2018-12-05 18:22:39 -06:00 |
|
Arceliar
|
3d4b49b693
|
reset the switch speed info for a peer whenever it changes coords, instead of only if they're a parent and change coords. Also, make sure packets in the sim preserve order when sending, to avoid races when testing
|
2018-12-03 19:21:23 -06:00 |
|
Arceliar
|
684632eb3d
|
Merge pull request #215 from Arceliar/switch
Latency-based parent selection for the switch
|
2018-12-02 17:26:26 -06:00 |
|
Neil Alexander
|
b5f4637b5c
|
Enforce min 4MB switch queue total size
|
2018-12-02 23:20:11 +00:00 |
|
Neil Alexander
|
86da073226
|
Add SwitchOptions and MaxTotalQueueSize
|
2018-12-02 22:49:27 +00:00 |
|
Arceliar
|
dcfe55dae8
|
store 'faster' relationships between all pairs of peers, to make fallback easier when a parent goes offline
|
2018-12-02 16:36:25 -06:00 |
|
Arceliar
|
38093219fd
|
dimensionless way to track how often nodes are faster than the current parent
|
2018-12-02 14:46:58 -06:00 |
|
Arceliar
|
e9cff0506c
|
comment the switch a little better and limit how much uptime can affect which peer is used as a parent
|
2018-11-19 21:30:52 -06:00 |
|
Arceliar
|
3dbffae99f
|
add search for successor, via parent, to the dht maintenance cycle
|
2018-10-20 19:09:25 -05:00 |
|
Neil Alexander
|
1d00131416
|
Hopefully fix a concurrent map read-write when removing peers
|
2018-10-08 22:09:55 +01:00 |
|
Neil Alexander
|
69cd736112
|
Show queue capacity in getSwitchQueues
|
2018-09-27 16:19:47 +01:00 |
|
Neil Alexander
|
0b1a6611fd
|
Identify switchport for queue based on coords in stream ID
|
2018-09-27 15:05:45 +01:00 |
|
Neil Alexander
|
8113b4cc22
|
Update comments
|
2018-09-27 14:20:52 +01:00 |
|
Neil Alexander
|
b530916044
|
Show information about individual active queues
|
2018-09-27 12:14:55 +01:00 |
|
Neil Alexander
|
f57567ea56
|
Add getSwitchQueues
|
2018-09-27 10:53:19 +01:00 |
|
Arceliar
|
9cbcaf39ac
|
Use coords for queue stream IDs in the switch, and append protocol/port information to coords when sending, to designate different streams
|
2018-07-21 18:59:29 -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 |
|
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 |
|
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 |
|