Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

netdog: set IPv6 accept-ra for primary interface via config rather than sysctl #3159

Merged
merged 2 commits into from
Jun 6, 2023

Commits on Jun 5, 2023

  1. netdog: Add wicked IPv6 config structures to support RA

    This change adds the necessary structures to wicked in order to support
    setting the `accept_ra` IPv6 option via interface config.  Doing this
    in config allows wicked to manage this option and avoids any race
    conditions that may occur between wicked and the kernel when attempting
    to set this via sysctl.
    zmrow committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    91e2cc9 View commit details
    Browse the repository at this point in the history
  2. 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.
    zmrow committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    5ed812d View commit details
    Browse the repository at this point in the history