network

package
v0.0.0-...-be3b871 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

func Connect(networkName string, cinfo *container.ContainerInfo) error

func CreateNetwork

func CreateNetwork(driver, subnet, name string) error

func DeleteNetwork

func DeleteNetwork(networkName string) error

func Init

func Init() error

Init 加载网路驱动

func ListNetwork

func ListNetwork()

Types

type BridgeNetworkDriver

type BridgeNetworkDriver struct {
}

func (*BridgeNetworkDriver) Connect

func (b *BridgeNetworkDriver) Connect(network *Network, endpoint *Endpoint) error

Connect 容器网络端点连接到网络

func (*BridgeNetworkDriver) Create

func (b *BridgeNetworkDriver) Create(name string, subnet string) (*Network, error)

Create creates a network with network name and subnet

func (*BridgeNetworkDriver) Delete

func (b *BridgeNetworkDriver) Delete(network Network) error

Delete 删除网络

func (*BridgeNetworkDriver) Disconnect

func (b *BridgeNetworkDriver) Disconnect(network Network, endpoint *Endpoint) error

从网络上移除容器的网络端点

func (*BridgeNetworkDriver) Name

func (b *BridgeNetworkDriver) Name() string

type Endpoint

type Endpoint struct {
	ID          string
	Device      netlink.Veth
	IPaddr      net.IP
	MACaddr     net.HardwareAddr
	PortMapping []string
	Network     *Network
}

type IPAM

type IPAM struct {
	// 分配配置文件存储位置
	SubnetAllocatorPath string

	Subnets map[string]string
}

用于网络IP地址的分配和释放

func (*IPAM) Allocate

func (ia *IPAM) Allocate(subnet *net.IPNet) (ip net.IP, err error)

通过网段去分配一个可用的IP地址

func (*IPAM) Release

func (ia *IPAM) Release(subnet *net.IPNet, ipaddr net.IP) error

type Network

type Network struct {
	Name    string
	IPRange *net.IPNet
	Driver  string
}

type NetworkDriver

type NetworkDriver interface {
	Name() string

	Create(name, subnet string) (*Network, error)

	// 删除网络
	Delete(network Network) error

	// 连接容器网络端点到网络
	Connect(network *Network, endpoint *Endpoint) error

	// 从网络上移除容器的网络端点
	Disconnect(network Network, endpoint *Endpoint) error
}

用于网络管理

Jump to

Keyboard shortcuts

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