Description

The address listed in the computed ERO (Explicited Routing Object) should be interface's primary address, otherwise the LSP may not be UP.

Symptoms

In the following example, LSP r1-r2 cannot be UP.

Topology:

R1 ge-0/0/1 <------> ge-0/0/2 R 2

R1 lo0: 172.16.1.1
ge-0/0/1: 192.168.0.1/30, 10.0.12.1/30

R2 lo0: 172.16.1.2
ge-0/0/2 192.168.0.2/30, 10.0.12.2/30

R1 and R2 use Ge- interface to connect each other. On each Ge- interface, there are two addresses configured: 192.168.0.x and 10.0.12.x. 

On R1, we config a LSP to R2 (r1-r2). However, this LSP is not able to be UP.

root@mx1_re> show mpls lsp extensive 
Ingress LSP: 1 sessions
 
172.16.1.2
  From: 172.16.1.1, State: Dn, ActiveRoute: 0, LSPname: r1-r2
  ActivePath: (none)
  LSPtype: Static Configured, Penultimate hop popping
  LoadBalance: Random
  Follow destination IGP metric
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
  LSP Self-ping Status : Enabled
  Primary                    State: Dn
    Priorities: 7 0
    SmartOptimizeTimer: 180
    Flap Count: 0
    MBB Count: 0
    Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1)
192.168.0.2 S 
    2 Jan  5 20:44:23.073 Originate Call
    1 Jan  5 20:44:23.073 CSPF: computation result accepted  192.168.0.2
  Created: Wed Jan  5 20:43:24 2022
Total 1 displayed, Up 0, Down 1

Solution

From ERO list, LSP r1-r2 will use 192.168.0.2 as the next hop:

Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1)
192.168.0.2  S 

However, as 10.0.12.2 is the primary address (lowest address) of R2's ge-0/0/2 by default, R2 replies resv to R1 by using 10.0.12.2 rather than 192.168.0.2. R1 detects this error and generates ResvErr.

Jan  5 20:53:08.701009 [ <master> (I) test ] RSVP recv Resv 10.0.12.2->10.0.12.1 Len=152 ge-0/0/1.0 flags=0x1 ttl=255
Jan  5 20:53:08.701014   MessageID Len 12 Msg_ID: 18 Epoch: 2693356 (Ack Desired)
Jan  5 20:53:08.701020   Session7 Len 16 172.16.1.2(port/tunnel ID 25992 Ext-ID 172.16.1.1) Proto 0
Jan  5 20:53:08.701025   Hop      Len 12  10.0.12.2/0x80000003
Jan  5 20:53:08.701028   Time     Len  8 1200000 ms
Jan  5 20:53:08.701032   LspAttributes Len 12 flags 0x00400000
Jan  5 20:53:08.701035   Style    Len  8 FF
Jan  5 20:53:08.701048   Flow     Len 36 rate 0bps size 0bps peak Infbps m 20 M 1500
Jan  5 20:53:08.701052   Filter7  Len 12 172.16.1.1(port/lsp ID  2)
Jan  5 20:53:08.701055   Label    Len  8  3
Jan  5 20:53:08.701061   RecRoute Len 20  10.0.12.2(Label=3)
Jan  5 20:53:08.701077 [ <master> (I) test ] RSVP error, recv resv no path info Resv 10.0.12.2->10.0.12.1 Len=152
Jan  5 20:53:08.701100 [ <master> (I) test ] RSVP error, originate ResvErr ResvErr 10.0.12.1->10.0.12.2 Len=8  code 4 subcode 0
Jan  5 20:53:08.701107 [ <master> (I) test ] RSVP send ResvErr 10.0.12.1->10.0.12.2 Len=104 ge-0/0/1.0 flags=0x1 ttl=254


Refer to the documentation on primary (Address on Interface) . To address this issue, use constraint path to make the ERO choose interface's primary address.

Modification History

2022-10-27: Minor, non-technical update.