Community discussions

MikroTik App
 
oreggin
Member Candidate
Member Candidate
Topic Author
Posts: 198
Joined: Fri Oct 16, 2009 9:21 pm

RoS7 MPLS LDPv4 over PPP

Mon Nov 11, 2024 4:45 pm

Hi!

I try to bring this up in HUB&Spoke topology, both VPNv4 and VPNv6. Funny thing is VPNv6 over IPv6 peers just works fine. VPNv4 over IPv4 peers is strange in LDP + IGP aspect. One Spoke reachable from LNS and router behind LNS, other doesn't.
Did anybody successfully managed to configuring this? Specifically over L2TP?

This is basically an MPLS LDP issue, not BGP issue.

Cheers,
oreggin
Last edited by oreggin on Wed Nov 13, 2024 2:38 pm, edited 1 time in total.
 
oreggin
Member Candidate
Member Candidate
Topic Author
Posts: 198
Joined: Fri Oct 16, 2009 9:21 pm

Re: RoS7 MPLS LDPv4 over PPP

Tue Nov 12, 2024 7:17 pm

Topology is:
[cisco NCS5500 XR]---{gigabitethernet}---[CCR2004]==={L2TPs}===[Spokes]
CCR2004 is the LNS as of now, later would be CCR2116.

I tried OSPF and RIP as IGP without success. There are 5 Spokes on LNS/HUB. All the five LDP adjacency is DOp (D - DYNAMIC; O - OPERATIONAL; p - PASSIVE), but some of Spokes's LDP remote bindings are inactive:
[oreggin@lns.mtik-test] > /mpls/ldp/remote-mapping/print where dst-address~"10[.]4"                                  
Flags: I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, NEXTHOP, LABEL, PEER
  #    VRF   DST-ADDRESS   NEXTHOP     LABEL      PEER          
714  D main  10.43.69.254  10.3.3.254  impl-null  10.43.69.254:0
716  D main  10.43.54.126  10.3.3.252  impl-null  10.43.54.126:0
718  D main  10.43.0.126   10.3.3.250  impl-null  10.43.0.126:0 
720 ID main  10.44.27.126              impl-null  10.44.27.126:0
722 ID main  10.44.2.254               impl-null  10.44.2.254:0 
From XR box, the last two Spoke are not pings. LDP remote binding shows those doesn't have resolved nexthop(?) :-O
But they have:
[oreggin@lns.mtik-test] > /routing/route/print where dst-address~"10[.]4.*32"
Flags: A - ACTIVE; o - OSPF, a - LDP-ADDRESS, l - LDP-MAPPING; H - HW-OFFLOADED
Columns: DST-ADDRESS, GATEWAY, AFI, DISTANCE, SCOPE, TARGET-SCOPE, IMMEDIATE-GW
    DST-ADDRESS      GATEWAY                                AFI  DISTANCE  SCOPE  TARGET-SCOPE  IMMEDIATE-GW
Ao  10.43.0.126/32   10.3.3.250%<l2tp-user@realm-4>         ip4       110     20            10  10.3.3.250%<l2tp-user@realm-4>
 aH 10.43.0.126/32                                          ip4
 lH 10.43.0.126/32                                          ip4
Ao  10.43.54.126/32  10.3.3.252%<l2tp-user@realm-3>         ip4       110     20            10  10.3.3.252%<l2tp-user@realm-3>
 aH 10.43.54.126/32                                         ip4
 lH 10.43.54.126/32                                         ip4
Ao  10.43.69.254/32  10.3.3.254%<l2tp-user@realm-1>         ip4       110     20            10  10.3.3.254%<l2tp-user@realm-1>
 aH 10.43.69.254/32                                         ip4
 lH 10.43.69.254/32                                         ip4
Ao  10.44.2.254/32   10.3.3.253%<l2tp-user@realm-2>         ip4       110     20            10  10.3.3.253%<l2tp-user@realm-2>
 aH 10.44.2.254/32                                          ip4
 lH 10.44.2.254/32                                          ip4
Ao  10.44.27.126/32  10.3.3.251%<l2tp-user@realm>           ip4       110     20            10  10.3.3.251%<l2tp-user@realm>
 aH 10.44.27.126/32                                         ip4
 lH 10.44.27.126/32                                         ip4
 
MPLS forwarding table:
[oreggin@lns.mtik-test] > /mpls/forwarding-table/print where prefix~"10[.]4"
Flags: L - LDP
Columns: LABEL, VRF, PREFIX, NEXTHOPS
#   LABEL  VRF   PREFIX        NEXTHOPS                                                                
3 L    19  main  10.43.69.254  { label=impl-null; nh=10.3.3.254; interface=<l2tp-user@realm-1> }
5 L    18  main  10.43.54.126  { label=impl-null; nh=10.3.3.252; interface=<l2tp-user@realm-3> }
7 L    17  main  10.43.0.126   { label=impl-null; nh=10.3.3.250; interface=<l2tp-user@realm-4> }
The same shows when I use RIP as IGP. The IPv6/VPNv6 is works like a charm and stable. On IPv4, it is totally random which Spoke can communicate with the XR and which can't. Sometimes all of the Spoke have right LDP binding and mpls forwarding table entries, sometime neither, sometimes just the part of them. Any ideas?

Thanks!
oreggin
Last edited by oreggin on Wed Nov 13, 2024 2:38 pm, edited 1 time in total.
 
oreggin
Member Candidate
Member Candidate
Topic Author
Posts: 198
Joined: Fri Oct 16, 2009 9:21 pm

Re: RoS7 MPLS LDPv4 over PPP

Wed Nov 13, 2024 12:27 pm

Now only two Spokes can communicate:
[oreggin@lns.mtik-test] > /mpls/ldp/remote-mapping/print where dst-address~"10[.]4" label=impl-null 
Flags: X - DISABLED, I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, NEXTHOP, LABEL, PEER
  #    VRF   DST-ADDRESS   NEXTHOP     LABEL      PEER          
721  D main  10.44.2.254   10.3.3.253  impl-null  10.44.2.254:0 
723 ID main  10.43.69.254              impl-null  10.43.69.254:0
725  D main  10.43.54.126  10.3.3.252  impl-null  10.43.54.126:0
727 ID main  10.43.0.126               impl-null  10.43.0.126:0 
729 ID main  10.44.27.126              impl-null  10.44.27.126:0
[oreggin@lns.mtik-test] > /mpls/forwarding-table/print where prefix~"10[.]4"                        
Flags: L - LDP
Columns: LABEL, VRF, PREFIX, NEXTHOPS
  #   LABEL  VRF   PREFIX        NEXTHOPS                                                                
152 L   393  main  10.44.2.254   { label=impl-null; nh=10.3.3.253; interface=<l2tp-DMVPN1@nekinet.hu-1> }
156 L   397  main  10.43.54.126  { label=impl-null; nh=10.3.3.252; interface=<l2tp-DMVPN1@nekinet.hu-2> }
[oreggin@lns.mtik-test] >
If I add static remote bindings for Spokes, then LNS starts forwarding their traffic:
[oreggin@lns.mtik-test] > /mpls/ldp/remote-mapping/print where dst-address~"10[.]4" label=impl-null 
Flags: I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, NEXTHOP, LABEL, PEER
  #    VRF   DST-ADDRESS   NEXTHOP     LABEL      PEER          
  0          10.43.0.126   10.3.3.250  impl-null                
  1          10.43.54.126  10.3.3.252  impl-null                
  2          10.43.69.254  10.3.3.254  impl-null                
  3          10.44.2.254   10.3.3.253  impl-null                
  4          10.44.27.126  10.3.3.251  impl-null                
721 ID main  10.44.2.254               impl-null  10.44.2.254:0 
723 ID main  10.43.69.254              impl-null  10.43.69.254:0
725 ID main  10.43.54.126              impl-null  10.43.54.126:0
727 ID main  10.43.0.126               impl-null  10.43.0.126:0 
729 ID main  10.44.27.126              impl-null  10.44.27.126:0
[oreggin@lns.mtik-test] > /mpls/forwarding-table/print where prefix~"10[.]4"                        
Flags: L - LDP
Columns: LABEL, VRF, PREFIX, NEXTHOPS
  #   LABEL  VRF   PREFIX        NEXTHOPS                                                                
152 L   393  main  10.44.2.254   { label=impl-null; nh=10.3.3.253; interface=<l2tp-DMVPN1@nekinet.hu-1> }
156 L   397  main  10.43.54.126  { label=impl-null; nh=10.3.3.252; interface=<l2tp-DMVPN1@nekinet.hu-2> }
163 L   399  main  10.43.0.126   { label=impl-null; nh=10.3.3.250; interface=<l2tp-DMVPN1@nekinet.hu-3> }
164 L   395  main  10.43.69.254  { label=impl-null; nh=10.3.3.254; interface=<l2tp-DMVPN1@nekinet.hu> }  
165 L   402  main  10.44.27.126  { label=impl-null; nh=10.3.3.251; interface=<l2tp-DMVPN1@nekinet.hu-4> }
[oreggin@lns.mtik-test] > 
It seems to me there is an issue between IGP and LDP because IGP can see Spokes's routes and have resolved nexthops for them but those doesn't translated into the LDP bindings. And it is totally ramdom which route's nexthop get through into LDP remote bindings and which doesn't.

Who is online

Users browsing this forum: No registered users and 3 guests