Files
moby/daemon/cluster/executor/container/network.go
Cory Snider a90adb6dc1 api/types/network: use netip types as appropriate
And generate the ServiceInfo struct from the Swagger spec.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2025-10-03 21:39:14 +02:00

33 lines
776 B
Go

package container
import (
"errors"
"fmt"
"github.com/moby/moby/api/types/network"
"github.com/moby/moby/v2/daemon/internal/netiputil"
"github.com/moby/swarmkit/v2/api"
)
func ipamConfig(ic *api.IPAMConfig) (network.IPAMConfig, error) {
var (
cfg network.IPAMConfig
errs []error
err error
)
cfg.Subnet, err = netiputil.MaybeParseCIDR(ic.Subnet)
if err != nil {
errs = append(errs, fmt.Errorf("invalid subnet: %w", err))
}
cfg.IPRange, err = netiputil.MaybeParseCIDR(ic.Range)
if err != nil {
errs = append(errs, fmt.Errorf("invalid ip range: %w", err))
}
gw, err := netiputil.MaybeParseAddr(ic.Gateway)
cfg.Gateway = gw.Unmap()
if err != nil {
errs = append(errs, fmt.Errorf("invalid gateway: %w", err))
}
return cfg, errors.Join(errs...)
}