cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6972
Views
0
Helpful
12
Replies

MPLS LDP Router-ID

mkhalil10
Spotlight
Spotlight

Hi all

According to what I know , the router can only have one LDP router-id configured usually using the command mpls ldp router-id {interface} force

I have one of my PEs configured with a private IP address (loopback 0) and is configured as MPLS LDP router-id

I have a new connection with an uplink provider with Juniper being his terminating device

The provider insists to use public router-id from my side , I configured a new one and advertised it to him through the BGP session we established , but the LDP session never come up

I have tested the same case with Cisco on gns3 , even If he cannot reach my actual router-id , I can use the mpls ldp discovery transport-address {public address} and the session is up , as well as , I configured xconnect using the public router-id and all is fine

Have anyone faced something similar ?

Thanks

BR,

Mohammad

12 Replies 12

Peter Paluch
Cisco Employee
Cisco Employee

Hi Mohammad,

Okay, I suppose you have done the obligatory ping of the LDP RID of the Juniper sourced from your public loopback used as your LDP RID, and it worked. I also assume that this is a direct connection between your router and the provider's Juniper, and that the provider is in fact running LDP toward you.

What do debugs say? Can you run debug mpls ldp transport events and debug mpls ldp transport connections and post the results? Both these commands have an optional interface keyword to limit the output just to a specified interface.

Best regards,
Peter

Hi

I have tested the setup using GNS3 (olive Junos) and I could saw the LDP session coming up (on the test lab):

Cisco Side

interface Loopback0

ip address 1.1.1.1 255.255.255.255

 

interface Loopback1

ip address 212.118.1.1 255.255.255.255

 

mpls label protocol ldp

mpls ldp router-id Loopback0 force

 

interface FastEthernet1/0

ip address 212.118.201.1 255.255.255.0

mpls ldp discovery transport-address 212.118.1.1

mpls ip

 

router bgp 1

bgp log-neighbor-changes

no bgp default ipv4-unicast

neighbor 212.118.201.20 remote-as 20

address-family ipv4

  network 212.118.1.1 mask 255.255.255.255

  neighbor 212.118.201.20 activate

  neighbor 212.118.201.20 send-label

exit-address-family

address-family l2vpn vpls

  neighbor 212.118.201.20 activate

  neighbor 212.118.201.20 send-community both

  neighbor 212.118.201.20 prefix-length-size 2

exit-address-family

 

Juniper Side

 

set interfaces em0 unit 0 family inet address 212.118.201.20/24

set interfaces em0 unit 0 family mpls

 

set interfaces lo0 unit 0 family inet address 20.20.20.20/32

 

set routing-options router-id 20.20.20.20

set routing-options autonomous-system 20

 

set protcols bgp group EBGP local-address 212.118.201.20

set protcols bgp group EBGP family inet labeled-unicast

set protcols bgp group EBGP l2vpn signaling

set protcols bgp group EBGP export MSSK_POL

set protcols bgp group EBGP peer-as 1

set protcols bgp group EBGP neighbor 212.118.201.1

 

set protocols ldp transport-address router-id

 

set policy-options prefix-list MSSK_LIST 20.20.20.20/32

 

set policy-options policy-statement MSSK_POL from prefix-list MSSK_LIST

set policy-options policy-statement MSSK_POL then accept

 

Verifications

R1#show mpls interfaces

Interface              IP            Tunnel   BGP Static Operational

FastEthernet1/0        Yes (ldp)     No       Yes No     Yes

FastEthernet2/0        Yes (ldp)     No       No  No     Yes

 

R1#show ip bgp summary

BGP router identifier 212.118.1.1, local AS number 1

BGP table version is 15, main routing table version 15

2 network entries using 288 bytes of memory

2 path entries using 160 bytes of memory

2/2 BGP path/bestpath attribute entries using 272 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 744 total bytes of memory

BGP activity 3/1 prefixes, 8/6 paths, scan interval 60 secs

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

212.118.201.20  4           20      31      34       15    0    0 00:12:47        1

 

R1#show ip bgp

BGP table version is 15, local router ID is 212.118.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

              x best-external, a additional-path, c RIB-compressed,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

 

     Network          Next Hop            Metric LocPrf Weight Path

*>  20.20.20.20/32   212.118.201.20                         0 20 i

*>  212.118.1.1/32   0.0.0.0                  0         32768 i

 

R1#sh bgp l2vpn vpls all summary

BGP router identifier 212.118.1.1, local AS number 1

BGP table version is 1, main routing table version 1

 

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

212.118.201.20  4           20      32      35        1    0    0 00:13:15        0

 

R1#show mpls ldp neighbor

    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 1.1.1.1:0

        TCP connection: 2.2.2.2.26760 - 1.1.1.1.646

        State: Oper; Msgs sent/rcvd: 71/63; Downstream

        Up time: 00:50:34

        LDP discovery sources:

          FastEthernet2/0, Src IP addr: 192.168.12.2

        Addresses bound to peer LDP Ident:

          192.168.12.2    2.2.2.2

    Peer LDP Ident: 20.20.20.20:0; Local LDP Ident 1.1.1.1:0

        TCP connection: 20.20.20.20.646 - 212.118.1.1.11719

        State: Oper; Msgs sent/rcvd: 211/180; Downstream

        Up time: 00:29:28

        LDP discovery sources:

          FastEthernet1/0, Src IP addr: 212.118.201.20

        Addresses bound to peer LDP Ident:

          212.118.201.20

Hi Mohammad,

So now when you confirmed in your lab that you can get your LDP session up in this scenario, can you have a look at the debug and show commands with your service provider Nagendra and I have asked you for?

Best regards,
Peter

Hi please find the debug output below

 

Aug 10 08:28:24.308: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:28.276: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:30.296: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:28:30.300: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:28:30.300: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:28:32.828: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:37.380: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:41.196: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:43.740: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:28:43.740: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:28:43.740: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:28:45.556: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:50.096: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 11:28:50: %SYS-6-EXIT_CONFIG: User malqudah has exited tty session 3(212.35.70.177)
Aug 10 08:28:51.588: ldp: Scan listening TCBs
Aug 10 08:28:53.892: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:28:57.336: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:28:57.336: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:28:57.336: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:28:57.740: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:01.976: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:05.804: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:10.708: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:11.012: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:29:11.012: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:29:11.012: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:29:14.904: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:19.032: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:23.908: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:24.860: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:29:24.860: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:29:24.860: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:29:28.884: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:33.268: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:37.696: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:39.484: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:29:39.484: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:29:39.484: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:29:41.652: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:45.816: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:50.304: ldp: Send ldp hello; POS9/0/0, src/dst 195.229.16.152/224.0.0.2, inst_id 0
Aug 10 08:29:51.396: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF
Aug 10 08:29:51.396: ldp: ldp Hello from 195.229.11.13 (195.229.11.13:0) to 212.118.1.222, opt 0xF
Aug 10 08:29:51.396: ldp: dhcb intvl mbr cnt = 1, intvl = 5000, target = 195.229.11.13
Aug 10 08:29:51.608: ldp: Scan listening TCBs

195.229.11.13 is his LDP router-id , 212.118.1.222 is my transport address (configured using the mpls ldp discovery transport-address command under the interface) , 195.229.16.152 is my physical interface IP address , and .153 is his IP address

Thanks

BR,

Mohammad

Mohammad,

According to the outputs, it seems as if your service provider was trying to set up a targeted LDP session - notice that the debug says:

Aug 10 08:28:30.296: ldp: Rcvd ldp dir hello to 212.118.1.222 from 195.229.11.13 (195.229.11.13:0); POS9/0/0; opt 0xF

It may be necessary to set up a targeted LDP session back to your SP. Can you try doing that?

Best regards,
Peter

Yes , I have defined an access-list

access-list 59 permit host 195.229.11.13

mpls ldp discovery targeted-session from 59

The strange issue is that the access-list was counting , but the LDP neighbor never came up

BR,

Mohammad

Mohammad,

It is possible that you actually need to configure a targeted session back to your SP. If the SP expects that you send targeted hellos to it then it may not accept your multicast hellos.

So if possible please try adding your SP's transport address as a static LDP neighbor. Thanks!

Best regards,
Peter

The SP allowed my loopback 0 interface (which is my actual MPLS LDP router-id) in his LDP filter and the LDP neighborship is up now , but the issue now is we are trying to establish xconnect

In the show mpls ldp neighbors output , I can see two targeted sessions from the SP , one is directed to the private IP (the router-id) which is in the active state , and the other one is for my public address which I configured under the interface using mpls ldp discovery transport-address x.x.x.x command which is in the passive state

According to him , he is writing the public IP address in the xconnect configuration but seems not working

I have tried to clear the session but with no luck !

I tried to configured the command mpls ldp neighbor x.x.x.x targeted ldp and nothing as well

Anyone can advise?

Thanks

BR,

Mohammad
 

What is so weird is that I have configured the mpls ldp discovery transport-address x.x.x.x and am still seeing the ldp hello messages from my side sourced from the physical IP address , why?

BR,

Mohammad

Mohammad,

Can you perhaps post the current configuration and relevant show commands? A lot has changed since you originally created this thread so we need to be updated about the current state of configuration and the runtime status.

Thanks!

Best regards,
Peter
 

Hi and thanks for the reply

What I have noticed is that am sending (multicast ldp hello messages from my side) and the SP is sending targeted ldp hello messages and I think that is the issue that prevents the neighbor ship from coming up !

interface POS9/0/0
 description Etisalat_Second_Link_through_Orange
 mtu 1544
 ip address 195.229.16.152 255.255.255.254
 encapsulation ppp
 mpls ip
 mpls label protocol ldp
 mpls ldp discovery transport-address 212.118.1.222
 mpls mtu 1536
 mpls bgp forwarding

 

BR,

Mohammad

Nagendra Kumar Nainar
Cisco Employee
Cisco Employee

Hi,

In addition to what Peter asked, can you also get "show mpls ldp discovery"?. Do you see hellos sent and received on the interface?.

 

-Nagendra

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: