Documentation
¶
Index ¶
- Constants
- func DeleteNetwork(driver string, name string) error
- func Disconnect(endpoint *Endpoint) error
- func InitNetworkDrivers(runtimeRoot string) error
- type BridgeNetworkDriver
- func (driver *BridgeNetworkDriver) Connect(endpointId string, network *Network, portMappings []string, ...) (*Endpoint, error)
- func (driver *BridgeNetworkDriver) Create(subnet string, bridgeName string) (*Network, error)
- func (driver *BridgeNetworkDriver) Delete(name string) error
- func (driver *BridgeNetworkDriver) Disconnect(endpoint *Endpoint) error
- func (driver *BridgeNetworkDriver) List() ([]*Network, error)
- func (driver *BridgeNetworkDriver) Load(name string) (*Network, error)
- func (driver *BridgeNetworkDriver) Name() string
- func (driver *BridgeNetworkDriver) NetworkLabel() string
- type Endpoint
- type IPAM
- type IPAMMode
- type LocalIPAM
- type Network
- type NetworkDriver
Constants ¶
View Source
const ( IPAMPersistentMode = iota IPAMMemoryMode )
View Source
const ( DefaultSubnet = "192.168.1.0/24" DefaultBridgeName = "capsule_bridge0" )
Variables ¶
This section is empty.
Functions ¶
func DeleteNetwork ¶
func Disconnect ¶
func InitNetworkDrivers ¶
Types ¶
type BridgeNetworkDriver ¶
type BridgeNetworkDriver struct {
// contains filtered or unexported fields
}
func (*BridgeNetworkDriver) Create ¶
func (driver *BridgeNetworkDriver) Create(subnet string, bridgeName string) (*Network, error)
func (*BridgeNetworkDriver) Delete ¶
func (driver *BridgeNetworkDriver) Delete(name string) error
func (*BridgeNetworkDriver) Disconnect ¶
func (driver *BridgeNetworkDriver) Disconnect(endpoint *Endpoint) error
func (*BridgeNetworkDriver) List ¶
func (driver *BridgeNetworkDriver) List() ([]*Network, error)
func (*BridgeNetworkDriver) Load ¶
func (driver *BridgeNetworkDriver) Load(name string) (*Network, error)
func (*BridgeNetworkDriver) Name ¶
func (driver *BridgeNetworkDriver) Name() string
func (*BridgeNetworkDriver) NetworkLabel ¶
func (driver *BridgeNetworkDriver) NetworkLabel() string
type Endpoint ¶
type Endpoint struct {
Name string `json:"name"`
IpAddress net.IP `json:"ip_address"`
Device *netlink.Veth `json:"device"`
Network *Network `json:"network"`
PortMappings []string `json:"port_mappings"`
}
对应一个网络端点,比如容器中会有一个veth和一个loopback
func (*Endpoint) GetContainerVethName ¶
func (*Endpoint) GetHostVethName ¶
type IPAM ¶
type IPAM interface {
Allocate(subnet *net.IPNet) (net.IP, error)
Release(subnet *net.IPNet, ip net.IP) error
Allocatable(subnet *net.IPNet) uint
}
ipam is short for ip address management
func NewMemoryIPAllocator ¶
type Network ¶
type Network struct {
// 网络名称
Name string `json:"name"`
// 网络驱动名(网络类型)
Driver string `json:"driver"`
// contains filtered or unexported fields
}
对应一个网段,Driver取值有Bridge
func CreateNetwork ¶
func ListAllNetwork ¶
func ListNetwork ¶
func LoadNetworkByName ¶
type NetworkDriver ¶
type NetworkDriver interface {
Name() string
NetworkLabel() string
Create(subnet string, name string) (*Network, error)
Load(name string) (*Network, error)
Delete(name string) error
Connect(endpointId string, network *Network, portMappings []string, containerInitPid int) (*Endpoint, error)
Disconnect(endpoint *Endpoint) error
List() ([]*Network, error)
}
Click to show internal directories.
Click to hide internal directories.