network

package
v0.0.0-...-410f0c4 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MTU                           int      `json:"mtu"`
	NetworkName                   string   `json:"network_name"`
	SubnetRange                   string   `json:"subnet_range"`
	GatewayAddress                string   `json:"gateway_address"`
	DNSServers                    []string `json:"dns_servers"`
	MaximumOutgoingBandwidth      uint64   `json:"maximum_outgoing_bandwidth"`
	DNSSuffix                     []string `json:"search_domains"`
	AllowOutboundTrafficByDefault bool     `json:"allow_outbound_traffic_by_default"`
	WaitTimeoutInSeconds          int      `json:"wait_timeout_in_seconds"`
}

type EndpointManager

type EndpointManager interface {
	Create() (hcsshim.HNSEndpoint, error)
	Delete() error
	ApplyPolicies(hcsshim.HNSEndpoint, []*hcsshim.NatPolicy, []*hcsshim.ACLPolicy) (hcsshim.HNSEndpoint, error)
}

type HCSClient

type HCSClient interface {
	GetHNSNetworkByName(string) (*hcsshim.HNSNetwork, error)
	CreateNetwork(*hcsshim.HNSNetwork, func() (bool, error)) (*hcsshim.HNSNetwork, error)
	DeleteNetwork(*hcsshim.HNSNetwork) (*hcsshim.HNSNetwork, error)
}

type Mtu

type Mtu interface {
	SetNat(int) error
	SetContainer(int) error
}

type NetRuleApplier

type NetRuleApplier interface {
	In(netrules.NetIn, string) (*hcsshim.NatPolicy, *hcsshim.ACLPolicy, error)
	Out(netrules.NetOut, string) (*hcsshim.ACLPolicy, error)
	Cleanup() error
	OpenPort(port uint32) error
}

type NetworkManager

type NetworkManager struct {
	// contains filtered or unexported fields
}

func NewNetworkManager

func NewNetworkManager(client HCSClient, applier NetRuleApplier, endpointManager EndpointManager, containerId string, config Config, mtu Mtu) *NetworkManager

func (*NetworkManager) CreateHostNATNetwork

func (n *NetworkManager) CreateHostNATNetwork() error

func (*NetworkManager) DeleteHostNATNetwork

func (n *NetworkManager) DeleteHostNATNetwork() error

func (*NetworkManager) Down

func (n *NetworkManager) Down() error

func (*NetworkManager) Up

func (n *NetworkManager) Up(inputs UpInputs) (UpOutputs, error)

type NoNATNetworkError

type NoNATNetworkError struct {
	Name string
}

func (*NoNATNetworkError) Error

func (e *NoNATNetworkError) Error() string

type SameNATNetworkNameError

type SameNATNetworkNameError struct {
	Name    string
	Subnets []hcsshim.Subnet
}

func (*SameNATNetworkNameError) Error

func (e *SameNATNetworkNameError) Error() string

type UpInputs

type UpInputs struct {
	Pid        int
	Properties map[string]interface{}
	NetOut     []netrules.NetOut `json:"netout_rules"`
	NetIn      []netrules.NetIn  `json:"netin"`
}

func (*UpInputs) IsEmpty

func (u *UpInputs) IsEmpty() bool

type UpOutputs

type UpOutputs struct {
	Properties struct {
		ContainerIP      string `json:"garden.network.container-ip"`
		DeprecatedHostIP string `json:"garden.network.host-ip"`
		MappedPorts      string `json:"garden.network.mapped-ports"`
	} `json:"properties"`
	DNSServers []string `json:"dns_servers,omitempty"`
}

Directories

Path Synopsis
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
Code generated by counterfeiter.
Code generated by counterfeiter.
mtu
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
firewallapplier/fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
serial/fakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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