Skip to content

wait for udev settle before restarting networkd#936

Merged
sknat merged 1 commit intomasterfrom
abasu-fix-systemd-race
Mar 2, 2026
Merged

wait for udev settle before restarting networkd#936
sknat merged 1 commit intomasterfrom
abasu-fix-systemd-race

Conversation

@aritrbas
Copy link
Copy Markdown
Collaborator

@aritrbas aritrbas commented Mar 1, 2026

This PR fixes an intermittent startup race for systemd-networkd environments. When using systemd-networkd, restarting networkd immediately after systemd-udev-trigger can race with udev event processing. This can cause networkd to compute DHCPv6 IAID before ID_NET_NAME_* properties are fully restored, leading to intermittent IAID mismatch.

RCA

systemctl restart systemd-udev-trigger does not guarantee that all queued udev events are fully processed when the command returns. Without waiting for udev completion, systemctl restart systemd-networkd can run too early and intermittently produce IAID mismatch without the ID_NET_NAME_* properties being fully restored.

Fix

Add a udev settle barrier before restarting networkd:

  • restart systemd-udev-trigger
  • udevadm settle --timeout=5
  • restart systemd-networkd

This improves ordering by waiting for udev queue completion.

When using systemd-networkd, restarting networkd immediately after
systemd-udev-trigger can race with udev event processing.

This can cause networkd to compute DHCPv6 IAID before ID_NET_NAME_*
properties are fully restored, leading to intermittent IAID mismatch.

Add a udev settle barrier before restarting networkd:
- restart systemd-udev-trigger
- udevadm settle --timeout=5
- restart systemd-networkd

Signed-off-by: Aritra Basu <aritrbas@cisco.com>
@aritrbas aritrbas self-assigned this Mar 1, 2026
Copy link
Copy Markdown
Collaborator

@sknat sknat left a comment

Choose a reason for hiding this comment

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

lgtm, thanks !

@sknat sknat merged commit 02866c2 into master Mar 2, 2026
5 checks passed
@sknat sknat deleted the abasu-fix-systemd-race branch March 2, 2026 09:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants