* Hasso Tepper <[EMAIL PROTECTED]> 2005-11-08 17:14
> OSPF doesn't care if there is connected route or not if !IFF_RUNNING. And
> it doesn't matter if it's demand circuit or usual one. If kernel reports
> link down (!IFF_RUNNING), no any packets are sent over this link -
> hellos, LS updates etc. Hellos and other heartbeat mechanisms are used to
> discover neighbours, not whether link works or not. If link is down, yes,
> it means that neighbour is down as well. But if neighbour is down, it
> doesn't mean that link is down. It just means that neighbour isn't
> considered for routing calculations, but forming adjacencies are still
> attempted via sending periodical hellos (or whatever keepalive packets).

Great, that's how it should be and what I meant actually.

> Note, that it really doesn't matter if routes are removed or marked as
> unusable. Just argument about routing protocols keepalives is completely
> irrelevant.

OK, my point might not be the best, still I think it is valid. The fact
that certain routes have to be excluded from the routing calculation
even if their link is up and running makes it obvious that the routing
daemon can take care of DORMANT_L3DOWN itself and we don't need the
kernel to hide them. Nothing more.

> The only problem is kernel itself
> - routing daemon may add really usable route to the network behind
> directly connected interface, but it will not be used by kernel, because
> there is connected route in the kernel.

We're talking about the auto routes in the main table, right? There
is no reason for the addresses to be configured as a prefix, they
can, and in my opinion should, be added as /~0 if the net is not
guaranteed to be reachable at exactly this interface at all times.
e.g. a user adding the address 1.1.1.1/24 on eth3 clearly says that
1.1.1.0/24 is always behind eth3, no matter what.

If the route is supposed to be non-static then the address should be
added as /32 to avoid the auto route in main table and the broadcast
routes in the local table. Instead the routing daemon should be
responsible of manging 1.1.1.0/24 at all times.

Does this make sense?

Now even if this is not acceptable and you really need a way to
favour routes added by userspace over auto/connected routes then
we should fix this in the routing itself and not with a new
opertional state interface state.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to