02-01-2024 10:07 PM
Hello All,
I was labbing MPLS and my ldp adjacencies were just not coming up. I ran a wireshark between the routers and noticed TCP-Retransmission, but between ip addresses on different interfaces. It gotten fixed after I configured OSPF between them but I couldn't find anywhere, why the LDP was opening an adjacency between different interfaces. Is there a reason for this ? Also, is running IGP between more than 3 PE and P routers prerequisity for MPLS (When I labbed MPLS in "PE --- P --- PE" topology, I did not have that problem)? Please see attached picture for bettwe understanding. Interfaces got only IP addresses and "mpls ip" command, nothing else.
Many thanks in advance!
02-01-2024 10:26 PM
Hello @vojtech.skocilas
In MPLS networks, LDP typically uses LDP sessions over TCP to establish label distribution adjacencies between routers. These sessions are often established over loopback interfaces to provide stability and avoid dependency on specific physical interfaces.
It's a common best practice to establish LDP sessions over loopback interfaces. This helps in creating stable adjacencies that survive interface failures.
It's not strictly necessary to run OSPF for LDP to function. LDP relies on the underlying IGP for loopback reachability. In many cases, OSPF is used as the IGP, but other IGPs like IS-IS can also be used. You should ensure that the loopback interfaces on each router are reachable through the IGP. This is crucial for LDP sessions to be established. If loopback interfaces are not reachable, LDP adjacencies won't form.
02-02-2024 12:41 AM - edited 02-02-2024 12:44 AM
Hello @vojtech.skocilas ,
LDP needs to be established between loopbacks to have working MPLS services and in all real world networks these loopbacks are advertised in an IGP.
So the use of an IGP is not strictly required but it is highly recommended.
Note: OSPF is a special case as it needs some tuning for OSPF interfaces with IP addresses that are not /32 in that case you need to use
ip ospf network point-to-point
in loopback interface mode to have OSPF to advertise the correct prefix length (otherwise OSPF advertises it as a /32 and this would be a mismatch with LDP)
Hope to help
Giuseppe
02-02-2024 01:21 AM
Share the config of two routers
Let me take look
Thanks
MHM
02-02-2024 03:12 AM
You need to use Logical Interfaces (loopback) to avoid loose LDP due to underlay issues. OSPF is widely deployed due its nature and cross-vendor supportability, but is not mandatory.
02-16-2024 06:31 AM
Hello, Thanks to all for your replies. One thing that I'm trying to wrap my head around is "LDP needs to be established between loopbacks". I did not find any config option similar to "update source loopback" in LDP/MPLS. Am I coorect in saying that the IGP needs to be established between loopbacks which will then be used by the LDP as well ? Thank you in advance! :]
02-17-2024 08:22 AM
Hi @vojtech.skocilas ,
> I did not find any config option similar to "update source loopback" in LDP/MPLS
You need to use the following command to force the source of the LDP TCP session:
mpls ldp router-id lo0 force
> Am I coorect in saying that the IGP needs to be established between loopbacks which will then be > used by the LDP as well ?
Yes, the IGP provides connectivity between the loopback interfaces on the LDP peering routers.
Regards,
02-18-2024 02:49 AM - edited 02-19-2024 06:57 AM
The ldp have
source and destiantion
and ldp-id
The ldp-id can be LO by using command
mpls ldp router-id lo X force
This ldp-id is appear inside upd packet not appear as source nor destiantion
And hence it not explain the issue here'
The wireshark you share is clear show that the source and destiantion of ldp is not interface IP from same subnet'
So
Show mpls ldp discovery
Shwp mpls ldp neighbor detail
Let see if the LDP is terget or not.
Target LDP can for between two IP not direct connect and it mainly use to pass mpls over gre tunnel.
But again I need to see config and above two command to know exactly what issue here
MHM
02-19-2024 12:50 AM
Hi, again, thank you for your reponses!
@MHM Cisco World The main problem that I had gotten fixed by configuring OSPF between my P and PE routers. The mysterious part for me was, that the LDP tried to establish the connection between interface, that are not connected to each other. As I'm thinking about it now, maybe it was due to that IP being the highest non-loopback IP (did not have Loopback configured) regardless what interface it was configured on ? Perhaps. The bottom line is, the problem is fixed and I'm trying to understand the surroundings now :]
@Harold Ritter Thanks for the command! It seem that LDP takes as its router-id whatever the OSPF router-id is. I configured Loopbacks on my P routers and as soon as OSPF took them as their RID, LDP adjacencies started to use these IPs too. Also, I might misunderstood before, but I thought by saying "LDP needs to be established between loopbacks", it needs to be sourced from Loopback. Doesn't command "mpls ldp router-id lo0 force" just assign the identificator, the "name" of the router ? As it is with OSPF for example where in show ip ospf neighbor you see the neighbor ID but the packets are exchanged between Interface IPs ? Or am I delusional 8-/
Many thanks in advance!
Vojtech
02-19-2024 05:30 AM
Friend I need to see
Show mpls ldp discovery
Shwp mpls ldp neighbor detail
When issue is happened' so remove solution ypu done and make issue appear again.
The issue if I am right is due to two link between routers
But let us wait and check
MHM
02-19-2024 06:38 AM
Hi @MHM Cisco World,
So I managed to recreate the problem by removing the Loopback interfaces. Before I did that, the TCP 646 packets were flying between the Loopback IPs but as soon as I removed the interface, the LDP took over the highest non-loopback IP as its router-id and now the source and destinations were the interface IPs. So the original confusion is clarified :]
Thanks a lot and sorry for not giving you the outputs ;]
Vojtech
02-19-2024 06:56 AM - edited 02-19-2024 07:00 AM
Friend run lab
and indeed the MPLS ID is inside the packet and also not like other IGP that use interface IP as source/destination the MLPS LDP use MPLS ID as source/destination in TCP connection ONLY and LDP use interface IP in UDP connection
thanks
MHM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide