LDP to Segment Routing (also known as SR and SPRING) Migration Steps

Step-by-step migration from LDP-based design to Segment Routing topology in Juniper environment.  In this example, we will be using IS-IS as IGP protocol. 

Initial Configuration

Today, we’ll perform step-by-step migration of MPLS network from LDP to Segment Routing.

Our starting point is the logical topology depicted below. It represents a typical Service Provider Network with two PE nodes, two P nodes, and two dedicated Route-Reflectors.

BGP-Free Core Migration Lab - EBGP Peering
EBGP Peering

We are using JunOS version 17.1.

MPLS and IGP Topologies

MPLS and IGP topologies are shown below. IS-IS is used as IGP Routing protocol. All customer routes, including PE-CE point-to-point prefixes, are carried over IBGP.

BGP-Free Core Migration Lab - IGP Domain
IGP Domain

Initial IGP (IS-IS) and LDP Configuration

P1

set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis interface all point-to-point
set protocols isis interface fxp0.0 disable

set protocols ldp transport-address router-id
set protocols ldp interface all
set protocols ldp interface fxp0.0 disable

P2

set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis interface all point-to-point
set protocols isis interface fxp0.0 disable

set protocols ldp transport-address router-id
set protocols ldp interface all
set protocols ldp interface fxp0.0 disable
set protocols ldp igp-synchronization holddown-interval 30

PE-1

set protocols isis level 1 disable
set protocols isis level 2 wide-metrics-only
set protocols isis interface ge-0/0/0.502 point-to-point
set protocols isis interface ge-0/0/0.504 point-to-point
set protocols isis interface lo0.0

set protocols ldp transport-address router-id
set protocols ldp interface ge-0/0/0.502
set protocols ldp interface ge-0/0/0.504
set protocols ldp igp-synchronization holddown-interval 30

PE-2

set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis interface ge-0/0/0.503 point-to-point
set protocols isis interface ge-0/0/0.505 point-to-point
set protocols isis interface lo0.0

set protocols ldp transport-address router-id
set protocols ldp interface ge-0/0/0.503
set protocols ldp interface ge-0/0/0.505
set protocols ldp igp-synchronization holddown-interval 30

Pre-Migration Network State

MPLS Forwarding Tables are populated with LDP-originated LDP labels.

P1

P1> show route table mpls.0

…

300208             *[LDP/9] 00:19:56, metric 1
                    > to 120.0.3.7 via ge-0/0/0.502, Pop
300208(S=0)        *[LDP/9] 00:19:56, metric 1
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

300224             *[LDP/9] 00:19:32, metric 1
                    > to 120.0.3.11 via ge-0/0/0.503, Pop
300224(S=0)        *[LDP/9] 00:19:32, metric 1
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

 P2

root@P2-vMX> show route table mpls.0

…

300272             *[LDP/9] 00:22:24, metric 1
                    > to 120.0.3.9 via ge-0/0/0.504, Pop
300272(S=0)        *[LDP/9] 00:22:24, metric 1
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

300288             *[LDP/9] 00:21:27, metric 1
                    > to 120.0.3.13 via ge-0/0/0.505, Pop
300288(S=0)        *[LDP/9] 00:21:27, metric 1
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

PE-1

PE1-vMX> show route 120.0.30.0

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

120.0.30.0/24      *[BGP/170] 00:18:07, localpref 100, from 120.0.1.1
                      AS path: 65001 I, validation-state: unverified
                    > to 120.0.3.6 via ge-0/0/0.502, Push 300224
                      to 120.0.3.8 via ge-0/0/0.504, Push 300288

                    [BGP/170] 00:18:07, localpref 100, from 120.0.1.2
                      AS path: 65001 I, validation-state: unverified
                    > to 120.0.3.6 via ge-0/0/0.502, Push 300224
                      to 120.0.3.8 via ge-0/0/0.504, Push 300288

PE-2

PE-2> show route 70.0.0.0

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

70.0.0.0/8         *[BGP/170] 00:17:02, localpref 40, from 120.0.1.1
                      AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 300272
                      to 120.0.3.10 via ge-0/0/0.503, Push 300208
                    [BGP/170] 00:17:02, localpref 40, from 120.0.1.2
                      AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 300272
                      to 120.0.3.10 via ge-0/0/0.503, Push 300208

Enabling Segment Routing

Basic SR configuration is very simple. In fact, it is easier to enable SR than it is to configure LDP. All you need to do is to allow ‘source-packet-routing’ under protocol IS-IS and specify unique node identifier for each SR-enabled device.

Configure Segment Routing with Node Segment Identifiers

P1

set protocols isis source-packet-routing node-segment ipv4-index 1

P2

set protocols isis source-packet-routing node-segment ipv4-index 2

PE-1

set protocols isis source-packet-routing node-segment ipv4-index 201

PE-2

set protocols isis source-packet-routing node-segment ipv4-index 202

Make sure that Node SIDs and Adjacency SIDs are being advertised and received

After completing configuration, Node-SIDs (global significance) and Adjacency-SIDs (local significance) will be advertised via IS-IS.

The following diagram depicts SIDs that were assigned in our topology:

Segment Routing SID assignments
Segment Routing SID assignments

Please note that SR was not enabled on Route-Reflectors, so there are no SIDs associated with RR links and nodes.

Verify Adjacency SID labels:

P1
root@P1-vMX> show isis adjacency detail

P2-vMX
  Interface: ge-0/0/0.500, Level: 2, State: Up, Expires in 21 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 15:55:06 ago
  Circuit type: 2, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 120.0.3.1
  Level 2 IPv4 Adj-SID: 300176

P3-RR1
  Interface: ge-0/0/0.501, Level: 2, State: Up, Expires in 24 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 3d 15:43:08 ago
  Circuit type: 2, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 120.0.3.3
  Level 2 IPv4 Adj-SID: 300160

PE1-vMX
  Interface: ge-0/0/0.502, Level: 2, State: Up, Expires in 25 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 3d 15:43:33 ago
  Circuit type: 2, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 120.0.3.7
  Level 2 IPv4 Adj-SID: 300144

PE2-vMX
  Interface: ge-0/0/0.503, Level: 2, State: Up, Expires in 22 secs
  Priority: 0, Up/Down transitions: 1, Last transition: 3d 15:43:11 ago
  Circuit type: 2, Speaks: IP, IPv6
  Topologies: Unicast
  Restart capable: Yes, Adjacency advertisement: Advertise
  IP addresses: 120.0.3.11
  Level 2 IPv4 Adj-SID: 300128
P2
root@P2-vMX> show isis adjacency detail

P1-vMX
Interface: ge-0/0/0.500, Level: 2, State: Up, Expires in 26 secs
Priority: 0, Up/Down transitions: 1, Last transition: 18:18:21 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.0
Level 2 IPv4 Adj-SID: 300304

PE1-vMX
Interface: ge-0/0/0.504, Level: 2, State: Up, Expires in 25 secs
Priority: 0, Up/Down transitions: 1, Last transition: 18:19:21 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.9
Level 2 IPv4 Adj-SID: 300352

PE2-vMX
Interface: ge-0/0/0.505, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 1, Last transition: 18:19:46 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.13
Level 2 IPv4 Adj-SID: 300336

P4-RR2
Interface: ge-0/0/0.506, Level: 2, State: Up, Expires in 20 secs
Priority: 0, Up/Down transitions: 1, Last transition: 18:19:20 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.5
Level 2 IPv4 Adj-SID: 300320
PE-1
root@PE1-vMX> show isis adjacency detail

P1-vMX
Interface: ge-0/0/0.502, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 3, Last transition: 3d 18:11:45 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.6
Level 2 IPv4 Adj-SID: 300160

P2-vMX
Interface: ge-0/0/0.504, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 5, Last transition: 18:24:17 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.8
Level 2 IPv4 Adj-SID: 300144
PE-2
root@PE2-vMX> show isis adjacency detail

P1-vMX
Interface: ge-0/0/0.503, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 3, Last transition: 3d 18:11:45 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.10
Level 2 IPv4 Adj-SID: 300192


P2-vMX
Interface: ge-0/0/0.505, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 3, Last transition: 18:25:04 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 120.0.3.12
Level 2 IPv4 Adj-SID: 300176
Verify Global SID labels

On one of the nodes, verify IS-IS database to make sure that SPRING sub-TLVs have been propagated. MPLS Label for a given Global-SID will be calculated as SID Label Value (800,000) plus Node SID Index.

For example, ipv4-index value 201 was assigned PE-1:

set protocols isis source-packet-routing node-segment ipv4-index 201

This means that global MPLS Label 800,201 can be used to forward traffic to PE-1:

800,000 + 201 = 800,201

root@P1-vMX> show isis database extensive | no-more

IS-IS level 2 link-state database:


P1-vMX.00-00 Sequence: 0x1cc, Checksum: 0xbafd, Lifetime: 1055 secs



TLVs:
Area address: 49.0002 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: 120.0.0.1
IP address: 120.0.0.1
Hostname: P1-vMX
Router Capability:  Router ID 120.0.0.1, Flags: 0x00
      SPRING Capability - Flags: 0xc0(I:1,V:1), Range: 4096, SID-Label: 800000
      SPRING Algorithm - Algo: 0

IS extended neighbor: P2-vMX.00, Metric: default 10
IP address: 120.0.3.0
Neighbor's IP address: 120.0.3.1
Local interface index: 336, Remote interface index: 341
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300176

IS extended neighbor: P3-RR1.00, Metric: default 10
IP address: 120.0.3.2
Neighbor's IP address: 120.0.3.3
Local interface index: 339, Remote interface index: 74
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300160

IS extended neighbor: PE1-vMX.00, Metric: default 10
IP address: 120.0.3.6
Neighbor's IP address: 120.0.3.7
Local interface index: 340, Remote interface index: 333
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300144

IS extended neighbor: PE2-vMX.00, Metric: default 10
IP address: 120.0.3.10
Neighbor's IP address: 120.0.3.11
Local interface index: 341, Remote interface index: 334
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300128
IP extended prefix: 120.0.3.0/31 metric 10 up
IP extended prefix: 120.0.3.2/31 metric 10 up
IP extended prefix: 120.0.3.6/31 metric 10 up
IP extended prefix: 120.0.3.10/31 metric 10 up
IP extended prefix: 120.0.0.1/32 metric 0 up
8 bytes of subtlvs
      Node SID, Flags: 0x40(R:0,N:1,P:0,E:0,V:0,L:0), Algo: SPF(0), Value: 1

No queued transmissions

<OMMITED FOR P2>


PE1-vMX.00-00 Sequence: 0x1c7, Checksum: 0x9da4, Lifetime: 850 secs
IPV4 Index: 201
Node Segment Blocks Advertised:
Start Index : 0, Size : 4096, Label-Range: [ 800000, 804095 ]
IS neighbor: P1-vMX.00                     Metric:       10
Two-way fragment: P1-vMX.00-00, Two-way first fragment: P1-vMX.00-00
IS neighbor: P2-vMX.00                     Metric:       10
Two-way fragment: P2-vMX.00-00, Two-way first fragment: P2-vMX.00-00
IP prefix: 120.0.2.1/32                    Metric:        0 Internal Up
IP prefix: 120.0.3.6/31                    Metric:       10 Internal Up
IP prefix: 120.0.3.8/31                    Metric:       10 Internal Up

Header: LSP ID: PE1-vMX.00-00, Length: 203 bytes
Allocated length: 284 bytes, Router ID: 120.0.2.1
Remaining lifetime: 850 secs, Level: 2, Interface: 340
Estimated free bytes: 151, Actual free bytes: 81
Aging timer expires in: 850 secs
Protocols: IP, IPv6

Packet: LSP ID: PE1-vMX.00-00, Length: 203 bytes, Lifetime: 1196 secs
Checksum: 0x9da4, Sequence: 0x1c7, Attributes: 0x3 <L1 L2>
NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes
Packet type: 20, Packet version: 1, Max area: 0

TLVs:
Area address: 49.0002 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: 120.0.2.1
IP address: 120.0.2.1

Hostname: PE1-vMX
Router Capability:  Router ID 120.0.2.1, Flags: 0x00
SPRING Capability - Flags: 0xc0(I:1,V:1), Range: 4096, SID-Label: 800000
SPRING Algorithm - Algo: 0
IS extended neighbor: P2-vMX.00, Metric: default 10
IP address: 120.0.3.9
Neighbor's IP address: 120.0.3.8
Local interface index: 334, Remote interface index: 333
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300144
IS extended neighbor: P1-vMX.00, Metric: default 10
IP address: 120.0.3.7
Neighbor's IP address: 120.0.3.6
Local interface index: 333, Remote interface index: 340
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300160
IP extended prefix: 120.0.3.6/31 metric 10 up
IP extended prefix: 120.0.3.8/31 metric 10 up
IP extended prefix: 120.0.2.1/32 metric 0 up
8 bytes of subtlvs
Node SID, Flags: 0x40(R:0,N:1,P:0,E:0,V:0,L:0), Algo: SPF(0), Value: 201
No queued transmissions

PE2-vMX.00-00 Sequence: 0x1cc, Checksum: 0x5b80, Lifetime: 408 secs
IPV4 Index: 202
Node Segment Blocks Advertised:
Start Index : 0, Size : 4096, Label-Range: [ 800000, 804095 ]
IS neighbor: P1-vMX.00                     Metric:       10
Two-way fragment: P1-vMX.00-00, Two-way first fragment: P1-vMX.00-00
IS neighbor: P2-vMX.00                     Metric:       10
Two-way fragment: P2-vMX.00-00, Two-way first fragment: P2-vMX.00-00
IP prefix: 120.0.2.2/32                    Metric:        0 Internal Up
IP prefix: 120.0.3.10/31                   Metric:       10 Internal Up
IP prefix: 120.0.3.12/31                   Metric:       10 Internal Up

Header: LSP ID: PE2-vMX.00-00, Length: 203 bytes
Allocated length: 284 bytes, Router ID: 120.0.2.2
Remaining lifetime: 408 secs, Level: 2, Interface: 341
Estimated free bytes: 151, Actual free bytes: 81
Aging timer expires in: 408 secs
Protocols: IP, IPv6

Packet: LSP ID: PE2-vMX.00-00, Length: 203 bytes, Lifetime: 1196 secs
Checksum: 0x5b80, Sequence: 0x1cc, Attributes: 0x3 <L1 L2>
NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes
Packet type: 20, Packet version: 1, Max area: 0

TLVs:
Area address: 49.0002 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: 120.0.2.2
IP address: 120.0.2.2

Hostname: PE2-vMX
Router Capability:  Router ID 120.0.2.2, Flags: 0x00
SPRING Capability - Flags: 0xc0(I:1,V:1), Range: 4096, SID-Label: 800000
SPRING Algorithm - Algo: 0
IS extended neighbor: P1-vMX.00, Metric: default 10
IP address: 120.0.3.11
Neighbor's IP address: 120.0.3.10
Local interface index: 334, Remote interface index: 341
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300192
IS extended neighbor: P2-vMX.00, Metric: default 10
IP address: 120.0.3.13
Neighbor's IP address: 120.0.3.12
Local interface index: 333, Remote interface index: 334
P2P IPV4 Adj-SID - Flags:0x30(F:0,B:0,V:1,L:1,S:0), Weight:0, Label: 300176
IP extended prefix: 120.0.3.10/31 metric 10 up
IP extended prefix: 120.0.3.12/31 metric 10 up
IP extended prefix: 120.0.2.2/32 metric 0 up
8 bytes of subtlvs

Node SID, Flags: 0x40(R:0,N:1,P:0,E:0,V:0,L:0), Algo: SPF(0), Value: 202

No queued transmissions

Verify Next-Hop Reachability

Now you can verify if inet.3 table got populated with SR routes for Spring-enabled devices.

Indeed, we now have routes originated via ‘L-ISIS’. The routes are not yet being used, as LDP’s Protocol Preference of 9 wins over SR’s preference of 14.

PE-1

root@PE1-vMX> show route 120.0.2.2

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

120.0.2.2/32       *[IS-IS/18] 20:12:45, metric 20
                     to 120.0.3.6 via ge-0/0/0.502
                   > to 120.0.3.8 via ge-0/0/0.504


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

120.0.2.2/32       *[LDP/9] 04:58:25, metric 1
                     to 120.0.3.6 via ge-0/0/0.502, Push 300224
                     > to 120.0.3.8 via ge-0/0/0.504, Push 300288

                    [L-ISIS/14] 03:51:25, metric 20
                      to 120.0.3.6 via ge-0/0/0.502, Push 800202
                    > to 120.0.3.8 via ge-0/0/0.504, Push 800202 

PE-2

root@PE2-vMX> show route 120.0.2.1
 
inet.0: 67 destinations, 73 routes (58 active, 0 holddown, 9 hidden)
+ = Active Route, - = Last Active, * = Both

120.0.2.1/32       *[IS-IS/18] 20:23:26, metric 20
                      to 120.0.3.12 via ge-0/0/0.505
                    > to 120.0.3.10 via ge-0/0/0.503


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

120.0.2.1/32       *[LDP/9] 05:09:05, metric 1
                      to 120.0.3.12 via ge-0/0/0.505, Push 300272
                    > to 120.0.3.10 via ge-0/0/0.503, Push 300208

                    [L-ISIS/14] 04:30:21, metric 20
                      to 120.0.3.12 via ge-0/0/0.505, Push 800201
                    > to 120.0.3.10 via ge-0/0/0.503, Push 800201
P1

P Nodes can forward traffic (MPLS Swap Operation) for both LDP and SR-generated labels:

P1> show route table mpls.0
…
300128             *[L-ISIS/14] 1d 16:23:09, metric 0
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

300128(S=0)        *[L-ISIS/14] 00:11:55, metric 0
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

300144             *[L-ISIS/14] 1d 16:23:09, metric 0
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

300144(S=0)        *[L-ISIS/14] 00:11:55, metric 0
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

300160             *[L-ISIS/14] 1d 16:23:09, metric 0
                    > to 120.0.3.3 via ge-0/0/0.501, Pop

300160(S=0)        *[L-ISIS/14] 00:11:55, metric 0
                    > to 120.0.3.3 via ge-0/0/0.501, Pop

300176             *[L-ISIS/14] 20:24:29, metric 0
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

300176(S=0)        *[L-ISIS/14] 00:11:55, metric 0
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

300192             *[LDP/9] 04:36:18, metric 1
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

300192(S=0)        *[LDP/9] 04:36:18, metric 1
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

300208             *[LDP/9] 04:34:13, metric 1
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

300208(S=0)        *[LDP/9] 04:34:13, metric 1
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

300224             *[LDP/9] 04:32:15, metric 1
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

300224(S=0)        *[LDP/9] 04:32:15, metric 1
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

800002             *[L-ISIS/14] 04:36:18, metric 10
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

800002(S=0)        *[L-ISIS/14] 00:11:55, metric 10
                    > to 120.0.3.1 via ge-0/0/0.500, Pop

800201             *[L-ISIS/14] 04:34:13, metric 10
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

800201(S=0)        *[L-ISIS/14] 00:11:55, metric 10
                    > to 120.0.3.7 via ge-0/0/0.502, Pop

800202             *[L-ISIS/14] 04:03:59, metric 10
                    > to 120.0.3.11 via ge-0/0/0.503, Pop

800202(S=0)        *[L-ISIS/14] 00:11:55, metric 10
                    > to 120.0.3.11 via ge-0/0/0.503, Pop
P2
root@P2-vMX> show route table mpls.0
…
300256             *[LDP/9] 04:38:32, metric 1
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

300256(S=0)        *[LDP/9] 04:38:32, metric 1
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

300272             *[LDP/9] 04:36:27, metric 1
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

300272(S=0)        *[LDP/9] 04:36:27, metric 1
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

300288             *[LDP/9] 04:34:29, metric 1
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

300288(S=0)        *[LDP/9] 04:34:29, metric 1
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

300304             *[L-ISIS/14] 04:38:32, metric 0
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

300304(S=0)        *[L-ISIS/14] 00:00:44, metric 0
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

300320             *[L-ISIS/14] 04:38:32, metric 0
                    > to 120.0.3.5 via ge-0/0/0.506, Pop

300320(S=0)        *[L-ISIS/14] 00:00:44, metric 0
                    > to 120.0.3.5 via ge-0/0/0.506, Pop

300336             *[L-ISIS/14] 04:38:32, metric 0
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

300336(S=0)        *[L-ISIS/14] 00:00:44, metric 0
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

300352             *[L-ISIS/14] 04:38:32, metric 0
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

300352(S=0)        *[L-ISIS/14] 00:00:44, metric 0
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

800001             *[L-ISIS/14] 04:38:32, metric 10
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

800001(S=0)        *[L-ISIS/14] 00:00:44, metric 10
                    > to 120.0.3.0 via ge-0/0/0.500, Pop

800201             *[L-ISIS/14] 04:36:27, metric 10
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

800201(S=0)        *[L-ISIS/14] 00:00:44, metric 10
                    > to 120.0.3.9 via ge-0/0/0.504, Pop

800202             *[L-ISIS/14] 04:06:13, metric 10
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

800202(S=0)        *[L-ISIS/14] 00:00:44, metric 10
                    > to 120.0.3.13 via ge-0/0/0.505, Pop

Deactivate LDP

Now that SR topology is fully configured, you can either completely deactivate LDP or change LDP’s Protocol Preference to make it inferior to SR’s preference.

set protocols ldp preference 15

This would force transit traffic to switch from LDP to SR LSPs.

Before Preference Change:

root@PE2-vMX> show route 70.0.0.0/8

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

70.0.0.0/8         *[BGP/170] 05:15:37, localpref 40, from 120.0.1.1
AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 300272
                      to 120.0.3.10 via ge-0/0/0.503, Push 300208

[BGP/170] 05:15:37, localpref 40, from 120.0.1.2
AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 300272
                      to 120.0.3.10 via ge-0/0/0.503, Push 300208

After preference change:

root@PE2-vMX> show route 70.0.0.0/8

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

70.0.0.0/8         *[BGP/170] 00:00:01, localpref 40, from 120.0.1.1
AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 800201
                      to 120.0.3.10 via ge-0/0/0.503, Push 800201

[BGP/170] 00:00:01, localpref 40, from 120.0.1.2
AS path: 701 I, validation-state: unverified
                    > to 120.0.3.12 via ge-0/0/0.505, Push 800201
                      to 120.0.3.10 via ge-0/0/0.503, Push 800201

Remove LDP

You can now remove LDP configuration from your MPLS nodes, as the protocol is no longer needed:

delete protocols ldp

Remove LDP Rules from Control Plane Firewall Filter

Firewall filters can be updated to remove LDP terms:

firewall family inet filter accept-protocols term ldp

There is no need to add Segment Routing-specific terms, as SR Updates are carried in IS-IS messages.

 

Leave a Reply

Your email address will not be published. Required fields are marked *