コード例 #1
0
func buildIpamResources(r *types.NetworkResource, nw libnetwork.Network) {
	id, ipv4conf, ipv6conf := nw.Info().IpamConfig()

	r.IpamDriver = id

	r.Ipam = []network.IpamData{}
	for _, ip4 := range ipv4conf {
		iData := network.IpamData{}
		iData.Subnet = ip4.PreferredPool
		iData.IPRange = ip4.SubPool
		iData.Gateway = ip4.Gateway
		iData.AuxAddress = ip4.AuxAddresses
		r.Ipam = append(r.Ipam, iData)
	}

	for _, ip6 := range ipv6conf {
		iData := network.IpamData{}
		iData.Subnet = ip6.PreferredPool
		iData.IPRange = ip6.SubPool
		iData.Gateway = ip6.Gateway
		iData.AuxAddress = ip6.AuxAddresses
		r.Ipam = append(r.Ipam, iData)
	}
}