• Ondřej Zajíček's avatar
    Bugfix for routing table breaking bug. · 1567edea
    Ondřej Zajíček authored
    Here is a patch fixing a bug that causes breakage of a local routing
    table during shutdown of Bird. The problem was caused by shutdown
    of 'device' protocol before shutdown of 'kernel' protocol.  When
    'device' protocol went down, the route (with local network prefix)
    From different protocol (BGP or OSPF) became preferred and installed
    to the kernel routing table. Such routes were broken (like
    192.168.1.0/24 via 192.168.1.2). I think it is also the cause
    of problem reported by Martin Kraus.
    
    The patch disables updating of kernel routing table during shutdown of
    Bird. I am not sure whether this is the best way to fix it, I would
    prefer to forbid 'kernel' protocol to overwrite routes with
    'proto kernel'.
    
    The patch also fixes a problem that during shutdown sometimes routes
    created by Bird remained in the kernel routing table.
    1567edea