The Case of the Missing LDP Neighbor

R1 and R2 are cabled up twice to each other via their gig0/0/1 interfaces and their gig0/0/7 interfaces. Each connection is in its own subnet, and each interface configured for OSPF and MPLS.  But while we have 2 OSPF neighbors between them… we only have 1 LDP neighbor.

R1#show mpls int
Interface IP Tunnel BGP Static Operational
Gi0/0/1 Yes (ldp) No No No Yes
Gi0/0/7 Yes (ldp) No No No Yes
R1#

So as you can see from the output of show mpls interface, gig0/0/1 and gig0/0/7 are both configured for MPLS LDP.  Why then if we look below do we see only 1 MPLS LDP neighbor between them?  

What is the problem?  Actually… in this situation there isn’t a problem.  This is actually expected behavior.

R1#sh mpls ldp neighbor
Peer LDP Ident: 10.100.100.2:0; Local LDP Ident 10.100.100.1:0
TCP connection: 10.100.100.2.22592 - 10.100.100.1.646
State: Oper; Msgs sent/rcvd: 184/184; Downstream
Up time: 02:32:11
LDP discovery sources:
GigabitEthernet0/0/1, Src IP addr: 10.1.1.2
GigabitEthernet0/0/7, Src IP addr: 10.1.7.2
Addresses bound to peer LDP Ident:
10.1.1.2 10.100.100.2 10.1.7.2
R1#

Knowledge is Key

I find it common that without specific knowledge we tend to assume things. 

The assumption I see people making here are the assumptions that

  • LDP will neighbor up on the interface similarly to an IGP
  • hellos are sent
  • then it just neighbors up like an IGP – neighboring up specific to that interface. 

This actually isn’t what happens.   What actually happens is during the discovery phase R1 will learn the LDP identifiers of all the devices on each interface (gig0/0/1 and gig0/0/7) sending out LDP Hellos.  On both interfaces this is just the LDP identifier for R2 as 10.100.100.2.  After discovery phase becomes “Yo… let’s neighbor up a TCP session between our two LDP Identifiers”.   

One neighbor. 

Case closed. 



Categories: Fun in the Lab, MPLS, Network Detective, Troubleshooting

Tags: , , ,

2 replies

  1. Nice post. Just add this is the case when using platform based label space (identified by the :0 in the local id), the usual when using MPLS frame mode. For MPLS cell mode (ATM), the label space is per port, so in that case will be parallel session between two neighbors (one per atm link).

Leave a Reply