Hi Alvaro,

On Thu, 14 Apr 2016, Alvaro Retana (aretana) wrote:

Paul:

Hi!

You and I have had a similar conversation off-list...

Indeed, thanks for your help there. ;)

However, it is a fact that the behaviour desired by RFC6987 can be universally achieved with metrics of 0xfffe or lower. That was true before any misinterpretation, and is still true now.

Both MaxLinkMetric and 0xfffe are "very large numbers" (VLN), which means that if we use 0xfffe, or any other VLN (including MaxLinkMetric), then we should get "the same" behavior.

I wrote ""the same"" because the result can vary depending on which VLN a router in the network uses with respect to another router that may also want to be a stub. For example, given 2 paths to a destination, if a router uses 0xfffe (or any other VLN which is not MaxLinkMetric) it should become a stub. However, if a router on the second path decides to use MaxLinkMetric, then the first one (the one using 0xfffe) will become transit. We can obviously expand that example to n number of links and n values of VLN and end up with a wide variety of results -- which will not be deterministic unless we know which VLN each router used in each case...

Indeed.

However, this can happen with consistent use of 0xffff too. If both are 0xffff, then a 3rd party router can still choose /either/ to route via, or both. Etc.

So, whether a router will or will not be used for transit will depend on the network topology, when a "transit is still OK" approach is still used.

Also, this does not take the original link-metric into account either, right? It could be that the links on the one path originally were 100 the other 1000. Clearly, if both now go stub, you'd want 3rd parties to prefer the "originally 100" one, but that information is lost.

So, if this were a consideration, wouldn't it be better to do stub-router with a "Add X to existing cost of all the links" approach? Where X is larger than the largest path cost, but less than the difference to 0xffff?

When we originally wrote rfc3137 (the precursor of rfc6987), we chose MaxLinkMetric because it guarantees the stub behavior (no other VLN is higher), unless an alternate path does not exist. Clearly we took advantage of how the metric is treated in the current OSPF specification (starting with rfc1583). If we has used 0xfffe (or any other VLN) then the behavior wouldn't have been guaranteed (using the current OSPF spec).

Ah, ok.

Though, you didn't want to guarantee a router wouldn't be used... and as above judging the cost of alternate paths gets tricky with... Anyway. ;)

0xffff today will not universally be recognised as meaning "you can still calculate transit paths out of a router using that link". 0xfffe or below will.

That is the reality today.

True, but only for pre-rfc1583 routers.

Well, Quagga has treated 0xffff links as infinite / strictly-no-transit out of a vertex for 9 years now.

regards,
--
Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
Fortune:
"I don't think they could put him in a mental hospital.  On the other
hand, if he were already in, I don't think they'd let him out."

_______________________________________________
OSPF mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ospf

Reply via email to