• Ondřej Zajíček's avatar
    Nest: Improve keeping track of IPv6 link-local addresses · 81489b79
    Ondřej Zajíček authored
    Most protocols in IPv6 mode use link-local source addresses and expect
    that there is one on each active interface. The old code depended on
    assumption that if there is some IPv6 address on iface, there is also an
    IPv6 link-local address on that iface (added by kernel when the iface
    went up). Unfortunately, that is not generally true, as a configured
    global address sometimes ceases to be tentative (finishes DOD) before
    a link-local address on the same iface. In such case a protocol iface
    (namely RAdv and Babel) is activated, but fails to found link-local
    address and stays in failed state.
    
    The patch fixes that by tracking 'primary' IPv6 link-local address,
    sending iface restart notifications when it changes and making
    protocols ignore iface-up notifications when no such address is
    selected for an iface.
    81489b79