mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	Resolve merge conflict with platformdefaults
This commit is contained in:
		
						commit
						b24c7ffa6b
					
				
					 21 changed files with 170 additions and 106 deletions
				
			
		| 
						 | 
				
			
			@ -13,6 +13,8 @@ import (
 | 
			
		|||
	"strings"
 | 
			
		||||
	"sync/atomic"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"yggdrasil/defaults"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// TODO: Add authentication
 | 
			
		||||
| 
						 | 
				
			
			@ -156,15 +158,15 @@ func (a *admin) init(c *Core, listenaddr string) {
 | 
			
		|||
	})
 | 
			
		||||
	a.addHandler("setTunTap", []string{"name", "[tap_mode]", "[mtu]"}, func(in admin_info) (admin_info, error) {
 | 
			
		||||
		// Set sane defaults
 | 
			
		||||
		iftapmode := getDefaults().defaultIfTAPMode
 | 
			
		||||
		ifmtu := getDefaults().defaultIfMTU
 | 
			
		||||
		iftapmode := defaults.GetDefaults().DefaultIfTAPMode
 | 
			
		||||
		ifmtu := defaults.GetDefaults().DefaultIfMTU
 | 
			
		||||
		// Has TAP mode been specified?
 | 
			
		||||
		if tap, ok := in["tap_mode"]; ok {
 | 
			
		||||
			iftapmode = tap.(bool)
 | 
			
		||||
		}
 | 
			
		||||
		// Check we have enough params for MTU
 | 
			
		||||
		if mtu, ok := in["mtu"]; ok {
 | 
			
		||||
			if mtu.(float64) >= 1280 && ifmtu <= getDefaults().maximumIfMTU {
 | 
			
		||||
			if mtu.(float64) >= 1280 && ifmtu <= defaults.GetDefaults().MaximumIfMTU {
 | 
			
		||||
				ifmtu = int(in["mtu"].(float64))
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ package config
 | 
			
		|||
// NodeConfig defines all configuration values needed to run a signle yggdrasil node
 | 
			
		||||
type NodeConfig struct {
 | 
			
		||||
	Listen                      string   `comment:"Listen address for peer connections. Default is to listen for all\nTCP connections over IPv4 and IPv6 with a random port."`
 | 
			
		||||
	AdminListen                 string   `comment:"Listen address for admin connections Default is to listen for local\nconnections only on TCP port 9001."`
 | 
			
		||||
	AdminListen                 string   `comment:"Listen address for admin connections Default is to listen for local\nconnections either on TCP/9001 or a UNIX socket depending on your\nplatform. Use this value for yggdrasilctl -endpoint=X."`
 | 
			
		||||
	Peers                       []string `comment:"List of connection strings for static peers in URI format, i.e.\ntcp://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j"`
 | 
			
		||||
	AllowedEncryptionPublicKeys []string `comment:"List of peer encryption public keys to allow or incoming TCP\nconnections from. If left empty/undefined then all connections\nwill be allowed by default."`
 | 
			
		||||
	EncryptionPublicKey         string   `comment:"Your public encryption key. Your peers may ask you for this to put\ninto their AllowedEncryptionPublicKeys configuration."`
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@ import (
 | 
			
		|||
	"regexp"
 | 
			
		||||
 | 
			
		||||
	"yggdrasil/config"
 | 
			
		||||
	"yggdrasil/defaults"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// The Core object represents the Yggdrasil node. You should create a Core
 | 
			
		||||
| 
						 | 
				
			
			@ -198,26 +199,31 @@ func (c *Core) AddAllowedEncryptionPublicKey(boxStr string) error {
 | 
			
		|||
	return c.admin.addAllowedEncryptionPublicKey(boxStr)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the default admin listen address for your platform.
 | 
			
		||||
func (c *Core) GetAdminDefaultListen() string {
 | 
			
		||||
	return defaults.GetDefaults().DefaultAdminListen
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the default TUN/TAP interface name for your platform.
 | 
			
		||||
func (c *Core) GetTUNDefaultIfName() string {
 | 
			
		||||
	return getDefaults().defaultIfName
 | 
			
		||||
	return defaults.GetDefaults().DefaultIfName
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the default TUN/TAP interface MTU for your platform. This can be as high
 | 
			
		||||
// as 65535, depending on platform, but is never lower than 1280.
 | 
			
		||||
func (c *Core) GetTUNDefaultIfMTU() int {
 | 
			
		||||
	return getDefaults().defaultIfMTU
 | 
			
		||||
	return defaults.GetDefaults().DefaultIfMTU
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the maximum supported TUN/TAP interface MTU for your platform. This
 | 
			
		||||
// can be as high as 65535, depending on platform, but is never lower than 1280.
 | 
			
		||||
func (c *Core) GetTUNMaximumIfMTU() int {
 | 
			
		||||
	return getDefaults().maximumIfMTU
 | 
			
		||||
	return defaults.GetDefaults().MaximumIfMTU
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the default TUN/TAP interface mode for your platform.
 | 
			
		||||
func (c *Core) GetTUNDefaultIfTAPMode() bool {
 | 
			
		||||
	return getDefaults().defaultIfTAPMode
 | 
			
		||||
	return defaults.GetDefaults().DefaultIfTAPMode
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the current TUN/TAP interface name.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								src/yggdrasil/defaults/defaults.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/yggdrasil/defaults/defaults.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
package defaults
 | 
			
		||||
 | 
			
		||||
// Defines which parameters are expected by default for configuration on a
 | 
			
		||||
// specific platform. These values are populated in the relevant defaults_*.go
 | 
			
		||||
// for the platform being targeted. They must be set.
 | 
			
		||||
type platformDefaultParameters struct {
 | 
			
		||||
	// Admin socket
 | 
			
		||||
	DefaultAdminListen	string
 | 
			
		||||
 | 
			
		||||
	// TUN/TAP
 | 
			
		||||
	MaximumIfMTU     int
 | 
			
		||||
	DefaultIfMTU     int
 | 
			
		||||
	DefaultIfName    string
 | 
			
		||||
	DefaultIfTAPMode bool
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_darwin.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_darwin.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build darwin
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the macOS/Darwin platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
    // Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
    // TUN/TAP
 | 
			
		||||
    MaximumIfMTU:     65535,
 | 
			
		||||
    DefaultIfMTU:     65535,
 | 
			
		||||
    DefaultIfName:    "auto",
 | 
			
		||||
    DefaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_freebsd.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_freebsd.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build freebsd
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the BSD platforms. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     32767,
 | 
			
		||||
		DefaultIfMTU:     32767,
 | 
			
		||||
		DefaultIfName:    "/dev/tap0",
 | 
			
		||||
		DefaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_linux.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_linux.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build linux
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the Linux platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
    // Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
    // TUN/TAP
 | 
			
		||||
    MaximumIfMTU:     65535,
 | 
			
		||||
    DefaultIfMTU:     65535,
 | 
			
		||||
    DefaultIfName:    "auto",
 | 
			
		||||
    DefaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_netbsd.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_netbsd.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build netbsd
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the BSD platforms. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     9000,
 | 
			
		||||
		DefaultIfMTU:     9000,
 | 
			
		||||
		DefaultIfName:    "/dev/tap0",
 | 
			
		||||
		DefaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_openbsd.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_openbsd.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build openbsd
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the BSD platforms. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
		// Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
		// TUN/TAP
 | 
			
		||||
		MaximumIfMTU:     16384,
 | 
			
		||||
		DefaultIfMTU:     16384,
 | 
			
		||||
		DefaultIfName:    "/dev/tap0",
 | 
			
		||||
		DefaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_other.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_other.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build !linux,!darwin,!windows,!openbsd,!freebsd,!netbsd
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the other platforms. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
    // Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
    // TUN/TAP
 | 
			
		||||
    MaximumIfMTU:     65535,
 | 
			
		||||
    DefaultIfMTU:     65535,
 | 
			
		||||
    DefaultIfName:    "none",
 | 
			
		||||
    DefaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/yggdrasil/defaults/defaults_windows.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/yggdrasil/defaults/defaults_windows.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
// +build windows
 | 
			
		||||
 | 
			
		||||
package defaults
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the Windows platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func GetDefaults() platformDefaultParameters {
 | 
			
		||||
	return platformDefaultParameters{
 | 
			
		||||
    // Admin
 | 
			
		||||
		DefaultAdminListen: "tcp://localhost:9001",
 | 
			
		||||
 | 
			
		||||
    // TUN/TAP
 | 
			
		||||
    MaximumIfMTU:     65535,
 | 
			
		||||
    DefaultIfMTU:     65535,
 | 
			
		||||
    DefaultIfName:    "auto",
 | 
			
		||||
    DefaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,6 +3,8 @@ package yggdrasil
 | 
			
		|||
// This manages the tun driver to send/recv packets to/from applications
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"yggdrasil/defaults"
 | 
			
		||||
 | 
			
		||||
	"github.com/songgao/packets/ethernet"
 | 
			
		||||
	"github.com/yggdrasil-network/water"
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -20,21 +22,11 @@ type tunDevice struct {
 | 
			
		|||
	iface  *water.Interface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Defines which parameters are expected by default for a TUN/TAP adapter on a
 | 
			
		||||
// specific platform. These values are populated in the relevant tun_*.go for
 | 
			
		||||
// the platform being targeted. They must be set.
 | 
			
		||||
type tunDefaultParameters struct {
 | 
			
		||||
	maximumIfMTU     int
 | 
			
		||||
	defaultIfMTU     int
 | 
			
		||||
	defaultIfName    string
 | 
			
		||||
	defaultIfTAPMode bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Gets the maximum supported MTU for the platform based on the defaults in
 | 
			
		||||
// getDefaults().
 | 
			
		||||
// defaults.GetDefaults().
 | 
			
		||||
func getSupportedMTU(mtu int) int {
 | 
			
		||||
	if mtu > getDefaults().maximumIfMTU {
 | 
			
		||||
		return getDefaults().maximumIfMTU
 | 
			
		||||
	if mtu > defaults.GetDefaults().MaximumIfMTU {
 | 
			
		||||
		return defaults.GetDefaults().MaximumIfMTU
 | 
			
		||||
	}
 | 
			
		||||
	return mtu
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,17 +13,6 @@ import (
 | 
			
		|||
	water "github.com/yggdrasil-network/water"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the Darwin/macOS platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     65535,
 | 
			
		||||
		defaultIfMTU:     65535,
 | 
			
		||||
		defaultIfName:    "auto",
 | 
			
		||||
		defaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Configures the "utun" adapter with the correct IPv6 address and MTU.
 | 
			
		||||
func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int) error {
 | 
			
		||||
	if iftapmode {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
package yggdrasil
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the FreeBSD platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     32767,
 | 
			
		||||
		defaultIfMTU:     32767,
 | 
			
		||||
		defaultIfName:    "/dev/tap0",
 | 
			
		||||
		defaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -12,17 +12,6 @@ import (
 | 
			
		|||
	water "github.com/yggdrasil-network/water"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the Linux platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     65535,
 | 
			
		||||
		defaultIfMTU:     65535,
 | 
			
		||||
		defaultIfName:    "auto",
 | 
			
		||||
		defaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Configures the TAP adapter with the correct IPv6 address and MTU.
 | 
			
		||||
func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int) error {
 | 
			
		||||
	var config water.Config
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
package yggdrasil
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the NetBSD platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     9000,
 | 
			
		||||
		defaultIfMTU:     9000,
 | 
			
		||||
		defaultIfName:    "/dev/tap0",
 | 
			
		||||
		defaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
package yggdrasil
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the OpenBSD platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     16384,
 | 
			
		||||
		defaultIfMTU:     16384,
 | 
			
		||||
		defaultIfName:    "/dev/tap0",
 | 
			
		||||
		defaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -7,17 +7,6 @@ import water "github.com/yggdrasil-network/water"
 | 
			
		|||
// This is to catch unsupported platforms
 | 
			
		||||
// If your platform supports tun devices, you could try configuring it manually
 | 
			
		||||
 | 
			
		||||
// These are sane defaults for any platform that has not been matched by one of
 | 
			
		||||
// the other tun_*.go files.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     65535,
 | 
			
		||||
		defaultIfMTU:     65535,
 | 
			
		||||
		defaultIfName:    "none",
 | 
			
		||||
		defaultIfTAPMode: false,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Creates the TUN/TAP adapter, if supported by the Water library. Note that
 | 
			
		||||
// no guarantees are made at this point on an unsupported platform.
 | 
			
		||||
func (tun *tunDevice) setup(ifname string, iftapmode bool, addr string, mtu int) error {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,17 +10,6 @@ import (
 | 
			
		|||
 | 
			
		||||
// This is to catch Windows platforms
 | 
			
		||||
 | 
			
		||||
// Sane defaults for the Windows platform. The "default" options may be
 | 
			
		||||
// may be replaced by the running configuration.
 | 
			
		||||
func getDefaults() tunDefaultParameters {
 | 
			
		||||
	return tunDefaultParameters{
 | 
			
		||||
		maximumIfMTU:     65535,
 | 
			
		||||
		defaultIfMTU:     65535,
 | 
			
		||||
		defaultIfName:    "auto",
 | 
			
		||||
		defaultIfTAPMode: true,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Configures the TAP adapter with the correct IPv6 address and MTU. On Windows
 | 
			
		||||
// we don't make use of a direct operating system API to do this - we instead
 | 
			
		||||
// delegate the hard work to "netsh".
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue