diff options
author | Paul Holzinger <paul.holzinger@web.de> | 2021-02-23 22:30:04 +0100 |
---|---|---|
committer | Paul Holzinger <paul.holzinger@web.de> | 2021-02-23 22:30:04 +0100 |
commit | f152f9cf0940131cc74e99d42a498a2de4669ef5 (patch) | |
tree | 1c21ed0e38bed17a186e9e6a9e1fde0aebbb77c1 /libpod/networking_linux.go | |
parent | ca0af71befa7e8408d83c59511e289cb57cf3c6d (diff) | |
download | podman-f152f9cf0940131cc74e99d42a498a2de4669ef5.tar.gz podman-f152f9cf0940131cc74e99d42a498a2de4669ef5.tar.bz2 podman-f152f9cf0940131cc74e99d42a498a2de4669ef5.zip |
Network connect error if net mode is not bridge
Only the the network mode bridge supports cni networks.
Other network modes cannot use network connect/disconnect
so we should throw a error.
Fixes #9496
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
Diffstat (limited to 'libpod/networking_linux.go')
-rw-r--r-- | libpod/networking_linux.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libpod/networking_linux.go b/libpod/networking_linux.go index c1b2c694d..0526e646e 100644 --- a/libpod/networking_linux.go +++ b/libpod/networking_linux.go @@ -1134,6 +1134,11 @@ func (w *logrusDebugWriter) Write(p []byte) (int, error) { // NetworkDisconnect removes a container from the network func (c *Container) NetworkDisconnect(nameOrID, netName string, force bool) error { + // only the bridge mode supports cni networks + if !c.config.NetMode.IsBridge() { + return errors.Errorf("network mode %q is not supported", c.config.NetMode) + } + networks, err := c.networksByNameIndex() if err != nil { return err @@ -1190,6 +1195,11 @@ func (c *Container) NetworkDisconnect(nameOrID, netName string, force bool) erro // ConnectNetwork connects a container to a given network func (c *Container) NetworkConnect(nameOrID, netName string, aliases []string) error { + // only the bridge mode supports cni networks + if !c.config.NetMode.IsBridge() { + return errors.Errorf("network mode %q is not supported", c.config.NetMode) + } + networks, err := c.networksByNameIndex() if err != nil { return err |