Routing

last person joined: 19 hours ago 

Ask questions and share experiences about ACX Series, CTP Series, MX Series, PTX Series, SSR Series, JRR Series, and all things routing, including portfolios and protocols.
  • 1.  RSVP LDP Stitch

    Posted 10-17-2012 07:08

    Hi Guys,

     

    what is the best solution to extend mpls lsp between two regions one working LDP and the other one RSVP but all network in the same IGP domain and aslo same BGP AS.

     

    PE1--------P1-----------RR1------------RR2----------P2---------------PE2

     

    -------------LDP------------>                       ------------------RSVP---------->

     

     

    also note that RR in the same cluster.



  • 2.  RE: RSVP LDP Stitch

    Posted 10-17-2012 20:52

    Hi,

     

    LDP tunnelling inside RSVP LSPs is the best practice to accomplish this.

     

     

    PE1--------P1-----------RR1------------RR2----------P2---------------PE2

     

    -------------LDP------------>                       ------------------RSVP---------->

     

     

    1) Enable LDP between RR1 and RR2.

    Also include loopback interface of RR2 inside LDP protocol configurations.

     

    2) Enable "ldp-tunnelling" under all RSVP  LSPs originated from RR2 ( All ingress LSPs from RR2 to other P/PEs)

     

    3) Enable LDP protocol on other P/PEs and include loopback interface inside LDP protocol configurations.

     

    4) Enable "ldp-tunnelling" under RSVP LSPs from P/PEs to RR2.

     

    You should see the LDP sessions between RSVP P/PEs and RR2 ( Also between RR1 and RR2).

     

    Check the inet.3 routing table and confirm that it has all P/PE reachabilty informations.

     

     

    Please let me know, if you need any help in configurations.

     

     

    Regards,

    Moses N 

     

     

     



  • 3.  RE: RSVP LDP Stitch

    Posted 10-18-2012 13:29

    Thanks Moses,

     

    what is the solution if the rsvp domain doesn't support  ldp at all and also the same for ldp domain which doen't support rsvp

     

    i find some solution using BGP labeled-unicast but i am still seraching for the complete configuration



  • 4.  RE: RSVP LDP Stitch

    Posted 10-18-2012 14:33

    Hi,

    We can do this by using BGP Labelled Unicast ( BGP-LU).

     

    "family inet labelled-unicat rib inet.3"

     

    We need to configure export policies to send inet.0 and inet.3 routes of loopback interfaces  via border routers. 

     

    This will be very simillar to Inter-AS option C solution. But in that case, I believe we need to have seperated BGP topology for RSVP and LDP and BGP Border routers between RSVP and LDP domains.

     

    With  your topology, All RSVP routers in one BGP domain and all LDP routers in another BGP domain , RR1 and RR2 will be BGP border routers.

     

    If I get a chance, I will test it in a lab and confirm it.

     

    Regards,

    Moses N  



  • 5.  RE: RSVP LDP Stitch
    Best Answer

    Posted 10-19-2012 06:46

     

    Hi ,

     

    I was able to build the topology in the lab and test the bgp based solution.

     

    The following diagram shows the BGP peering between the routers.

     

    mpls_ldp_rsvp_interdomain.png

     

    Loopback IP - 10.255.255.X

    Where X represents , PE1 = 1 , P1 = 2, RR1 =3, RR2 =4, P2 =5, PE2 =6

     

     

    We need to divide the network  two IBGP domains for each protocol ( RSVP & LDP).

    RR1-RR2 will exchange the uncast and labeled-unicast routes between them via EBGP ( If it is IBGP , labeled routes are in hiddent state, I have no idea why that happens)

     

    The above BGP sessions are to exchange the labeled routes of loopback interfaces.

     

    BGP family inet-vpn unicast needs to be configured between PEs to exchange the VPN routes.

     

    I didn't use any RR functionalities here in order to make this topology simple.

     

    I created CEs at both side, and was able to ping each other.

     

    As I mentioned in the earlier post, LDP-Tunnelling is the easiest way of doing this.

    But MP-BGP can be used for the same purpose.

     

     

    Relevant protocol configurations 

     

    ==================================
    PE1
    
    
    protocols {
        mpls {
            interface xe-9/0/0.10;
        }
        bgp {
            group internal {
                type internal;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                neighbor 10.255.255.3 {
                    local-address 10.255.255.1;
                }
            }
            group vpn {
                type internal;
                local-address 10.255.255.1;
                family inet-vpn {
                    unicast;
                }
                neighbor 10.255.255.6;
            }
        }
        ospf {
            area 0.0.0.0 {
                interface xe-9/0/0.10;
                interface lo0.1;
            }
        }
        ldp {
            interface xe-9/0/0.10;
        }
    }
    
    routing-options {
        autonomous-system 65000;
    }
    
    
    ==================================
    P1 
    
    
    protocols {
            mpls {
                interface xe-9/0/1.10;
                interface xe-9/0/0.20;
            }
            ospf {
                area 0.0.0.0 {
                    interface xe-9/0/1.10;
                    interface xe-9/0/0.20;
                    interface lo0.2;
                }
            }
            ldp {
                interface xe-9/0/0.20;
                interface xe-9/0/1.10;
            }
        }
    
    ==================================
    
    
    RR1
    
    
    protocols {
        mpls {
            interface xe-9/0/1.20;
            interface xe-9/0/0.30;
        }
        bgp {
            group rr-border {
                type external;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                export rr-border-export;
                peer-as 62222;
                local-as 61111;
                neighbor 10.0.30.2;
            }
            group internal {
                type internal;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                export nhs-rsvp-routes;
                neighbor 10.255.255.1 {
                    local-address 10.255.255.3;
                }
            }
        }
        ospf {
            area 0.0.0.0 {
                interface xe-9/0/1.20;
                interface xe-9/0/0.30;
                interface lo0.3;
            }
        }
        ldp {
            interface xe-9/0/1.20;
        }
    }
    
    
    
    
    
    policy-options {
        policy-statement nhs-rsvp-routes {
            term 1 {
                from {
                    protocol bgp;
                    neighbor 10.0.30.2;
                }
                then {
                    next-hop self;
                    accept;
                }
            }
        }
        policy-statement rr-border-export {
            term 1 {
                from {
                    route-filter 10.255.255.1/32 exact;
                    route-filter 10.255.255.2/32 exact;
                    route-filter 10.255.255.3/32 exact;
                }
                then {
                    accept;
                }
            }
            term 2 {
                from {
                    rib inet.3;
                    route-filter 10.255.255.3/32 exact;
                    route-filter 10.255.255.2/32 exact;
                    route-filter 10.255.255.1/32 exact;
                }
                then {
                    accept;
                }
            }
        }
    }
    
    routing-options {
        autonomous-system 65000;
    }
    
    
    
    
    
    ==================================
    
    RR2
    
    protocols {
        rsvp {
            interface xe-9/0/0.40;
        }
        mpls {
            label-switched-path rr2-to-pe2 {
                to 10.255.255.6;
            }
            label-switched-path rr2-to-p2 {
                to 10.255.255.5;
            }
            interface xe-9/0/1.30;
            interface xe-9/0/0.40;
        }
        bgp {
            group rr-border {
                type external;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                export rr-border-export;
                peer-as 61111;
                local-as 62222;
                neighbor 10.0.30.1;
            }
            group internal {
                type internal;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                export nhs-rsvp-routes;
                neighbor 10.255.255.6 {
                    local-address 10.255.255.4;
                }
            }
        }
        ospf {
            traffic-engineering;
            area 0.0.0.0 {
                interface xe-9/0/1.30;
                interface xe-9/0/0.40;
                interface lo0.4;
            }
        }
    }
    
    
    
    policy-options {
        policy-statement nhs-rsvp-routes {
            term 1 {
                from {
                    protocol bgp;
                    neighbor 10.0.30.1;
                }
                then {
                    next-hop self;
                }
            }
        }
        policy-statement rr-border-export {
            term 1 {
                from {
                    route-filter 10.255.255.4/32 exact;
                    route-filter 10.255.255.5/32 exact;
                    route-filter 10.255.255.6/32 exact;
                }
                then {
                    accept;
                }
            }
            term 2 {
                from {
                    rib inet.3;
                    route-filter 10.255.255.4/32 exact;
                    route-filter 10.255.255.5/32 exact;
                    route-filter 10.255.255.6/32 exact;
                }
                then {
                    accept;
                }
            }
        }
    }
    routing-options {
        autonomous-system 65000;
    }
    
    
    ==================================
    P2
    
    
        protocols {
            rsvp {
                interface xe-9/0/0.50;
                interface xe-9/0/1.40;
            }
            mpls {
                label-switched-path p2-to-rr2 {
                    to 10.255.255.4;
                }
                label-switched-path p2-to-pe2 {
                    to 10.255.255.6;
                }
                interface xe-9/0/1.40;
                interface xe-9/0/0.50;
            }
            ospf {
                traffic-engineering;
                area 0.0.0.0 {
                    interface xe-9/0/1.40;
                    interface xe-9/0/0.50;
                    interface lo0.5;
                }
            }
        }
    
    ==================================
    
    PE2
    
    
    protocols {
        rsvp {
            interface xe-9/0/1.50;
        }
        mpls {
            label-switched-path pe2-to-rr2 {
                to 10.255.255.4;
            }
            label-switched-path pe2-to-p2 {
                to 10.255.255.5;
            }
            interface xe-9/0/1.50;
        }
        bgp {
            group internal {
                type internal;
                family inet {
                    unicast;
                    labeled-unicast {
                        rib {
                            inet.3;
                        }
                    }
                }
                neighbor 10.255.255.4 {
                    local-address 10.255.255.6;
                }
            }
            group vpn {
                type internal;
                local-address 10.255.255.6;
                family inet-vpn {
                    unicast;
                }
                neighbor 10.255.255.1;
            }
        }
        ospf {
            traffic-engineering;
            area 0.0.0.0 {
                interface xe-9/0/1.50;
                interface lo0.6;
            }
        }
    }
    
    routing-options {
        autonomous-system 65000;
    }
    
    

     

     

    lab@MX# run show route logical-system PE1 table inet.3
    
    inet.3: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.255.255.2/32    *[LDP/9] 12:07:10, metric 1
                        > to 10.0.10.2 via xe-9/0/0.10
    10.255.255.3/32    *[LDP/9] 12:07:07, metric 1
                        > to 10.0.10.2 via xe-9/0/0.10, Push 299792
    10.255.255.5/32    *[BGP/170] 09:05:17, MED 1, localpref 100, from 10.255.255.3
                          AS path: 61111 62222 I
                        > to 10.0.10.2 via xe-9/0/0.10, Push 299984, Push 299792(top)
    10.255.255.6/32    *[BGP/170] 09:05:17, MED 2, localpref 100, from 10.255.255.3
                          AS path: 61111 62222 I
                        > to 10.0.10.2 via xe-9/0/0.10, Push 300000, Push 299792(top)
    
    
    
    
    lab@MX# run show route logical-system PE1 table vpn-1
    
    vpn-1.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.0.110.0/30      *[Direct/0] 01:36:38
                        > via xe-9/0/0.110
                        [BGP/170] 01:36:37, localpref 100
                          AS path: 63212 I
                        > to 10.0.110.2 via xe-9/0/0.110
    10.0.110.1/32      *[Local/0] 01:36:38
                          Local via xe-9/0/0.110
    10.0.120.0/30      *[BGP/170] 01:36:38, localpref 100, from 10.255.255.6
                          AS path: I
                        > to 10.0.10.2 via xe-9/0/0.10, Push 16, Push 300000, Push 299792(top)
    20.20.20.0/24      *[BGP/170] 01:36:37, localpref 100
                          AS path: 63212 I
                        > to 10.0.110.2 via xe-9/0/0.110
    20.20.30.0/24      *[BGP/170] 01:36:37, localpref 100, from 10.255.255.6
                          AS path: 63213 I
                        > to 10.0.10.2 via xe-9/0/0.10, Push 16, Push 300000, Push 299792(top)
    
    
    
    
    
    
    lab@MX# run show route logical-system PE2 table inet.3
    
    inet.3: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.255.255.1/32    *[BGP/170] 09:07:09, MED 1, localpref 100, from 10.255.255.4
                          AS path: 62222 61111 I
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-rr2
    10.255.255.2/32    *[BGP/170] 09:07:09, MED 1, localpref 100, from 10.255.255.4
                          AS path: 62222 61111 I
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-rr2
    10.255.255.4/32    *[RSVP/7/1] 10:44:21, metric 2
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-rr2
    10.255.255.5/32    *[RSVP/7/1] 10:44:20, metric 1
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-p2
    
    
    
    lab@MX# run show route logical-system PE2 table vpn-1
    
    vpn-1.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    10.0.110.0/30      *[BGP/170] 01:37:20, localpref 100, from 10.255.255.1
                          AS path: I
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-rr2
    10.0.120.0/30      *[Direct/0] 01:37:20
                        > via xe-9/0/0.120
                        [BGP/170] 01:37:19, localpref 100
                          AS path: 63213 I
                        > to 10.0.120.2 via xe-9/0/0.120
    10.0.120.1/32      *[Local/0] 01:37:20
                          Local via xe-9/0/0.120
    20.20.20.0/24      *[BGP/170] 01:37:19, localpref 100, from 10.255.255.1
                          AS path: 63212 I
                        > to 10.0.50.1 via xe-9/0/1.50, label-switched-path pe2-to-rr2
    20.20.30.0/24      *[BGP/170] 01:37:19, localpref 100
                          AS path: 63213 I
                        > to 10.0.120.2 via xe-9/0/0.120

     

    Regards

    Moses N

     

    -------------------------------------------------------

    If this post answers your question, please mark it as "Accepted Solution". Kudos are a nice way of expressing your gratitude



  • 6.  RE: RSVP LDP Stitch

    Posted 10-19-2012 10:59

     

    Many  thanks Moses for your great effort

     

    but what i am searching for ibgp session between the two RR because i don't like to spilit AS



  • 7.  RE: RSVP LDP Stitch

    Posted 10-19-2012 13:20

    Hi,

    if you check the config, i did'nt split the AS. I used different local-as for peering between border  routers. 

    Try with IBGP, it might work. 

     

    Rgds,

    Moses



  • 8.  RE: RSVP LDP Stitch

    Posted 10-02-2013 13:13

    Hi Moses,

     

    I think we can use another solution without using BGP our problem is each PE must see loopback address at inet.3

     

    At PE2 we can use install option to add PE1 loopback to the already existed RSVP LSP

    For PE1 at P1 we will use the egress-policy option the policy will match P1 and PE2 loopbacks

     

     

    PE1--------P1-----------RR1------------RR2----------P2---------------PE2

     

    http://www.juniper.net/techpubs/en_US/junos13.1/topics/usage-guidelines/mpls-configuring-the-prefixes-advertised-into-ldp-from-the-routing-table.html

     

    Thanks,

    Mahmoud