From 42a98a5a826eb61599f0fc47c0e47bb0ecb0efe6 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Thu, 25 Dec 2025 16:00:59 -0500 Subject: [PATCH] Remove slirp4netns from CLI and completions Signed-off-by: Lokesh Mandvekar --- cmd/podman/common/completion.go | 16 ---------------- cmd/podman/system/service_abi_common.go | 2 +- cmd/podman/system/service_abi_linux.go | 2 +- pkg/domain/infra/abi/network.go | 3 +-- 4 files changed, 3 insertions(+), 20 deletions(-) diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go index 26be7b8cea..4f48e919d9 100644 --- a/cmd/podman/common/completion.go +++ b/cmd/podman/common/completion.go @@ -1329,26 +1329,10 @@ func AutocompleteNetworkFlag(cmd *cobra.Command, _ []string, toComplete string) "none": nil, "host": nil, "private": nil, - "slirp4netns:": func(s string) ([]string, cobra.ShellCompDirective) { - skv := keyValueCompletion{ - "allow_host_loopback=": getBoolCompletion, - "cidr=": nil, - "enable_ipv6=": getBoolCompletion, - "mtu=": nil, - "outbound_addr=": nil, - "outbound_addr6=": nil, - "port_handler=": func(_ string) ([]string, cobra.ShellCompDirective) { - return []string{"rootlesskit", "slirp4netns"}, cobra.ShellCompDirectiveNoFileComp - }, - } - return completeKeyValues(s, skv) - }, } networks, _ := getNetworks(cmd, toComplete, completeDefault) suggestions, dir := completeKeyValues(toComplete, kv) - // add slirp4netns here it does not work correct if we add it to the kv map - suggestions = append(suggestions, "slirp4netns") return append(networks, suggestions...), dir } diff --git a/cmd/podman/system/service_abi_common.go b/cmd/podman/system/service_abi_common.go index bac6390488..2fc2a835b7 100644 --- a/cmd/podman/system/service_abi_common.go +++ b/cmd/podman/system/service_abi_common.go @@ -2,7 +2,7 @@ package system -// Currently, we only need servicereaper on Linux to support slirp4netns. +// Currently, we only need servicereaper on Linux for rootless networking. func maybeStartServiceReaper() { } diff --git a/cmd/podman/system/service_abi_linux.go b/cmd/podman/system/service_abi_linux.go index 6282efc207..7b0e0abe2a 100644 --- a/cmd/podman/system/service_abi_linux.go +++ b/cmd/podman/system/service_abi_linux.go @@ -8,7 +8,7 @@ import ( "go.podman.io/common/pkg/servicereaper" ) -// Currently, we only need servicereaper on Linux to support slirp4netns. +// Currently, we only need servicereaper on Linux for rootless networking. func maybeStartServiceReaper() { servicereaper.Start() } diff --git a/pkg/domain/infra/abi/network.go b/pkg/domain/infra/abi/network.go index f7af5f32b9..ae74b3efb7 100644 --- a/pkg/domain/infra/abi/network.go +++ b/pkg/domain/infra/abi/network.go @@ -13,7 +13,6 @@ import ( "github.com/containers/podman/v6/libpod/events" "github.com/containers/podman/v6/pkg/domain/entities" "go.podman.io/common/libnetwork/pasta" - "go.podman.io/common/libnetwork/slirp4netns" "go.podman.io/common/libnetwork/types" netutil "go.podman.io/common/libnetwork/util" ) @@ -180,7 +179,7 @@ func (ic *ContainerEngine) NetworkRm(ctx context.Context, namesOrIds []string, o } func (ic *ContainerEngine) NetworkCreate(_ context.Context, network types.Network, createOptions *types.NetworkCreateOptions) (*types.Network, error) { - if slices.Contains([]string{"none", "host", "bridge", "private", slirp4netns.BinaryName, pasta.BinaryName, "container", "ns", "default"}, network.Name) { + if slices.Contains([]string{"none", "host", "bridge", "private", "slirp4netns", pasta.BinaryName, "container", "ns", "default"}, network.Name) { return nil, fmt.Errorf("cannot create network with name %q because it conflicts with a valid network mode", network.Name) } network, err := ic.Libpod.Network().NetworkCreate(network, createOptions)