2016-02-26 17:58:11 -05:00
|
|
|
package netutils
|
2015-10-10 16:16:52 -04:00
|
|
|
|
|
|
|
import (
|
|
|
|
"net"
|
|
|
|
|
2021-04-05 20:24:47 -04:00
|
|
|
"github.com/docker/docker/libnetwork/types"
|
2015-10-10 16:16:52 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
// ElectInterfaceAddresses looks for an interface on the OS with the specified name
|
2016-09-17 01:40:44 -04:00
|
|
|
// and returns returns all its IPv4 and IPv6 addresses in CIDR notation.
|
|
|
|
// If a failure in retrieving the addresses or no IPv4 address is found, an error is returned.
|
|
|
|
// If the interface does not exist, it chooses from a predefined
|
|
|
|
// list the first IPv4 address which does not conflict with other
|
|
|
|
// interfaces on the system.
|
|
|
|
func ElectInterfaceAddresses(name string) ([]*net.IPNet, []*net.IPNet, error) {
|
2015-10-10 16:16:52 -04:00
|
|
|
return nil, nil, types.NotImplementedErrorf("not supported on windows")
|
|
|
|
}
|
|
|
|
|
|
|
|
// FindAvailableNetwork returns a network from the passed list which does not
|
|
|
|
// overlap with existing interfaces in the system
|
2016-10-12 19:55:20 -04:00
|
|
|
|
|
|
|
// TODO : Use appropriate windows APIs to identify non-overlapping subnets
|
2015-10-10 16:16:52 -04:00
|
|
|
func FindAvailableNetwork(list []*net.IPNet) (*net.IPNet, error) {
|
2016-10-12 19:55:20 -04:00
|
|
|
return nil, nil
|
2015-10-10 16:16:52 -04:00
|
|
|
}
|