network

package
v0.0.0-...-d1e3be9 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: MIT, MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetHNSEndpointPolicies

func GetHNSEndpointPolicies(policies []Policy) []json.RawMessage

GetHNSPolicies

func GetHNSNetworkPolicies

func GetHNSNetworkPolicies(policies []Policy) []json.RawMessage

GetHNSPolicies

Types

type CNIPolicyType

type CNIPolicyType string
const (
	NetworkPolicy     CNIPolicyType = "NetworkPolicy"
	EndpointPolicy    CNIPolicyType = "EndpointPolicy"
	OutBoundNatPolicy CNIPolicyType = "OutBoundNatPolicy"
)

type DNSInfo

type DNSInfo struct {
	Servers []string
	Suffix  string
}

type EndpointInfo

type EndpointInfo struct {
	ID          string
	Name        string
	NetworkID   string
	IPAddress   net.IP
	MacAddress  net.HardwareAddr
	Gateway     net.IP
	Routes      []RouteInfo
	Policies    []Policy
	Subnet      net.IPNet
	DNS         DNSInfo
	ContainerID string
}

EndpointInfo contains read-only information about an endpoint. Datastore for NetworkInfo. Store this if required

func GetEndpointInfo

func GetEndpointInfo(hnsEndpoint *hcsshim.HNSEndpoint) *EndpointInfo

Get EndpointInfo from HNSEndpoint

func (*EndpointInfo) DetachEndpoint

func (endpoint *EndpointInfo) DetachEndpoint() error

func (*EndpointInfo) GetHNSEndpointConfig

func (endpoint *EndpointInfo) GetHNSEndpointConfig() *hcsshim.HNSEndpoint

Get HNSEndpoint from EndpointInfo

func (*EndpointInfo) HotAttachEndpoint

func (endpoint *EndpointInfo) HotAttachEndpoint(containerID string) error

func (*EndpointInfo) HotDetachEndpoint

func (endpoint *EndpointInfo) HotDetachEndpoint(containerID string) error

type HTTPRequest

type HTTPRequest string
const (
	// GET http request
	GET HTTPRequest = "GET"
	// POST
	POST HTTPRequest = "POST"
	// DELETE
	DELETE HTTPRequest = "DELETE"
)

type Manager

type Manager interface {
	Initialize(config *common.PluginConfig) error
	Uninitialize()

	CreateNetwork(config *NetworkInfo) (*NetworkInfo, error)
	DeleteNetwork(networkID string) error
	GetNetwork(networkID string) (*NetworkInfo, error)
	GetNetworkByName(networkName string) (*NetworkInfo, error)

	CreateEndpoint(networkID string, epInfo *EndpointInfo) (*EndpointInfo, error)
	DeleteEndpoint(endpointID string) error
	GetEndpoint(endpointID string) (*EndpointInfo, error)
	GetEndpointByName(endpointName string) (*EndpointInfo, error)
	AttachEndpointToContainer(endpointName string, containerID string) error
	DetachEndpointFromContainer(endpointName string, containerID string) error
}

Manager API.

func NewManager

func NewManager() (Manager, error)

Creates a NewManager ....

type NetworkInfo

type NetworkInfo struct {
	ID            string
	Name          string
	Type          NetworkType
	InterfaceName string
	Subnets       []SubnetInfo
	DNS           DNSInfo
	Policies      []Policy
}

Datastore for NetworkInfo.

func GetNetworkInfo

func GetNetworkInfo(hnsNetwork *hcsshim.HNSNetwork) *NetworkInfo

Get NetworkInfo from HNSNetwork

func (*NetworkInfo) GetHNSNetworkConfig

func (info *NetworkInfo) GetHNSNetworkConfig() *hcsshim.HNSNetwork

Get HNSNetwork from NetworkInfo

type NetworkType

type NetworkType string
const (
	NAT         NetworkType = "NAT"
	Overlay     NetworkType = "Overlay"
	Transparent NetworkType = "Transparent"
	L2Tunnel    NetworkType = "L2Tunnel"
	L2Bridge    NetworkType = "L2Bridge"
)

type Policy

type Policy struct {
	Type CNIPolicyType
	Data json.RawMessage
}

func GetEndpointPolicies

func GetEndpointPolicies(jsonPolicies []json.RawMessage) []Policy

GetPolicies

func GetHNSNatPolicy

func GetHNSNatPolicy(externalPort int, internalPort int, protocol string) Policy

func GetNetworkPolicies

func GetNetworkPolicies(jsonPolicies []json.RawMessage) []Policy

GetPolicies

type RouteInfo

type RouteInfo struct {
	Destination net.IPNet
	Gateway     net.IP
}

RouteInfo contains information about an IP route.

type SubnetInfo

type SubnetInfo struct {
	AddressPrefix  net.IPNet
	GatewayAddress net.IP
	Policies       []Policy
}

Datastore for SubnetInfo.

func GetSubnetInfo

func GetSubnetInfo(hnsSubnet *hcsshim.Subnet) SubnetInfo

GetSubnetInfo

func (*SubnetInfo) GetHNSSubnetConfig

func (subnet *SubnetInfo) GetHNSSubnetConfig() *hcsshim.Subnet

Jump to

Keyboard shortcuts

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