Hello!
> Hm, I can't understand this trick. fib_flush always follows
> fib_sync_down (where the DEAD flag is correctly set). But fib_flush
> makes its decisions based on the same flag (fn_flush_list).
We mark only nexthop as dead, the route itself is not marked dead.
Currently this is used only for multipath, but it is easy to change,
allowing routes without alive hops, if they are marked
with proto static.
Note, I am ready to recommend patch doing this for 2.4 just because
it is the best tool to fix bug, noticed by you earlier. And that bug
is vaery bad, showstopper in fact...
> I understand, I only note that similar trick works for
> ip rules :)
Yes, policy rules are bound to names, like firewall rules.
This is bad, but unavoidable, because no automatic systems to establish
policy exist and it is even not clear how should it work, taking
into account that "policy" in presence of dynamically changing picture
is mostly impossible, so that using names remains the only way:
bad, unreliable, but better than all the rest.
As soon as such one is invented, using names becomes bug.
Routes passed through this stage long ago, before linux appeared. :-)
Alexey
|