• Thomas Haller's avatar
    core: workaround configuring IPv6 routes with "src" (RTA_PREFSRC) · 2cc18133
    Thomas Haller authored
    Kernel does not allow to add IPv6 routes with "src", as long as the
    corresponding address is still tentative (related bug rh#1457196).
    The workaround for this is cumbersome. First, when we fail to add such a
    route with "pref_src", we guess that it happend due to this issue. In
    that case, nm_ip6_config_commit() returns the list of routes that could
    not be added for the moment (but hopefully can be added later).
    We track this list in NMDevice, and keep trying to merge the routes
    back into ip6_config. In order to not try indefinitely, keep track of a
    timestamp when we tried to add this route for the first time.
    Another uglyness is that pending tentative routes don't explicitly block
    activation. In practice they may do, because for these routes we also have
    an IPv6 address that is still doing DAD, so the IP configuration is
    still pending due to that.
nm-platform.h 56 KB