[PATCH] OSPF: Fix inverted path comparison for external

Ondrej Zajicek santiago at crfreenet.org
Tue Feb 18 22:49:46 CET 2025


On Tue, Feb 18, 2025 at 07:27:10PM +0200, Mantas Mikulėnas wrote:
> > The behavior you are describing:
> >
> > > it was consistently choosing a 10000+ metric path through another area,
> > > despite having a direct 10-metric path to the origin in the same backbone
> > > area.
> >
> > It seems to me that it is in fact a peculiar behavior specified by
> > RFC 2328 16.4.1:
> >
> > >    When multiple intra-AS paths are available to
> > >    ASBRs/forwarding addresses, the following rules indicate
> > >    which paths are preferred. These rules apply when the same
> > >    ASBR is reachable through multiple areas, or when trying to
> > >    decide which of several AS-external-LSAs should be
> > >    preferred.
> > >
> > >    o   Intra-area paths using non-backbone areas are always the
> > >        most preferred.
> > >
> > >    o   The other paths, intra-area backbone paths and inter-
> > >        area paths, are of equal preference.
> >
> >
> That is surprising to say the least... But I guess that is the problem then
> – I'd gone through the RFC to figure out why that was happening, but must
> have misunderstood this part.
> 
> Doesn't it defeat the point of areas (and metrics for that matter), when a
> distant area happens to have 2+ slow links to the backbone?... (One of the
> ASBRs exporting this route happens to be an ABR for the separate area – is
> that something to be avoided?)

This behavior is a workaround for a complex issue related to consistency
of routing, where backbone routers have incomplete information due to
aggregation of non-backbone areas. For details, see RFC 2178 G.7
(and RFC 2328 G.2).

The intuitive idea is that a non-backbone area should be self-cointained,
that is why intra-area paths are preferred to inter-area paths. This is
kind of complicated by the fact that ABRs are members of both (or more)
areas and unclear role of ASBRs who are also ABRs. Perhaps it could help
to have ABRs on the other side of those slow links connecting an area to
the backbone, and keeping those links a part of backbone?

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
"To err is human -- to blame it on a computer is even more so."



More information about the Bird-users mailing list