|
@@ -9,46 +9,12 @@ type Address struct {
|
|
|
PrefixLen int
|
|
|
}
|
|
|
|
|
|
-// EndpointIPAMConfig represents IPAM configurations for the endpoint
|
|
|
-type EndpointIPAMConfig struct {
|
|
|
- IPv4Address string `json:",omitempty"`
|
|
|
- IPv6Address string `json:",omitempty"`
|
|
|
- LinkLocalIPs []string `json:",omitempty"`
|
|
|
-}
|
|
|
-
|
|
|
-// Copy makes a copy of the endpoint ipam config
|
|
|
-func (cfg *EndpointIPAMConfig) Copy() *EndpointIPAMConfig {
|
|
|
- cfgCopy := *cfg
|
|
|
- cfgCopy.LinkLocalIPs = make([]string, 0, len(cfg.LinkLocalIPs))
|
|
|
- cfgCopy.LinkLocalIPs = append(cfgCopy.LinkLocalIPs, cfg.LinkLocalIPs...)
|
|
|
- return &cfgCopy
|
|
|
-}
|
|
|
-
|
|
|
// PeerInfo represents one peer of an overlay network
|
|
|
type PeerInfo struct {
|
|
|
Name string
|
|
|
IP string
|
|
|
}
|
|
|
|
|
|
-// EndpointSettings stores the network endpoint details
|
|
|
-type EndpointSettings struct {
|
|
|
- // Configurations
|
|
|
- IPAMConfig *EndpointIPAMConfig
|
|
|
- Links []string
|
|
|
- Aliases []string
|
|
|
- // Operational data
|
|
|
- NetworkID string
|
|
|
- EndpointID string
|
|
|
- Gateway string
|
|
|
- IPAddress string
|
|
|
- IPPrefixLen int
|
|
|
- IPv6Gateway string
|
|
|
- GlobalIPv6Address string
|
|
|
- GlobalIPv6PrefixLen int
|
|
|
- MacAddress string
|
|
|
- DriverOpts map[string]string
|
|
|
-}
|
|
|
-
|
|
|
// Task carries the information about one backend task
|
|
|
type Task struct {
|
|
|
Name string
|
|
@@ -65,25 +31,6 @@ type ServiceInfo struct {
|
|
|
Tasks []Task
|
|
|
}
|
|
|
|
|
|
-// Copy makes a deep copy of `EndpointSettings`
|
|
|
-func (es *EndpointSettings) Copy() *EndpointSettings {
|
|
|
- epCopy := *es
|
|
|
- if es.IPAMConfig != nil {
|
|
|
- epCopy.IPAMConfig = es.IPAMConfig.Copy()
|
|
|
- }
|
|
|
-
|
|
|
- if es.Links != nil {
|
|
|
- links := make([]string, 0, len(es.Links))
|
|
|
- epCopy.Links = append(links, es.Links...)
|
|
|
- }
|
|
|
-
|
|
|
- if es.Aliases != nil {
|
|
|
- aliases := make([]string, 0, len(es.Aliases))
|
|
|
- epCopy.Aliases = append(aliases, es.Aliases...)
|
|
|
- }
|
|
|
- return &epCopy
|
|
|
-}
|
|
|
-
|
|
|
// NetworkingConfig represents the container's networking configuration for each of its interfaces
|
|
|
// Carries the networking configs specified in the `docker run` and `docker network connect` commands
|
|
|
type NetworkingConfig struct {
|