mirror of
https://github.com/containers/podman.git
synced 2025-05-17 15:18:43 +08:00
libpod: Move convertPortMappings and getNetworkOptions to networking_common.go
[NO NEW TESTS NEEDED] Signed-off-by: Doug Rabson <dfr@rabson.org>
This commit is contained in:
@ -25,7 +25,6 @@ import (
|
||||
"github.com/containers/common/libnetwork/resolvconf"
|
||||
"github.com/containers/common/libnetwork/types"
|
||||
"github.com/containers/common/pkg/config"
|
||||
"github.com/containers/common/pkg/machine"
|
||||
"github.com/containers/common/pkg/netns"
|
||||
"github.com/containers/common/pkg/util"
|
||||
"github.com/containers/podman/v4/libpod/define"
|
||||
@ -59,39 +58,6 @@ const (
|
||||
persistentCNIDir = "/var/lib/cni"
|
||||
)
|
||||
|
||||
// convertPortMappings will remove the HostIP part from the ports when running inside podman machine.
|
||||
// This is need because a HostIP of 127.0.0.1 would now allow the gvproxy forwarder to reach to open ports.
|
||||
// For machine the HostIP must only be used by gvproxy and never in the VM.
|
||||
func (c *Container) convertPortMappings() []types.PortMapping {
|
||||
if !machine.IsGvProxyBased() || len(c.config.PortMappings) == 0 {
|
||||
return c.config.PortMappings
|
||||
}
|
||||
// if we run in a machine VM we have to ignore the host IP part
|
||||
newPorts := make([]types.PortMapping, 0, len(c.config.PortMappings))
|
||||
for _, port := range c.config.PortMappings {
|
||||
port.HostIP = ""
|
||||
newPorts = append(newPorts, port)
|
||||
}
|
||||
return newPorts
|
||||
}
|
||||
|
||||
func (c *Container) getNetworkOptions(networkOpts map[string]types.PerNetworkOptions) types.NetworkOptions {
|
||||
opts := types.NetworkOptions{
|
||||
ContainerID: c.config.ID,
|
||||
ContainerName: getCNIPodName(c),
|
||||
}
|
||||
opts.PortMappings = c.convertPortMappings()
|
||||
|
||||
// If the container requested special network options use this instead of the config.
|
||||
// This is the case for container restore or network reload.
|
||||
if c.perNetworkOpts != nil {
|
||||
opts.Networks = c.perNetworkOpts
|
||||
} else {
|
||||
opts.Networks = networkOpts
|
||||
}
|
||||
return opts
|
||||
}
|
||||
|
||||
type RootlessNetNS struct {
|
||||
ns ns.NetNS
|
||||
dir string
|
||||
|
Reference in New Issue
Block a user