summaryrefslogtreecommitdiff
path: root/libpod/networking_linux.go
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2020-07-16 12:26:36 +0200
committerGiuseppe Scrivano <gscrivan@redhat.com>2020-07-16 22:37:27 +0200
commit7722b582b4f09df64fb55e3ab9669392754ce75c (patch)
tree40a64a31a51364ba307f04fce97834dbd11c44b8 /libpod/networking_linux.go
parent9be7029cdd4736f3ac33004e4364e3e7f3bd1db5 (diff)
downloadpodman-7722b582b4f09df64fb55e3ab9669392754ce75c.tar.gz
podman-7722b582b4f09df64fb55e3ab9669392754ce75c.tar.bz2
podman-7722b582b4f09df64fb55e3ab9669392754ce75c.zip
network, slirp4netns: add option to allow host loopback
Closes: https://github.com/containers/podman/issues/6912 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'libpod/networking_linux.go')
-rw-r--r--libpod/networking_linux.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/libpod/networking_linux.go b/libpod/networking_linux.go
index 9be8e0b14..8b08d3d5f 100644
--- a/libpod/networking_linux.go
+++ b/libpod/networking_linux.go
@@ -224,6 +224,7 @@ func (r *Runtime) setupRootlessNetNS(ctr *Container) error {
logPath := filepath.Join(ctr.runtime.config.Engine.TmpDir, fmt.Sprintf("slirp4netns-%s.log", ctr.config.ID))
isSlirpHostForward := false
+ disableHostLoopback := true
if ctr.config.NetworkOptions != nil {
slirpOptions := ctr.config.NetworkOptions["slirp4netns"]
for _, o := range slirpOptions {
@@ -232,6 +233,10 @@ func (r *Runtime) setupRootlessNetNS(ctr *Container) error {
isSlirpHostForward = true
case "port_handler=rootlesskit":
isSlirpHostForward = false
+ case "allow_host_loopback=true":
+ disableHostLoopback = false
+ case "allow_host_loopback=false":
+ disableHostLoopback = true
default:
return errors.Errorf("unknown option for slirp4netns: %q", o)
@@ -244,7 +249,7 @@ func (r *Runtime) setupRootlessNetNS(ctr *Container) error {
if err != nil {
return errors.Wrapf(err, "error checking slirp4netns binary %s: %q", path, err)
}
- if slirpFeatures.HasDisableHostLoopback {
+ if disableHostLoopback && slirpFeatures.HasDisableHostLoopback {
cmdArgs = append(cmdArgs, "--disable-host-loopback")
}
if slirpFeatures.HasMTU {