Neil Alexander
4ff3db2309
Add dummy tun, helper functions
2019-01-02 18:05:54 +00:00
Neil Alexander
8045cb4dc3
Define generic adapter type, rename tunDevice to tunAdapter
2018-12-14 18:21:08 +00:00
Neil Alexander
1692bd98fd
Centralise platform defaults into the 'defaults' package
2018-07-07 12:08:52 +01:00
Neil Alexander
8e2c2aa977
Document ICMPv6 and TUN/TAP
2018-06-12 22:45:53 +01:00
Neil Alexander
166d25619d
Attempt to support NetBSD
...
This code actually consolidates a lot of the BSD code together, and even setting the interface MTU with SIOCSIFMTU seems to work fine.
What doesn't work though is setting the interface address using SIOCSIFADDR_IN6, which I attempted to plagiarise from the Darwin code.
As a fallback, ifconfig is used, which solves the problem enough to get it working.
2018-03-04 23:47:01 +00:00
Neil Alexander
c30792245a
Add FreeBSD support in TAP mode
2018-03-04 16:24:50 +00: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
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
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
e9bd98d213
Add "IfTAPMode" configuration option to allow selecting TAP mode on supported platforms
2018-02-11 21:45:44 +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
c96f00666b
Add tun_darwin.go which uses ifconfig instead of iproute2
2018-01-15 11:46:31 +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
Arceliar
d7e6d814a0
first code/readme/license commit
2017-12-28 22:16:20 -06:00