addressing

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2017 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CiliumIP

type CiliumIP interface {
	NodeID() uint32
	State() uint16
	EndpointID() uint16
	IPNet(ones int) *net.IPNet
	EndpointPrefix() *net.IPNet
	IP() net.IP
	String() string
	StringNoZeroComp() string
	IsIPv6() bool
}

type CiliumIPv4

type CiliumIPv4 []byte

func DeriveCiliumIPv4

func DeriveCiliumIPv4(src net.IP) CiliumIPv4

func NewCiliumIPv4

func NewCiliumIPv4(address string) (CiliumIPv4, error)

func (CiliumIPv4) EndpointID

func (ip CiliumIPv4) EndpointID() uint16

func (CiliumIPv4) EndpointPrefix

func (ip CiliumIPv4) EndpointPrefix() *net.IPNet

func (CiliumIPv4) IP

func (ip CiliumIPv4) IP() net.IP

func (CiliumIPv4) IPAMReq

func (ip CiliumIPv4) IPAMReq() ipam.IPAMReq

func (CiliumIPv4) IPNet

func (ip CiliumIPv4) IPNet(ones int) *net.IPNet

func (CiliumIPv4) IsIPv6

func (ip CiliumIPv4) IsIPv6() bool

func (CiliumIPv4) MarshalJSON

func (ip CiliumIPv4) MarshalJSON() ([]byte, error)

func (CiliumIPv4) NodeID

func (ip CiliumIPv4) NodeID() uint32

func (CiliumIPv4) NodeIP

func (ip CiliumIPv4) NodeIP() net.IP

NodeIP returns the node's IP based on an endpoint IP of the local node.

func (CiliumIPv4) State

func (ip CiliumIPv4) State() uint16

func (CiliumIPv4) String

func (ip CiliumIPv4) String() string

func (CiliumIPv4) StringNoZeroComp added in v0.10.0

func (ip CiliumIPv4) StringNoZeroComp() string

StringNoZeroComp is same as String

func (*CiliumIPv4) UnmarshalJSON

func (ip *CiliumIPv4) UnmarshalJSON(b []byte) error

func (CiliumIPv4) ValidContainerIP

func (ip CiliumIPv4) ValidContainerIP() bool

ValidContainerIP returns true if the IPv4 address is a valid IP for a container. To be valid must obey to the following rules: - Node ID, bits from 0 to 16, must be different than 0 - Endpoint ID, bits from 16 to 32, must be different than 0

func (CiliumIPv4) ValidNodeIP

func (ip CiliumIPv4) ValidNodeIP() bool

ValidNodeIP returns true if the IPv4 address is a valid IP of a node.

type CiliumIPv6

type CiliumIPv6 []byte

func DeriveCiliumIPv6

func DeriveCiliumIPv6(src net.IP) CiliumIPv6

func NewCiliumIPv6

func NewCiliumIPv6(address string) (CiliumIPv6, error)

NewCiliumIPv6 returns a IPv6 if the given `address` is: - An IPv6 address. - Node ID, bits from 112 to 120, must be different than 0 - Endpoint ID, bits from 120 to 128, must be equal to 0

func (CiliumIPv6) EndpointID

func (ip CiliumIPv6) EndpointID() uint16

EndpointID returns the container ID portion of the address or 0.

func (CiliumIPv6) EndpointPrefix

func (ip CiliumIPv6) EndpointPrefix() *net.IPNet

func (CiliumIPv6) HostIP

func (ip CiliumIPv6) HostIP() net.IP

HostIP returns the host address from the node ID.

func (CiliumIPv6) IP

func (ip CiliumIPv6) IP() net.IP

func (CiliumIPv6) IPAMReq

func (ip CiliumIPv6) IPAMReq() ipam.IPAMReq

func (CiliumIPv6) IPNet

func (ip CiliumIPv6) IPNet(ones int) *net.IPNet

func (CiliumIPv6) IsIPv6

func (ip CiliumIPv6) IsIPv6() bool

func (CiliumIPv6) MarshalJSON

func (ip CiliumIPv6) MarshalJSON() ([]byte, error)

func (CiliumIPv6) NodeID

func (ip CiliumIPv6) NodeID() uint32

NodeID returns the node ID portion of the address or 0.

func (CiliumIPv6) NodeIP

func (ip CiliumIPv6) NodeIP() net.IP

NodeIP returns the node's IP based on an endpoint IP of the local node.

func (CiliumIPv6) SetState

func (ip CiliumIPv6) SetState(state uint16)

func (CiliumIPv6) State

func (ip CiliumIPv6) State() uint16

func (CiliumIPv6) String

func (ip CiliumIPv6) String() string

func (CiliumIPv6) StringNoZeroComp added in v0.10.0

func (ip CiliumIPv6) StringNoZeroComp() string

StringNoZeroComp is similar to String but without generating zero compression in the address dump.

func (*CiliumIPv6) UnmarshalJSON

func (ip *CiliumIPv6) UnmarshalJSON(b []byte) error

func (CiliumIPv6) ValidContainerIP

func (ip CiliumIPv6) ValidContainerIP() bool

ValidContainerIP returns true if IP is a valid IP for a container. To be valid must obey to the following rules: - Node ID, bits from 64 to 96, must be different than 0 - State, bits from 96 to 112, must be 0 - Endpoint ID, bits from 112 to 128, must be different than 0

func (*CiliumIPv6) ValidNodeIP

func (ip *CiliumIPv6) ValidNodeIP() bool

ValidNodeIP returns true if IP is a valid IP of a node. - Node ID, bits from 64 to 96, must be different than 0 - State, bits from 96 to 112, must be 0 - Endpoint ID, bits from 112 to 128, must be 0

Jump to

Keyboard shortcuts

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