Add "IfTAPMode" configuration option to allow selecting TAP mode on supported platforms

This commit is contained in:
Neil Alexander 2018-02-11 21:45:44 +00:00
parent 869997e4c5
commit e9bd98d213
6 changed files with 34 additions and 12 deletions

View file

@ -9,8 +9,13 @@ import water "github.com/songgao/water"
// This is to catch unsupported platforms
// If your platform supports tun devices, you could try configuring it manually
func (tun *tunDevice) setup(ifname string, addr string, mtu int) error {
config := water.Config{DeviceType: water.TUN}
func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int) error {
var config water.Config
if iftapmode {
config = water.Config{DeviceType: water.TAP}
} else {
config = water.Config{DeviceType: water.TUN}
}
iface, err := water.New(config)
if err != nil {
panic(err)