Arceliar
|
ef1e506a0c
|
work-in-progress on more cleanup
|
2020-05-23 10:23:55 -05:00 |
|
Arceliar
|
dc128121e5
|
update switch blockPeer/unblockPeer logic and dht reset when coords change
|
2020-05-16 09:25:57 -05:00 |
|
Arceliar
|
09efdfef9a
|
fix bug in switch actor's cleanRoot, strict nonce handling at the session level, and add separate queues per stream to the packetqueue code
|
2020-04-03 19:26:48 -05:00 |
|
Arceliar
|
945930aa2c
|
WIP have peer actors queue packets, temporarily a single simple FIFO queue with head drop
|
2020-04-03 00:32:26 -05:00 |
|
Arceliar
|
9834f222db
|
more work in progress actorizing the remaining parts of the switch
|
2020-03-29 19:01:50 -05:00 |
|
Arceliar
|
15b850be6e
|
fix deadlock when running updateTable in the switch
|
2020-03-29 01:38:32 -05:00 |
|
Arceliar
|
d47797088f
|
fix shutdown deadlock
|
2020-03-29 00:48:41 -05:00 |
|
Arceliar
|
e926a3be6d
|
work in progress actorizing core.peers and replacing switch worker with per-peer switch-generated lookupTable
|
2020-03-29 00:23:38 -05:00 |
|
Arceliar
|
4809879995
|
refactor switch code so calling lookupTable.lookup does most of the important work
|
2020-03-10 01:03:07 -05:00 |
|
Arceliar
|
cfd8641925
|
fix conflicts with memleak bugfix
|
2020-03-10 00:03:26 -05:00 |
|
Arceliar
|
8075a60900
|
possibly fix memory leak (if this works, i don't yet understand how the leak was happening originally)
|
2020-03-08 19:32:14 -05:00 |
|
Arceliar
|
f308e81bf3
|
in the switch, keep a separate set of queues per peer instead of a global queue
|
2020-02-18 20:13:39 -06:00 |
|
Dimitris Apostolou
|
73f50af3b7
|
Fix typos
|
2019-11-29 11:45:02 +02:00 |
|
Arceliar
|
98339cdc3f
|
possible fix if monotonic time resolution is related to packet reordering
|
2019-11-25 17:40:58 -06:00 |
|
Arceliar
|
ac58c3586e
|
cleanup/comments
|
2019-09-25 17:53:25 -05:00 |
|
Arceliar
|
8c64e6fa09
|
explicitly notify the switch when a link appears to be blocked in a send instead of assuming this is the case for all idle links. how we decide when it's really blocked still needs testing/optimizing
|
2019-09-24 18:01:35 -05:00 |
|
Arceliar
|
691192ff5a
|
weird scheduler hack, seems to tend to make things more stable without actually locking streams to any particular link
|
2019-09-21 14:33:45 -05:00 |
|
Arceliar
|
87658f83e9
|
Revert "force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution"
This reverts commit 80ba24d51255c3751e2b25aceee52b20d59ff746.
|
2019-09-20 23:09:12 -05:00 |
|
Arceliar
|
80ba24d512
|
force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution
|
2019-09-17 19:42:07 -05:00 |
|
Arceliar
|
0141180279
|
cleanup
|
2019-09-09 19:25:10 -05:00 |
|
Arceliar
|
10a828af2c
|
when forwarding traffic, break distance ties by favoring the link that sent the most recent switch update the fastest
|
2019-09-09 19:20:46 -05:00 |
|
Neil Alexander
|
aa0770546e
|
Move responsibility for configuring max queue size into switch
|
2019-08-28 19:39:23 +01:00 |
|
Neil Alexander
|
fc9a1c6c31
|
Simplify reconfiguration
|
2019-08-28 19:31:04 +01:00 |
|
Neil Alexander
|
5d7d84f827
|
Remove router.doAdmin and switchTable.doAdmin
|
2019-08-28 12:17:19 +01:00 |
|
Arceliar
|
3845f81357
|
update to latest phony, adjust interface use accordingly
|
2019-08-27 19:43:54 -05:00 |
|
Arceliar
|
e5b88c0da3
|
update switch
|
2019-08-25 23:07:56 -05:00 |
|
Arceliar
|
502f2937a9
|
a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places
|
2019-08-25 17:00:02 -05:00 |
|
Arceliar
|
a3d4d8125b
|
make the main library reconfiguration more actor-friendly
|
2019-08-25 12:10:59 -05:00 |
|
Arceliar
|
aa30c6cc98
|
upgrade phony dependency and switch to its new interface
|
2019-08-25 10:36:09 -05:00 |
|
Arceliar
|
209d2ffea5
|
correctly call peer.sendPacketsFrom in the switch
|
2019-08-24 16:04:05 -05:00 |
|
Arceliar
|
c573170886
|
remove switch doworker loop, start a dummy loop to respond to (unused) reconfiguration instead
|
2019-08-24 15:27:56 -05:00 |
|
Arceliar
|
998c76fd8c
|
more switch migration
|
2019-08-24 15:22:46 -05:00 |
|
Arceliar
|
555b4c18d4
|
a little switch cleanup
|
2019-08-24 15:05:18 -05:00 |
|
Arceliar
|
498bc395e2
|
start migrating switch to the actor model
|
2019-08-24 14:56:33 -05:00 |
|
Arceliar
|
034fece33f
|
more peer migration
|
2019-08-24 13:15:29 -05:00 |
|
Arceliar
|
775fb535dc
|
start converting the peer struct into an actor
|
2019-08-24 12:46:24 -05:00 |
|
Arceliar
|
533da351f9
|
fix actor EnqueueFrom stack overflow (use nil now to send from self) and replace session send/recv workers with actor functions
|
2019-08-23 22:23:01 -05:00 |
|
Arceliar
|
9d7e7288c6
|
start migrating the router to an actor
|
2019-08-23 18:47:15 -05:00 |
|
Arceliar
|
8af1a7086c
|
when a link becomes idle and packet are buffered that the link could send, send at least 65535 bytes worth instead of 1 packet, this reduces syscall overhead when small packets are sent through the network
|
2019-08-18 12:29:07 -05:00 |
|
Arceliar
|
62337bcd64
|
allow links to send multiple packets at once, currently we still only bother to send 1 at a time from the switch level
|
2019-08-18 12:17:54 -05:00 |
|
Neil Alexander
|
5b054766a2
|
Update comments in handleIn, add switch_getFlowLabelFromCoords helper (in case it is useful if we try to consider flowlabels in multi-link scenarios)
|
2019-08-15 10:54:04 +01:00 |
|
Arceliar
|
1a2b7a8b60
|
test a change to how switch hops are selected when multiple links are idle
|
2019-08-14 17:57:36 -05:00 |
|
Arceliar
|
c55d7b4705
|
have the switch queue drop packts to ourself when the total size of all packets is at least queueTotalMaxSize, instead of an arbitrary unconfigurable packet count
|
2019-08-04 16:16:49 -05:00 |
|
Arceliar
|
07f14f92ed
|
disable crypto and switch buffer changes from testing
|
2019-08-04 15:25:14 -05:00 |
|
Arceliar
|
f52955ee0f
|
WARNING: CRYPTO DISABLED while speeding up stream writeMsg
|
2019-08-04 14:18:59 -05:00 |
|
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 |
|