summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2021-09-13 14:07:05 +0200
committerPaul Holzinger <pholzing@redhat.com>2021-09-15 20:00:28 +0200
commit5e8309464aea005fbc1604c304a94760aff4ee9a (patch)
treecba4282b3706c51107f37c7d0dec5f26df32286e
parent1bcd006c5fffe41a36cc6fdc17623a90693f3cab (diff)
downloadpodman-5e8309464aea005fbc1604c304a94760aff4ee9a.tar.gz
podman-5e8309464aea005fbc1604c304a94760aff4ee9a.tar.bz2
podman-5e8309464aea005fbc1604c304a94760aff4ee9a.zip
Add Drivers method to the Network Interface
Drivers should return the list of supported network drivers by this plugin. This is useful for podman info. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
-rw-r--r--libpod/info.go4
-rw-r--r--libpod/network/cni/network.go6
-rw-r--r--libpod/network/types/network.go4
3 files changed, 11 insertions, 3 deletions
diff --git a/libpod/info.go b/libpod/info.go
index 122a6b587..fb28c97dd 100644
--- a/libpod/info.go
+++ b/libpod/info.go
@@ -18,7 +18,6 @@ import (
"github.com/containers/image/v5/pkg/sysregistriesv2"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/linkmode"
- "github.com/containers/podman/v3/libpod/network/types"
"github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/storage"
@@ -73,8 +72,7 @@ func (r *Runtime) info() (*define.Info, error) {
volumePlugins = append(volumePlugins, plugin)
}
info.Plugins.Volume = volumePlugins
- // TODO move this into the new network interface
- info.Plugins.Network = []string{types.BridgeNetworkDriver, types.MacVLANNetworkDriver}
+ info.Plugins.Network = r.network.Drivers()
info.Plugins.Log = logDrivers
info.Registries = registries
diff --git a/libpod/network/cni/network.go b/libpod/network/cni/network.go
index 4e4ea7ee5..46e07f780 100644
--- a/libpod/network/cni/network.go
+++ b/libpod/network/cni/network.go
@@ -106,6 +106,12 @@ func NewCNINetworkInterface(conf InitConfig) (types.ContainerNetwork, error) {
return n, nil
}
+// Drivers will return the list of supported network drivers
+// for this interface.
+func (n *cniNetwork) Drivers() []string {
+ return []string{types.BridgeNetworkDriver, types.MacVLANNetworkDriver}
+}
+
func (n *cniNetwork) loadNetworks() error {
// skip loading networks if they are already loaded
if n.networks != nil {
diff --git a/libpod/network/types/network.go b/libpod/network/types/network.go
index ad46c9ac1..6053ceb29 100644
--- a/libpod/network/types/network.go
+++ b/libpod/network/types/network.go
@@ -23,6 +23,10 @@ type ContainerNetwork interface {
Setup(namespacePath string, options SetupOptions) (map[string]StatusBlock, error)
// Teardown will teardown the container network namespace.
Teardown(namespacePath string, options TeardownOptions) error
+
+ // Drivers will return the list of supported network drivers
+ // for this interface.
+ Drivers() []string
}
// Network describes the Network attributes.