tun: match windows CreateTUN signature to the Linux variant
Signed-off-by: Avery Pennarun <apenwarr@gmail.com> [zx2c4: fix default value]
This commit is contained in:
parent
0abb6b668c
commit
1b6c8ddbe8
|
@ -37,7 +37,7 @@ func main() {
|
||||||
logger.Info.Println("Starting wireguard-go version", device.WireGuardGoVersion)
|
logger.Info.Println("Starting wireguard-go version", device.WireGuardGoVersion)
|
||||||
logger.Debug.Println("Debug log enabled")
|
logger.Debug.Println("Debug log enabled")
|
||||||
|
|
||||||
tun, err := tun.CreateTUN(interfaceName)
|
tun, err := tun.CreateTUN(interfaceName, 0)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
realInterfaceName, err2 := tun.Name()
|
realInterfaceName, err2 := tun.Name()
|
||||||
if err2 == nil {
|
if err2 == nil {
|
||||||
|
|
|
@ -54,15 +54,15 @@ func nanotime() int64
|
||||||
// CreateTUN creates a Wintun interface with the given name. Should a Wintun
|
// CreateTUN creates a Wintun interface with the given name. Should a Wintun
|
||||||
// interface with the same name exist, it is reused.
|
// interface with the same name exist, it is reused.
|
||||||
//
|
//
|
||||||
func CreateTUN(ifname string) (Device, error) {
|
func CreateTUN(ifname string, mtu int) (Device, error) {
|
||||||
return CreateTUNWithRequestedGUID(ifname, nil)
|
return CreateTUNWithRequestedGUID(ifname, nil, mtu)
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// CreateTUNWithRequestedGUID creates a Wintun interface with the given name and
|
// CreateTUNWithRequestedGUID creates a Wintun interface with the given name and
|
||||||
// a requested GUID. Should a Wintun interface with the same name exist, it is reused.
|
// a requested GUID. Should a Wintun interface with the same name exist, it is reused.
|
||||||
//
|
//
|
||||||
func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GUID) (Device, error) {
|
func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GUID, mtu int) (Device, error) {
|
||||||
var err error
|
var err error
|
||||||
var wt *wintun.Interface
|
var wt *wintun.Interface
|
||||||
|
|
||||||
|
@ -80,12 +80,17 @@ func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GUID) (Dev
|
||||||
return nil, fmt.Errorf("Error creating interface: %v", err)
|
return nil, fmt.Errorf("Error creating interface: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
forcedMTU := 1420
|
||||||
|
if mtu > 0 {
|
||||||
|
forcedMTU = mtu
|
||||||
|
}
|
||||||
|
|
||||||
tun := &NativeTun{
|
tun := &NativeTun{
|
||||||
wt: wt,
|
wt: wt,
|
||||||
handle: windows.InvalidHandle,
|
handle: windows.InvalidHandle,
|
||||||
events: make(chan Event, 10),
|
events: make(chan Event, 10),
|
||||||
errors: make(chan error, 1),
|
errors: make(chan error, 1),
|
||||||
forcedMTU: 1500,
|
forcedMTU: forcedMTU,
|
||||||
}
|
}
|
||||||
|
|
||||||
err = tun.rings.Init()
|
err = tun.rings.Init()
|
||||||
|
|
Loading…
Reference in a new issue