Skip to content

Podman6: Remove slirp#27828

Merged
Luap99 merged 13 commits into
podman-container-tools:mainfrom
lsm5:podman6-no-slirp-new
Apr 13, 2026
Merged

Podman6: Remove slirp#27828
Luap99 merged 13 commits into
podman-container-tools:mainfrom
lsm5:podman6-no-slirp-new

Conversation

@lsm5

@lsm5 lsm5 commented Dec 25, 2025

Copy link
Copy Markdown
Contributor

Checklist

Ensure you have completed the following checklist for your pull request to be reviewed:

  • Certify you wrote the patch or otherwise have the right to pass it on as an open-source patch by signing all
    commits. (git commit -s). (If needed, use git commit -s --amend). The author email must match
    the sign-off email address. See CONTRIBUTING.md
    for more information.
  • Referenced issues using Fixes: #00000 in commit message (if applicable)
  • Tests have been added/updated (or no tests are needed)
  • Documentation has been updated (or no documentation changes are needed)
  • All commits pass make validatepr (format/lint checks)
  • Release note entered in the section below (or None if no user-facing changes)

Does this PR introduce a user-facing change?

Slirp support has been removed.

@lsm5 lsm5 added No New Tests Allow PR to proceed without adding regression tests 6.0 Breaking changes for Podman 6.0 labels Dec 25, 2025
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch 6 times, most recently from 2a6612e to bbf3f4f Compare January 2, 2026 10:44
@packit-as-a-service

Copy link
Copy Markdown

[NON-BLOCKING] Packit jobs failed. @containers/packit-build please check. Everyone else, feel free to ignore.

@lsm5 lsm5 mentioned this pull request Jan 5, 2026
@lsm5 lsm5 marked this pull request as ready for review January 5, 2026 09:24
@lsm5 lsm5 marked this pull request as draft January 5, 2026 09:24
@lsm5

lsm5 commented Jan 5, 2026

Copy link
Copy Markdown
Contributor Author

depends on #27827

@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch 4 times, most recently from 08734ac to a674da2 Compare February 9, 2026 14:25
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch 2 times, most recently from e6d1aef to fd2d242 Compare February 11, 2026 12:00
@lsm5 lsm5 changed the title Podman6: Remove slirp (attempt 2) Podman6: Remove slirp Feb 11, 2026
@lsm5 lsm5 marked this pull request as ready for review February 11, 2026 13:33
@lsm5 lsm5 marked this pull request as draft February 11, 2026 13:36
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch from fd2d242 to 21e70eb Compare February 11, 2026 13:47
@lsm5 lsm5 marked this pull request as ready for review February 11, 2026 14:58
@lsm5

lsm5 commented Feb 11, 2026

Copy link
Copy Markdown
Contributor Author

@Luap99 @mheon @containers/podman-maintainers PTAL.

@lsm5 lsm5 marked this pull request as draft February 19, 2026 14:47
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch from 21e70eb to ab17153 Compare February 19, 2026 14:50

@mtrmac mtrmac left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By no means a full review, I just checked whether this can be quickly merged and stopped at the first blocker.

Comment thread troubleshooting.md Outdated
#: ../../source/markdown/podman-pod-create.1.md:410
#: ../../source/markdown/podman-run.1.md:1214
msgid ""
"**slirp4netns[:OPTIONS,...]**: use **slirp4netns**(1) to create a user "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are incorrect, msgid and msgstr are ~key-value pairs.

More importantly, this file should be auto-generated from the source text using … some process.

I guess that should be https://www.sphinx-doc.org/en/master/usage/advanced/intl.html but I don’t see anything to suggest we have that automated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gotta look this up and will update likewise. Thanks for the pointer. I'll remove draft status once I'm done with this part.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

running sphinx will create a huge update including more than just the slirp changes. Probably best kept for a separate PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reverted all changes to this in this PR.

Comment thread docs/source/markdown/podman-network.1.md Outdated
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch 2 times, most recently from 20d5d3a to 3dcd89d Compare February 27, 2026 10:53
@lsm5 lsm5 marked this pull request as draft April 10, 2026 15:33
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch from 736178c to e575cd1 Compare April 10, 2026 15:34
@lsm5

lsm5 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor Author

Converting back to draft while I wait for tests to pass.

Addressed all comments and added slirp4netns back into the rejected network name list which sounds safer to me.

@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch from e575cd1 to 79036ba Compare April 10, 2026 15:58
@lsm5 lsm5 marked this pull request as ready for review April 10, 2026 19:05
@lsm5

lsm5 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor Author

The testing-farm job is failing on a dnf repo issue which has been reported upstream. We can ignore it here. I've triggered a rerun of the machine test, but anyway, should be good for another round.

@Luap99 @mheon @containers/podman-maintainers PTAL

Comment thread test/compose/pasta_opts/setup.sh Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this file can be removed if it does nothing

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

Comment thread test/compose/pasta_opts/teardown.sh Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: same, this file can be removed if it does nothing

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

// functionality (SetupRootlessPortMappingViaRLK and GetRootlessPortChildIP),
// NOT for the deprecated slirp4netns network backend which was removed in Podman 6.
"go.podman.io/common/libnetwork/slirp4netns"
"go.podman.io/common/libnetwork/slirp4netns" // RootlessKit port mapping only, not the removed slirp4netns backend

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That did not actually solve my newline comment, first you still have the newline.

Commit e8ad9f6 adds a newline above as part of a commit where it really does not belong. For git history reasons we should not have such "random" newline changes.
Sure not like I care to git blame to the import statements but at least right now for things like possible merge conflicts it still matters.

So really these changes should be squashed for a proper clean history.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

squashed

Comment on lines +267 to 270
When using rootless Podman, network traffic is normally passed through pasta. This comes with
a performance penalty. Fortunately, communication over the socket-activated socket does not pass through
pasta so it has the same performance characteristics as the normal network on the host.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same with this commit now, it should just be sqashed, removing then re-adding makes reviewing much harder

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

squashed

lsm5 added 13 commits April 13, 2026 08:22
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Add slirp4netns to pasta migration in `podman system migrate`. When
run, it changes the NetMode from slirp4netns to pasta and removes
any slirp4netns network options. Warns about options that cannot be
mapped to pasta (e.g. cidr, allow_host_loopback). The config is
persisted via RewriteContainerConfig.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Previously, when default_rootless_network_cmd was empty, podman
would fall back to slirp4netns. Change this to default to pasta
instead. Remove the now-unused slirp4netns import.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Using --network=slirp4netns now returns a hard error directing
users to pasta and `podman system migrate`.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Remove all slirp4netns-specific setup and helper functions while
preserving the RootlessRLK port mapping functions that are still
used by pasta and bridge networking.

Rename networking_slirp4netns.go to networking_rootlessport.go.
Convert the slirp4netns compose test to use pasta instead.
Remove rootlessSlirpSyncR/W fields from container struct and
getSlirp4netnsIP stub from FreeBSD networking.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Update all documentation files to remove slirp4netns references
and update to pasta as the only rootless networking backend.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
slirp4netns is no longer used as a rootless networking backend,
pasta is the only option. Remove the package requirement from
rpm/podman.spec and the TMT test setup.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
The rootlessPortSyncR/W fields in the Container struct are only
used on Linux but defined in the shared container.go. Add a linter
exclusion so they don't trigger unused warnings on FreeBSD.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Use podman exec to check ip link MTU instead of ncat-based host
connectivity test which does not actually validate pasta options.

Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
@lsm5 lsm5 marked this pull request as draft April 13, 2026 13:06
@lsm5 lsm5 force-pushed the podman6-no-slirp-new branch from 79036ba to a611471 Compare April 13, 2026 13:07
@lsm5 lsm5 marked this pull request as ready for review April 13, 2026 13:14

@Luap99 Luap99 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lsm5

lsm5 commented Apr 13, 2026

Copy link
Copy Markdown
Contributor Author

@mheon @containers/podman-maintainers PTAL

@Honny1 Honny1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Luap99 Luap99 merged commit 05ff49a into podman-container-tools:main Apr 13, 2026
91 checks passed
@lsm5 lsm5 deleted the podman6-no-slirp-new branch April 13, 2026 17:41
@lsm5 lsm5 restored the podman6-no-slirp-new branch April 23, 2026 17:15
@lsm5 lsm5 deleted the podman6-no-slirp-new branch April 24, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.0 Breaking changes for Podman 6.0 kind/api-change Change to remote API; merits scrutiny No New Tests Allow PR to proceed without adding regression tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants