Routing

 View Only
last person joined: 2 days 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.
Expand all | Collapse all

Connecting routing instances using next-table

  • 1.  Connecting routing instances using next-table

    Posted 07-10-2023 07:05

    Dear Juniper community,

    We have a network setup consisting of two physical routers. There are many routing instances running on those routers, the most important ones are the global routing instances (where the internet traffic enters) and the default routing instances. We are currently using logical tunnels between the global and the default to connect them to each other. We would like to replace the lt-interfaces with something like next-table, mainly because of the speed limitation. Any suggestions on how to do this? What would the impact be upon implementing this? I appreciate every reply of you guys.

    Best regards,

    Mohammad Ayash 



    ------------------------------
    MOHAMAMD AYASH
    ------------------------------


  • 2.  RE: Connecting routing instances using next-table

    Posted 07-11-2023 01:37

    Hi,

    Between the two routing instances, do you selectively import prefixes? There are several options using instance-imports, rib-groups and next-table. Is it possible to share the configuration of routing-instances and the routes advertised/learned between the two using the lt interfaces?

    Regards



    ------------------------------
    Sheetanshu Shekhar
    ------------------------------



  • 3.  RE: Connecting routing instances using next-table

    Posted 07-11-2023 03:35

    Hi,

    Thank you for your message. We are currently using a global routing instances (type virtual router) for the internet traffic and for publishing the default-route (0/0) and default routing instances (type VRF) for the clients as intermediate. There are only two global instances running on two physical routers. Each client has a default routing instance. The default instances are connected to each other using L3VPN (we are a tier-3 ISP).

    What I'm trying to achieve is to publish the default-route to the default routing instance.

    "Internet-global config"
    instance-type virtual-router;
    interface lt-0/0/0.10;
    interface ae0.101;
    interface ae0.210;
    interface ae0.4002;
    interface ae0.4012;
    interface ae0.4014;
    interface ae0.4015;
    interface lo0.1000;
    routing-options {
        rib internet-global.inet6.0 {
            generate {
                route ::/0 discard;
            }
        }
        generate {
            route 0.0.0.0/0 discard;
        }
        autonomous-system XXXX22;
    }
    protocols {
        bgp {
    	group customers {
                type external;
                description "default route to internet-default VRF";
                advertise-peer-as;
                peer-as 64999;
                neighbor 111.222.58.251 {
                    description "internet-default VRF";
                    local-address 111.222.58.250;
                    import [ set-lpref-customer accept-own-prefixes-aggregated-v4 reject-all ];
                    family inet {
                        unicast {
                            prefix-limit {
                                maximum 10;
                            }
                        }
                    }
                    export [ accept-default reject-all ];
                }
            }
    }

    "Internet-default config"
    description "Internet VRF - asXXXX22 subnets only!";
    instance-type vrf;
    interface lt-0/0/0.11;
    interface ae0.100;
    interface ae0.900;
    interface ae0.901;
    interface ae0.905;
    interface ae0.906;
    interface ae0.911;
    interface ae0.913;
    interface ae0.914;
    interface ae0.915;
    interface ae0.916;
    interface ae0.917;
    interface ae0.920;
    interface ae0.921;
    interface ae0.922;
    interface ae0.924;
    interface ae0.926;
    interface ae0.927;
    interface ae0.998;
    route-distinguisher XXXXXL:100;
    vrf-target target:XXXXXL:100;
    vrf-table-label;                        
    routing-options {
        rib internet-default.inet6.0 {
            aggregate {
                defaults {
                    as-path {
                        path 6XXX9;
                    }
                }
                route XX04:dXX0::/29;
                route XX07:bXX0::/29;
            }
        }
        aggregate {
            defaults {
                as-path {
                    path 6XXX9;
                }
            }
            route 111.22.32.0/22;
            route 111.222.56.0/23;
            route 111.22.58.0/24;
        }
        router-id 111.222.58.250;           
        autonomous-system 6XXX9 loops 2 independent-domain;
    }
    protocols {
        bgp {
    	 group internet-global {         
                type external;
                description "default route to internet-global";
                import [ accept-default reject-all ];
                export [ accept-own-prefixes-aggregated-v4 reject-all ];
                remove-private;
                neighbor 111.222.58.250 {
                    local-address 111.222.58.251;
                    peer-as XXXX22;
                }
            }
    }

    Here you can find the advertised and learned routes using the lt-interfaces:

    run show route table internet-global.inet                      
    
    internet-global.inet.0: 14 destinations, 15 routes (14 active, 1 holddown, 0 hidden)
    @ = Routing Use Only, # = Forwarding Use Only
    + = Active Route, - = Last Active, * = Both
    
    0.0.0.0/0          *[Aggregate/130] 00:20:07
                          Discard
    111.22.32.0/22     *[BGP/170] 00:19:39, localpref 120
                          AS path: 6XXX9 I, validation-state: unverified
                        > to 111.222.58.251 via lt-0/0/0.10
    111.222.56.0/23    *[BGP/170] 00:19:39, localpref 120
                          AS path: 6XXX9 I, validation-state: unverified
                        > to 111.222.58.251 via lt-0/0/0.10
    111.222.58.0/24    *[BGP/170] 00:19:39, localpref 120
                          AS path: 6XXX9 I, validation-state: unverified
                        > to 111.222.58.251 via lt-0/0/0.10
    111.222.58.250/31  *[Direct/0] 00:20:20
                        > via lt-0/0/0.10   
    111.222.58.250/32  *[Local/0] 00:20:20
                          Local via lt-0/0/0.10
    111.222.58.254/32  *[Direct/0] 00:20:20
                        > via lo0.1000
    111.222.58.255/32  @[OSPF/10] 00:20:07, metric 1
                        > to 111.222.58.255 via ae0.4002
                       #[Direct/0] 00:20:11, metric 1
                        > to 111.222.58.255 via ae0.4002

    run show route table internet-default.inet                          
    
    internet-default.inet.0: 77 destinations, 77 routes (77 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    0.0.0.0/0          *[BGP/170] 00:55:55, localpref 100
                          AS path: XXXX22 I, validation-state: unverified
                        > to 111.222.58.250 via lt-0/0/0.11
    111.22.32.0/22     *[Aggregate/130] 00:56:31
                          Reject
    111.222.56.0/23    *[Aggregate/130] 00:56:31
                          Reject
    111.222.58.0/24    *[Aggregate/130] 00:56:36
                          Reject
    111.222.58.250/31  *[Direct/0] 00:56:36
                        > via lt-0/0/0.11
    111.222.58.251/32  *[Local/0] 00:56:36
                          Local via lt-0/0/0.11

    Best regards,

    Mohammad Ayash



    ------------------------------
    MOHAMAMD AYASH
    ------------------------------



  • 4.  RE: Connecting routing instances using next-table

    Posted 07-12-2023 10:18

    Hi,

    Thanks for sharing the configuration.

    The following can possibly be done: -

    • Use next-table in the internet-default routing-instance to point the default-route to the global routing-instance.
    • Use rib-groups in the default routing-instance to export the required routes from the default instance to the global instance. As default instance is a vrf, instance-import will not work. Also, rib-groups probably won't work with the aggregate routes in the default-routing instance, so you may need to change the aggregate routes in the default routing instance to static discard routes.

    Regards



    ------------------------------
    Sheetanshu Shekhar
    ------------------------------