libpod: Move networkDisable to container_linux.go

This moves platform-specific details of the network implementation out
of the generic file so that we can add the FreeBSD equivalent.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
This commit is contained in:
Doug Rabson
2022-08-26 15:26:57 +01:00
parent 098c0714e5
commit 8ade76e79b
3 changed files with 25 additions and 14 deletions

View File

@ -1133,20 +1133,6 @@ func (c *Container) NetworkDisabled() (bool, error) {
return networkDisabled(c)
}
func networkDisabled(c *Container) (bool, error) {
if c.config.CreateNetNS {
return false, nil
}
if !c.config.PostConfigureNetNS {
for _, ns := range c.config.Spec.Linux.Namespaces {
if ns.Type == spec.NetworkNamespace {
return ns.Path == "", nil
}
}
}
return false, nil
}
func (c *Container) HostNetwork() bool {
if c.config.CreateNetNS || c.config.NetNsCtr != "" {
return false

View File

@ -10,3 +10,13 @@ type containerPlatformState struct {
// namespace.
NetworkJail string `json:"-"`
}
func networkDisabled(c *Container) (bool, error) {
if c.config.CreateNetNS {
return false, nil
}
if !c.config.PostConfigureNetNS {
return c.state.NetworkJail == "", nil
}
return false, nil
}

View File

@ -5,6 +5,7 @@ package libpod
import (
"github.com/containernetworking/plugins/pkg/ns"
spec "github.com/opencontainers/runtime-spec/specs-go"
)
type containerPlatformState struct {
@ -13,3 +14,17 @@ type containerPlatformState struct {
// told to join another container's network namespace
NetNS ns.NetNS `json:"-"`
}
func networkDisabled(c *Container) (bool, error) {
if c.config.CreateNetNS {
return false, nil
}
if !c.config.PostConfigureNetNS {
for _, ns := range c.config.Spec.Linux.Namespaces {
if ns.Type == spec.NetworkNamespace {
return ns.Path == "", nil
}
}
}
return false, nil
}