tsaddr

package
v1.12.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2021 License: BSD-3-Clause Imports: 2 Imported by: 65

Documentation

Overview

Package tsaddr handles Tailscale-specific IPs and ranges.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CGNATRange

func CGNATRange() netaddr.IPPrefix

CGNATRange returns the Carrier Grade NAT address range that is the superset range that Tailscale assigns out of. See https://tailscale.com/kb/1015/100.x-addresses. Note that Tailscale does not assign out of the ChromeOSVMRange.

func ChromeOSVMRange

func ChromeOSVMRange() netaddr.IPPrefix

ChromeOSVMRange returns the subset of the CGNAT IPv4 range used by ChromeOS to interconnect the host OS to containers and VMs. We avoid allocating Tailscale IPs from it, to avoid conflicts.

func IsTailscaleIP

func IsTailscaleIP(ip netaddr.IP) bool

IsTailscaleIP reports whether ip is an IP address in a range that Tailscale assigns from.

func IsULA added in v1.8.0

func IsULA(ip netaddr.IP) bool

func NewContainsIPFunc added in v1.8.0

func NewContainsIPFunc(addrs []netaddr.IPPrefix) func(ip netaddr.IP) bool

NewContainsIPFunc returns a func that reports whether ip is in addrs.

It's optimized for the cases of addrs being empty and addrs containing 1 or 2 single-IP prefixes (such as one IPv4 address and one IPv6 address).

Otherwise the implementation is somewhat slow.

func Tailscale4To6 added in v1.2.0

func Tailscale4To6(ipv4 netaddr.IP) netaddr.IP

Tailscale4To6 returns a Tailscale IPv6 address that maps 1:1 to the given Tailscale IPv4 address. Returns a zero IP if ipv4 isn't a Tailscale IPv4 address.

func Tailscale4To6Placeholder added in v1.6.0

func Tailscale4To6Placeholder() netaddr.IP

Tailscale4To6Placeholder returns an IP address that can be used as a source IP when one is required, but a netmap didn't provide any. This address never gets allocated by the 4-to-6 algorithm in control.

Currently used to work around a Windows limitation when programming IPv6 routes in corner cases.

func Tailscale4To6Range added in v1.2.0

func Tailscale4To6Range() netaddr.IPPrefix

Tailscale4To6Range returns the subset of TailscaleULARange used for auto-translated Tailscale ipv4 addresses.

func TailscaleEphemeral6Range added in v1.8.0

func TailscaleEphemeral6Range() netaddr.IPPrefix

TailscaleEphemeral6Range returns the subset of TailscaleULARange used for ephemeral IPv6-only Tailscale nodes.

func TailscaleServiceIP added in v1.0.1

func TailscaleServiceIP() netaddr.IP

TailscaleServiceIP returns the listen address of services provided by Tailscale itself such as the MagicDNS proxy.

func TailscaleULARange added in v1.2.0

func TailscaleULARange() netaddr.IPPrefix

TailscaleULARange returns the IPv6 Unique Local Address range that is the superset range that Tailscale assigns out of.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL