Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
netdog: Set default accept-ra setting via config rather than sysctl
Previously, we set the IPv6 accept-ra setting for the primary interface via `systemd-sysctl` during the wicked install helper. Setting this sysctl via the helper can cause a race condition between the kernel and wicked. The kernel sets a flag indicating a router advertisement has been received (`IF_RA_RCVD`), but only after it completes duplicate address detection and decides whether to send a router solicitation. If the sysctl isn't set by the time duplicate address detection completes, the solicitation doesn't happen and the `IF_RA_RCVD` flag doesn't get set. wicked uses this flag to decide whether or not to kick off the state machine that handles DHCP6. This change adds the accept-ra setting to the interface config if the primary interface is set up via kernel command line. The primary interface is supplied via kernel command line for AWS and VMware variants. This change also removes the accept-ra setting from the `systemd-sysctl` config. Allowing wicked to manage this setting eliminates any chance of races between sysctl/kernel/wicked.
- Loading branch information