Neil Alexander
|
dd05a7f2a8
|
Tweaks
|
2019-03-28 19:09:19 +00:00 |
|
Neil Alexander
|
0b494a8255
|
Refactoring: move tuntap and icmpv6 into separate package
|
2019-03-28 00:30:25 +00:00 |
|
Arceliar
|
304f22dc1d
|
re-enable session workers in a way that doesn't block and drops packets before decrypting if necessary
|
2019-02-28 20:05:21 -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
|
bca69df1f6
|
possible workaround to a deadlock
|
2019-01-26 14:07:18 -06:00 |
|
Neil Alexander
|
62d4d62a77
|
Update comments
|
2019-01-21 16:24:29 +00:00 |
|
Neil Alexander
|
d3f67ad017
|
Improve command flow
|
2019-01-21 16:22:49 +00:00 |
|
Neil Alexander
|
cdfb930703
|
Update switch flow separation for IPv4
|
2019-01-21 12:27:29 +00:00 |
|
Neil Alexander
|
9d5085492e
|
Handle session firewall using central config
|
2019-01-16 20:38:51 +00:00 |
|
Neil Alexander
|
2cd373fc1e
|
Remove unnecessary selects
|
2019-01-15 08:51:19 +00:00 |
|
Neil Alexander
|
51026d762e
|
Make session firewall thread-safe for config updates
|
2019-01-14 18:24:35 +00:00 |
|
Neil Alexander
|
7fae1c993a
|
Handle errors from reconfigure tasks
|
2018-12-30 12:04:42 +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 |
|
Neil Alexander
|
10157483f9
|
Move tunDevice into router
|
2018-12-14 17:35:02 +00:00 |
|
Arceliar
|
4e156bd4f7
|
better cleanup of maps
|
2018-11-25 12:25:38 -06:00 |
|
Arceliar
|
5fa23b1e38
|
move router.recvPacket calls into the main router goroutine, to make the ckr checks threadsafe
|
2018-11-20 22:04:18 -06:00 |
|
Neil Alexander
|
fc5a5830aa
|
Merge pull request #203 from Arceliar/chord
Chord
|
2018-11-14 20:13:42 +00:00 |
|
Neil Alexander
|
c7f2427de1
|
Check CKR routes when receiving packets in router
|
2018-11-05 22:58:58 +00:00 |
|
Arceliar
|
03a88fe304
|
Try using a chord-like DHT instead of a kad-like one, work in progress, but it compiles at least
|
2018-10-20 14:48:07 -05:00 |
|
Neil Alexander
|
3ed63ede1e
|
Add AlwaysAllowOutbound to session firewall
|
2018-10-08 19:51:51 +01:00 |
|
Neil Alexander
|
3f237372c9
|
Only apply session firewall to pings for sessions we don't already have
|
2018-10-08 19:05:50 +01:00 |
|
Neil Alexander
|
2e2c58bfef
|
Add session firewall (extra security for controlling traffic flow to/from a given node)
|
2018-10-07 17:13:41 +01:00 |
|
cathugger
|
b4db89ea9d
|
Avoid unnecessarily allocating coords slice if it's unchanged.
|
2018-07-30 13:44:46 +00:00 |
|
cathugger
|
67b8a7a53d
|
Ensure no memory allocations happen at hot path
|
2018-07-30 12:43:34 +00:00 |
|
Neil Alexander
|
c4e6894d6a
|
Copy sinfo.coords for safety
|
2018-07-30 13:34:32 +01:00 |
|
Neil Alexander
|
ebb4ec7c33
|
Clean up the flow a bit (partly because I am allergic to huge compounded if statements)
|
2018-07-30 11:46:44 +01:00 |
|
cathugger
|
68a482ed92
|
Simplify flowkey stuff further.
|
2018-07-30 02:15:57 +00:00 |
|
cathugger
|
36dcab9300
|
optimize wire_put_uint64; use protokey for flowlabel fallback.
|
2018-07-30 01:58:52 +00:00 |
|
cathugger
|
fec7100898
|
Clean up / clarify coords sending code.
|
2018-07-30 00:01:37 +00:00 |
|
cathugger
|
11b0a82c4a
|
Simpler flowlabel parsing; avoid using 0 flowlabel.
|
2018-07-29 22:09:16 +00:00 |
|
Neil Alexander
|
38e8b036d2
|
Use addUint64 instead to not interfere with coordinate parsing
|
2018-07-22 18:33:53 +01:00 |
|
Neil Alexander
|
81fde1a805
|
Use flow label instead of TCP/UDP/SCTP source/destination ports
|
2018-07-22 18:16:03 +01:00 |
|
Neil Alexander
|
3f4295f8cd
|
Only split queues based on port number for TCP/UDP/SCTP, rely only on protocol number for other protos to prevent issues with IPIP, GRE, etc
|
2018-07-22 12:00:40 +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
|
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
|
f7a7f601a0
|
cleanup old ugly session MTU code that only mattered with lossy UDP fragments
|
2018-06-14 08:38:43 -05:00 |
|
Arceliar
|
b006748da4
|
code cleanup
|
2018-06-12 17:50:08 -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
|
bced15b138
|
remove TTL from traffic packets
|
2018-06-07 20:29:22 -05:00 |
|
Neil Alexander
|
bbdcee1015
|
Export fields of sessionPing, dhtReq, dhtRes
|
2018-06-02 22:19:42 +01:00 |
|
Neil Alexander
|
49af65296d
|
Export fields of wire structs
|
2018-06-02 21:21:05 +01:00 |
|
Neil Alexander
|
ca96bbf014
|
Accept exchanging an MTU of 0 to signify that TUN/TAP is disabled, don't send traffic to a node in that case
|
2018-05-18 18:56:33 +01:00 |
|
Neil Alexander
|
ec371af84f
|
Track TX/RX bytes over session and if MTU was adjusted, add to admin socket getSession
|
2018-05-18 17:59:29 +01:00 |
|
Arceliar
|
8ef2e55de6
|
try sending pings before sending searches for an unresponsive session
|
2018-04-22 15:31:30 -05:00 |
|
Arceliar
|
63b55cda62
|
Mostly working PMTU discovery when going over UDP links
|
2018-02-25 20:24:36 -06:00 |
|
Arceliar
|
bb3ae8b39b
|
temporarily limit PMTU to 2048, as a workaround to some pathelogical behavior where a TCP stream carried over a UDP peer can throttle down to 0 in the presence of significant packet loss
|
2018-02-23 12:46:22 -06:00 |
|
Neil Alexander
|
366d2af1d3
|
Fix first queued packet on session pcreation
|
2018-02-15 18:02:08 +00:00 |
|
Neil Alexander
|
7a0b48ffb3
|
Clean up session.go
|
2018-02-12 00:01:15 +00:00 |
|
Neil Alexander
|
536974f20c
|
Try to exchange MTUs when creating sessions
|
2018-02-11 23:09:05 +00:00 |
|