Neil Alexander
|
a92e6c2588
|
Merge pull request #29 from Arceliar/netlink
Linux: use netlink instead of ip
|
2018-03-04 10:47:34 +00:00 |
|
Arceliar
|
5ec6265a70
|
use netlink instead of ip commands to set address/mtu and bring up the tuntap device on linux
|
2018-03-03 16:41:36 -06:00 |
|
Arceliar
|
0460fdd301
|
panic if tun.write or tun.read returns an error and was launched from debug.go, since there's no way to recover in these scenarios
|
2018-03-03 13:56:26 -06:00 |
|
Arceliar
|
a367f2ca17
|
gofmt
|
2018-03-03 11:49:24 -06:00 |
|
Arceliar
|
0578a9f273
|
manual merge
|
2018-03-03 11:07:08 -06:00 |
|
Neil Alexander
|
4e5627f933
|
Update default interface MTU to use per-platform instead of global value
|
2018-03-03 12:43:39 +00:00 |
|
Neil Alexander
|
4917ea3dd2
|
Per-platform TUN defaults
|
2018-03-03 12:30:54 +00:00 |
|
Neil Alexander
|
bec898a326
|
Don't allow exceeding maximum MTU for a given platform
|
2018-03-03 11:47:14 +00:00 |
|
Neil Alexander
|
7c0102e43d
|
Be a little bit less verbose on OpenBSD
|
2018-03-01 15:31:49 +00:00 |
|
Neil Alexander
|
6640b33334
|
Fix using 'auto' as device name on OpenBSD - default to /dev/tap0
|
2018-03-01 15:19:20 +00:00 |
|
Neil Alexander
|
24be3f1d67
|
Turns out FreeBSD is a bit different so restrict this to OpenBSD for now
|
2018-03-01 15:11:12 +00:00 |
|
Neil Alexander
|
90393ae03b
|
Set interface flags properly on OpenBSD
|
2018-03-01 15:02:53 +00:00 |
|
Neil Alexander
|
9e4d169208
|
Set interface IP and MTU on BSD
|
2018-03-01 13:37:05 +00:00 |
|
Neil Alexander
|
f8dda26dba
|
Add BSD support (openbsd, freebsd, solaris)
|
2018-03-01 11:49:49 +00:00 |
|
Neil Alexander
|
ebc4eacee4
|
Allow sane defaults on setTunTap
|
2018-02-28 15:27:58 +00:00 |
|
Neil Alexander
|
fdd32b9571
|
Add setTunTap
|
2018-02-28 15:15:57 +00:00 |
|
Neil Alexander
|
2b48fd1fce
|
Add addPeer to admin socket
|
2018-02-28 13:43:06 +00:00 |
|
Arceliar
|
ddc4773b19
|
don't drop send/recv traffic going through the crypto workers, just block until they're free (TODO run further tests to make sure this doesn't cycle/deadlock)
|
2018-02-26 18:12:28 -06:00 |
|
Arceliar
|
63b55cda62
|
Mostly working PMTU discovery when going over UDP links
|
2018-02-25 20:24:36 -06:00 |
|
Arceliar
|
0470f6f1c1
|
cleanup
|
2018-02-23 13:04:52 -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 |
|
Arceliar
|
d3dc7765f2
|
trying to debug UDP+large MTU issues
|
2018-02-20 17:31:12 -06:00 |
|
Arceliar
|
a81c361484
|
tcp reconnect bufix, test with bufio, and switch back to tcp auto-peering by default to continue testing
|
2018-02-19 23:22:36 -06:00 |
|
Arceliar
|
a21a039b57
|
remove unused field from peer
|
2018-02-19 19:47:11 -06:00 |
|
Arceliar
|
4045597516
|
Use larger UDP chunks for link-local IP and let the OS fragment it. Switch to UDP for link-local peers. Minor code cleanup for TCP.
|
2018-02-19 19:34:51 -06:00 |
|
Arceliar
|
71150fcb86
|
ignore root tstamp updates if we just updated, to throttle the rate at which updates (and new signatures) can propagate
|
2018-02-17 23:57:24 -06:00 |
|
Arceliar
|
a66a29779a
|
Slightly nicer way to throttle peer announcements
|
2018-02-17 23:41:42 -06:00 |
|
Arceliar
|
0fc7401635
|
check root before adding peers to the switch lookupTable, instead of during each lookup
|
2018-02-17 23:14:23 -06:00 |
|
Arceliar
|
430d49d8a4
|
send fewer link announcements, fix a ttl encoding bug, and remove unnecessary key field from the wire format for dht req/res
|
2018-02-17 21:59:08 -06:00 |
|
Arceliar
|
8ba11b86bb
|
remove duplicate tcp connections
|
2018-02-17 20:44:23 -06:00 |
|
Arceliar
|
25f00c1c7a
|
disable keys in link protocol traffic, since these are already known, *breaks backwards compat*
|
2018-02-17 20:30:59 -06:00 |
|
Arceliar
|
da44ec282f
|
Add a rumor mill to throttle dht maintenance traffic
|
2018-02-17 17:10:08 -06:00 |
|
Neil Alexander
|
02473158d4
|
Allow setting IfName to 'none' to run without TUN/TAP
|
2018-02-15 22:29:13 +00:00 |
|
Neil Alexander
|
366d2af1d3
|
Fix first queued packet on session pcreation
|
2018-02-15 18:02:08 +00:00 |
|
Neil Alexander
|
1c59338f01
|
Fix checksums and packet buffers, sends ICMPv6 Packet Too Big messages successfully now
|
2018-02-15 13:38:54 +00:00 |
|
Neil Alexander
|
37e4492b86
|
Send ICMPv6 response to packets larger than session MTU (WIP: checksum wrong?)
|
2018-02-14 22:59:24 +00:00 |
|
Arceliar
|
a3a9696880
|
Merge pull request #14 from neilalexander/icmpv6
Replace ndp.go with icmpv6.go
|
2018-02-14 11:16:24 -06:00 |
|
Neil Alexander
|
844212e95b
|
Highlight packets that exceed the agreed session MTU
|
2018-02-14 14:08:40 +00:00 |
|
Neil Alexander
|
34b264067e
|
Run gofmt -s -w .
|
2018-02-14 11:46:10 +00:00 |
|
Neil Alexander
|
0bf43b758f
|
Split create_icmpv6 into create_icmpv6_tun and create_icmpv6_tap
|
2018-02-14 11:39:55 +00:00 |
|
Neil Alexander
|
d78e0f7067
|
Improve icmpv6.go
- Now doesn't use unsafe
- Much cleaner
- Doesn't run in a goroutine perpetually
- Has a function to create ICMPv6 packets
|
2018-02-14 11:23:46 +00:00 |
|
Neil Alexander
|
6571a8c300
|
Don't use channels for ICMPv6 packets
|
2018-02-12 20:00:55 +00:00 |
|
Neil Alexander
|
fac4bf796e
|
Add some error handling and other fixes to icmpv6.go
|
2018-02-12 19:40:13 +00:00 |
|
Neil Alexander
|
be0d6feeba
|
Remove ndp.go and add icmpv6.go
|
2018-02-12 18:19:31 +00:00 |
|
Neil Alexander
|
7a0b48ffb3
|
Clean up session.go
|
2018-02-12 00:01:15 +00:00 |
|
Neil Alexander
|
11a7c5c458
|
Exchange MTU on wire
|
2018-02-11 23:58:30 +00:00 |
|
Neil Alexander
|
536974f20c
|
Try to exchange MTUs when creating sessions
|
2018-02-11 23:09:05 +00:00 |
|
Neil Alexander
|
e9bd98d213
|
Add "IfTAPMode" configuration option to allow selecting TAP mode on supported platforms
|
2018-02-11 21:45:44 +00:00 |
|
Arceliar
|
d424489329
|
add tcp support and use it by default
|
2018-02-09 17:42:55 -06:00 |
|
Arceliar
|
4acce71468
|
Merge branch 'master' into bigmtu
|
2018-02-07 17:49:04 -06:00 |
|