aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tunnel/ifaceconfig.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tunnel/ifaceconfig.go30
1 files changed, 16 insertions, 14 deletions
diff --git a/tunnel/ifaceconfig.go b/tunnel/ifaceconfig.go
index a64a469b..2cc90e79 100644
--- a/tunnel/ifaceconfig.go
+++ b/tunnel/ifaceconfig.go
@@ -163,21 +163,23 @@ func configureInterface(conf *conf.Config, tun *tun.NativeTun) error {
}
ipif, err = luid.IPInterface(windows.AF_INET6)
- if err != nil {
- return err
- }
- if foundDefault6 {
- ipif.UseAutomaticMetric = false
- ipif.Metric = 0
- }
- if conf.Interface.MTU > 0 {
- ipif.NLMTU = uint32(conf.Interface.MTU)
- }
- ipif.DadTransmits = 0
- ipif.RouterDiscoveryBehavior = winipcfg.RouterDiscoveryDisabled
- err = ipif.Set()
- if err != nil {
+ if err != nil && firstGateway6 != nil {
+ log.Printf("Is IPv6 disabled by Windows?")
return err
+ } else if err == nil { // People seem to like to disable IPv6, so we make this non-fatal.
+ if foundDefault6 {
+ ipif.UseAutomaticMetric = false
+ ipif.Metric = 0
+ }
+ if conf.Interface.MTU > 0 {
+ ipif.NLMTU = uint32(conf.Interface.MTU)
+ }
+ ipif.DadTransmits = 0
+ ipif.RouterDiscoveryBehavior = winipcfg.RouterDiscoveryDisabled
+ err = ipif.Set()
+ if err != nil {
+ return err
+ }
}
err = luid.SetDNS(conf.Interface.DNS)