summaryrefslogtreecommitdiff
path: root/pkg/specgen/container_validate.go
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2021-12-13 20:36:25 +0100
committerPaul Holzinger <pholzing@redhat.com>2021-12-14 15:23:40 +0100
commitef325bc8c4824537e4bfb21aa7e6114a6e5a8c09 (patch)
tree9c74760b6d93f83534e8f0deb400f0af2c579474 /pkg/specgen/container_validate.go
parent094e1d70dee1f5cc04987169615898bd6a4af499 (diff)
downloadpodman-ef325bc8c4824537e4bfb21aa7e6114a6e5a8c09.tar.gz
podman-ef325bc8c4824537e4bfb21aa7e6114a6e5a8c09.tar.bz2
podman-ef325bc8c4824537e4bfb21aa7e6114a6e5a8c09.zip
specgen: check that networks are only set with bridge
Because we cannot reqad the networking mode in the frontent because we should always use the server default we have to parse the mac and ip address to the server via a default network. Now when the server reads the default nsmode it has to reject the provided networks when the mode is not set to bridge. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'pkg/specgen/container_validate.go')
-rw-r--r--pkg/specgen/container_validate.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/specgen/container_validate.go b/pkg/specgen/container_validate.go
index cae231f0e..d06a047c1 100644
--- a/pkg/specgen/container_validate.go
+++ b/pkg/specgen/container_validate.go
@@ -189,5 +189,10 @@ func (s *SpecGenerator) Validate() error {
if err := validateNetNS(&s.NetNS); err != nil {
return err
}
+ if s.NetNS.NSMode != Bridge && len(s.Networks) > 0 {
+ // Note that we also get the ip and mac in the networks map
+ return errors.New("Networks and static ip/mac address can only be used with Bridge mode networking")
+ }
+
return nil
}