8000 RHEL RPM: require nftables by robmry · Pull Request #1262 · docker/docker-ce-packaging · GitHub
[go: up one dir, main page]

Skip to content

Conversation

robmry
Copy link
Contributor
@robmry robmry commented Oct 4, 2025

- What I did

The dynamically linked RHEL dockerd doesn't strictly need a dependency on nftables (because it doesn't link against libnftables.so). So, commit 1a73c6b didn't make it one.

But, it'll already be installed in most places anyway, it'll be required when we deprecate iptables support, and it's needed to try out the experimental nftables support.

So, make it a hard dependency now.

- Description for the changelog

- FIXME - no additional note needed here, but remove "apart from on RHEL" from https://github.com/docker/docker-ce-packaging/pull/1256

The dynamically linked RHEL dockerd doesn't strictly need
a dependency on nftables (because it doesn't link against
libnftables.so). So, commit 1a73c6b didn't make it one.

But, it'll already be installed in most places anyway, it'll
be required when we deprecate iptables support, and it's
needed to try out the experimental nftables support.

So, make it a hard dependency now.

Signed-off-by: Rob Murray <rob.murray@docker.com>
@robmry robmry self-assigned this Oct 4, 2025
@robmry robmry requested a review from thaJeztah October 4, 2025 13:59
Copy link
Member
@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

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

LGTM

@thaJeztah thaJeztah merged commit 4fe9f66 into docker:master Oct 4, 2025
38 checks passed
%if %{undefined _no_libnftables}
# When dockerd is not linked against libnftables, the nftables package
# is not a hard requirement.
Requires: nftables
Copy link
Contributor

Choose a reason for hiding this comment

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

Not an expert on the nftables, so might be a silly question but Is it safe to unconditionally require nftables, even for systems that don't use it?

My worry is that just installing Docker could alter the configuration of the user system and e.g. stop using the existing iptables rules, or resulting in some conflict between iptables and nft?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't think there's any conflict ... nftables, iptables-nft, and iptables can all be installed on a host.

Using iptables (legacy) and nftables / iptables-nft together in the same netns (mixing xtables and nftables) gets messy. But, even if a host's using legacy iptables, installing nftables won't cause a problem unless both are used.

And, this is RHEL 10 - so it'll probably have nftables, might have iptables-nft, and it's unlikely to have iptables-legacy (because they've moved the kernel module to kernel-modules-extra which "Provides kernel modules for rare hardware. Loading of the module is disabled by default.").

Copy link
Member

Choose a reason for hiding this comment

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

We also discussed the next steps after this; once our nftables implementation is proven to be complete, we can move the iptables package to be "Recommended" or even less ("Suggests"), or could even be removed from the list.

Copy link
Contributor Author
@robmry robmry Oct 6, 2025

Choose a reason for hiding this comment

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

And, this is RHEL 10 ...

That was wrong, it's all-RHEL, not CentOS/Fedora because _no_libnftables is only defined for RHEL. But, even so, I think the change is safe.

Copy link
Contributor

Choose a reason for hiding this comment

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

We also discussed the next steps after this; once our nftables implementation is proven to be complete, we can move the iptables package to be "Recommended" or even less ("Suggests"), or could even be removed from the list.

In Debian at least, it sounds like nftables should be Recommends ("found in all but unusual installations") and iptables should be either Suggests or dropped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0