diff options
author | Ashley Cui <acui@redhat.com> | 2020-09-25 10:00:43 -0400 |
---|---|---|
committer | Ashley Cui <acui@redhat.com> | 2020-09-25 21:34:23 -0400 |
commit | b6176d8987a0049a253fd7a70b2cd8e17bd50b53 (patch) | |
tree | e4ce740ebc925079ab223b41acec4c15b85b6fd9 /cmd/podman/pods/create.go | |
parent | 98aa458c7a13c72fabe02cd0ed2919c2801ef207 (diff) | |
download | podman-b6176d8987a0049a253fd7a70b2cd8e17bd50b53.tar.gz podman-b6176d8987a0049a253fd7a70b2cd8e17bd50b53.tar.bz2 podman-b6176d8987a0049a253fd7a70b2cd8e17bd50b53.zip |
Add support for slirp network for pods
flag --network=slirp4netns[options] for root and rootless pods
Signed-off-by: Ashley Cui <acui@redhat.com>
Diffstat (limited to 'cmd/podman/pods/create.go')
-rw-r--r-- | cmd/podman/pods/create.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cmd/podman/pods/create.go b/cmd/podman/pods/create.go index d8d32b930..ac6d83edd 100644 --- a/cmd/podman/pods/create.go +++ b/cmd/podman/pods/create.go @@ -141,14 +141,20 @@ func create(cmd *cobra.Command, args []string) error { if err != nil { return err } + parts := strings.SplitN(netInput, ":", 2) + n := specgen.Namespace{} - switch netInput { - case "bridge": + switch { + case netInput == "bridge": n.NSMode = specgen.Bridge - case "host": + case netInput == "host": n.NSMode = specgen.Host - case "slirp4netns": + case netInput == "slirp4netns", strings.HasPrefix(netInput, "slirp4netns:"): n.NSMode = specgen.Slirp + if len(parts) > 1 { + createOptions.Net.NetworkOptions = make(map[string][]string) + createOptions.Net.NetworkOptions[parts[0]] = strings.Split(parts[1], ",") + } default: // Container and NS mode are presently unsupported n.NSMode = specgen.Bridge |