diff --git a/src/runtime/virtcontainers/nydusd.go b/src/runtime/virtcontainers/nydusd.go index 56cd263cff..9a2e1a638b 100644 --- a/src/runtime/virtcontainers/nydusd.go +++ b/src/runtime/virtcontainers/nydusd.go @@ -23,7 +23,6 @@ import ( "syscall" "time" - "github.com/containernetworking/plugins/pkg/ns" "github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils" "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils/retry" @@ -54,8 +53,6 @@ const ( nydusPassthroughfs = "passthrough_fs" sharedPathInGuest = "/containers" - - shimNsPath = "/proc/self/ns/net" ) var ( @@ -85,13 +82,6 @@ type nydusd struct { debug bool } -func startInShimNS(cmd *exec.Cmd) error { - // Create nydusd in shim netns as it needs to access host network - return doNetNS(shimNsPath, func(_ ns.NetNS) error { - return cmd.Start() - }) -} - func (nd *nydusd) Start(ctx context.Context, onQuit onQuitFunc) (int, error) { span, _ := katatrace.Trace(ctx, nd.Logger(), "Start", nydusdTracingTags) defer span.End() diff --git a/src/runtime/virtcontainers/nydusd_linux.go b/src/runtime/virtcontainers/nydusd_linux.go new file mode 100644 index 0000000000..cfb20da725 --- /dev/null +++ b/src/runtime/virtcontainers/nydusd_linux.go @@ -0,0 +1,21 @@ +// Copyright (c) 2017 Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 +// + +package virtcontainers + +import ( + "os/exec" + + "github.com/containernetworking/plugins/pkg/ns" +) + +const shimNsPath = "/proc/self/ns/net" + +func startInShimNS(cmd *exec.Cmd) error { + // Create nydusd in shim netns as it needs to access host network + return doNetNS(shimNsPath, func(_ ns.NetNS) error { + return cmd.Start() + }) +} diff --git a/src/runtime/virtcontainers/nydusd_other.go b/src/runtime/virtcontainers/nydusd_other.go new file mode 100644 index 0000000000..a50772ff7b --- /dev/null +++ b/src/runtime/virtcontainers/nydusd_other.go @@ -0,0 +1,15 @@ +// Copyright (c) 2023 Apple Inc. +// +// SPDX-License-Identifier: Apache-2.0 +// + +//go:build !linux + +package virtcontainers + +import "os/exec" + +// No-op on net namespace join on other platforms. +func startInShimNS(cmd *exec.Cmd) error { + return cmd.Start() +}