network

package
v0.0.0-...-df8a2fc Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2022 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Connect

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

Connect 连接容器到之前创建的网络

func CreateNetwork

func CreateNetwork(driver, subnet, name string) error

CreateNetwork 创建网络

func DeleteNetwork

func DeleteNetwork(networkName string) error

func Disconnect

func Disconnect(networkName string, info *container.ContainerInfo) error

func Init

func Init() error

func ListNetwork

func ListNetwork()

ListNetwork 展示网络列表

Types

type BridgeNetworkDriver

type BridgeNetworkDriver struct {
}

func (*BridgeNetworkDriver) Connect

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

Connect 连接一个网络和网络端点

func (*BridgeNetworkDriver) Create

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

Create 创建网络

func (*BridgeNetworkDriver) Delete

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

Delete 删除网络

func (*BridgeNetworkDriver) Disconnect

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

func (*BridgeNetworkDriver) Name

func (d *BridgeNetworkDriver) Name() string

type Endpoint

type Endpoint struct {
	ID string `json:"id"`
	// 虚拟网络设备
	Device     netlink.Veth     `json:"dev"`
	IPAddress  net.IP           `json:"ip"`
	MacAddress net.HardwareAddr `json:"mac"`
	// 端口映射
	PortMapping []string `json:"portmapping"`
	// 网络
	Network *Network
}

Endpoint 网络端点

type IPAM

type IPAM struct {
	// 分配文件存放位置
	SubnetAllocatorPath string
	// 网段和位图算法的数组map,key是网段,value是分配的位图数组
	Subnets *map[string]string
}

IPAM ip address manager

func (*IPAM) Allocate

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

func (*IPAM) Release

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

type Network

type Network struct {
	// 网络名
	Name string
	// 地址段
	IpRange *net.IPNet
	// 网络驱动名
	Driver string
}

Network 网络

type NetworkDriver

type NetworkDriver interface {
	// Name 驱动名
	Name() string
	// Create 创建网络
	Create(subnet, name string) (*Network, error)
	// Delete 删除网络
	Delete(network Network) error
	// Connect 连接
	Connect(network *Network, endpoint *Endpoint) error
	// Disconnect 断开连接
	Disconnect(network Network, endpoint *Endpoint) error
}

NetworkDriver 网络驱动

Jump to

Keyboard shortcuts

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