github.com/xtls/xray-core@v1.8.12-0.20240518155711-3168d27b0bdb/proxy/wireguard/config.go (about) 1 package wireguard 2 3 func (c *DeviceConfig) preferIP4() bool { 4 return c.DomainStrategy == DeviceConfig_FORCE_IP || 5 c.DomainStrategy == DeviceConfig_FORCE_IP4 || 6 c.DomainStrategy == DeviceConfig_FORCE_IP46 7 } 8 9 func (c *DeviceConfig) preferIP6() bool { 10 return c.DomainStrategy == DeviceConfig_FORCE_IP || 11 c.DomainStrategy == DeviceConfig_FORCE_IP6 || 12 c.DomainStrategy == DeviceConfig_FORCE_IP64 13 } 14 15 func (c *DeviceConfig) hasFallback() bool { 16 return c.DomainStrategy == DeviceConfig_FORCE_IP46 || c.DomainStrategy == DeviceConfig_FORCE_IP64 17 } 18 19 func (c *DeviceConfig) fallbackIP4() bool { 20 return c.DomainStrategy == DeviceConfig_FORCE_IP64 21 } 22 23 func (c *DeviceConfig) fallbackIP6() bool { 24 return c.DomainStrategy == DeviceConfig_FORCE_IP46 25 } 26 27 func (c *DeviceConfig) createTun() tunCreator { 28 if c.KernelMode { 29 return createKernelTun 30 } 31 return createGVisorTun 32 }