netutils

package
v26.1.4+incompatible Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNetworkOverlapsWithNameservers preformatted error
	ErrNetworkOverlapsWithNameservers = errors.New("requested network overlaps with nameserver")
	// ErrNetworkOverlaps preformatted error
	ErrNetworkOverlaps = errors.New("requested network overlaps with existing network")
)

Functions

func CheckNameserverOverlaps

func CheckNameserverOverlaps(nameservers []string, toCheck *net.IPNet) error

CheckNameserverOverlaps checks whether the passed network overlaps with any of the nameservers

func CheckRouteOverlaps

func CheckRouteOverlaps(toCheck *net.IPNet) error

CheckRouteOverlaps checks whether the passed network overlaps with any existing routes

func FindAvailableNetwork

func FindAvailableNetwork(list []*net.IPNet) (*net.IPNet, error)

FindAvailableNetwork returns a network from the passed list which does not overlap with existing interfaces in the system

func GenerateIfaceName

func GenerateIfaceName(nlh *netlink.Handle, prefix string, len int) (string, error)

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

func GenerateRandomName(prefix string, length int) (string, error)

GenerateRandomName returns a string of the specified length, created by joining the prefix to random hex characters. The length must be strictly larger than len(prefix), or an error will be returned.

func IsV6Listenable

func IsV6Listenable() bool

IsV6Listenable returns true when `[::1]:0` is listenable. IsV6Listenable returns false mostly when the kernel was booted with `ipv6.disable=1` option.

func NetworkOverlaps

func NetworkOverlaps(netX *net.IPNet, netY *net.IPNet) bool

NetworkOverlaps detects overlap between one IPNet and another

func NetworkRange

func NetworkRange(network *net.IPNet) (net.IP, net.IP)

NetworkRange calculates the first and last IP addresses in an IPNet

func ReverseIP

func ReverseIP(IP string) string

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.

Types

This section is empty.

Jump to

Keyboard shortcuts

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