4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-16 00:56:09 +00:00
Commit Graph

382 Commits

Author SHA1 Message Date
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
a367f2ca17 gofmt 2018-03-03 11:49:24 -06:00
0578a9f273 manual merge 2018-03-03 11:07:08 -06:00
4e5627f933 Update default interface MTU to use per-platform instead of global value 2018-03-03 12:43:39 +00:00
4917ea3dd2 Per-platform TUN defaults 2018-03-03 12:30:54 +00:00
bec898a326 Don't allow exceeding maximum MTU for a given platform 2018-03-03 11:47:14 +00:00
7c0102e43d Be a little bit less verbose on OpenBSD 2018-03-01 15:31:49 +00:00
6640b33334 Fix using 'auto' as device name on OpenBSD - default to /dev/tap0 2018-03-01 15:19:20 +00:00
24be3f1d67 Turns out FreeBSD is a bit different so restrict this to OpenBSD for now 2018-03-01 15:11:12 +00:00
90393ae03b Set interface flags properly on OpenBSD 2018-03-01 15:02:53 +00:00
9e4d169208 Set interface IP and MTU on BSD 2018-03-01 13:37:05 +00:00
f8dda26dba Add BSD support (openbsd, freebsd, solaris) 2018-03-01 11:49:49 +00:00
ebc4eacee4 Allow sane defaults on setTunTap 2018-02-28 15:27:58 +00:00
fdd32b9571 Add setTunTap 2018-02-28 15:15:57 +00:00
2b48fd1fce Add addPeer to admin socket 2018-02-28 13:43:06 +00:00
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
63b55cda62 Mostly working PMTU discovery when going over UDP links 2018-02-25 20:24:36 -06:00
0470f6f1c1 cleanup 2018-02-23 13:04:52 -06:00
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
d3dc7765f2 trying to debug UDP+large MTU issues 2018-02-20 17:31:12 -06:00
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
a21a039b57 remove unused field from peer 2018-02-19 19:47:11 -06:00
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
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
a66a29779a Slightly nicer way to throttle peer announcements 2018-02-17 23:41:42 -06:00
0fc7401635 check root before adding peers to the switch lookupTable, instead of during each lookup 2018-02-17 23:14:23 -06:00
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
8ba11b86bb remove duplicate tcp connections 2018-02-17 20:44:23 -06:00
25f00c1c7a disable keys in link protocol traffic, since these are already known, *breaks backwards compat* 2018-02-17 20:30:59 -06:00
da44ec282f Add a rumor mill to throttle dht maintenance traffic 2018-02-17 17:10:08 -06:00
02473158d4 Allow setting IfName to 'none' to run without TUN/TAP 2018-02-15 22:29:13 +00:00
366d2af1d3 Fix first queued packet on session pcreation 2018-02-15 18:02:08 +00:00
1c59338f01 Fix checksums and packet buffers, sends ICMPv6 Packet Too Big messages successfully now 2018-02-15 13:38:54 +00:00
37e4492b86 Send ICMPv6 response to packets larger than session MTU (WIP: checksum wrong?) 2018-02-14 22:59:24 +00:00
a3a9696880 Merge pull request #14 from neilalexander/icmpv6
Replace ndp.go with icmpv6.go
2018-02-14 11:16:24 -06:00
844212e95b Highlight packets that exceed the agreed session MTU 2018-02-14 14:08:40 +00:00
34b264067e Run gofmt -s -w . 2018-02-14 11:46:10 +00:00
0bf43b758f Split create_icmpv6 into create_icmpv6_tun and create_icmpv6_tap 2018-02-14 11:39:55 +00:00
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
6571a8c300 Don't use channels for ICMPv6 packets 2018-02-12 20:00:55 +00:00
fac4bf796e Add some error handling and other fixes to icmpv6.go 2018-02-12 19:40:13 +00:00
be0d6feeba Remove ndp.go and add icmpv6.go 2018-02-12 18:19:31 +00:00
7a0b48ffb3 Clean up session.go 2018-02-12 00:01:15 +00:00
11a7c5c458 Exchange MTU on wire 2018-02-11 23:58:30 +00:00
536974f20c Try to exchange MTUs when creating sessions 2018-02-11 23:09:05 +00:00
e9bd98d213 Add "IfTAPMode" configuration option to allow selecting TAP mode on supported platforms 2018-02-11 21:45:44 +00:00
d424489329 add tcp support and use it by default 2018-02-09 17:42:55 -06:00
4acce71468 Merge branch 'master' into bigmtu 2018-02-07 17:49:04 -06:00
e9adf327b0 possibly fix deadlock from race in peer linkloop goroutine, add some related debug code to the admin 2018-02-07 17:48:30 -06:00
b704d7b497 change mtu and enable udp chunking 2018-02-04 11:25:20 -06:00