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