On Thu, Mar 17, 2016 at 08:29:34AM +0000, Paul Jakma wrote:
> On Wed, 16 Mar 2016, Donald Sharp wrote:
> > Without this patch when I set 'max-metric router-lsa administrative' on a
> > switch, it is no longer considered as part of the spf calculation for
> > routes.
> >
> > Suppose I have
> >
> > source of traffic -----A ---- B ---- C ---- Network I want to talk to.
> >
> > A is running fastpath, B and C are running Quagga ospf.  B has a default
> > route towards A for traffic.
> >
> > If on 'C' I do 'max-metric router-lsa'.  This causes the links cost to be
> > infinite.  On B without this patch the links are ignored
> 
> As intended, yes.

No -- neither RFC2328 nor RFC6987 allow removing a link from SPF
calculations when the cost is 0xffff.

In RFC2328, this is an absence of spec, there is nothing specifying this
behaviour.  I think everyone in this thread agrees on this, if not
consider section E.3 of RFC1583:

   E.3 Obsoleting LSInfinity in router links advertisements

   The metric of LSInfinity can no longer be used in router links
   advertisements to indicate unusable links. This is being done
   for several reasons:  [...]

As for RFC6987, the text is:
   3.  Maximum Link Metric

   Section 2 refers to the cost of all non-stub links as MaxLinkMetric,
   which is a new fixed architectural value introduced in this document.

   MaxLinkMetric
      The metric value indicating that a router-LSA link (see Section 2)
      should not be used for transit traffic.  It is defined to be the
      16-bit binary value of all ones: 0xffff.

Where the key part here is that this is NOT an update to RFC2328 section
16, because (a) 6987 is Informational, and (b) nowhere does the document
state that SPF calculation is modified.

This makes sense if one considers that the entire document is to be read
as "how to get this behaviour from the system", not as "specification
update to get this behaviour".  At maximum pedantry, this is also why
the "should not be used" is not a "SHOULD NOT be used".  What that
sentence says is "when you try to not have traffic on your stub router,
this is the metric value to use.  You may still get traffic, if that
happens you did something really stupid with your network".

I.e., the current Quagga behaviour is in violation of the OSPF spec,
there is no other document allowing it, thus it's a bug which the patch
fixes.  It doesn't matter how widespread 6987 is or not, since even with
6987, Quagga's behaviour is still wrong.

Cheers,


-David

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to