What I was asking was whether you are seeing multi-hop micro-forwarding
loops using the symmetric condition & PLSN during the transition on the
real network topologies that you have.

Ah. I understand now. Yes I do see the occasional multi-hop loop in real
topologies using the symmetric condition.

OK. But the frequency (number of micro-loops * number of links affected)
is better with the symmetric condition than with the asymmetric?

Yes. We loose the multi-hop loops (in general... see below), but gain a lot
more single hop loops becuase the stricter condition results in more C-C pairs.

I was asking about the max-costing because that is something that does
occur in networks to cause asymmetric link costs.

If the networks with asymmetric link costs that you have seem to have
fewer unresolved micro-loops across fewer links using the symmetric
condition, then that's a good start to think that the symmetric
condition is the way to go. To be even more comfortable with that,
it'd be very good to see if similar behavior holds with links costed out
causing asymmetric costs. I imagine that the primary case to consider
might be when an entire router's links are all costed-out, as in
RFC3137. An operator taking a link out via costing would probably do it
in both directions; similarly, the costing out of a link due to lack of
an LDP session should occur in both directions - though it needn't.

Understand. So I should try going through each node, setting all its link
costs to be infinite in the direction from that node, and looking for
loops? Is that what you mean? I'll put it on the list of things to try.

I'm sure you've got a long list :-) That's basically what I mean/think
makes the most sense.

OK

I just tried a randomly generated topology with all (very) asymmetric
links and managed to produce a 9 hop loop, which traversed 6 type C
nodes, 2 type As and a type B!!!

Excellent! I assume this was using the symmetric condition- because
there are type As and a type B in it?

Um... what am I missing here? It is still possible to get type A and B
with the asymmetric condition isn't it?

What does it look like using the asymmetric one?

I get the loop with both sym and asym conditions.

I'm a bit confused then. A multi-hop loop with the asymmetric condition
shouldn't go through type A or type B nodes. That's the point of
changing the condition to be stricter.

Yes, but it can still be fed back into it by a chain of C's

So in the example I gave, for a destination of node 7 (which is at the
other end of a link connected to node 22) we have nodes 3 & 19 which are
type A even with the asym condition.

After the failure 3's route to 7 is via 19 (and hence 19 is downstream),
but before the failure 19 is also downstream, since 19's route to 7 is via
nodes 2 and 26. hence 19 is a safe neighbor.

Similarly, after the failure 19's route to 7 is via 8 (hence 8 is
downstream). Before the failure 19's route is via 2 (as before), but 8 has
a path via 26. hence it is downstream of 19 both before and after the failure.

Sorry its overly complex. I'm sure it would be possible to extract a subset
which had the required properties.

Mike

Regardless of whether a node is using the old topology or the new
topology, with the asymmetric condition, a type A or a type B router will
use a next-hop between DELAY_SPF and DELAY_TYPEB will be closer to the
destination. This guarantees monotonically decreasing distance, so that
loops cannot form.

Thus, a multi-hop micro-loop could go through a lot of type C's, but as
soon as it hits a type B or type A, I'd think it would exit the loop.

Maybe I'm missing something. I guess it might be possible for a type C to
send back up , but I'm not seeing how. Consider a type A node A and a
type C node C - where C is the first type C node encountered on A's
next-hop path to D (where this path is that used between DELAY_SPF and
DELAY_TYPEB).

We know that:
D_old(A, D) > D_old(C,D)
D_new(A, D) > D_new(C, D)

Can you describe the topology you're using? I'm not picturing how one
could get the multi-hop micro-loop between type A, B and C when using the
asymmetric condition.

Do you think we can adequately describe the topology conditions that can
lead to the multi-hop micro-loop problem with the symmetric condition?

So at time 1 (when the type C's change), type A MUST forward according
to new topology, type B according to the temporary type B next hop, and
the type C either according to old or new topology (since they are in
the process of changing)

So, yes, we can get multi-hop loops with the asymmetric algorithm!
Mike