Traffic Engeneering MPLS RSVP detour LSPs with Affinity

What if you need to traffic engineer how detour tunnels are established in your topology? Since fast reroute provides a one-to-one protection mechanism 1, turns out you can use affinity (link-coloring) to achieve that. Let’s analyze a particular use case where specifying affinity constraints in the detour LSP might be useful for your MPLS network design.

In this topology, composed of DATACOM Ethernet Switches 2, there’s one LSP from DM4001_207 to DM4001_194 named SW207_TO_SW194_1. As you can see in Figure 1, the primary path of this LSP goes through DM4004_196, which is a PLR, since fast-reroute protection was requested by the ingress PE (DM4001_207). However, note that there are two potential alternate paths that DM4004_196's detour could be established downstream. For instance, these two paths are represented in the topology SW196's detour option #1 (red dashed line) and SW196's detour option #2 (orange dashed line).

Let’s assume you explicitly want to enforce that the detour LSP of DM4004_196 is established as represented by option #2. In this case, you can simply color the undesired link as red affinity 2 and exclude it when requesting fast-reroute protection.

Info
When configuring affinity (link-coloring) there are always multiple approaches, you can either include or exclude links with logical operators (include-any, include-all, exclude-any). Depending on what you’re trying to accomplish, you have to figure out which approach is more suitable to meet your requirement.

Topology

Figure 1

Configuration

I’ll focus on the main configuration parts related to fast-reroute.

DM4001_207

DM4001_207 has a explicit-path to enforce the LSP primary path as illustrated in Figure 1. Plus, the command tunnel mpls traffic-eng fast-reroute one-to-one affinity 0 0 2 request fast-reroute protection and excludes any link that has the affinity value 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
hostname DM4001_207
!
mpls te
interface te-tunnel 71
tunnel name SW207_TO_SW194_1
tunnel mpls destination 10.1.73.194
tunnel mpls traffic-eng fast-reroute one-to-one affinity 0 0 2
tunnel mpls traffic-eng path-option 1 explicit-path identifier 1
no shutdown
!
mpls expl-path
explicit-path identifier 1
tsp-hop 1 path-option 1 next-address ipv4 10.1.73.117 strict
tsp-hop 2 path-option 1 next-address ipv4 10.1.73.130 strict
!

DM4004_196

The command rsvp signalling link attributes 2 sets the affinity as 2 on this RSVP-enabled VLAN.

1
2
3
4
5
6
7
8
9
10
11
12
DM4004_196(config-if-vlan-4084)#show this
interface vlan 4084
ip address 10.1.73.135/31
link-detect
ip ospf authentication
ip ospf authentication-key ********
ip ospf cost 10
ip ospf network point-to-point
set-member tagged ethernet 4/24
rsvp signalling link attributes 2
rsvp enable
!

DM4001_195

Similar to DM4004_196, affinity value 2 is set on this VLAN.

1
2
3
4
5
6
7
8
9
10
11
12
DM4001_195(config-if-vlan-4084)#show this
interface vlan 4084
ip address 10.1.73.134/31
link-detect
ip ospf authentication
ip ospf authentication-key ********
ip ospf cost 10
ip ospf network point-to-point
set-member tagged ethernet 1/24
rsvp signalling link attributes 2
rsvp enable
!

Verification

Let’s first verify how detour is established without requesting any affinity constraints in the detour.

No Affinity requested on detour

1
2
3
4
5
6
7
DM4001_207(config-mpls-te-if-71)#show this
interface te-tunnel 71
tunnel name SW207_TO_SW194_1
tunnel mpls destination 10.1.73.194
tunnel mpls traffic-eng fast-reroute one-to-one
tunnel mpls traffic-eng path-option 1 explicit-path identifier 1
no shutdown

As you can see bellow, DM4004_196's (PLR - Point of Local Repair) detour got established over the shortest path, since no additional constraints were specified.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DM4004_196#show mpls forwarding-table tunnel SW207_TO_SW194_1
Number of entries: 2 (2 ILMs)
Action Codes: FWD - Forward, PHP - Penultimate Hop Popping,
POP - Pop and L3 Lookup, PSH - Push Label, SWP - Label Swap,
DIS - Discard
Role Codes: D - Detour Tunnel, LR - Local Repair
Status Codes: A - Active, I - Inactive, P - Pending, S - Stale
--------------------+-----+---------------+---------------+-----------+---------
Prefix, Tunnel ID | Act | Incoming | Outgoing | Outgoing | Status
or Lookup Table | ion | Label/ | Label/ | Interface | & Role
| | Protocol | Protocol | |
--------------------+-----+---------------+---------------+-----------+---------
SW207_TO_SW194_1 PHP 17/RSVP ImpNull/RSVP VLAN 4092 A
SW207_TO_SW194_1 SWP 17/RSVP 18/RSVP VLAN 4084 I, LR
--------------------+-----+---------------+---------------+-----------+---------
DM4004_196#

Affinity requested on detour

Now, by explicitly requesting that any downstream detour excludes affinity value 2.

1
2
3
4
5
6
7
DM4001_207(config-mpls-te-if-71)#show this
interface te-tunnel 71
tunnel name SW207_TO_SW194_1
tunnel mpls destination 10.1.73.194
tunnel mpls traffic-eng fast-reroute one-to-one affinity 0 0 2
tunnel mpls traffic-eng path-option 1 explicit-path identifier 1
no shutdown

As shown bellow, note that the outgoing VLAN of SW207_TO_SW194_1's detour on DM4004_196 (PLR) is VLAN4091 as opposed to VLAN 4084 when compared to the previous example.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DM4004_196#show mpls forwarding-table tunnel SW207_TO_SW194_1
Number of entries: 2 (2 ILMs)
Action Codes: FWD - Forward, PHP - Penultimate Hop Popping,
POP - Pop and L3 Lookup, PSH - Push Label, SWP - Label Swap,
DIS - Discard
Role Codes: D - Detour Tunnel, LR - Local Repair
Status Codes: A - Active, I - Inactive, P - Pending, S - Stale
--------------------+-----+---------------+---------------+-----------+---------
Prefix, Tunnel ID | Act | Incoming | Outgoing | Outgoing | Status
or Lookup Table | ion | Label/ | Label/ | Interface | & Role
| | Protocol | Protocol | |
--------------------+-----+---------------+---------------+-----------+---------
SW207_TO_SW194_1 PHP 20/RSVP ImpNull/RSVP VLAN 4092 A
SW207_TO_SW194_1 SWP 20/RSVP 22/RSVP VLAN 4091 I, LR
--------------------+-----+---------------+---------------+-----------+---------
DM4004_196#

Final Thoughts

RSVP is a swiss-army knife when it comes to MPLS traffic engineering. If you need to traffic engineer how detour tunnels are established, affinity (link-coloring) is the way to go.

References