39 Commits

Author SHA1 Message Date
Neil Alexander
4e03bdb054
Don't process ICMPv6 messages when in TUN mode 2018-12-26 22:45:21 +00:00
Arceliar
db034ce6bd replace panics with warning messages if the tun reader/writer return an error 2018-12-16 17:23:07 -06:00
Arceliar
d9f212dd39 don't panic if we write to a closed tun device because tun.close() was called 2018-12-16 17:01:59 -06:00
Arceliar
ea4ca02681 fix code after moving address/crypto/util 2018-12-14 20:49:18 -06:00
Neil Alexander
f9dc300787
Define Adapter base type/interface 2018-12-14 18:29:00 +00:00
Neil Alexander
8045cb4dc3
Define generic adapter type, rename tunDevice to tunAdapter 2018-12-14 18:21:08 +00:00
Neil Alexander
9eaa2566c1
Parameterise tun.init 2018-12-14 18:08:13 +00:00
Arceliar
586781b49c convert to go module 2018-12-07 19:56:04 -06:00
Arceliar
1b1b776097 fix crash when starting in tun mode 2018-11-10 22:39:15 -06:00
Neil Alexander
6fab0e9507
Fix CKR (IPv4/IPv6) in TAP mode so frames sent to node MAC, base MAC/LL from node IPv6 address 2018-11-10 18:33:52 +00:00
Neil Alexander
adc32fe92f
Track further neighbor state, don't send more NDPs than needed 2018-11-10 17:32:03 +00:00
Neil Alexander
d50e1bc803
More complete NDP implementation for TAP mode, which tracks individual MAC addresses for neighbors 2018-11-10 15:46:10 +00:00
Neil Alexander
a3a53f92c3
Reinstate length/bounds check in tun.go 2018-11-06 22:35:28 +00:00
Neil Alexander
0240375417
IPv4 CKR support in router 2018-11-06 20:49:19 +00:00
Neil Alexander
1692bd98fd
Centralise platform defaults into the 'defaults' package 2018-07-07 12:08:52 +01:00
Arceliar
b006748da4 code cleanup 2018-06-12 17:50:08 -05:00
Neil Alexander
8e2c2aa977
Document ICMPv6 and TUN/TAP 2018-06-12 22:45:53 +01:00
Neil Alexander
6d9d01dae1 Fix IfName='none' 2018-06-02 23:29:06 +01:00
Neil Alexander
460a22c063
Clean up some exported constants 2018-05-27 23:31:34 +01:00
Neil Alexander
35173e2388
Fix starting TUN read/write 2018-05-27 22:35:30 +01:00
Arceliar
cd0d1a1d26 get the fd instead of depending on water to do it 2018-03-04 13:57:34 -06:00
Arceliar
a367f2ca17 gofmt 2018-03-03 11:49:24 -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
90393ae03b Set interface flags properly on OpenBSD 2018-03-01 15:02:53 +00:00
Neil Alexander
fdd32b9571 Add setTunTap 2018-02-28 15:15:57 +00:00
Neil Alexander
02473158d4 Allow setting IfName to 'none' to run without TUN/TAP 2018-02-15 22:29:13 +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
be0d6feeba Remove ndp.go and add icmpv6.go 2018-02-12 18:19:31 +00:00
Neil Alexander
e44f64bea0 Fix MTU issues with TAP adapters 2018-01-25 17:44:56 +00:00
Neil Alexander
ff55070458 TAP support added
- Supports Windows using OpenVPN NDIS 6 TAP driver
- Supports NDP Neighbor Solicitation and Advertisements in ndp.go
- Supports TAP encapsulation and decapsulation in tun.go
2018-01-24 10:59:01 +00:00
Neil Alexander
c3600d14d6 Implement a tun interface to reduce dependency on Water library 2018-01-05 23:35:59 +00:00
Neil Alexander
b3ebe76b59 Run gofmt -s -w . 2018-01-04 22:37:51 +00:00
Neil Alexander
ae7b07ae6a Move Linux-specific ifname logic to tun_linux.go and place a generic in tun_other.go 2018-01-04 22:34:17 +00:00
Neil Alexander
1c799b305d Add support for specifying tun device name 2018-01-04 13:31:48 +00:00
Arceliar
e5d526881d Disable tun panic on IPv4 packets and add a link to a Vyatta router config 2018-01-03 15:27:13 -06:00
Arceliar
d7e6d814a0 first code/readme/license commit 2017-12-28 22:16:20 -06:00