18 Commits

Author SHA1 Message Date
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