Documentation ¶
Index ¶
- Variables
- func CheckNameserverOverlaps(nameservers []string, toCheck *net.IPNet) error
- func CheckRouteOverlaps(toCheck *net.IPNet) error
- func ElectInterfaceAddresses(name string) (*net.IPNet, []*net.IPNet, error)
- func FindAvailableNetwork(list []*net.IPNet) (*net.IPNet, error)
- func GenerateIfaceName(prefix string, len int) (string, error)
- func GenerateMACFromIP(ip net.IP) net.HardwareAddr
- func GenerateRandomMAC() net.HardwareAddr
- func GenerateRandomName(prefix string, size int) (string, error)
- func GetIfaceAddr(name string) (net.Addr, []net.Addr, error)
- func NetworkOverlaps(netX *net.IPNet, netY *net.IPNet) bool
- func NetworkRange(network *net.IPNet) (net.IP, net.IP)
- func ParseAlias(val string) (string, string, error)
- func ReverseIP(IP string) string
- func ValidateAlias(val string) (string, error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNetworkOverlapsWithNameservers preformatted error ErrNetworkOverlapsWithNameservers = errors.New("requested network overlaps with nameserver") // ErrNetworkOverlaps preformatted error ErrNetworkOverlaps = errors.New("requested network overlaps with existing network") // ErrNoDefaultRoute preformatted error ErrNoDefaultRoute = errors.New("no default route") )
Functions ¶
func CheckNameserverOverlaps ¶
CheckNameserverOverlaps checks whether the passed network overlaps with any of the nameservers
func CheckRouteOverlaps ¶
CheckRouteOverlaps checks whether the passed network overlaps with any existing routes
func ElectInterfaceAddresses ¶
ElectInterfaceAddresses looks for an interface on the OS with the specified name and returns its IPv4 and IPv6 addresses in CIDR form. If the interface does not exist, it chooses from a predifined list the first IPv4 address which does not conflict with other interfaces on the system.
func FindAvailableNetwork ¶
FindAvailableNetwork returns a network from the passed list which does not overlap with existing interfaces in the system
func GenerateIfaceName ¶
GenerateIfaceName returns an interface name using the passed in prefix and the length of random bytes. The api ensures that the there are is no interface which exists with that name.
func GenerateMACFromIP ¶
func GenerateMACFromIP(ip net.IP) net.HardwareAddr
GenerateMACFromIP returns a locally administered MAC address where the 4 least significant bytes are derived from the IPv4 address.
func GenerateRandomMAC ¶
func GenerateRandomMAC() net.HardwareAddr
GenerateRandomMAC returns a new 6-byte(48-bit) hardware address (MAC)
func GenerateRandomName ¶
GenerateRandomName returns a new name joined with a prefix. This size specified is used to truncate the randomly generated value
func GetIfaceAddr ¶
GetIfaceAddr returns the first IPv4 address and slice of IPv6 addresses for the specified network interface
func NetworkOverlaps ¶
NetworkOverlaps detects overlap between one IPNet and another
func NetworkRange ¶
NetworkRange calculates the first and last IP addresses in an IPNet
func ParseAlias ¶ added in v0.5.2
ParseAlias parses and validates the specified string as a alias format (name:alias)
func ReverseIP ¶ added in v0.5.2
ReverseIP accepts a V4 or V6 IP string in the canonical form and returns a reversed IP in the dotted decimal form . This is used to setup the IP to service name mapping in the optimal way for the DNS PTR queries.
func ValidateAlias ¶ added in v0.5.2
ValidateAlias validates that the specified string has a valid alias format (containerName:alias).
Types ¶
This section is empty.