Routing Instances Configuration Guidelines
You can create multiple instances of Border Gateway Protocol (BGP), Intermediate System-to-Intermediate System (IS-IS), Label Distribution Protocol (LDP), Open Shortest Path First (OSPF), Protocol Independent Multicast (PIM), Routing Information Protocol (RIP), and static routes by including statements at the
[edit routing-instancesrouting-instance-nameprotocols]hierarchy level.Each routing instance consists of sets of the following:
You can configure four types of routing instances:
- Forwarding—Use this routing instance type for filter-based forwarding applications. For this instance type, there is no one-to-one mapping between an interface and a routing instance. All interfaces belong to the default instance
inet.0.- L2VPN—Use this routing instance type for Layer 2 Virtual Private Network (VPN) implementations.
- Nonforwarding—Use this routing instance type when a separation of routing table information is required. There is no corresponding forwarding table. All routes are installed into the default forwarding table. IS-IS instances are strictly nonforwarding instance types.
- VRF—VPN routing and forwarding. Use this routing instance type for Layer 3 VPN implementations. For this instance type, there is a one-to-one mapping between an interface and a routing instance. Each VRF instance corresponds with a forwarding table. Routes on an interface go into the corresponding forwarding table.
For more detailed information about configuring VPNs, see the JUNOS Internet Software Configuration Guide: VPNs.
This chapter describes the following tasks for configuring routing instances:
- Routing Instances Minimum Configuration on page 140
- Configure Multiple Instances of BGP on page 143
- Configure Multiple Instances of IS-IS on page 144
- Configure Multiple Instances of LDP on page 147
- Configure Multiple Instances of OSPF on page 148
- Configure Multiple Instances of PIM on page 152
- Configure Multiple Instances of RIP on page 153
- Configure an Instance on page 153
- Configure VPNs on page 154
- Configure an Instance Type on page 154
- Configure a Route Distinguisher (Address Extension) on page 155
- Configure Filter-Based Forwarding on page 155
- Configure Class of Service-Based Forwarding on page 157
- Configure Secondary VRF Import and Export Policy on page 158
- Configure Policy-based Export for Routing Instances on page 159
- Configure a VRF Table Label on page 164
- Configure a VRF Target on page 164
- Configure an OSPF Domain ID on page 164
- Configure a Route Limit for Routing Tables on page 168
To configure routing instances, include the following statements at the
[edit routing-instances]hierarchy level of the configuration:[edit]routing-instances {routing-instance-name{descriptiontext;forwarding-options {family (inet | inet6 | mpls) {filter {inputfilter-name;}}hash-key {family inet {layer-3;layer-4 ;}family mpls {label-1;label-2;}}helpers {bootp {descriptiondescription-of-service;interface interface-group {descriptiondescription-of-interface;maximum-hop-countnumber;minimum-wait-timeseconds;no-listen;server [addresses]maximum-hop-countnumber;minimum-wait-timeseconds;server address < [ routing-instancerouting-instance-name] >; domain {descriptiondescription-of-service; server address; interface interface-name {descriptiondescription-of-interface; no-listen; server address < [ routing-instancerouting-instance-name] >; }} tftp {descriptiondescription-of-service; server address < [ routing-instancerouting-instance-name] >; interface interface-name {descriptiondescription-of-interface; no-listen; server address;} } traceoptions { file filename { files number; size bytes; }flag flag; level level; } }sampling {disable;input {family inet {max-packets-per-secondnumber;ratenumber;run-lengthnumber;}}output {cflowdhost-name{aggregation {autonomous-system;destination-prefix;protocol-port;source-destination-prefix {caida-compliant;}source-prefix;}autonomous-system-type (origin | peer); (local-dump | no-local-dump); portport-number; versionformat; }file {disable;filenamefilename;filesnumber;sizebytes;(stamp | no-stamp);(world-readable | no-world-readable);}port-mirroring {interfaceinterface-name;next-hopaddress;}}traceoptions {filefilename{filesnumber;sizebytes;(world-readable | no-world-readable);}}}}interfaceinterface-name;instance-type (forwarding | l2vpn | no-forwarding | vrf);route-distinguisher(as-number:number|ip-address:number);vrf-import [policy-names];vrf-export [policy--names];vrf-table-label;vrf-target {exportcommunity-name;importcommunity-name;}protocols {bgp {bgp-configuration;}isis {isis-configuration;}ldp {ldp-configuration;}ospf {ospf-configuration;}pim {pim-configuration;}rip {rip-configuration;}}routing-options {aggregate {defaults {aggregate-options;}routedestination-prefix{policypolicy-name;aggregate-options;}}auto-export {(disable | enable);family {inet {multicast {(disable | enable);rib-grouprib-group;}unicast {(disable | enable);rib-grouprib-group;}}}traceoptions {filename<replace> <sizesize> <filesnumber> <no-stamp> <world-readable>;flagflag<flag-modifier> <disable>;}}autonomous-systemautonomous-system<loopsnumber>;confederationconfederation-autonomous-systemmembersautonomous-system;fate-sharing {groupgroup-name;costvalue;fromaddress[toaddress] ;}forwarding-table {export [policy-names];}generate {defaults {generate-options;}routedestination-prefix{policypolicy-name;generate-options;}}instance-export [policy-names];instance-import [policy-names];interface-routes {rib-groupgroup-name;}martians {destination-prefixmatch-type<allow>;}maximum-routesroute-limit<log-only | thresholdvalue>;multicast {scopescope-name{interfaceinterface-name;prefixdestination-prefix;}ssm-groups {addresses;}}options {syslog (levellevel| uptolevel);}resolution {tracefilter [policy-names];traceoptions {filename<replace> <sizesize> <filesnumber> <no-stamp><(world-readable | no-world-readable)>;flagflag<flag-modifier> <disable>;}}ribrouting-table-name{aggregate {defaults {aggregate-options;}routedestination-prefix{policypolicy-name;aggregate-options;}}generate {defaults {generate-options;}routedestination-prefix{policypolicy-name;generate-options;}}martians {destination-prefixmatch-type<allow>;}static {defaults {static-options;}rib-groupgroup-name;routedestination-prefix{lsp-next-hop {metricmetric;preferencepreference;}next-hop;qualified-next-hop {metricmetric;preferencepreference;}static-options;}}}rib-groups {group-name{import-policy [policy-names;import-rib [group-names];export-ribgroup-name;}}route-record ;router-idaddress;static {defaults {static-options;}rib-groupgroup-name;routedestination-prefix{lsp-next-hop {metricmetric;preferencepreference;}next-hop;qualified-next-hop {metricmetric;preferencepreference;}static-options;}}traceoptions {filename<replace> <sizesize> <filesnumber> <no-stamp><(world-readable | no-world-readable)>;flagflag<flag-modifier> <disable>;}}}}