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.