Skip to content

Restore pre-upgrade Docker IPv6 iptables behavior#27863

Open
rameshraghupathy wants to merge 1 commit into
sonic-net:masterfrom
rameshraghupathy:docker-ip6tables-fix
Open

Restore pre-upgrade Docker IPv6 iptables behavior#27863
rameshraghupathy wants to merge 1 commit into
sonic-net:masterfrom
rameshraghupathy:docker-ip6tables-fix

Conversation

@rameshraghupathy

Copy link
Copy Markdown
Contributor

The Trixie image uses Docker 28.5.2, while the previous Bookworm environment used Docker 24.0.2. Docker 27+ changed IPv6 bridge/iptables behavior. As a result, dockerd now attempts IPv6 iptables programming during startup. On SmartSwitch first boot this can happen before the kernel netfilter path is fully ready, causing docker.service failure and cascading config/interface failures.

Add --ip6tables=false to restore the pre-upgrade behavior where Docker does not program IPv6 iptables rules.

Why I did it

Docker 28 (introduced during the Trixie upgrade) enables additional IPv6 iptables programming during daemon startup. On SmartSwitch first boot this can race with early platform/kernel initialization and cause docker.service startup failure.

How I did it

Added:

--ip6tables=false

to Docker daemon startup options in:

/etc/systemd/system/docker.service.d/docker.service.conf

This disables Docker IPv6 iptables rule programming during daemon startup.

How to verify it

Do sonic-to-sonic upgrade using sonic-installer install (.34 image)
reboot

Before change:

docker.service failed during first boot,
interfaces-config.service failed
eth0 management IP missing.

After change:

docker.service started successfully,
interfaces-config.service completed successfully,
management eth0 configuration applied correctly.

Which release branch to backport (provide reason below if selected)

  • 202305
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511
  • 202605

Tested branch (Please provide the tested image version)

202511

Description of change

Add --ip6tables=false to Docker daemon startup options to restore the pre-upgrade behavior where Docker does not program IPv6 iptables rules during startup.

Signed-off-by: Ramesh Raghupathy <ram@cisco.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@rameshraghupathy

Copy link
Copy Markdown
Contributor Author

@mssonicbld

Copy link
Copy Markdown
Collaborator

This PR has backport request for branch(es): 202511,202605.
Added label(s) for branch(es) 202511,202605.

---Powered by SONiC BuildBot

@vvolam

vvolam commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

@rameshraghupathy , do the PR #27477 needs a revert of changes with this PR?

@saiarcot895

Copy link
Copy Markdown
Contributor

I thought #27341 resolved the startup issue. Why is this PR needed now?

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