api/types/container: use netip types as appropriate

Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
Cory Snider
2025-09-10 14:25:16 -04:00
committed by Sebastiaan van Stijn
parent d5c838dc5e
commit fd4329a620
23 changed files with 111 additions and 89 deletions

View File

@@ -37,18 +37,6 @@ import (
const errSetupNetworking = "failed to set up container networking"
func toNetIP(ips []string) ([]netip.Addr, error) {
var dnsAddrs []netip.Addr
for _, ns := range ips {
addr, err := netip.ParseAddr(ns)
if err != nil {
return nil, fmt.Errorf("bad nameserver address %s: %w", ns, err)
}
dnsAddrs = append(dnsAddrs, addr)
}
return dnsAddrs, nil
}
func buildSandboxOptions(cfg *config.Config, ctr *container.Container) ([]libnetwork.SandboxOption, error) {
var sboxOptions []libnetwork.SandboxOption
sboxOptions = append(sboxOptions, libnetwork.OptionHostname(ctr.Config.Hostname), libnetwork.OptionDomainname(ctr.Config.Domainname))
@@ -70,11 +58,7 @@ func buildSandboxOptions(cfg *config.Config, ctr *container.Container) ([]libnet
sboxOptions = append(sboxOptions, platformOpts...)
if len(ctr.HostConfig.DNS) > 0 {
dnsAddrs, err := toNetIP(ctr.HostConfig.DNS)
if err != nil {
return nil, err
}
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(dnsAddrs))
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(ctr.HostConfig.DNS))
} else if len(cfg.DNS) > 0 {
sboxOptions = append(sboxOptions, libnetwork.OptionDNS(cfg.DNS))
}
@@ -150,7 +134,7 @@ func buildSandboxOptions(cfg *config.Config, ctr *container.Container) ([]libnet
publishedPorts = append(publishedPorts, types.PortBinding{
Proto: protocol,
Port: port.Num(),
HostIP: net.ParseIP(binding.HostIP),
HostIP: binding.HostIP.AsSlice(),
HostPort: portRange.Start(),
HostPortEnd: portRange.End(),
})