73 Commits

Author SHA1 Message Date
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
Arceliar
63aadf6e88 use smaller buffer sizes for buffered channels 2018-02-03 18:44:28 -06:00
Arceliar
c18d863a3e update comments, mostly TODO/FIXME notes 2018-01-26 17:30:51 -06:00
Arceliar
502ab3cfaa check that the source IP inside a packet matches the address or prefix for the session that transmitted it 2018-01-19 17:33:04 -06:00
Arceliar
75965b6da4 Switch connAddr (udp map key) from string to a struct that allocates less. Reduce some other allocations. Use larger channel buffers to reduce backpressure from runtime jitter. 2018-01-13 07:26:26 -06:00
Neil Alexander
b3ebe76b59 Run gofmt -s -w . 2018-01-04 22:37:51 +00:00
Arceliar
d7e6d814a0 first code/readme/license commit 2017-12-28 22:16:20 -06:00