Want to do MPLS, but MPLS is doing me!

Ok, now that I have your attention… :laughing:

Have some weird issue with MPLS. I have 7 routers setup in a test lab, all of them have loopback interfaces with associated IP addresses. OSPF is configured, and is running absolutely fine. All the routes populate, the redundancy/fail over work, everything is just peachy.

I then enable LDP:

/mpls ldp
set distribute-for-default-route=no enabled=yes hop-limit=255 loop-detect=yes lsr-id=192.168.4.248 path-vector-limit=255 transport-address=192.168.4.248 \
    use-explicit-null=yes
/mpls ldp interface
add accept-dynamic-neighbors=yes comment="" disabled=no hello-interval=5s hold-time=15s interface="NET1 - CORE2" transport-address=0.0.0.0
add accept-dynamic-neighbors=yes comment="" disabled=no hello-interval=5s hold-time=15s interface="NET5 - CORE5" transport-address=0.0.0.0

And the same on the other networks (naturally using their respective loopback addresses for lsr-id and transport-address).

What happens is that the LDP Neighbours constantly (about 3 times a second) goes from operational to non operational. Looking at the forwarding table, the same networks constantly populate the forwarding table, but the labels, constantly change (increments and increments and increments). System CPU usage is naturally also going through the roof. The moment I remvoe the LDP Interfaces, everything returns to normal, but naturally, no MPLS routes.

This is on ROS3.18 using mpls/routing-test packages…

Anyone have a clue? :confused:

Just FYI…
Test Network.gif

Aah, nevermind… loop-detect=yes

Love it how you always sort something out the moment you try and make it someone elses problem :smiley:

Chris,

I don’t follow your answer to your own question. In your example loop-detect=yes, so do you mean your solution was to set loop-detect=no?

Regards

Chris Macneill

Yes,

loop-detect=no on all the routers solved the issue for me. I suppose it does make sense in some way as there would definately be loops based on the diagram provided…

BTW - It’s made with Visio 2007 just to answer your PM

Hmmm… this seems counter intuitive. If you were looking at this from a Bridging perspective you would want to detect loops. I guess as MPLS is a routing protocol loops are generally a good thing as alternative routing paths, but it would be nice to know the purpose of the “loop-detect” parameter.

Curiously I have loop-detect=yes in my 3 router setup and it seems to work without any problems, maybe this only becomes an issue with more than 3 routers where there can be multiple loops or maybe it’s a bug?

Regards

Chris Macneill