Juniper LDP to SR Migration

In: Networking

If you are building a greenfield MPLS network today you'll be faced with a decision to either use a label distribution protocol or to deploy MPLS Segment Routing. Fortunately, brownfield networks can also utilize MPLS-SR and the migration is extremely simple if you are running LDP.

Basic EVPN topology with 3 CE sites 

Router configuration from R1

💡
The following configuration is from router 1. The configuration is the same on the other routers with slight changes for interface and router specific settings
chassis {
    network-services enhanced-ip;
}
interfaces {
    ge-0/0/2 {
        unit 0 {
            family inet {
                address 172.99.0.10/30;
            }
            family mpls;
        }
    }
    ge-0/0/4 {
        unit 0 {
            family inet {
                address 172.99.0.6/30;
            }
            family mpls;
        }
    }
    ge-0/0/5 {
        flexible-vlan-tagging;
        encapsulation flexible-ethernet-services;
        unit 316 {
            encapsulation vlan-bridge;
            vlan-id 316;
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 10.255.255.101/32;
            }
        }
    }
}
routing-instances {
    EVPN-316 {
        instance-type evpn;
        protocols {
            evpn {
                mac-table-size {
                    300;
                }
                interface-mac-limit {
                    300;
                }
                mac-statistics;
            }
        }
        interface ge-0/0/5.316;
        route-distinguisher 10.255.255.101:316;
        vrf-target target:65000:316;
    }
}
routing-options {
    router-id 10.255.255.101;
    autonomous-system 65000;
}
protocols {
    ospf {
        area 0.0.0.0 {
            interface lo0.0 {
                passive;
            }
            interface ge-0/0/4.0 {
                interface-type p2p;
            }
            interface ge-0/0/2.0 {
                interface-type p2p;
            }
        }
    }
    bgp {
        group ibgp {
            type internal;
            local-address 10.255.255.101;
            log-updown;
            family inet {
                unicast;
            }
            family evpn {
                signaling;
            }
            peer-as 65000;
            local-as 65000;
            neighbor 10.255.255.103;
            neighbor 10.255.255.102;
        }
    }
    ldp {
        interface ge-0/0/2.0;
        interface ge-0/0/4.0;
    }
    mpls {
        interface ge-0/0/2.0;
        interface ge-0/0/4.0;
    }
}

During normal operation, we can expect our loopbacks to be in the inet.3 table via LDP discovery.

root> show route 10.255.255.102 table inet.3      

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

10.255.255.102/32  *[LDP/9] 00:02:11, metric 1
                    >  to 172.99.0.5 via ge-0/0/4.0, Push 25

And when we turn on OSPF-SR, we can expect to now learn the same route but via L-OSPF.

root> show route 10.255.255.102 table inet.3      

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

10.255.255.102/32  *[LDP/9] 00:02:11, metric 1
                    >  to 172.99.0.5 via ge-0/0/4.0, Push 25
                    [L-OSPF/10/5] 00:01:05, metric 2
                    >  to 172.99.0.5 via ge-0/0/4.0, Push 5100

So how do we turn on OSPF-SR?

set protocols ospf source-packet-routing node-segment ipv4-index 100

Verification before disabling LDP

  1. For each ingress router, check the inet.3 table for the L-OSPF routes
  2. For each transit router, check the mpls.0 table for the corresponding labels

Comments
More from Schy Networks
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Schy Networks.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.