Policy to Control LSP Selection

Task

  • Create two LSPs from PE1 to PE2 via two different paths P1-P2-P3 and P4-P5-P6, name them as lsp-1 and lsp-2, and similarly two LSPs in the opposite direction. LSP names can be the same, although a different ones will be easier for identification.
  • Create two static routes for 10.1.1.0 and 10.1.2.0 on PE1, and two static routes for 10.1.3.0/24 and 10.1.4.0/24 on PE2. Advertise them into BGP.
  • Create a policy so that PE1 chooses lsp-1for 10.1.3.0/24 and lsp-2 for 10.1.4.0/24. Likewise, PE2 chooses lsp-1 for 10.1.1.0/24 and lsp-2 for 10.1.2.0/24

Configuration

Create two LSPs from PE1 to PE2

lab@PE1> show configuration protocols mpls 
label-switched-path lsp-1 {
    to 192.168.1.2;
    primary one;
}
label-switched-path lsp-2 {
    to 192.168.1.2;
    primary two;
}
path one {
    192.168.5.1 loose;
    192.168.5.2 loose;
    192.168.5.3 loose;
}
path two {
    192.168.5.4 loose;
    192.168.5.5 loose;
    192.168.5.6 loose;
}
interface all;
interface em0.0 {
    disable;
}

Create two static routes, and advertise into BGP

lab@PE1> show configuration routing-options 
static {
    route 10.1.1.0/24 receive;
    route 10.1.2.0/24 receive;
}

lab@PE1> show configuration protocols bgp 
group my-int-group {
    type internal;
    local-address 192.168.1.1;
    export export-static;
    neighbor 192.168.1.2;
}

Create a policy to choose different LSPs for different destinations

                                         
lab@PE1> show configuration policy-options 

policy-statement lsp-policy {
    term lsp-1 {
        from {
            protocol bgp;
            route-filter 10.1.3.0/24 exact;
        }
        then {
            install-nexthop lsp lsp-1;
            accept;
        }
    }
    term lsp-2 {
        from {
            protocol bgp;
            route-filter 10.1.4.0/24 exact;
        }
        then {
            install-nexthop lsp lsp-2;
            accept;                     
        }
    }
}

lab@PE1> show configuration routing-options 
forwarding-table {
    export lsp-policy;
}

Verification

Verify that LSPs are up via different paths

lab@PE1> show mpls lsp ingress              
Ingress LSP: 2 sessions
To              From            State Rt P     ActivePath       LSPname
192.168.1.2     192.168.1.1     Up     0 *     one              lsp-1
192.168.1.2     192.168.1.1     Up     0 *     two              lsp-2
Total 2 displayed, Up 2, Down 0

lab@PE1> show mpls lsp ingress extensive 
Ingress LSP: 2 sessions

192.168.1.2
  From: 192.168.1.1, State: Up, ActiveRoute: 0, LSPname: lsp-1
  ActivePath: one (primary)
  LSPtype: Static Configured
  LoadBalance: Random
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary   one              State: Up
    Priorities: 7 0
    SmartOptimizeTimer: 180
    Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 4)
 172.22.210.2 S 172.22.201.2 S 172.22.206.2 S 172.22.212.1 S 
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
   19 Aug  8 00:52:05.153 Selected as active path
   18 Aug  8 00:52:05.151 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
   17 Aug  8 00:52:05.151 Up
   16 Aug  8 00:52:05.136 Originate Call
   15 Aug  8 00:52:05.136 CSPF: computation result accepted  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
   14 Aug  8 00:52:05.134 Clear Call
---(more)---

Verify that the static routes are learnt via BGP

lab@PE1> show route advertising-protocol bgp 192.168.1.2 

inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 10.1.1.0/24             Self                         100        I
* 10.1.2.0/24             Self                         100        I

lab@PE1> show route receive-protocol bgp 192.168.1.2        

inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 10.1.3.0/24             192.168.1.2                  100        I
* 10.1.4.0/24             192.168.1.2                  100        I

Verify the next hops are via different LSPs

lab@PE1> show route protocol bgp       

inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.1.3.0/24        *[BGP/170] 00:39:09, localpref 100, from 192.168.1.2
                      AS path: I
                    > to 172.22.210.2 via em1.210, label-switched-path lsp-1
10.1.4.0/24        *[BGP/170] 00:39:09, localpref 100, from 192.168.1.2
                      AS path: I
                      to 172.22.211.2 via em2.211, label-switched-path lsp-2

lab@PE1> traceroute 10.1.3.1 
traceroute to 10.1.3.1 (10.1.3.1), 30 hops max, 40 byte packets
 1  172.22.210.2 (172.22.210.2)  0.492 ms  0.323 ms  0.272 ms
     MPLS Label=301488 CoS=0 TTL=1 S=1
 2  172.22.201.2 (172.22.201.2)  0.434 ms  0.435 ms  0.421 ms
     MPLS Label=301344 CoS=0 TTL=1 S=1
 3  172.22.206.2 (172.22.206.2)  0.634 ms  0.546 ms  0.613 ms
     MPLS Label=301312 CoS=0 TTL=1 S=1
 4  * * *
^C
lab@PE1> traceroute 10.1.4.1    
traceroute to 10.1.4.1 (10.1.4.1), 30 hops max, 40 byte packets
 1  172.22.211.2 (172.22.211.2)  1.015 ms  0.663 ms  0.264 ms
     MPLS Label=301248 CoS=0 TTL=1 S=1
 2  172.22.203.2 (172.22.203.2)  0.444 ms  0.409 ms  0.435 ms
     MPLS Label=301216 CoS=0 TTL=1 S=1
 3  172.22.204.2 (172.22.204.2)  0.632 ms  0.591 ms  1.039 ms
     MPLS Label=301104 CoS=0 TTL=1 S=1
 4  * * *

Tunnelling LDP over RSVP

Featured

Task

In this lab, we will demonstrate the configuration of tunnelling LDP over RSVP, and verification steps.

Topology

We use the standard topology (PE1, 6 x P routers and PE2). For simplicity, we only use the path between PE1 – P1 – P2 – P3 – PE2 by shutting down interfaces between PE1 and P4, and between P6 and PE2.

 

Configuration

The steps involved are:

On all P routers, we need Enable RSVP. We only need to enable interfaces between P routers. For convenience, it make no difference if we enable all interfaces because PE does not run RSVP.

p1@vr-device:p1> show configuration protocols rsvp 
interface all;

Enable ldp-tunneling for the RSVP LSP.

p1@vr-device:p1> show configuration protocols mpls 
no-cspf;
label-switched-path p1-to-p3 {
    from 192.168.5.1;
    to 192.168.5.3;
    ldp-tunneling;
}
interface all;

Enable LDP on interface(s) facing PE, AND the loopback address.

p1@vr-device:p1> show configuration protocols ldp 
interface em1.210;
interface lo0.1;

On PE router, we need to enable MPLS, and LDP on interfaces facing the P routers

 
lab@PE1> show configuration protocols mpls 
interface all;

lab@PE1> show configuration protocols ldp 
/* same as interface all */
interface em1.210;
interface em2.211;
interface lo0.0;

Verification

Verify LDP neighbor relationship on PE1

lab@PE1> show rsvp neighbor 
RSVP not configured

lab@PE1> show ldp neighbor 
Address            Interface          Label space ID         Hold time
172.22.210.2       em1.210            192.168.5.1:0            12

On P1, verify LDP neighbor relationship with PE1, and RSVP relationship with P2, and status of MPLS LSP

p1@vr-device:p1> show rsvp neighbor 
RSVP neighbor: 1 learned
Address            Idle Up/Dn LastChange HelloInt HelloTx/Rx MsgRcvd
172.22.201.2         10  1/0       19:51        9   134/134  58

p1@vr-device:p1> show ldp neighbor 
Address            Interface          Label space ID         Hold time
192.168.5.3        lo0.1              192.168.5.3:0            41
172.22.210.1       em1.210            192.168.1.1:0            10

p1@vr-device:p1> show mpls lsp 
Ingress LSP: 1 sessions
To              From            State Rt P     ActivePath       LSPname
192.168.5.3     192.168.5.1     Up     0 *                      p1-to-p3
Total 1 displayed, Up 1, Down 0

Egress LSP: 1 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.5.1     192.168.5.3     Up       0  1 FF       3        - p3-to-p1
Total 1 displayed, Up 1, Down 0

Transit LSP: 0 sessions
Total 0 displayed, Up 0, Down 0

By default, only BGP traffic can use MPLS table to resolve the next hop. IGP can not. To be able to force tracing between PE1 and PE2 loopback via LSP path, we need to enable the following command.

lab@PE1# edit protocols mpls 
set traffic-engineering bgp-igp

Verify with ping and trace, and note the labels used by the packet. As P1 is the one that does the LDP over RSVP tunnelling, it does not only swap the incoming label 300912 with an outgoing label of 300704 (LDP LSP label) but also pushes another label of 300768 (RSVP LSP label) on top.

lab@PE1> traceroute 192.168.1.2 source 192.168.1.1 
traceroute to 192.168.1.2 (192.168.1.2) from 192.168.1.1, 30 hops max, 40 byte packets
 1  172.22.210.2 (172.22.210.2)  0.451 ms  0.328 ms  0.281 ms
     MPLS Label=300912 CoS=0 TTL=1 S=1
 2  172.22.201.2 (172.22.201.2)  0.448 ms  0.448 ms  0.496 ms
     MPLS Label=300768 CoS=0 TTL=1 S=0
     MPLS Label=300704 CoS=0 TTL=1 S=1
 3  172.22.206.2 (172.22.206.2)  0.634 ms  0.621 ms  0.808 ms
     MPLS Label=300704 CoS=0 TTL=1 S=1
 4  192.168.1.2 (192.168.1.2)  0.913 ms  0.898 ms  0.796 ms

lab@PE1> show route forwarding-table destination 192.168.1.2 
Routing table: default.inet
Internet:
Destination        Type RtRef Next hop           Type Index NhRef Netif
192.168.1.2/32     user     1 172.22.210.2      Push 300912   598     4 em1.210

p1@vr-device:p1> show route forwarding-table label 300912 
Logical system: p1
Routing table: default.mpls
MPLS:
Destination        Type RtRef Next hop           Type Index NhRef Netif
300912             user     0 172.22.201.2      Swap 300704, Push 300768(top)   974     2 em3.12

p2@vr-device:p2> show route forwarding-table label 300768 
Logical system: p2
Routing table: default.mpls
MPLS:
Destination        Type RtRef Next hop           Type Index NhRef Netif
300768             user     0 172.22.206.2      Pop     971     2 em3.23
300768(S=0)        user     0 172.22.206.2      Pop     972     2 em3.23

p3@vr-device:p3> show route forwarding-table label 300704 
Logical system: p3
Routing table: default.mpls
MPLS:
Destination        Type RtRef Next hop           Type Index NhRef Netif
300704             user     0 172.22.212.1      Pop     955     2 em2.212
300704(S=0)        user     0 172.22.212.1      Pop     956     2 em2.212

Verify that CE1 can ping CE2 and the path is via CE1 – PE1 – P1 – P2 – P3 – PE2. Note that in the trace output, we can not see the intermediate hops between PE1 and PE2 (i.e. P1, P2, P3) because these router do not run BGP and have no route back to the CE1.

lab@PE2> ping 192.168.11.1 source 192.168.11.2 routing-instance ce2 count 3    
PING 192.168.11.1 (192.168.11.1): 56 data bytes
64 bytes from 192.168.11.1: icmp_seq=0 ttl=59 time=1.694 ms
64 bytes from 192.168.11.1: icmp_seq=1 ttl=59 time=1.128 ms
64 bytes from 192.168.11.1: icmp_seq=2 ttl=59 time=1.106 ms

--- 192.168.11.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.106/1.309/1.694/0.272 ms

lab@PE2> trace 192.168.11.1 source 192.168.11.2 routing-instance ce2    
traceroute to 192.168.11.1 (192.168.11.1) from 192.168.11.2, 30 hops max, 40 byte packets
 1  10.0.11.1 (10.0.11.1)  0.969 ms  0.412 ms  0.471 ms
 2  * * *
 3  * * *
 4  * * *
 5  172.22.210.1 (172.22.210.1)  1.367 ms  1.358 ms  1.181 ms
 6  192.168.11.1 (192.168.11.1)  1.397 ms  1.468 ms  1.240 ms

Reference

http://www.juniper.net/techpubs/en_US/junos10.4/topics/example/vpn-ldp-over-rsvp-topology-configuring.html

MPLS LSP Protection Features

Featured

One of the key advantages of MPLS is the fast convergence after a link or node failure. In this post, I will go through various LSP protection features supported on Juniper router.

Secondary path protection

This following config creates a LSP path to 192.168.1.2 (other PE) that goes via first strict hop of 172.22.210.2 (the next hop have to be this IP), and via next loose hop of 192.168.5.6 (i.e. the path LSP takes travel via this loose hop, but this hop does not neccessarily follow immediately the previous strict hop). If this path is not available, LSP can go via a secondary path, which is any path.

lab@PE1# show 
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    primary strict-first-hop;
    secondary any-path;
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}
path any-path;

Verification

lab@PE1> show rsvp session ingress extensive    
Ingress RSVP: 1 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 305376
  Resv style: 1 FF, Label in: -, Label out: 305376
  Time left:    -, Since: Mon Aug  6 18:16:45 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 3 receiver 13826 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 6 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 6 pkts
  Explct route: 172.22.210.2 192.168.5.6 
  Record route: self 172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1  
Total 1 displayed, Up 1, Down 0

lab@PE1> show mpls lsp ingress extensive        
Ingress LSP: 1 sessions

192.168.1.2
  From: 192.168.1.1, State: Up, ActiveRoute: 0, LSPname: pe1-to-pe2-1
  ActivePath: strict-first-hop (primary)
  LSPtype: Static Configured
  LoadBalance: Random
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary   strict-first-hop State: Up
    Priorities: 7 0
    SmartOptimizeTimer: 180
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1
   15 Aug  6 18:16:45.128 Selected as active path
   14 Aug  6 18:16:45.126 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1
   13 Aug  6 18:16:45.126 Up
   12 Aug  6 18:16:45.110 Originate Call
   11 Aug  6 18:16:45.109 Clear Call
   10 Aug  6 18:16:45.109 Deselected as active
    9 Aug  6 18:15:48.062 Selected as active path: due to 'primary'
    8 Aug  6 18:14:47.904 Record Route:  172.22.210.2 172.22.202.2 172.22.203.2 172.22.204.2 172.22.213.1
    7 Aug  6 18:14:47.904 Up
    6 Aug  6 18:14:47.896 ResvTear received
    5 Aug  6 18:14:47.896 172.22.210.1: Down
    4 Aug  6 18:14:45.946 Record Route:  172.22.210.2 172.22.202.2 172.22.203.2 172.22.204.2 172.22.207.1 172.22.212.1
    3 Aug  6 18:14:45.946 Up
    2 Aug  6 18:14:45.750 172.22.207.1: Routing loop detected
    1 Aug  6 18:14:45.741 Originate Call
  Secondary any-path         State: Dn
    Priorities: 7 0
    SmartOptimizeTimer: 180
   14 Aug  6 18:19:41.145 Clear Call
   13 Aug  6 18:19:40.483 Record Route:  172.22.211.2 172.22.203.2 172.22.204.2 172.22.213.1
   12 Aug  6 18:19:40.483 Up
   11 Aug  6 18:19:40.469 Originate Call
   10 Aug  6 18:19:40.467 Clear Call
    9 Aug  6 18:17:15.077 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
    8 Aug  6 18:17:15.077 Up
    7 Aug  6 18:17:15.062 Originate Call
    6 Aug  6 18:16:45.110 Clear Call
    5 Aug  6 18:15:48.062 Deselected as active: due to 'primary'
    4 Aug  6 18:14:45.930 Selected as active path
    3 Aug  6 18:14:45.928 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
    2 Aug  6 18:14:45.928 Up
    1 Aug  6 18:14:45.753 Originate Call
  Created: Mon Aug  6 18:14:45 2012
Total 1 displayed, Up 1, Down 0

In this config, the secondary path is not up. It is only signalled, after the primary path is down.

Secondary Standby protection

[edit protocols mpls]
lab@PE1# set label-switched-path pe1-to-pe2-1 secondary any-path standby

The full MPLS protocol config is

[edit protocols mpls]
lab@PE1# show                                                               
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    primary strict-first-hop;
    secondary any-path {
        standby;
    }
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}
path any-path;
interface em1.210;
interface em2.211;

Note that with this config, the Secondary LSP is also up even when the Primary is up, which will help with convergence.

lab@PE1> show rsvp session ingress extensive 
Ingress RSVP: 2 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 305376
  Resv style: 1 FF, Label in: -, Label out: 305376
  Time left:    -, Since: Mon Aug  6 18:16:45 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 3 receiver 13826 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 23 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 21 pkts
  Explct route: 172.22.210.2 192.168.5.6 
  Record route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1  

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Secondary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 305408
  Resv style: 1 FF, Label in: -, Label out: 305408
  Time left:    -, Since: Mon Aug  6 18:29:26 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 6 receiver 13827 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 4 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 4 pkts
  Record route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1  
Total 2 displayed, Up 2, Down 0

lab@PE1> show mpls lsp ingress extensive        
Ingress LSP: 1 sessions

192.168.1.2
  From: 192.168.1.1, State: Up, ActiveRoute: 0, LSPname: pe1-to-pe2-1
  ActivePath: strict-first-hop (primary)
  LSPtype: Static Configured
  LoadBalance: Random
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary   strict-first-hop State: Up
    Priorities: 7 0
    SmartOptimizeTimer: 180
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1
   15 Aug  6 18:16:45.128 Selected as active path
   14 Aug  6 18:16:45.126 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.207.2 172.22.213.1
   13 Aug  6 18:16:45.126 Up
   12 Aug  6 18:16:45.110 Originate Call
   11 Aug  6 18:16:45.109 Clear Call
   10 Aug  6 18:16:45.109 Deselected as active
    9 Aug  6 18:15:48.062 Selected as active path: due to 'primary'
    8 Aug  6 18:14:47.904 Record Route:  172.22.210.2 172.22.202.2 172.22.203.2 172.22.204.2 172.22.213.1
    7 Aug  6 18:14:47.904 Up
    6 Aug  6 18:14:47.896 ResvTear received
    5 Aug  6 18:14:47.896 172.22.210.1: Down
    4 Aug  6 18:14:45.946 Record Route:  172.22.210.2 172.22.202.2 172.22.203.2 172.22.204.2 172.22.207.1 172.22.212.1
    3 Aug  6 18:14:45.946 Up
    2 Aug  6 18:14:45.750 172.22.207.1: Routing loop detected
    1 Aug  6 18:14:45.741 Originate Call
  Standby   any-path         State: Up
    Priorities: 7 0
    SmartOptimizeTimer: 180
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
   17 Aug  6 18:29:26.285 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
   16 Aug  6 18:29:26.285 Up            
   15 Aug  6 18:29:26.270 Originate Call
   14 Aug  6 18:19:41.145 Clear Call
   13 Aug  6 18:19:40.483 Record Route:  172.22.211.2 172.22.203.2 172.22.204.2 172.22.213.1
   12 Aug  6 18:19:40.483 Up
   11 Aug  6 18:19:40.469 Originate Call
   10 Aug  6 18:19:40.467 Clear Call
    9 Aug  6 18:17:15.077 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
    8 Aug  6 18:17:15.077 Up
    7 Aug  6 18:17:15.062 Originate Call
    6 Aug  6 18:16:45.110 Clear Call
    5 Aug  6 18:15:48.062 Deselected as active: due to 'primary'
    4 Aug  6 18:14:45.930 Selected as active path
    3 Aug  6 18:14:45.928 Record Route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1
    2 Aug  6 18:14:45.928 Up
    1 Aug  6 18:14:45.753 Originate Call
  Created: Mon Aug  6 18:14:45 2012
Total 1 displayed, Up 1, Down 0

Secondary/Secondary protection

With Primary/Secondary protection option, when the Primary is up after a failure, it resumes its primary role. This behaviour is similar to a Preempt option in HSRP. We can config LSP with 2 secondary path, without a Primary one. In this case, the LSP will not revert back to the first secondary, once it comes back from a failure.

Configuration is as follow:

[edit protocols mpls]
lab@PE1# show 
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    secondary strict-first-hop;
    secondary any-path;
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}
path any-path;
interface em1.210;
interface em2.211;

Fast-Reroute Protected LSP

Fast reroute attempt to protect the entire LSP. Every intermediate downstream router creates a backup detour path to the next downstream router.

[edit protocols mpls]
lab@PE1# show 
no-cspf;
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    fast-reroute;
    primary strict-first-hop;
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}

lab@PE1> show rsvp session ingress extensive    
Ingress RSVP: 1 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 305504
  Resv style: 1 FF, Label in: -, Label out: 305504
  Time left:    -, Since: Mon Aug  6 18:44:34 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 8 receiver 13826 protocol 0
  FastReroute desired
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 7 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 10 pkts
  Explct route: 172.22.210.2 192.168.5.6 
  Record route: self 172.22.210.2 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1  
    Detour is Up
    Detour Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
    Detour adspec: sent MTU 1500
    Path MTU: received 1500
    Detour PATH sentto: 172.22.211.2 (em2.211) 4 pkts
    Detour RESV rcvfrom: 172.22.211.2 (em2.211) 2 pkts
    Detour Explct route: 172.22.211.2 172.22.203.2 172.22.204.2 172.22.213.1 
    Detour Record route: self 172.22.211.2 172.22.203.2 172.22.204.2 172.22.213.1  
    Detour Label out: 305968
Total 1 displayed, Up 1, Down 0

Link Protected LSPs

While fast reroute attempts to protect the entire path of a given LSP, you can apply link protection on a per-interface basis as needed.

Configuration:

lab@PE1> show configuration protocols mpls 
no-cspf;
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    link-protection;
    primary strict-first-hop;
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}

Verification:

lab@PE1> show rsvp session ingress extensive 
Ingress RSVP: 2 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 305520
  Resv style: 1 SE, Label in: -, Label out: 305520
  Time left:    -, Since: Mon Aug  6 18:47:35 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13829 protocol 0
  Link protection desired
  Type: Link protected LSP, using Bypass->172.22.210.2
      2 Aug  6 18:48:29 Link protection up, using Bypass->172.22.210.2
      1 Aug  6 18:47:44 New bypass Bypass->172.22.210.2
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 6 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 4 pkts
  Explct route: 172.22.210.2 192.168.5.6 
  Record route:  192.168.5.1 (node-id) 172.22.210.2 192.168.5.2 (node-id) 172.22.201.2 192.168.5.3 (node-id)
  172.22.206.2 192.168.5.6 (node-id) 172.22.207.2 192.168.1.2 (node-id) 172.22.213.1  

192.168.5.1
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: Bypass->172.22.210.2
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 306016
  Resv style: 1 SE, Label in: -, Label out: 306016
  Time left:    -, Since: Mon Aug  6 18:47:46 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13830 protocol 0
  Type: Bypass LSP
    Number of data route tunnel through: 1
    Number of RSVP session tunnel through: 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.211.2 (em2.211) 4 pkts
  RESV rcvfrom: 172.22.211.2 (em2.211) 4 pkts
  Explct route: 172.22.211.2 172.22.202.1 
  Record route:  172.22.211.2 172.22.202.1  
Total 2 displayed, Up 2, Down 0

Node-Link Protected LSPs

Similarly to link protection, we can enable protection for a selected node rather than for an entire LSP. The ingress router will set up a bypass LSP around the first downstream node.

[edit protocols mpls]
lab@PE1# show 
no-cspf;
label-switched-path pe1-to-pe2-1 {
    to 192.168.1.2;
    no-cspf;
    node-link-protection;
    primary strict-first-hop;
}
path strict-first-hop {
    172.22.210.2 strict;
    192.168.5.6 loose;
}

Verification

lab@R1> show rsvp session ingress    
Ingress RSVP: 2 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.1.2     192.168.1.1     Up       0  1 SE       -   302912 pe1-to-pe2-1
192.168.5.4     192.168.1.1     Up       0  1 SE       -        3 Bypass->172.22.210.2->172.22.202.2
Total 2 displayed, Up 2, Down 0

lab@R1> show rsvp session ingress extensive 
Ingress RSVP: 2 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 302912
  Resv style: 1 SE, Label in: -, Label out: 302912
  Time left:    -, Since: Thu Aug  9 02:24:34 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 12 receiver 13924 protocol 0
  Node/Link protection desired
  Type: Node/Link protected LSP, using Bypass->172.22.210.2->172.22.202.2
      2 Aug  9 02:25:28 Node protection up, using Bypass->172.22.210.2->172.22.202.2
      1 Aug  9 02:24:43 New bypass Bypass->172.22.210.2
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 14 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 12 pkts
  Explct route: 172.22.210.2 192.168.5.6 
  Record route:  192.168.5.1 (node-id) 172.22.210.2 192.168.5.4 (node-id) 172.22.202.2
  192.168.5.5 (node-id) 172.22.203.2 192.168.5.6 (node-id) 172.22.204.2 192.168.1.2 (node-id) 172.22.213.1  

192.168.5.4
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: Bypass->172.22.210.2->172.22.202.2     <<<< This is node/link protection LSP
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 3
  Resv style: 1 SE, Label in: -, Label out: 3
  Time left:    -, Since: Thu Aug  9 02:25:11 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13941 protocol 0
  Type: Bypass LSP                      
    Number of data route tunnel through: 1
    Number of RSVP session tunnel through: 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.211.2 (em2.211) 11 pkts
  RESV rcvfrom: 172.22.211.2 (em2.211) 11 pkts
  Explct route: 172.22.211.2 
  Record route:  172.22.211.2  
Total 2 displayed, Up 2, Down 0

These two RSVP sessions (primary and bypass) are permanently up in normal network condition.

Constrained Shortest Path First (CSPF)

Featured

In this lab, I will practice configuration and verification of a networking running Traffic Engineering with RSVP and CSPF.

Part 1: Basic routing verification, and enabling MPLS & RSVP

Bellow are various verification steps to confirm basic routing functionality before starting the RSVP, CSPF configuration.

OSPF between PE and the P routers:

lab@PE1> show ospf neighbor 
Address          Interface              State     ID               Pri  Dead
172.22.210.2     em1.210                Full      192.168.5.1      128    38
172.22.211.2     em2.211                Full      192.168.5.4      128    33

BGP between PE and the P routers:

lab@PE1> show bgp summary    
Groups: 3 Peers: 3 Down peers: 0
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0                 0          0          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.0.10.1             65512         34         33       0       7       14:06 Establ
  ce1.inet.0: 0/0/0/0
10.0.10.2             65101        991       1033       0       7       14:06 Establ
  inet.0: 0/0/0/0
192.168.1.2           65512        201        203       0       4     1:29:17 Establ
  inet.0: 0/0/0/0

Enabling MPLS family on core facing interfaces:

lab@PE1# show interfaces | display set | match mpls 
set interfaces em1 unit 210 family mpls
set interfaces em2 unit 211 family mpls

Configuring MPLS and RSVP protocol on core facing interfaces

lab@PE1# show | display set | match mpls      
set protocols mpls interface em1.210
set protocols mpls interface em2.211

[edit protocols]
lab@PE1# show | display set | match rsvp    
set protocols rsvp interface em1.210
set protocols rsvp interface em2.211

Quick verification

lab@PE1> show mpls interface 
Interface        State       Administrative groups (x: extended)
em1.210          Up         
em2.211          Up         

lab@PE1> show rsvp interface 
RSVP interface: 2 active
                  Active Subscr- Static      Available   Reserved    Highwater
Interface   State resv   iption  BW          BW          BW          mark
em1.210     Up         0   100%  1000Mbps    1000Mbps    0bps        0bps       
em2.211     Up         0   100%  1000Mbps    1000Mbps    0bps        0bps

Part 2: Enabling the TED

By default OSPF does not have Traffic Engineering Database (TED) enabled. In other words, the routers do not flood the Opaque LSAs. Note the default OSPF database:

lab@PE1> show ospf database 

    OSPF database, Area 0.0.0.0
 Type       ID               Adv Rtr           Seq      Age  Opt  Cksum  Len 
Router  *192.168.1.1      192.168.1.1      0x8000009f  1779  0x22 0x19ba  60
Router   192.168.1.2      192.168.1.2      0x80000098  1653  0x22 0xc10e  60
Router   192.168.5.1      192.168.5.1      0x800000cc  1785  0x22 0x6f10  72
Router   192.168.5.2      192.168.5.2      0x8000009f   248  0x22 0x1a91  72
Router   192.168.5.3      192.168.5.3      0x800000b3  1657  0x22 0x5e1b  72
Router   192.168.5.4      192.168.5.4      0x800000bc   217  0x22 0x82fc  72
Router   192.168.5.5      192.168.5.5      0x80000085  2236  0x22 0x2398  72
Router   192.168.5.6      192.168.5.6      0x800000b4  1653  0x22 0x5a16  72
Network  172.22.201.2     192.168.5.2      0x80000019   248  0x22 0xf151  32
Network  172.22.202.2     192.168.5.4      0x80000019  1415  0x22 0xee4f  32
Network  172.22.203.2     192.168.5.5      0x80000017  1242  0x22 0x1624  32
Network  172.22.204.2     192.168.5.6      0x80000018  1279  0x22 0x1b1a  32
Network  172.22.205.2     192.168.5.5      0x80000016   248  0x22 0xe555  32
Network  172.22.206.2     192.168.5.3      0x80000019  1147  0x22 0xcc6e  32
Network  172.22.207.2     192.168.5.6      0x8000001b   404  0x22 0xd759  32
Network  172.22.210.2     192.168.5.1      0x80000004  1785  0x22 0x80d4  32
Network  172.22.211.2     192.168.5.4      0x80000006  1780  0x22 0x7dce  32
Network  172.22.212.2     192.168.5.3      0x80000004  1657  0x22 0x80cd  32
Network  172.22.213.2     192.168.5.6      0x80000004  1653  0x22 0x81c5  32

Following command enable Traffic Engineering under OSPF protocol of PE, and P routers (same need to be applied on every routers).

lab@PE1# show | display set | match traffic-engineering 
set protocols ospf traffic-engineering

Note the new OpaqArea database

lab@PE1> show ospf database opaque-area 

    OSPF database, Area 0.0.0.0
 Type       ID               Adv Rtr           Seq      Age  Opt  Cksum  Len 
OpaqArea*1.0.0.1          192.168.1.1      0x80000001   279  0x22 0xb0a7  28
OpaqArea 1.0.0.1          192.168.1.2      0x80000001   285  0x22 0xb4a1  28
OpaqArea 1.0.0.1          192.168.5.1      0x80000006   221  0x22 0xae9c  28
OpaqArea 1.0.0.1          192.168.5.2      0x80000005   226  0x22 0xb495  28
OpaqArea 1.0.0.1          192.168.5.3      0x80000004   224  0x22 0xba8e  28
OpaqArea 1.0.0.1          192.168.5.4      0x80000003   221  0x22 0xc087  28
OpaqArea 1.0.0.1          192.168.5.5      0x80000002   223  0x22 0xc680  28
OpaqArea 1.0.0.1          192.168.5.6      0x80000001   226  0x22 0xcc79  28
OpaqArea*1.0.0.3          192.168.1.1      0x80000005   207  0x22 0x34a  124
OpaqArea 1.0.0.3          192.168.1.2      0x80000005   220  0x22 0x61e6 124
OpaqArea 1.0.0.3          192.168.5.1      0x80000002   208  0x22 0xb40  124
OpaqArea 1.0.0.3          192.168.5.2      0x80000001   182  0x22 0x361d 124
OpaqArea 1.0.0.3          192.168.5.3      0x80000001   219  0x22 0x65e0 124
OpaqArea 1.0.0.3          192.168.5.4      0x80000001   181  0x22 0x7fd8 124
OpaqArea 1.0.0.3          192.168.5.5      0x80000001   182  0x22 0xaba9 124
OpaqArea 1.0.0.3          192.168.5.6      0x80000001   183  0x22 0x6edd 124
OpaqArea*1.0.0.4          192.168.1.1      0x80000006   216  0x22 0x2920 124
OpaqArea 1.0.0.4          192.168.1.2      0x80000005   224  0x22 0x89bb 124
OpaqArea 1.0.0.4          192.168.5.1      0x80000001   181  0x22 0x69f1 124
OpaqArea 1.0.0.4          192.168.5.2      0x80000001   182  0x22 0x4f0c 124
OpaqArea 1.0.0.4          192.168.5.3      0x80000001   184  0x22 0x58f6 124
OpaqArea 1.0.0.4          192.168.5.4      0x80000001   181  0x22 0x89cc 124
OpaqArea 1.0.0.4          192.168.5.5      0x80000001   182  0x22 0x64a  124
OpaqArea 1.0.0.4          192.168.5.6      0x80000001   225  0x22 0x7bc4 124
OpaqArea 1.0.0.5          192.168.5.1      0x80000001   181  0x22 0x2d2f 124
OpaqArea 1.0.0.5          192.168.5.2      0x80000001   182  0x22 0xef63 124
OpaqArea 1.0.0.5          192.168.5.3      0x80000001   184  0x22 0x3a15 124
OpaqArea 1.0.0.5          192.168.5.4      0x80000001   217  0x22 0x192c 124
OpaqArea 1.0.0.5          192.168.5.5      0x80000001   182  0x22 0xaba6 124
OpaqArea 1.0.0.5          192.168.5.6      0x80000001   183  0x22 0xc38c 124

lab@PE1> show ted database 
TED database: 0 ISIS nodes 19 INET nodes
ID                            Type Age(s) LnkIn LnkOut Protocol
192.168.1.1                   Rtr     256     2      2 OSPF(0.0.0.0)
    To: 172.22.211.1-1, Local: 172.22.211.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
    To: 172.22.210.1-1, Local: 172.22.210.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
ID                            Type Age(s) LnkIn LnkOut Protocol
192.168.5.1                   Rtr     229     3      3 OSPF(0.0.0.0)
    To: 172.22.210.1-1, Local: 172.22.210.2, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
    To: 172.22.202.2-1, Local: 172.22.202.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
    To: 172.22.201.2-1, Local: 172.22.201.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
ID                            Type Age(s) LnkIn LnkOut Protocol
172.22.210.1-1                Net     256     2      2 OSPF(0.0.0.0)
    To: 192.168.5.1, Local: 0.0.0.0, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
    To: 192.168.1.1, Local: 0.0.0.0, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0

...

Note that by default, NO Color (administrative groups) is assigned to any links. This could be seen reflected in the TE database:

lab@PE1> show ted database 192.168.1.1 extensive 
TED database: 0 ISIS nodes 19 INET nodes
NodeID: 192.168.1.1
  Type: Rtr, Age: 525 secs, LinkIn: 2, LinkOut: 2
  Protocol: OSPF(0.0.0.0)
    To: 172.22.211.1-1, Local: 172.22.211.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0 
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
    To: 172.22.210.1-1, Local: 172.22.210.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0 
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps

Part 3: Configuring RSVP-Signaled LSPs

[edit protocols mpls]
lab@PE1# show | display set 
# Configure a loose path option
set protocols mpls path loose-via-p2 192.168.5.2 loose

# Configure LSPs
set protocols mpls label-switched-path lsp-gold-pe1-to-pe2-1 to 192.168.1.2
set protocols mpls label-switched-path lsp-gold-pe1-to-pe2-1 primary loose-via-p2
set protocols mpls label-switched-path lsp-silver-pe1-to-pe2-1 to 192.168.1.2
set protocols mpls label-switched-path lsp-silver-pe1-to-pe2-1 primary loose-via-p2
set protocols mpls label-switched-path lsp-bronze-pe1-to-pe2-1 to 192.168.1.2
set protocols mpls label-switched-path lsp-bronze-pe1-to-pe2-1 primary loose-via-p2

LSP Verification

lab@PE1> show rsvp session 
Ingress RSVP: 3 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.1.2     192.168.1.1     Up       0  1 FF       -   300160 lsp-gold-pe1-to-pe2-1
192.168.1.2     192.168.1.1     Up       0  1 FF       -   300176 lsp-bronze-pe1-to-pe2-1
192.168.1.2     192.168.1.1     Up       0  1 FF       -   300192 lsp-silver-pe1-to-pe2-1
Total 3 displayed, Up 3, Down 0

Egress RSVP: 3 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-bronze-pe2-to-pe1-1
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-gold-pe2-to-pe1-1
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-silver-pe2-to-pe1-1
Total 3 displayed, Up 3, Down 0

Transit RSVP: 0 sessions
Total 0 displayed, Up 0, Down 0

lab@PE1> show rsvp session extensive 
Ingress RSVP: 3 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: lsp-gold-pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 300160
  Resv style: 1 FF, Label in: -, Label out: 300160
  Time left:    -, Since: Sat Aug  4 18:16:55 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13800 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.210.2 (em1.210) 21 pkts
  RESV rcvfrom: 172.22.210.2 (em1.210) 20 pkts
  Explct route: 172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1 
  Record route:  172.22.210.2 172.22.201.2 172.22.206.2 172.22.212.1  

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: lsp-bronze-pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 300176
  Resv style: 1 FF, Label in: -, Label out: 300176
  Time left:    -, Since: Sat Aug  4 18:25:38 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13803 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
---(more)---

Part4: Adding Administrative Groups (Colors) to the core facing interfaces

[edit protocols mpls]
lab@PE1# show | display set | match admin 
set protocols mpls admin-groups gold 1
set protocols mpls admin-groups silver 2
set protocols mpls admin-groups bronze 3

set protocols mpls interface em1.210 admin-group silver
set protocols mpls interface em1.210 admin-group bronze
set protocols mpls interface em2.211 admin-group gold

lab@PE1> show mpls interface  
Interface        State       Administrative groups (x: extended)
em1.210          Up          bronze
                             silver
em2.211          Up          gold

lab@PE2> show ted database 192.168.1.1 extensive    
TED database: 0 ISIS nodes 19 INET nodes
NodeID: 192.168.1.1
  Type: Rtr, Age: 234 secs, LinkIn: 2, LinkOut: 2
  Protocol: OSPF(0.0.0.0)
    To: 172.22.210.1-1, Local: 172.22.210.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0xc bronze silver
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
    To: 172.22.211.1-1, Local: 172.22.211.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0x2 gold
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
---(more)---

Similarly, we  need to assign administrative colours to all interfaces of the P routers.

Below is the TED database for P2 router, which show all its connected interfaces and the administrative colours:

lab@PE1> show ted database 192.168.5.2 extensive | no-more 
TED database: 0 ISIS nodes 19 INET nodes
NodeID: 192.168.5.2
  Type: Rtr, Age: 114 secs, LinkIn: 3, LinkOut: 3
  Protocol: OSPF(0.0.0.0)
    To: 172.22.201.2-1, Local: 172.22.201.2, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0xa bronze gold
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
    To: 172.22.206.2-1, Local: 172.22.206.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0x4 silver
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
    To: 172.22.205.2-1, Local: 172.22.205.1, Remote: 0.0.0.0
      Local interface index: 0, Remote interface index: 0
      Color: 0xe bronze silver gold
      Metric: 1
      Static BW: 1000Mbps
      Reservable BW: 1000Mbps
      Available BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps    
      Interface Switching Capability Descriptor(1):
        Switching type: Packet
        Encoding type: Packet
        Maximum LSP BW [priority] bps:
          [0] 1000Mbps     [1] 1000Mbps    [2] 1000Mbps    [3] 1000Mbps    
          [4] 1000Mbps     [5] 1000Mbps    [6] 1000Mbps    [7] 1000Mbps

Part 5: Configuring LSPs to take Gold, Silver, and Bronze paths using CSPF

[edit protocols mpls]
set label-switched-path lsp-gold-pe1-to-pe2-1 admin-group include-any gold    
set label-switched-path lsp-silver-pe1-to-pe2-1 admin-group include-any silver
set label-switched-path lsp-bronze-pe1-to-pe2-1 admin-group include-any bronze

Verification

lab@PE1> show rsvp session                                         
Ingress RSVP: 3 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.1.2     192.168.1.1     Up       0  1 FF       -   301648 lsp-bronze-pe1-to-pe2-1
192.168.1.2     192.168.1.1     Up       0  1 FF       -   300976 lsp-gold-pe1-to-pe2-1
192.168.1.2     192.168.1.1     Up       0  1 FF       -   301680 lsp-silver-pe1-to-pe2-1
Total 3 displayed, Up 3, Down 0

Egress RSVP: 3 sessions
To              From            State   Rt Style Labelin Labelout LSPname 
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-bronze-pe2-to-pe1-1
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-gold-pe2-to-pe1-1
192.168.1.1     192.168.1.2     Up       0  1 FF       3        - lsp-silver-pe2-to-pe1-1
Total 3 displayed, Up 3, Down 0

Transit RSVP: 0 sessions
Total 0 displayed, Up 0, Down 0

lab@PE1> show rsvp session name lsp-gold-pe1-to-pe2-1 detail    
Ingress RSVP: 3 sessions

192.168.1.2
  From: 192.168.1.1, LSPstate: Up, ActiveRoute: 0
  LSPname: lsp-gold-pe1-to-pe2-1, LSPpath: Primary
  LSPtype: Static Configured
  Suggested label received: -, Suggested label sent: -
  Recovery label received: -, Recovery label sent: 300976
  Resv style: 1 FF, Label in: -, Label out: 300976
  Time left:    -, Since: Sun Aug  5 03:37:12 2012
  Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
  Port number: sender 1 receiver 13808 protocol 0
  PATH rcvfrom: localclient 
  Adspec: sent MTU 1500
  Path MTU: received 1500
  PATH sentto: 172.22.211.2 (em2.211) 13 pkts
  RESV rcvfrom: 172.22.211.2 (em2.211) 13 pkts
  Explct route: 172.22.211.2 172.22.202.1 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1 
  Record route:  self 172.22.211.2 172.22.202.1 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1  
Total 1 displayed, Up 1, Down 0

Egress RSVP: 3 sessions
Total 0 displayed, Up 0, Down 0

Transit RSVP: 0 sessions
Total 0 displayed, Up 0, Down 0

lab@PE1> show mpls lsp name lsp-gold-pe1-to-pe2-1 extensive 
Ingress LSP: 3 sessions

192.168.1.2
  From: 192.168.1.1, State: Up, ActiveRoute: 0, LSPname: lsp-gold-pe1-to-pe2-1
  ActivePath: loose-via-p2 (primary)
  LSPtype: Static Configured
  LoadBalance: Random
  Encoding type: Packet, Switching type: Packet, GPID: IPv4
 *Primary   loose-via-p2     State: Up
    Priorities: 7 0
    SmartOptimizeTimer: 180
          Include Any: gold
    Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 6)
 172.22.211.2 S 172.22.202.1 S 172.22.201.2 S 172.22.205.2 S 172.22.204.2 S 172.22.213.1 S 
    Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID):
          172.22.211.2 172.22.202.1 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1
    5 Aug  5 03:37:12.846 Selected as active path
    4 Aug  5 03:37:12.845 Record Route:  172.22.211.2 172.22.202.1 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1
    3 Aug  5 03:37:12.845 Up
    2 Aug  5 03:37:12.721 Originate Call
    1 Aug  5 03:37:12.721 CSPF: computation result accepted  172.22.211.2 172.22.202.1 172.22.201.2 172.22.205.2 172.22.204.2 172.22.213.1
  Created: Sun Aug  5 03:37:12 2012
Total 1 displayed, Up 1, Down 0

Egress LSP: 3 sessions
Total 0 displayed, Up 0, Down 0

Transit LSP: 0 sessions
Total 0 displayed, Up 0, Down 0

Note that the LSP path traverses via all routers along the Gold colour path, including P2. This satisfies the 2 constrained requirements:

  • Gold colour (an administrative attribute) and
  • Loose path via P2