Is Is
Is Is
Published
2023-12-14
ii
Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc.
in the United States and other countries. All other trademarks, service marks, registered marks, or registered service
marks are the property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right
to change, modify, transfer, or otherwise revise this publication without notice.
The information in this document is current as of the date on the title page.
Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related
limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.
The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use
with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License
Agreement ("EULA") posted at [Link] By downloading, installing or using such
software, you agree to the terms and conditions of that EULA.
iii
Table of Contents
About This Guide | xiii
1 Overview
Introduction to IS-IS | 2
IS-IS Overview | 2
2 Configuring IS-IS
Configuring a Basic IS-IS Network | 12
Requirements | 14
Overview | 14
Configuration | 15
Verification | 18
Requirements | 21
Overview | 21
Configuration | 23
Verification | 29
Overview | 39
Requirements | 40
Configuration | 41
Verification | 57
Requirements | 69
Overview | 69
Configuration | 71
Verification | 76
Requirements | 78
Overview | 78
Configuration | 79
Verification | 80
Requirements | 88
Overview | 88
Configuration | 90
Verification | 116
Requirements | 135
v
Overview | 135
Configuration | 136
Verification | 144
Example: Configuring IS-IS Route Leaking from a Level 2 Area to a Level 1 Area | 148
Requirements | 148
Overview | 148
Configuration | 149
Verification | 155
Handling of the IS-IS Binding SID S Flag and RFC 7794 Prefix Attribute Flags | 157
Example: Configuring a Routing Policy to Redistribute BGP Routes with a Specific Community Tag
into IS-IS | 161
Requirements | 161
Overview | 161
Configuration | 162
Verification | 173
Requirements | 176
Overview | 176
Configuration | 178
Verification | 185
Requirements | 193
Overview | 194
Configuration | 194
Verification | 198
vi
Requirements | 207
Overview | 207
Configuration | 208
Verification | 211
Requirements | 214
Overview | 214
Configuration | 215
Verification | 218
Requirements | 228
Overview | 228
Configuration | 230
Verification | 263
Requirements | 278
Overview | 279
Verification | 280
Example: Configuring IS-IS Dual Stacking of IPv4 and IPv6 Unicast Addresses | 296
vii
Requirements | 296
Overview | 296
Configuration | 297
Verification | 301
Overview | 306
Configuration | 308
Verification | 314
Example: Configuring Node-Link Protection for IS-IS Routes in a Layer 3 VPN | 324
Requirements | 325
Overview | 325
Configuration | 326
Verification | 335
Configuring Remote LFA Backup over LDP Tunnels in an IS-IS Network | 342
Example: Configuring Remote LFA over LDP Tunnels in IS-IS Networks | 344
Requirements | 344
Overview | 345
Configuration | 347
Verification | 356
Requirements | 363
Overview | 363
Configuration | 364
Verification | 379
Requirements | 396
Overview | 396
Configuration | 398
Verification | 408
Requirements | 416
Overview | 417
Configuration | 417
Verification | 425
Requirements | 429
Overview | 429
Configuration | 429
Verification | 431
Requirements | 435
Overview | 435
Configuration | 436
Verification | 439
Requirements | 443
Overview | 443
Configuration | 444
Verification | 450
ix
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
Requirements | 459
Overview | 460
Configuration | 460
Verification | 465
Example: Configuring Anycast and Prefix Segments in SPRING for IS-IS to Increase Network Speed
| 467
Requirements | 467
Overview | 468
Configuration | 469
Verification | 484
Configuring Segment Routing Global Blocks Label Ranges in SPRING for IS-IS Protocol | 489
Configuring Anycast and Prefix segments in SPRING for IS-IS Protocol | 491
Understanding Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 510
Configuring Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 515
Example: Configuring Topology Independent Loop-Free Alternate with Segment Routing for IS-IS | 517
Requirements | 517
Overview | 518
Configuration | 519
Verification | 532
Requirements | 553
Overview | 553
Configuration | 555
Verification | 572
Example: Enable IS-IS Link Delay with Source Packet Routing in Networking (SPRING) in a Layer
3 Virtual Private Network (VPN) | 586
Requirements | 587
Overview | 588
Configuration | 589
Verification | 619
Example: Configure Strict SPF SIDs and Enable IGP Shortcuts in SPRING for IS-IS Protocol | 636
Overview | 636
Requirements | 637
Configuration | 638
Verification | 654
Example: Configuring the Transmission Frequency for Link-State PDUs on IS-IS Interfaces | 661
Requirements | 661
Overview | 661
Configuration | 662
Verification | 665
Example: Configuring the Transmission Frequency for CSNP Packets on IS-IS Interfaces | 669
Requirements | 669
Overview | 669
Configuration | 670
Verification | 673
xi
Requirements | 678
Overview | 678
Configuration | 679
Verification | 683
Requirements | 688
Overview | 688
Configuration | 688
Verification | 690
Example: Configuring IS-IS on Logical Systems Within the Same Router | 693
Requirements | 694
Overview | 694
Configuration | 695
Verification | 703
Requirements | 709
Overview | 709
Configuration | 710
Verification | 714
Requirements | 719
Overview | 720
Configuration | 720
Verification | 725
xii
Evaluating the Solution to Check Whether the Network Problem Is Resolved | 736
Use this guide to configure, monitor, and troubleshoot the IS-IS routing protocol on your Juniper
Network devices.
1 PART
Overview
Introduction to IS-IS | 2
2
CHAPTER 1
Introduction to IS-IS
IN THIS CHAPTER
IS-IS Overview | 2
IS-IS Overview
IN THIS SECTION
IS-IS Terminology | 3
IS-IS Packets | 5
Installing a Default Route to the Nearest Routing Device That Operates at Both IS-IS Levels | 7
The IS-IS protocol is an interior gateway protocol (IGP) that uses link-state information to make routing
decisions.
IS-IS is a link-state IGP that uses the shortest-path-first (SPF) algorithm to determine routes. IS-IS
evaluates the topology changes and determines whether to perform a full SPF recalculation or a partial
route calculation (PRC). This protocol originally was developed for routing International Organization for
Standardization (ISO) Connectionless Network Protocol (CLNP) packets.
Like OSPF routing, IS-IS uses hello packets that allow network convergence to occur quickly when
network changes are detected. IS-IS uses the SPF algorithm to determine routes. Using SPF, IS-IS
evaluates network topology changes and determines if a full or partial route calculation is required.
3
NOTE: Because IS-IS uses ISO addresses, the configuration of IP version 6 (IPv6) and IP version 4
(IPv4) implementations of IS-IS is identical.
NOTE: See Platforms/FPCs That Cannot Forward TCC Encapsulated ISO Traffic to find a list of
those devices and FPC configurations that cannot pass ISO traffic when encapsulated in TCC
format.
IS-IS Terminology
An IS-IS network is a single autonomous system (AS), also called a routing domain, that consists of end
systems and intermediate systems. End systems are network entities that send and receive packets.
Intermediate systems send and receive packets and relay (forward) packets. (Intermediate system is the
Open System Interconnection [OSI] term for a router.) ISO packets are called network PDUs.
In IS-IS, a single AS can be divided into smaller groups called areas. Routing between areas is organized
hierarchically, allowing a domain to be administratively divided into smaller areas. This organization is
accomplished by configuring Level 1 and Level 2 intermediate systems. Level 1 systems route within an
area; when the destination is outside an area, they route toward a Level 2 system. Level 2 intermediate
systems route between areas and toward other ASs. No IS-IS area functions strictly as a backbone.
Level 1 routers share intra-area routing information, and Level 2 routers share interarea information
about IP addresses available within each area. Uniquely, IS-IS routers can act as both Level 1 and Level 2
routers, sharing intra-area routes with other Level 1 routers and interarea routes with other Level 2
routers.
The propagation of link-state updates is determined by the level boundaries. All routers within a level
maintain a complete link-state database of all other routers in the same level. Each router then uses the
Dijkstra algorithm to determine the shortest path from the local router to other routers in the link-state
database.
IS-IS uses ISO network addresses. Each address identifies a point of connection to the network, such as
a router interface, and is called a network service access point (NSAP).
An end system can have multiple NSAP addresses, in which case the addresses differ only by the
last byte (called the n-selector). Each NSAP represents a service that is available at that node. In addition
to having multiple services, a single node can belong to multiple areas.
Each network entity also has a special network address called a network entity title (NET). Structurally,
an NET is identical to an NSAP address but has an n-selector of 00. Most end systems and intermediate
systems have one NET. Intermediate systems that participate in multiple areas can have multiple NETs.
49.0001.00a0.c96b.c490.00
49.0001.2081.9716.9018.00
NETs take several forms, depending on your network requirements. NET addresses are hexadecimal and
range from 8 octets to 20 octets in length. Generally, the format consists of an authority and format
Identifier (AFI), a domain ID, an area ID, a system identifier, and a selector. The simplest format omits the
domain ID and is 10 octets long. For example, the NET address 49.0001.1921.6800.1001.00 consists of
the following parts:
• 49—AFI
• 0001—Area ID
• 1921.6800.1001—System identifier
• 00—Selector
The system identifier must be unique within the network. For an IP-only network, we recommend using
the IP address of an interface on the router. Configuring a loopback NET address with the IP address is
helpful when troubleshooting is required on the network.
The first portion of the address is the area number, which is a variable number from 1 through 13 bytes.
The first byte of the area number (49) is the authority and format indicator (AFI). The next bytes are the
assigned domain (area) identifier, which can be from 0 through 12 bytes. In the examples above, the area
identifier is 0001.
The next six bytes form the system identifier. The system identifier can be any six bytes that are unique
throughout the entire domain. The system identifier commonly is the media access control (MAC)
address (as in the first example, 00a0.c96b.c490) or the IP address expressed in binary-coded decimal
(BCD) (as in the second example, 2081.9716.9018, which corresponds to IP address [Link]).
The last byte (00) is the n-selector.
5
NOTE: The system identifier cannot be 0000.0000.0000. All 0s is an illegal setting, and the
adjacency is not formed with this setting.
To provide help with IS-IS debugging, the Junos® operating system (Junos OS) supports dynamic
mapping of ISO system identifiers to the hostname. Each system can be configured with a hostname,
which allows the system identifier-to-hostname mapping to be carried in a dynamic hostname type,
length, and value (TLV) tuple in IS-IS link-state PDUs. This enables intermediate systems in the routing
domain to learn about the ISO system identifier of a particular intermediate system.
IS-IS Packets
Each IS-IS PDU shares a common header. IS-IS uses the following PDUs to exchange protocol
information:
• IS-IS hello (IIH) PDUs—Broadcast to discover the identity of neighboring IS-IS systems and to
determine whether the neighbors are Level 1 or Level 2 intermediate systems.
IS-IS hello PDUs establish adjacencies with other routers and have three different formats: one for
point-to-point hello packets, one for Level 1 broadcast links, and one for Level 2 broadcast links.
Level 1 routers must share the same area address to form an adjacency, while Level 2 routers do not
have this limitation. The request for adjacency is encoded in the Circuit type field of the PDU.
Hello PDUs have a preset length assigned to them. The IS-IS router does not resize any PDU to
match the maximum transmission unit (MTU) on a router interface. Each interface supports the
maximum IS-IS PDU of 1492 bytes, and hello PDUs are padded to meet the maximum value. When
the hello is sent to a neighboring router, the connecting interface supports the maximum PDU size.
• Link-state PDUs—Contain information about the state of adjacencies to neighboring IS-IS systems.
Link-state PDUs are flooded periodically throughout an area.
Also included is metric and IS-IS neighbor information. Each link-state PDU must be refreshed
periodically on the network and is acknowledged by information within a sequence number PDU.
On point-to-point links, each link-state PDU is acknowledged by a partial sequence number PDU
(PSNP), but on broadcast links, a complete sequence number PDU (CSNP) is sent out over the
network. Any router that finds newer link-state PDU information in the CSNP then purges the out-
of-date entry and updates the link-state database.
• Complete sequence number PDUs (CSNPs)—Contain a complete list of all link-state PDUs in the IS-IS
database. CSNPs are sent periodically on all links, and the receiving systems use the information in
the CSNP to update and synchronize their link-state PDU databases. The designated router
6
multicasts CSNPs on broadcast links in place of sending explicit acknowledgments for each link-state
PDU.
Contained within the CSNP is a link-state PDU identifier, a lifetime, a sequence number, and a
checksum for each entry in the database. Periodically, a CSNP is sent on both broadcast and point-
to-point links to maintain a correct database. Also, the advertisement of CSNPs occurs when an
adjacency is formed with another router. Like IS-IS hello PDUs, CSNPs come in two types: Level 1
and Level 2.
When a device receives a CSNP, it checks the database entries against its own local link-state
database. If it detects missing information, the device requests specific link-state PDU details using a
partial sequence number PDU (PSNP).
• Partial sequence number PDUs (PSNPs)—Sent multicast by a receiver when it detects that it is
missing a link-state PDU (when its link-state PDU database is out of date). The receiver sends a PSNP
to the system that transmitted the CSNP, effectively requesting that the missing link-state PDU be
transmitted. That routing device, in turn, forwards the missing link-state PDU to the requesting
routing device.
A PSNP is used by an IS-IS router to request link-state PDU information from a neighboring router. A
PSNP can also explicitly acknowledge the receipt of a link-state PDU on a point-to-point link. On a
broadcast link, a CSNP is used as implicit knowledge. Like hello PDUs and CSNPs, the PSNP also has
two types: Level 1 and Level 2.
When a device compares a CSNP to its local database and determines that a link-state PDU is
missing, the router issues a PSNP for the missing link-state PDU, which is returned in a link-state
PDU from the router sending the CSNP. The received link-state PDU is then stored in the local
database, and an acknowledgment is sent back to the originating router.
IPv4 and IPv6 route reachability information in IS-IS link-state PDUs is preserved when you commit a
configuration. IP prefixes are preserved with their original packet fragment upon link-state PDU
regeneration.
IS-IS does not support multipoint configurations. Therefore, when configuring Frame Relay or
Asynchronous Transfer Mode (ATM) networks, you must configure them as collections of point-to-point
links, not as multipoint clouds.
7
Installing a Default Route to the Nearest Routing Device That Operates at Both IS-IS
Levels
When a routing device that operates as both a Level 1 and Level 2 router (Router B) determines that it
can reach at least one area other than its own (for example, in Area Y), it sets the ATTACHED bit in its
Level 1 link-state PDU. Thereafter, the Level 1 router (Router A) introduces a default route pointing to
the nearest attached routing device that operates as both a Level 1 and Level 2 router (Router B). See
Figure 1 on page 7.
Figure 1: Install Default Route to Nearest Routing Device That Operates at Both Level 1 and Level 2
RELATED DOCUMENTATION
• ISO 9542, End System to Intermediate System Routing Exchange Protocol for Use in Conjunction
with the Protocol for the Provision of the Connectionless-mode Network Service
• RFC 1195, Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
• RFC 3719, Recommendations for Interoperable Networks using Intermediate System to Intermediate
System (IS-IS)
• RFC 3847, Restart Signaling for Intermediate System to Intermediate System (IS-IS)
• RFC 5120, M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-
ISs)
• RFC 5307, IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)
The following RFCs do not define standards, but provide information about IS-IS and related
technologies. The IETF classifies them as “Informational.”
9
• RFC 3359, Reserved Type, Length and Value (TLV) Codepoints in Intermediate System to
Intermediate System
• RFC 3373, Three-Way Handshake for Intermediate System to Intermediate System (IS-IS) Point-to-
Point Adjacencies
• RFC 5309, Point-to-Point Operation over LAN in Link State Routing Protocols
RELATED DOCUMENTATION
IS-IS Overview | 2
Supported ES-IS Standards
Accessing Standards Documents on the Internet
Subsecond service restoration is a key requirement for MPLS and native IP-based network service
providers. There are many ways to achieve fast reroute with a sub-optimal next-hop to reach the
destination, such as loop-free alternate and remote loop-free alternate. In these cases, IGP downloads
the primary and backup next-hop beforehand in the forwarding information base (FIB). A packet
forwarding engine (PFE) performs a local repair when the primary next-hop loses its reachability to a
given destination. Since the PFE already has an alternative path to reach its destination, subsecond
restoration is possible. If the destination is reachable through equal-cost multi-path (ECMP), only the
primary path is downloaded to the FIB. If a few ECMP links go down below the required bandwidth for a
destination, fast reroute convergence is not possible.
10
To resolve this, the best ECMP links are grouped as a unilist of primary next-hops to reach the
destination, and the sub-optimal ECMP links are grouped as a unilist of backup next-hops to reach the
destination. If the bandwidth of the primary next-hops falls below the desired bandwidth, the PFE does
a local repair and switches traffic to backup unilist next-hops. This is yet another backup, where the
backup path is computed and installed in FIB for ECMP paths. Here, a set of best ECMP links is grouped
as primary next-hops to reach the destination, and a set of sub-optimal ECMP links is grouped as backup
next-hops to reach the destination. If the bandwidth of the primary next-hops falls below the desired
bandwidth due to link failure on the primary group, the PFE should perform a local repair and switch the
traffic to backup next-hops.
In the following topology, R1 has three ECMP links to D1 via R2. R1 also has three sub-optimal ECMP
links to D1 via R3 and R2. All ECMP links L1, L2, and L3 can be placed under one group; a primary
group, and also group sub-optimal ECMP links L3, L4, and L5 under another group, a backup group.
Figure 2: Topology
IS-IS calculates the shortest path using the shortest-path-first (SPF) algorithm and downloads primary
next-hops with appropriate weight in FIB. IS-IS also calculates backup next-hops and downloads them
to FIB with appropriate weight.
Backup next-hop weight will always be greater than the primary next-hop weight. If a link from the
primary group goes down, the PFE performs a local repair and modifies the weight of the next-hops. The
PFE forwards traffic to the destination with the least weight next-hops to achieve sub-millisecond
convergence. IS-IS runs SPF and comes up with a set of primary and backup next-hops. IS-IS then
updates the FIB with the updated next hops. PFE resumes traffic forwarding on new next-hops without
any traffic loss.
RELATED DOCUMENTATION
Configuring IS-IS
CHAPTER 2
IN THIS CHAPTER
To configure IS-IS, you must enable IS-IS on the interfaces and configure a NET address on one of the
device interfaces (preferably, the lo0 interface) by setting family iso address net-address on the interface.
To create the NET address (also known as the system ID or the NSAP address), you can use the
convention that is dictated by your network design, or you can follow this convention:
1. Take the router ID, remove the dots (.), and insert leading zeroes where necessary so that the string is
12 characters long.
For example, if the router ID is [Link], the 12-character string would be 192168000004. If the
router ID is [Link], the 12-character string would be 010012023001.
If the routing devices are in area 47, the strings would become 47.1921.6800.0004 and
47.0100.1202.3001.
13
You must configure the ISO family on all interfaces that are supporting the IS-IS protocol by setting
family iso on the interface. This means that IS-IS related frames are not discarded by the routing devices.
You must enable IS-IS to run on the interfaces by setting interface interface-name in the protocol
configuration. This means that the interfaces are advertised into IS-IS.
Unlike OSPF, when you enable IS-IS on the lo0 interface, you do not need to explicitly set passive mode.
Passive mode means that the interface is advertised into the link-state protocol, but the interface does
not send or receive protocol control packets, such as IS-IS hello and link-state PDUs. In IS-IS, the lo0
interface is always passive.
When you enable IS-IS on an interface, both levels (Level 1 and Level 2) are enabled by default. To
specify that an interface is on a Level 1 link, disable Level 2. To specify that an interface is on a Level 2
link, disable Level 1. You can disable a level on the entire device or per-interface. If two routing devices,
R1 and R2, are both in the same IS-IS area, they communicate at Level 1 if one or both devices have
Level 2 disabled.
For security devices only, you must enable IS-IS by setting mode packet-based at the [edit security
forwarding-options family iso] hierarchy level.
NOTE: Junos releases prior to and including 19.2R1-S2 supported ISIS PDU exchange without
explicitly setting packet mode for ISIS under [edit security forwarding-options family iso]. In newer
releases this setting is required in order for ISIS to operate properly. When upgrading an SRX
device to a Junos version newer than 19.2R1-S2 you must configure packet mode for ISIS or
adjacencies will not form.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 14
Overview | 14
Configuration | 15
Verification | 18
This example shows how to configure IS-IS in a simple two-device network topology.
NOTE: Our content testing team has validated and updated this example.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
In this example, you configure two devices, Device R1 and Device R2, within a single IS-IS area.
• Configure a NET address (also known as the system ID or the NSAP address) on one of the device
interfaces (preferably, the lo0 interface) by including the family iso address net-address statement on
the interface.
• Configure the ISO family on all interfaces that are supporting the IS-IS protocol by including the
family iso statement on the interface.
• Advertise the device interfaces into IS-IS by inlcuding the interface interface-name statement in the
protocol configuration.
15
• (On security devices only) Enable the forwarding of IS-IS traffic by including the family mode packet-
based statement in the security forwarding options configuration.
NOTE: Junos releases prior to and including 19.2R1-S2 supported ISIS PDU exchange
without explicitly setting packet mode for ISIS under [edit security forwarding-options family
iso]. In newer releases this setting is required in order for ISIS to operate properly. When
upgrading an SRX device to a Junos version newer than 19.2R1-S2 you must configure packet
mode for ISIS or adjacencies will not form.
"CLI Quick Configuration" on page 15 shows the configuration for both of the devices in Figure 3 on
page 15.
Configuration
IN THIS SECTION
Procedure | 15
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
16
Device R1
Device R2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
To configure IS-IS:
1. (On security devices only) Enable the forwarding of IS-IS traffic to overcome the default behavior of
dropping IS-IS traffic.
[edit security]
user@R1# set forwarding-options family iso mode packet-based
17
2. Configure the device interface, and enable the ISO family on the interface.
[edit interfaces]
user@R1# set ge-0/0/0 unit 0 description "To R2"
user@R1# set ge-0/0/0 unit 0 family inet address [Link]/30
user@R1# set ge-0/0/0 unit 0 family iso
[edit interfaces]
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
[edit protocols]
user@R1# set isis interface ge-0/0/0.0
user@R1# set isis interface lo0.0
Results
From configuration mode, confirm your configuration by entering the show command. If the output does
not display the intended configuration, repeat the instructions in this example to correct the
configuration.
user@R1# show
security {
forwarding-options {
family iso {
mode packet-based;
}
}
}
interfaces {
ge-0/0/0 {
unit 0 {
description "To R2";
family inet {
address [Link]/30;
18
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0001.00;
}
}
}
}
protocols {
isis {
interface ge-0/0/0.0;
interface lo0.0;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that IS-IS adjacencies are up and that the IS-IS interfaces are included in the protocol
configuration.
19
Action
From operational mode, enter the show isis adjacency and show isis interface commands.
Meaning
Device R1 has established adjacency with Device R2 as indicated by the State output field which is Up.
Device R1 interfaces are advertised into IS-IS with Device R2 as the designated router responsible for
sending link-state advertisements. Both the devices are enabled with Level 1 and Level 2 IS-IS as
indicated by the L 3 output field.
Purpose
Verify that the devices are reachable by pinging their loopback addresses.
Action
From operational mode, enter the ping [Link] source [Link] count 100 rapid command.
Meaning
RELATED DOCUMENTATION
Link-state protocols cannot scale well if a large autonomous system (AS) consists of a single set of
routing devices that all share a common database to compute the best paths through the AS. Because
the shortest-path-first (SPF) algorithm works in an exponential fashion, the CPU demand can become
too heavy when too many routing devices share their complete routing information with each other. To
alleviate this issue, large ASs are divided into smaller parts called areas.
When ASs are split into areas, the disjointed areas must be connected to route traffic between the areas.
Reachability information at the area borders must be injected into each other areas.
Level 1 routers share intra-area routing information, and Level 2 routers share interarea information
about IP addresses available within each area. Uniquely, IS-IS routers can act as both Level 1 and Level 2
routers, sharing intra-area routes with other Level 1 routers and interarea routes with other Level 2
routers.
The propagation of link-state updates is determined by the level boundaries. All routers within a level
maintain a complete link-state database of all other routers in the same level. Each router then uses the
21
Dijkstra algorithm to determine the shortest path from the local router to other routers in the link-state
database.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 21
Overview | 21
Configuration | 23
Verification | 29
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 23
Like OSPF, the IS-IS protocol supports the partitioning of a routing domain into multiple areas with
levels that control interarea flooding. The use of multiple levels improves protocol scalability, as Level 2
(backbone) link-state PDUs are normally not flooded into a Level 1 area.
22
An IS-IS Level 2 area is analogous to the OSPF backbone area (0), while a Level 1 area operates much
like an OSPF totally stubby area, in that a default route is normally used to reach both inter-level and AS
external routes.
Unlike OSPF, IS-IS area boundaries occur between routers, such that a given routing device is always
wholly contained within a particular area. Level 1 adjacencies can be formed between routers that share
a common area number, while a Level 2 adjacency can be formed between routers that might or might
not share an area number.
"CLI Quick Configuration" on page 23 shows the configuration for all of the devices in Figure 4 on page
22. The section "No Link Title" on page 25 describes the steps on Device R5.
• Device R5 functions as a Level 1/Level 2 router to interconnect the Level 2 backbone area 49.0001
and the Level 1 area 49.0002 containing Device R6 and Device R7.
• Loss of any individual interface does not totally disrupt the IS-IS operation.
• The IPv4 lo0 addresses of all routers are reachable through IS-IS.
• The link between Device R3 and Device S1 appears in area 49.0001 as an intra-area route. No IS-IS
adjacencies can be established on this interface. This is accomplished by configuring the passive
statement on Device R3’s interface to Device S1.
23
Topology
Configuration
IN THIS SECTION
Procedure | 23
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R3
Device R4
Device R5
Device R6
Device R7
Device S1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
Enable IS-IS on the interfaces by Including the ISO address family on each interface.
[edit interfaces]
user@R5# set fe-1/2/0 unit 0 description to-R3
user@R5# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R5# set fe-1/2/0 unit 0 family iso
user@R5# set fe-1/2/1 unit 0 description to-R4
user@R5# set fe-1/2/1 unit 0 family inet address [Link]/30
user@R5# set fe-1/2/1 unit 0 family iso
user@R5# set fe-1/2/2 unit 0 description to-R6
user@R5# set fe-1/2/2 unit 0 family inet address [Link]/30
user@R5# set fe-1/2/2 unit 0 family iso
user@R5# set fe-1/2/3 unit 0 description to-R7
user@R5# set fe-1/2/3 unit 0 family inet address [Link]/30
user@R5# set fe-1/2/3 unit 0 family iso
The other is for the IS-IS area 49.0002 so that Device R5 can form adjacencies with the other Level 1
devices in area 49.0002. Even though Device R5’s NET identifies itself as belonging to the Level 1
area 49.0002, its loopback interface is not configured as a Level 1 interface. Doing so would cause
the route to Device R5’s loopback to be injected into the Level 1 area.
Device R5 becomes adjacent to the other routing devices on the same level on each link.
By default, IS-IS is enabled for IS-IS areas on all interfaces on which the ISO protocol family is
enabled (at the [edit interfaces interface-name unit logical-unit-number] hierarchy level). To disable IS-IS
at any particular level on an interface, include the disable statement.
Device R5’s loopback interface is configured to run Level 2 only. If Level 1 operation were enabled on
lo0.0, Device R5 would include its loopback address in its Level 1 link-state PDU, which is incorrect
for this example in which the loopback addresses of Level 2 devices must not appear in a Level 1
area.
27
Unlike OSPF, you must explicitly list the router’s lo0 interface at the [edit protocols isis] hierarchy
level, because this interface is the source of the router’s NET, and therefore must be configured as an
IS-IS interface. In IS-IS, the lo0 interface operates in the passive mode by default, which is ideal
because adjacency formation can never occur on a virtual interface.
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
family inet {
address [Link]/30;
}
family iso;
}
}
fe-1/2/3 {
unit 0 {
description to-R7;
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0005.00;
}
}
}
level 1 disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
Meaning
The output shows that Device R5’s interfaces have been correctly configured with the ISO family, and
that the interfaces have been placed into the correct levels.
You can also see that Device R5 has elected itself as the designated intermediate system (DIS) on its
broadcast-capable IS-IS interfaces.
Purpose
Verify that the expected adjacencies have formed between Device R5 and its IS-IS neighbors.
Action
From operational mode, enter the show isis adjacency detail command.
R4
Interface: fe-1/2/1.0, Level: 2, State: Up, Expires in 24 secs
Priority: 64, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 2, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R5.02, IP addresses: [Link]
R6
Interface: fe-1/2/2.0, Level: 1, State: Up, Expires in 6 secs
Priority: 64, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 1, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R6.02, IP addresses: [Link]
31
R7
Interface: fe-1/2/3.0, Level: 1, State: Up, Expires in 21 secs
Priority: 64, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 1, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R5.04, IP addresses: [Link]
Meaning
These results confirm that Device R5 has two Level 2 adjacencies and two Level 1 adjacencies.
Purpose
Because Device R5 is a Level 1/Level 2 (L1/L2) attached router, examine the Level 1 link-state database
associated with area 49.0002 to confirm that loopback addresses from backbone routers are not being
advertised into the Level 1 area.
Action
From operational mode, enter the show isis database detail command.
Meaning
This display indicates that Device R5’s loopback interface is correctly configured to run Level 2 only. Had
Level 1 operation been enabled on lo0.0, Device R5 would have then included its loopback address in its
Level 1 link-state PDU.
You can also see that Device R5 has Level 2 link-state PDUs, received from its adjacent neighbors.
Like an OSPF totally stubby area, no backbone (Level 2) or external prefixes are leaked into a Level 1
area, by default. Level 1 prefixes are leaked up into the IS-IS backbone, however, as can be seen in
Device R5’s Level 2 link-state PDU.
RELATED DOCUMENTATION
A router advertises its priority to become a designated router in its hello packets. On all multiaccess
networks (physical networks that support the attachment of more than two routers, such as Ethernet
networks), IS-IS uses the advertised priorities to elect a designated router for the network. This router is
responsible for sending network link-state advertisements, which describe all the routers attached to the
34
network. These advertisements are flooded throughout a single area. The priority value is meaningful
only on a multiaccess network. It has no meaning on a point-to-point interface.
A router’s priority for becoming the designated router is indicated by an arbitrary number from 0
through 127, which you configure on the IS-IS interface. The router with the highest priority becomes
the designated router for the area (Level 1, Level 2, or both), also configured on the IS-IS interface. If
routers in the network have the same priority, then the router with the highest MAC address is elected
as the designated router. By default, routers have a priority value of 64.
RELATED DOCUMENTATION
This example shows how to configure the designated router election priority for IS-IS.
• Configure network interfaces. See the Junos OS Interfaces Configuration Guide for Security Devices.
• Enable IS-IS on the interfaces. See "Example: Configuring IS-IS" on page 14.
In this example, you configure the priority for logical interface ge-0/0/1.0 to be 100 and the level
number to be 1. If this interface has the highest priority value, the router becomes the designated router
for the Level 1 area.
[edit]
user@host# set protocols isis interface ge-0/0/1.0 level 1 priority 100
NOTE:
• The default designated router election priority for IS-IS is 64. If you do not configure the
priority value for an interface, by default IS-IS assigns the priority 64.
• The router with the highest priority value is elected as the designated router.
35
RELATED DOCUMENTATION
For IS-IS to operate on the router, you can optionally configure a system identifier (system ID). The
system identifier is commonly the media access control (MAC) address or the IP address expressed in
binary-coded decimal (BCD).
If you do not statically map the hostname, the mapping is generated dynamically, based on the system
host-name. If you omit the static-host-mapping hostname sysid statement, the IS-IS system ID is dynamically
generated from the host portion of the ISO address configured on the loopback interface (lo0) and is
mapped to the host-name statement configured at the [edit system] hierarchy level. Run the show isis
hostname command to view the mappings.
To configure an International Organization for Standardization (ISO) system ID, include the sysid
statement at the [edit system static-host-mapping hostname] hierarchy level:
[edit system]
static-host-mapping {
hostname {
sysid system-identifier;
}
}
hostname is the name specified by the host-name statement at the [edit system] hierarchy level.
system-identifier is the ISO system identifier. It is the 6-byte system ID portion of the IS-IS network
service access point (NSAP). We recommend that you use the host’s IP address represented in BCD
format. For example, the IP address [Link] is 1921.6800.1077 in BCD.
RELATED DOCUMENTATION
A default route is the route that takes effect when no other route is available for an IP destination
address.
If a packet is received on a routing device, the device first checks to see if the IP destination address is
on one of the device’s local subnets. If the destination address is not local, the device checks its routing
table. If the remote destination subnet is not listed in the routing table, the packet is forwarded to the
next hop toward the destination using the default route. The default route generally has a next-hop
address of another routing device, which performs the same process. The process repeats until a packet
is delivered to the destination.
The route evaluation process in each router uses the longest prefix match method to obtain the most
specific route. The network with the longest subnet mask that matches the destination IP address is the
next-hop network gateway.
The default route in IPv4 is designated as [Link]/0 or simply 0/0. Similarly, in IPv6, the default route is
specified as ::/0. The subnet mask /0 specifies all networks, and is the shortest match possible. A route
lookup that does not match any other route uses this route if it is configured and active in the routing
table. To be active, the configured next-hop address must be reachable.
Administrators generally point the default route toward the routing device that has a connection to a
network service provider. Therefore, packets with destinations outside the organization's local area
network, typically destinations on the Internet or a wide area network, are forwarded to the routing
device with the connection to that provider. The device to which the default route points is often called
the default gateway.
RELATED DOCUMENTATION
Learn how to configure and run multiple instances of Configure Multiple IGP Instances of IS-
IS-IS on a router. IS | 37
Learn about the benefits and get an overview of Benefits of Multi-Instance IS-IS | 37
running multiple interior gateway protocol (IGP) Multi-Instance IS-IS Overview | 38
instances of IS-IS on a router.
• You can use multiple IGP instances of IS-IS to redistribute routes among independent IS-IS domains
on a single router.
• You can construct flexible IS-IS hierarchies across independent IGP domains.
• Allows decoupling of multiple IS-IS flooding domains and therefore achieve a more scalable IS-IS
deployment.
38
Figure 5 on page 38 illustrates several benefits of configuring multiple IGP instances of IS-IS on the
router. For example, Router F participates in two independent IS-IS instances. Router F treats IS-IS
Aggregation Network-1 and IS-IS Core Network as two independent IGP domains, while at the same
time redistributing routes between those domains. Network operators can use this flexibility to
construct a hierarchy of IS-IS domains.
Figure 5 on page 38 also illustrates the use of multiple IGP instances of IS-IS to separate metro
networks into independent IS-IS flooding domains. In the example, routers D and E participate in the IS-
IS metro-a, IS-IS metro-b, and IS-IS metro-c networks, as well as in IS-IS Aggregation Network-1.
Routers D and E do not flood the different IS-IS domains with IS-IS advertisements. Instead they
redistribute specific routes among the different IS-IS domains, which allows for more scalable metro
deployments.
You can configure and run multiple independent IGP instances of IS-IS simultaneously on a router. These
instances are associated with the default routing instance, and they install routes in the default routing
[Link] IS-IS instance can also export the routes installed in the routing table by other IS-IS instances
using the standard Junos OS routing policy configuration. By default, the routes installed by the
different IS-IS instances have the same route preference.
NOTE: Junos OS does not support configuring the same logical interface in multiple IGP
instances of IS-IS.
In most deployment scenarios, only one IS-IS instance on a router installs a route for a given prefix.
Therefore, you don't need to configure different route preferences for multiple IS-IS instances. However,
for certain deployment scenarios where multiple IS-IS instances install the routes for the same prefix in
the routing table, you can set a different route preference for the routes installed by other IS-IS
instances. This allows the routing table to choose the routes with the best route preference and installs
those routes in the forwarding table.
39
You can use the multiple IS-IS instance feature for both hierarchical and parallel deployments. In the
case of hierarchical deployments, there are well-defined borders between the groups of routers
participating in different IGP instances. In parallel deployments, different IGP instances (typically not
more than two or three) span entire groups of routers. You can also have mixed deployments, with some
domains in a hierarchical deployment running IGP instances in parallel.
You can configure multiple independent IGP instances of IS-IS by including the isis-instance
configuration statement at the [edit protocols] hierarchy level. The configuration statements that you use
at the [edit protocols isis-instance igp-instance-name] hierarchy level are the same as those available at the
[edit protocols isis] hierarchy level.
NOTE: The isis-instance configuration statement is not supported at the [edit routing-instances
routing-instance-name protocols] hierarchy level.
Verification | 57
Overview
IN THIS SECTION
Topology | 40
This example shows how to configure and run multiple independent IGP instances of IS-IS in metro
flooding domains.
40
Topology
Figure 2 shows an example of metro flooding domains (metro-a and metro-b) running independent IGP
instances of IS-IS. In the topology, routers R3 and R4 participate in metro IS-IS domains (IS-IS metro-a
and IS-IS metro-b) and the IS-IS core network domain. Routers R3 and R4 do not flood the different IS-IS
domains with IS-IS advertisements. Instead they redistribute specific routes among the different IS-IS
domains, which allows for a more scalable metro deployment.
Figure 6: Multi-Instance IS-IS Topology Across Independent Metro Flooding Domains (IGP Domains)
Requirements
• MX Series routers
NOTE: You must configure the network services mode as Enhanced IP. The Enhanced IP
configuration ensures that the router uses enhanced mode capabilities.
41
[edit]
user@CE1#set chassis network-services enhanced-ip
After you configure the enhanced-ip statement and commit the configuration, the following
warning message appears, prompting you to reboot the router:
'chassis'
WARNING: Chassis configuration for network services has been changed. A system reboot is
mandatory. Please reboot the system NOW. Continuing without a reboot might result in
unexpected system behavior.
commit complete
Configuration
IN THIS SECTION
Configure R1 | 47
Configure R3 | 49
To configure and run multiple IGP instances of IS-IS on the router, perform these tasks:
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Device R3
Device R4
Device R5
Device R6
Configure R1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
You can use the steps in this example to also configure the R2, R5, and R6 routers. See "CLI Quick
Configuration" on page 41 and Figure 2 to understand the interface IDs, IP addresses, and the loopback
addresses used on these routers.
To configure R1:
2. Create the loopback interface and configure the IP and NET addresses.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show protocols commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
interfaces {
ge-0/0/1 {
description R1-to-R4;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/0/2 {
description R1-to-R3;
unit 0 {
family inet {
address [Link]/24;
}
49
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0001.00;
}
}
}
}
protocols {
isis {
interface ge-0/0/1.0 {
level 2 metric 100;
level 1 disable;
point-to-point;
}
interface ge-0/0/2.0 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
interface lo0.0 {
passive;
}
}
}
routing-options {
router-id [Link];
}
Configure R3
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
50
You can use the steps in this example to also configure the R4 router. See "CLI Quick Configuration" on
page 41 and Figure 2 to understand the interface IDs, IP addresses, and the loopback address used on
the router.
To configure R3:
1. Configure the interfaces connecting to R1, R2, and R5 to enable IP and ISO family support.
2. Configure three subinterfaces (logical interfaces) connecting R3 and R4 (one IS-IS standard instance
and two IS-IS metro instances (IS-IS metro-a and IS-IS metro-b)).
NOTE: The standard IS-IS instance refers to the IS-IS IGP instance configured at the [edit
protocols isis] hierarchy level.
3. Create the loopback interface and configure the IP and NET addresses.
4. Configure policies to redistribute loopback addresses of IS-IS metro-instance (IS-IS metro-a and IS-
IS metro-b) and IS-IS standard-instance (core network) routers, so that the routes can be distributed
across IS-IS domains as required.
b. Configure policies to distribute the loopback addresses of the R5 and R6 routers (standard IS-IS
instance).
5. Enable IS-IS on the standard-instance interface (connecting R3 to R5) and on the subinterface
(connecting R3 to R4).
6. Configure IS-IS to export loopback addresses from IS-IS metro-a and IS-IS metro-b instances to the
IS-IS standard instance. This configuration distributes specific routes instead of flooding the entire
metro domain.
7. Enable IS-IS on the IS-IS metro-b instance interface (connecting R3 to R2) and on the subinterface
(R3 to R4).
user@R3# set protocols isis-instance metro-b interface ge-0/0/4.2 level 2 metric 100
user@R3# set protocols isis-instance metro-b interface ge-0/0/4.2 point-to-point
8. Configure IS-IS to export the loopback addresses of IS-IS metro-a and standard IS-IS instances to
the IS-IS metro-b instance. This configuration distributes specific routes instead of flooding the
entire standard IS-IS instances and metro-a domain instances.
9. Enable IS-IS on the IS-IS metro-a instance interface (connecting R3 to R1) and on the subinterface
(R3 to R4).
10. Configure IS-IS to export the loopback addresses of IS-IS metro-b and standard IS-IS instances to
the IS-IS metro-a instance. This configuration distributes specific routes instead of flooding the
entire standard IS-IS instances and metro-b domain instances.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show routing-options,
and show protocols commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
interfaces {
ge-0/0/1 {
description R3-to-R2;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/0/2 {
description R3-to-R1;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/0/3 {
description R3-to-R5;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/0/4 {
description R3-to-R4;
vlan-tagging;
unit 0 {
vlan-id 10;
family inet {
address [Link]/24;
55
}
family iso;
}
unit 1 {
vlan-id 11;
family inet {
address [Link]/24;
}
family iso;
}
unit 2 {
vlan-id 12;
family inet {
address [Link]/24;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0003.00;
}
}
}
}
policy-options {
policy-statement export-direct-loopback {
from {
protocol direct;
route-filter [Link]/32 exact;
}
then accept;
}
policy-statement export-isis {
from {
protocol isis;
level 2;
route-filter [Link]/24 longer;
}
56
then accept;
}
policy-statement export-isis-metro-a {
from {
igp-instance metro-a;
protocol isis;
level 2;
route-filter [Link]/24 longer;
}
then accept;
}
policy-statement export-isis-metro-b {
from {
igp-instance metro-b;
protocol isis;
level 2;
route-filter [Link]/24 longer;
}
then accept;
}
}
protocols {
isis {
interface ge-0/0/3.0 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
interface ge-0/0/4.0 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
interface lo0.0 {
passive;
}
export [ export-isis-metro-a export-isis-metro-b ];
}
isis-instance metro-b {
interface ge-0/0/1.0 {
level 1 disable;
level 2 metric 100;
point-to-point;
57
}
interface ge-0/0/4.2 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
export [ export-isis export-direct-loopback export-isis-metro-a ];
}
isis-instance metro-a {
interface ge-0/0/2.0 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
interface ge-0/0/4.1 {
level 1 disable;
level 2 metric 100;
point-to-point;
}
export [ export-isis export-direct-loopback export-isis-metro-b ];
}
}
routing-options {
router-id [Link];
}
Verification
IN THIS SECTION
To verify that the configuration is working properly, perform the following tasks:
58
Purpose
Verify the IS-IS advertisement entries in the IS-IS link-state database (LSDB), which contains data about
PDU packets.
Action
From operational mode, run the show isis database level 2 command.
On R3
On R1
Meaning
This output on R3 illustrates that R3 sees the IS-IS advertisements from R4, R5, and R6 which is
standard IS-IS instance. R3 also sees the IS-IS advertisements from R1 (IS-IS metro-a), R2 (IS-IS metro-b),
and R4 (both IS-IS metro-a and IS-IS metro-b). Thus, you can see that R3 is a common router that
redistributes IS-IS routes among the IS-IS metro-a instance, the IS-IS metro-b instance, and the standard
IS-IS instance (core network).
The output on R1 illustrates that R1 sees the IS-IS advertisements only from R3 and R4. R1 does not see
any IS-IS advertisements from R2. Thus, you see that IS-IS metro-a and IS-IS metro-b are separate IS-IS
flooding domains. You can use this property to build more scalable networks.
Purpose
Action
From operational mode, run the show route table inet.0 route-destination address extensive command.
On R3
Task: IS-IS-metro-b
Announcement bits (3): 0-KRT 2-IS-IS 4-IS-IS-metro-a
AS path: I
Thread: junos-main
Meaning
The output illustrates that the loopback address of R1 ([Link]) is mapped to the IS-IS metro-a
instance (IS-IS-metro-a) and the loopback address of R2 ([Link]) is mapped to the IS-IS metro-b
instance (IS-IS-metro-b) as configured in R3.
Purpose
Action
On R3
----------------
Prefix L Version Metric Type Interface NH Via Backup Score
[Link]/24 2 1961 126 int ge-0/0/4.1 IPV4 R4
ge-0/0/2.0 IPV4 R1
[Link]/32 2 1961 63 int ge-0/0/2.0 IPV4 R1
On R1
Meaning
The output on R3 shows the loopback addresses and the IS-IS instance mapping information of R1, R2,
R4, R5, and R6.
63
The output on R1 shows the loopback addresses of R2, R3, R4, R5, and R6.
Purpose
Action
On R3
On R1
Meaning
CHAPTER 3
IN THIS CHAPTER
All IS-IS protocol exchanges can be authenticated to guarantee that only trusted routing devices
participate in the autonomous system (AS) routing. By default, IS-IS authentication is disabled on the
routing device.
To configure IS-IS authentication, you must define an authentication password and specify the
authentication type.
• Simple authentication—Uses a text password that is included in the transmitted packet. The receiving
routing device uses an authentication key (password) to verify the packet. Simple authentication is
included for compatibility with existing IS-IS implementations. However, we recommend that you do
not use this authentication method because it is insecure (the text can be “sniffed”).
You can also configure more fine-grained interface-level authentication for hello packets.
66
authentication-type authentication;
For a list of hierarchy levels at which you can include this statement, see the statement summary section
for this statement.
To configure a password, include the authentication-key statement. The authentication password for all
routing devices in a domain must be the same.
authentication-key key;
For a list of hierarchy levels at which you can include this statement, see the statement summary section
for this statement.
To configure hitless authentication key rollover, include the authentication-key-chain (Protocols IS-IS)
statement.
The password can contain up to 255 characters. If you include spaces, enclose all characters in
quotation marks (“ ”).
If you are using the Junos OS IS-IS software with another implementation of IS-IS, the other
implementation must be configured to use the same password for the domain, the area, and all
interfaces that are shared with a Junos OS implementation.
Authentication of hello packets, partial sequence number PDU (PSNP), and complete sequence number
PDU (CSNP) can be suppressed to enable interoperability with the routing software of different vendors.
Different vendors handle authentication in various ways, and suppressing authentication for different
PDU types might be the simplest way to allow compatibility within the same network.
To configure IS-IS to generate authenticated packets, but not to check the authentication on received
packets, include the no-authentication-check statement:
no-authentication-check;
no-hello-authentication;
67
no-psnp-authentication;
no-csnp-authentication;
For a list of hierarchy levels at which you can include these statements, see the statement summary
sections for these statements.
NOTE: The authentication and the no-authentication statements must be configured at the same
hierarchy level. Configuring authentication at the [edit protocols isis interface interface-name]
hierarchy level and configuring no-authentication at the [edit protocols isis] hierarchy level has no
effect.
RELATED DOCUMENTATION
To allow the use of authentication without requiring network-wide deployment, include the loose-
authentication-check statement:
loose-authentication-check;
For a list of hierarchy levels at which you can include this statement, see the statement summary section
for this statement.
68
RELATED DOCUMENTATION
IS-IS protocol exchanges can be authenticated to guarantee that only trusted routing devices participate
in routing. By default, authentication is disabled. The authentication algorithm creates an encoded
checksum that is included in the transmitted packet. The receiving routing device uses an authentication
key (password) to verify the packet’s checksum.
If you configure authentication for all peers, each peer in that group inherits the group’s authentication.
You can update authentication keys without resetting any IS-IS neighbor sessions. This is referred to as
hitless authentication key rollover.
Hitless authentication key rollover uses authentication keychains, which consist of the authentication
keys that are being updated. The keychain includes multiple keys. Each key in the keychain has a unique
start time. At the next key’s start time, a rollover occurs from the current key to the next key, and the
next key becomes the current key.
You can choose the algorithm through which authentication is established. You can configure MD5 or
SHA-1 authentication. You associate a keychain and the authentication algorithm with an IS-IS
neighboring session. Each key contains an identifier and a secret password.
The sending peer chooses the active key based on the system time and the start times of the keys in the
keychain. The receiving peer determines the key with which it authenticates based on the incoming key
identifier.
You can configure either RFC 5304-based encoding or RFC 5310-based encoding for the IS-IS protocol
transmission encoding format.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 69
Overview | 69
Configuration | 71
Verification | 76
This example shows how to configure hitless authentication key rollover for IS-IS.
Requirements
No special configuration beyond device initialization is required before configuring hitless authentication
key rollover for IS-IS.
Overview
IN THIS SECTION
Topology | 70
Authentication guarantees that only trusted routers participate in routing updates. This keychain
authentication method is referred to as hitless because the keys roll over from one to the next without
resetting any peering sessions or interrupting the routing protocol. Junos OS supports both RFC 5304,
IS-IS Cryptographic Authentication and RFC 5310, IS-IS Generic Cryptographic Authentication.
This example includes the following statements for configuring the keychain:
• algorithm—For each key in the keychain, you can specify an encryption algorithm. The algorithm can
be SHA-1 or MD-5.
• key—A keychain can have multiple keys. Each key within a keychain must be identified by a unique
integer value. The range of valid identifier values is from 0 through 63.
• key-chain—For each keychain, you must specify a name. This example defines two keychains: base-
key-global and base-key-inter.
70
• options—For each key in the keychain, you can specify the encoding for the message authentication
code:isis-enhanced or basic. The basic (RFC 5304) operation is enabled by default.
When you configure the isis-enhanced option, Junos OS sends RFC 5310-encoded routing protocol
packets and accepts both RFC 5304-encoded and RFC 5310-encoded routing protocol packets that
are received from other devices.
When you configure basic (or do not include the options statement in the key configuration) Junos
OS sends and receives RFC 5304-encoded routing protocols packets, and drops 5310-encoded
routing protocol packets that are received from other devices.
Because this setting is for IS-IS only, the TCP and the BFD protocols ignore the encoding option
configured in the key.
• secret—For each key in the keychain, you must set a secret password. This password can be entered
in either encrypted or plain text format in the secret statement. It is always displayed in encrypted
format.
• start-time—Each key must specify a start time based on UTC using the ISO 8601 format. Control gets
passed from one key to the next. When a configured start time arrives (based on the routing device’s
clock), the key with that start time becomes active. Start times are specified in the local time zone for
a routing device and must be unique within the key chain.
You can apply a keychain globally to all interfaces or more granularly to specific interfaces.
This example includes the following statements for applying the keychain to all interfaces or to
particular interfaces:
• authentication-key-chain—Enables you to apply a keychain at the global IS-IS level for all Level 1 or
all Level 2 interfaces.
Topology
Configuration
IN THIS SECTION
Procedure | 71
Results | 74
Procedure
To quickly configure the hitless authentication key rollover for IS-IS, copy the following commands and
paste the commands into the CLI.
[edit]
set interfaces ge-0/0/0 unit 0 description "interface A"
set interfaces ge-0/0/0 unit 0 family inet address [Link]/30
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family inet6 address fe80::200:f8ff:fe21:67cf/128
set interfaces ge-0/0/1 unit 0 description "interface B"
set interfaces ge-0/0/1 unit 0 family inet address [Link]/30
set interfaces ge-0/0/1 unit 0 family iso
72
Step-by-Step Procedure
[edit]
user@host# edit interfaces ge-0/0/0 unit 0
[edit interfaces ge-0/0/0 unit 0]
user@host# set description "interface A"
user@host# set family inet address [Link]/30
user@host# set family iso
user@host# set family inet6 address fe80::200:f8ff:fe21:67cf/128
user@host# exit
73
[edit]
user@host# edit interfaces ge-0/0/1 unit 0
[edit interfaces ge-0/0/1 unit 0]
user@host# set interfaces ge-0/0/1 unit 0 description "interface B"
user@host# set interfaces ge-0/0/1 unit 0 family inet address [Link]/30
user@host# set interfaces ge-0/0/1 unit 0 family iso
user@host# set interfaces ge-0/0/1 unit 0 family inet6 address 10FB::C:ABC:1F0C:44DA/128
user@host# exit
[edit]
user@host# edit interfaces ge-0/0/2 unit 0
[edit interfaces ge-0/0/2 unit 0]
user@host# set description "interface C"
user@host# set family inet address [Link]/30
user@host# set interfaces ge-0/0/2 unit 0 family iso
user@host# set interfaces ge-0/0/2 unit 0 family inet6 address ff06::c3/128
user@host# exit
2. Configure one or more authentication key chains and keys. In this example we demonstrate the use
of both a global and interface level key chain, both having two keys. The global key chain is applied to
all ISIS Level 2 interfaces. This key chain authenticates both hellos and LSP exchanges. The interface
key chain is applied specifically to the ge-0/0/0 interface (Interface A) for ISIS Level 1 and is used
only for authenticating hello exchanges.
[edit]
user@host# edit security authentication-key-chains key-chain base-key-global
[edit security authentication-key-chains key-chain base-key-global]
user@host# set key 63 secret "$ABC123"
user@host# set key 63 start-time "2011-8-6.[Link]-0700"
user@host# set key 63 algorithm hmac-sha-1
user@host# set key 63 options isis-enhanced
user@host# exit
[edit]
user@host# edit security authentication-key-chains key-chain base-key-inter
[edit security authentication-key-chains key-chain base-key-inter]
user@host# set key 0 secret "$ABC123"
user@host# set key 0 start-time "2011-8-6.[Link]-0700"
74
3. Apply the base-key-global key chain to all Level 2 ISIS interfaces on Router R0.
[edit]
user@host# edit protocols isis level 2
[edit protocols isis level 1]
set authentication-key-chain base-key-global
user@host# exit
4. Apply the base-key-inter key chain for ISIS hello authentication at Level 1 to the ge-0/0/0.0 interface
on Router R0.
[edit]
user@host# edit protocols isis interface ge-0/0/0.0 level 1
[edit protocols isis interface ge-0/0/0.0 level 1]
set hello-authentication-key-chain base-key-inter
user@host# exit
[edit]
user@host# commit
Results
Confirm your configuration by entering the show interfaces, show protocols, and show security
commands.
unit 0 {
description "interface A";
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address fe80::200:f8ff:fe21:67cf/128;
}
}
}
ge-0/0/1 {
unit 0 {
description "interface B";
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address 10FB::C:ABC:1F0C:44DA/128;
}
}
}
ge-0/0/2 {
unit 0 {
description "interface C";
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address ff06::c3/128;
}
}
}
}
}
key 64 {
secret "ABC1234”;
start-time "2011-10-6.[Link]-0700";
algorithm hmac-sha-1;
options isis-enhanced;
}
key-chain base-key-inter {
key 0 {
secret "$ABC123”;
start-time "2011-8-6.[Link]-0700";
algorithm md5;
options basic;
}
key 1 {
secret "$ABC1234”;
start-time "2011-10-6.[Link]-0700";
algorithm md5;
options basic;
}
}
}
Verification
To verify the configuration, run the following commands:
RELATED DOCUMENTATION
The checksum enables IS-IS to check at the receiver if the IS-IS protocol frames have become corrupted
while traversing the network.
Sometimes corrupt IS-IS protocol frames can go undetected. If routing control traffic becomes
corrupted, it is likely that user payload traffic might be corrupted, too. This can lead to unacceptable
throughput. To prevent corrupt frames from going undetected, we recommend enabling checksumming
on the IS-IS interfaces.
To review, IS-IS hello (IIH) PDUs establish adjacencies with other routing devices. A partial sequence
number PDU (PSNP) is used by an IS-IS router to request link-state PDU information from a neighboring
router. The complete sequence number PDU (CSNP) lists all the link-state PDUs in the link-state
database.
The original specification for IS-IS does not provide checksums for IIHs, CSNPs, and PSNPs.
RFC 3358, Optional Checksums in Intermediate System to Intermediate System (ISIS) introduced an
optional type, length, and value (TLV) tuple that provides checksums for IIHs, PSNPs, and CSNPs.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 78
Overview | 78
78
Configuration | 79
Verification | 80
This example shows how to enable packet checksums for IS-IS interfaces.
Requirements
Before you begin, configure IS-IS on both routers. See "Example: Configuring IS-IS" on page 14 for
information about the sample IS-IS configuration.
Overview
Junos OS supports IS-IS checksums as documented in RFC 3358, Optional Checksums in Intermediate
System to Intermediate System (ISIS).
IS-IS protocol data units (PDUs) include link-state PDUs, complete sequence number PDUs (CSNPs),
partial sequence number PDUs (PSNPs), and IS-IS hello (IIH) packets. These PDUs can be corrupt due to
faulty implementations of Layer 2 hardware or lack of checksums on a specific network technology.
Corruption of length or type, length, and value (TLV) fields can lead to the generation of extensive
numbers of empty link-state PDUs in the receiving node. Because authentication is not a replacement
for a checksum mechanism, you might want to enable the optional checksum TLV on your IS-IS
interfaces.
The checksum cannot be enabled with MD5 hello authentication on the same interface.
Configuration
IN THIS SECTION
Procedure | 79
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
1. Enable checksums.
Results
From configuration mode, confirm your configuration by entering the show protocols commands. If the
output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Verifying Checksums | 81
Verifying Checksums
Purpose
Action
From operational mode, enter the show log isis | match checksum command.
Meaning
The output shows that checksum information is captured in the IS-IS trace log file.
RELATED DOCUMENTATION
CHAPTER 4
IN THIS CHAPTER
Example: Configuring IS-IS Route Leaking from a Level 2 Area to a Level 1 Area | 148
Handling of the IS-IS Binding SID S Flag and RFC 7794 Prefix Attribute Flags | 157
Understanding BGP Communities, Extended Communities, and Large Communities as Routing Policy Match
Conditions | 159
Example: Configuring a Routing Policy to Redistribute BGP Routes with a Specific Community Tag into IS-
IS | 161
IN THIS SECTION
Dynamic Database | 85
83
For some routing platform vendors, the flow of routes occurs between various protocols. If, for example,
you want to configure redistribution from RIP to OSPF, the RIP process tells the OSPF process that it
has routes that might be included for redistribution. In Junos OS, there is not much direct interaction
between the routing protocols. Instead, there are central gathering points where all protocols install
their routing information. These are the main unicast routing tables inet.0 and inet6.0.
From these tables, the routing protocols calculate the best route to each destination and place these
routes in a forwarding table. These routes are then used to forward routing protocol traffic toward a
destination, and they can be advertised to neighbors.
Two terms—import and export—explain how routes move between the routing protocols and the routing
table.
• When the Routing Engine places the routes of a routing protocol into the routing table, it is importing
routes into the routing table.
• When the Routing Engine uses active routes from the routing table to send a protocol advertisement,
it is exporting routes from the routing table.
NOTE: The process of moving routes between a routing protocol and the routing table is
described always from the point of view of the routing table. That is, routes are imported into
a routing table from a routing protocol and they are exported from a routing table to a routing
protocol. Remember this distinction when working with routing policies.
As shown in Figure 9 on page 84, you use import routing policies to control which routes are placed in
the routing table, and export routing policies to control which routes are advertised from the routing
table to neighbors.
84
In general, the routing protocols place all their routes in the routing table and advertise a limited set of
routes from the routing table. The general rules for handling the routing information between the
routing protocols and the routing table are known as the routing policy framework.
The routing policy framework is composed of default rules for each routing protocol that determine
which routes the protocol places in the routing table and advertises from the routing table. The default
rules for each routing protocol are known as default routing policies.
You can create routing policies to preempt the default policies, which are always present. A routing
policy allows you to modify the routing policy framework to suit your needs. You can create and
implement your own routing policies to do the following:
• Control which active routes a routing protocol advertises from the routing table. An active route is a
route that is chosen from all routes in the routing table to reach a destination.
• Manipulate the route characteristics as a routing protocol places the route in the routing table or
advertises the route from the routing table.
You can manipulate the route characteristics to control which route is selected as the active route to
reach a destination. The active route is placed in the forwarding table and is used to forward traffic
toward the route’s destination. In general, the active route is also advertised to a router’s neighbors.
85
When multiple routes for a destination exist in the routing table, the protocol selects an active route and
that route is placed in the appropriate routing table. For equal-cost routes, the Junos OS places multiple
next hops in the appropriate routing table.
When a protocol is exporting routes from the routing table, it exports active routes only. This applies to
actions specified by both default and user-defined export policies.
When evaluating routes for export, the Routing Engine uses only active routes from the routing table.
For example, if a routing table contains multiple routes to the same destination and one route has a
preferable metric, only that route is evaluated. In other words, an export policy does not evaluate all
routes; it evaluates only those routes that a routing protocol is allowed to advertise to a neighbor.
NOTE: By default, BGP advertises active routes. However, you can configure BGP to advertise
inactive routes, which go to the same destination as other routes but have less preferable
metrics.
An explicitly configured route is a route that you have configured. Direct routes are not explicitly
configured. They are created as a result of IP addresses being configured on an interface. Explicitly
configured routes include aggregate, generated, local, and static routes. (An aggregate route is a route
that distills groups of routes with common addresses into one route. A generated route is a route used
when the routing table has no information about how to reach a particular destination. A local route is
an IP address assigned to a router interface. A static route is an unchanging route to a destination.)
The policy framework software treats direct and explicitly configured routes as if they are learned
through routing protocols; therefore, they can be imported into the routing table. Routes cannot be
exported from the routing table to the pseudoprotocol, because this protocol is not a real routing
protocol. However, aggregate, direct, generated, and static routes can be exported from the routing
table to routing protocols, whereas local routes cannot.
Dynamic Database
In Junos OS Release 9.5 and later, you can configure routing policies and certain routing policy objects in
a dynamic database that is not subject to the same verification required by the standard configuration
database. As a result, you can quickly commit these routing policies and policy objects, which can be
referenced and applied in the standard configuration as needed. BGP is the only protocol to which you
can apply routing policies that reference policies configured in the dynamic database. After a routing
policy based on the dynamic database is configured and committed in the standard configuration, you
can quickly make changes to existing routing policies by modifying policy objects in the dynamic
86
database. Because Junos OS does not validate configuration changes to the dynamic database, when
you use this feature, you should test and verify all configuration changes before committing them.
RELATED DOCUMENTATION
Support for IS-IS loop-free alternate (LFA) routes essentially adds IP fast-reroute capability for IS-IS.
Junos OS precomputes multiple loop-free backup routes for all IS-IS routes. These backup routes are
pre-installed in the Packet Forwarding Engine, which performs a local repair and implements the backup
path when the link for a primary next hop for a particular route is no longer available. The selection of
LFA is done randomly by selecting any matching LFA to progress to the given destination. This does not
ensure best backup coverage available for the network. In order to choose the best LFA, Junos OS
allows you to configure network-wide backup selection policies for each destination (IPv4 and IPv6) and
a primary next-hop interface. These policies are evaluated based on admin-group, srlg, bandwidth,
protection-type, metric, and neighbor information.
During backup shortest-path-first (SPF) computation, each node and link attribute of the backup path is
accumulated by IGP and is associated with every node (router) in the topology. The next hop in the best
backup path is selected as the backup next hop in the routing table. In general, backup evaluation policy
rules are categorized into the following types:
• Ordering — Rules configured to select the best among the eligible backup paths.
The backup selection policies can be configured with both pruning and ordering rules. While evaluating
the backup policies, each backup path is assigned a score, an integer value that signifies the total weight
of the evaluated criteria. The backup path with the highest score is selected.
To enforce LFA selection, configure various rules for the following attributes:
• admin-group– Administrative groups, also known as link coloring or resource class, are manually
assigned attributes that describe the “color” of links, such that links with the same color conceptually
belong to the same class. These configured administrative groups are defined under protocol MPLS.
You can use administrative groups to implement a variety of backup selection policies using exclude,
include-all, include-any, or preference.
• node— A list of loop-back IP addresses of the adjacent nodes to either prefer or exclude in the
backup path selection. The node can be a local (adjacent router) node, remote node, or any other
router in the backup path. The nodes are identified through the TE-router-ID TLV advertised by a
node in the LSP.
• node-tag— A node tag identifies a group of nodes in the network based on criteria such as the same
neighbor tag values for all PE nodes to either prefer or exclude in the a backup path selection. This is
implemented using IS-IS admin-tags. The routers are not identified with the explicit router-id but
with an admin-tag prefix to their lo0 address prefix. These tags are advertised as part of extended IP
reachability with a /32 prefix length that represents the TE-router _ID or node-ID of a router.
• srlg— A shared risk link group (SRLG) is a set of links sharing a common resource, which affects all
links in the set if the common resource fails. These links share the same risk of failure and are
therefore considered to belong to the same SRLG. For example, links sharing a common fiber are said
to be in the same SRLG because a fault with the fiber might cause all links in the group to fail. An
SRLG is represented by a 32-bit number unique within an IGP (IS-IS) domain. A link might belong to
multiple SRLGs. You can define the backup selection to either allow or reject the common SRLGs
between the primary and the backup path.
• bandwidth—The bandwidth specifies the bandwidth constraints between the primary and the backup
path. The backup next-hop link can be used only if the bandwidth of the backup next-hop interface is
greater than or equal to the bandwidth of the primary next hop.
• protection-type— The protection-type protects the destination from node failure of the primary
node or link failure of the primary link. You can configure node, link, or node-link to protect the
destination.. If link-node is configured , then the node-protecting LFA is preferred over link-
protection LFA.
• metric— Metric decides how the LFAs should be preferred. In backup selection path, root metric and
dest-metric are the two types of metrics. root-metric indicates the metric to the one-hop neighbor or
a remote router such as an RSVP backup LSP tail-end router. The dest-metric indicates the metric
from a one-hop neighbor or remote router such as an RSVP backup LSP tail-end router to the final
destination. The metric evaluation is done either in ascending or descending order. By default, the
first preference is given to backup paths with lowest destination evaluation and then to backup paths
with lowest root metrics.
The evaluation-order allows you to control the order and criteria of evaluating these attributes in the
backup path. You can explicitly configure the evaluation order. Only the configured attributes influence
the backup path selection. The default order of evaluation of these attributes for the LFA is [ admin-
group srlg bandwidth protection-type neighbor neighbor-tag metric ] .
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 88
Overview | 88
Configuration | 90
Verification | 116
This example shows how to configure the backup selection policy for the IS-IS protocol.
When you enable backup selection policies, Junos OS allows selection of LFA based on the policy rules
and attributes of the links and nodes in the network. These attributes are admin-group, srlg, bandwidth,
protection-type, metric, neighbor, and neighbor-tag.
Requirements
This example uses the following hardware and software components:
• Eight routers that can be a combination of M Series Multiservice Edge Routers, MX Series 5G
Universal Routing Platforms, and T Series Core Routers
2. Configure IS-IS.
Overview
IN THIS SECTION
Topology | 89
89
Starting with Junos OS Release 14.1, the default loop free alternative (LFA) selection algorithm or
criteria can be overridden with an LFA policy. These policies are configured for each destination (IPv4
and IPv6) and a primary next-hop interface . These backup policies enforce LFA selection based on
admin-group, srlg, bandwidth, protection-type, metric, neighbor, and neighbor-tag attributes of the
backup path. During backup shortest-path-first (SPF) computation, each attribute (both node and link) of
the backup path, stored per backup next-hop, is accumulated by IGP. For the routes created internally by
IGP, the attribute set of every backup path is evaluated against the policy configured for each
destination (IPv4 and IPv6) and a primary next-hop interface. The first or the best backup path is
selected and installed as the backup next hop in the routing table. To configure the backup selection
policy, include the backup-selection configuration statement at the [edit routing-options] hierarchy level.
The show backup-selection command displays the configured policies for a given interface and destination.
The display can be filtered against a particular destination, prefix, interface, or logical systems.
Topology
Configuration
IN THIS SECTION
Results | 111
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
R0
R1
R2
R3
R4
R5
R6
R7
Configuring Device R3
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
[edit interfaces]
user@R3# set ge-1/3/5 unit 0 family inet address [Link]/24
user@R3# set ge-1/3/5 unit 0 family iso
user@R3# set ge-1/3/5 unit 0 family inet6 address [Link]/64
user@R3# set ge-1/3/5 unit 0 family mpls
user@R3# set ge-0/3/1 unit 0 family inet address [Link]/24
user@R3# set ge-0/3/1 unit 0 family iso
user@R3# set ge-0/3/1 unit 0 family inet6 address [Link]/64
107
[edit policy-options]
user@R3#set policy-statement ecmp term 1 then load-balance per-packet
[edit protocols]
user@R3# set rsvp interface all
[edit routing-options]
user@R3# set srlg srlg1 srlg-value 101
user@R3# set srlg srlg2 srlg-value 102
user@R3# set srlg srlg3 srlg-value 103
user@R3# set srlg srlg4 srlg-value 104
user@R3# set srlg srlg5 srlg-value 105
user@R3# set srlg srlg6 srlg-value 106
user@R3# set srlg srlg7 srlg-value 107
user@R3# set srlg srlg8 srlg-value 108
user@R3# set srlg srlg9 srlg-value 109
user@R3# set srlg srlg10 srlg-value 110
user@R3# set srlg srlg11 srlg-value 111
user@R3# set srlg srlg12 srlg-value 112
109
[edit protocols]
user@R3# set isis interface ge-1/3/5 link-protection
user@R3# set isis interface ge-0/3/1 level 2 metric 21
user@R3# set isis interface ge-0/3/6 level 2 metric 13
user@R3# set isis interface ge-2/0/4 level 2 metric 15
user@R3# set isis interface ge-1/1/0 level 2 metric 22
110
[edit protocols]
user@R3# set isis interface all level 2 metric 10
11. Apply the routing policy to all equal cost multi paths exported from the routing table to the
forwarding table.
[edit routing-options]
user@R3# set forwarding-table export ecmp
[edit routing-options]
user@R3# set backup-selection destination [Link]/0 interface all admin-group include-all c1
user@R3# set backup-selection destination [Link]/0 interface all admin-group include-any c2
user@R3# set backup-selection destination [Link]/0 interface all admin-group preference c3
user@R3# set backup-selection destination [Link]/0 interface all srlg loose
user@R3# set backup-selection destination [Link]/0 interface all downstream-paths-only
user@R3# set backup-selection destination [Link]/0 interface all bandwidth-greater-equal-
primary
user@R3# set backup-selection destination [Link]/0 interface all neighbor preference
[Link]
user@R3# set backup-selection destination [Link]/0 interface all neighbor-tag preference
1004
user@R3# set backup-selection destination [Link]/0 interface all metric-order dest
user@R3# set backup-selection destination [Link]/0 interface all evaluation-order admin-
group
user@R3# set backup-selection destination [Link]/0 interface all evaluation-order srlg
user@R3# set backup-selection destination [Link]/0 interface all evaluation-order bandwidth
user@R3# set backup-selection destination [Link]/24 interface all srlg strict
user@R3# set backup-selection destination [Link]/24 interface all bandwidth-greater-
equal-primary
user@R3# set backup-selection destination [Link]/24 interface all srlg strict
111
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, and
show routing-options commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
}
ge-2/0/4 {
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6{
address [Link]/64;
}
family mpls;
}
}
ge-1/1/0 {
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6{
address [Link]/64;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.0010.0100.1004.00;
}
family inet6{
address abcd::10:255:102:128/128;
}
family mpls;
113
}
}
}
interface all;
interface ge-0/3/1 {
srlg [ srlg1 srlg2 ];
admin-group [ c1 c2 c3 c5 ];
}
interface ge-0/3/6 {
admin-group [ c1 c2 ];
}
interface ge-2/0/4 {
admin-group [ c1 c2 c5 ];
}
interface ge-1/1/0 {
admin-group [ c2 c12 ];
}
isis {
interface ge-1/3/5 {
link-protection;
}
interface ge-0/3/1 {
level 2 metric 21;
}
interface ge-0/3/6 {
level 2 metric 13;
}
interface ge-2/0/4 {
level 2 metric 15;
}
interface ge-1/1/0 {
level 2 metric 22;
}
interface all {
level 2 metric 10;
}
}
srlg2 {
srlg-value 102;
}
srlg3 {
srlg-value 103;
}
srlg4 {
srlg-value 104;
}
srlg5 {
srlg-value 105;
}
srlg6 {
srlg-value 106;
}
srlg7 {
srlg-value 107;
}
srlg8 {
srlg-value 108;
}
srlg9 {
srlg-value 109;
}
srlg10 {
srlg-value 110;
}
srlg111 {
srlg-value 111;
}
srlg112 {
srlg-value 112;
}
}
backup-selection {
destination [Link]/0 {
interface all {
admin-group {
include-all c1;
include-any c2;
preference c3;
}
srlg loose;
116
downstream-paths-only;
bandwidth-greater-equal-primary;
neighbor {
preference [Link];
}
neighbor-tag {
preference 1004;
}
metric-order dest;
evaluation-order [ admin-group srlg bandwidth ];
}
}
destination [Link]/24 {
interface all {
srlg strict;
bandwidth-greater-equal-primary;
}
}
destination [Link]/24 {
interface all {
srlg strict;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, run the show route command for the routing table.
49.0001.0010.0100.1004/72
*[Direct/0] 1w0d [Link]
> via lo0.0
Meaning
Purpose
Action
From operational mode, run the show isis route command for Device R3.
Meaning
Purpose
Verify the potential IS-IS backup SPF roots for Device R3.
Action
From operational mode, run the show isis backup spf results command for Device R3.
Root: R5, Root Metric: 13, Metric: 28, Root Preference: 0x0
track-item: R5.03-00, track-item-isnbr: R5.00
track-item: R4.04-00, track-item-isnbr: R4.00
track-item: R4.00-00
track-item: R0.00-00, track-item-isnbr: R6.03
Eligible, Backup next-hop: ge-0/3/6, IPV4, R5, SNPA: [Link]
Eligible, Backup next-hop: ge-0/3/6, IPV6, R5, SNPA: [Link]
Root: R6, Root Metric: 15, Metric: 30, Root Preference: 0x0
track-item: R7.05-00, track-item-isnbr: R7.00
track-item: R7.04-00, track-item-isnbr: R6.00
track-item: R7.00-00
track-item: R1.02-00
track-item: R1.00-00
track-item: R0.00-00, track-item-isnbr: R1.02
Eligible, Backup next-hop: ge-2/0/4, IPV4, R6, SNPA: [Link]
Eligible, Backup next-hop: ge-2/0/4, IPV6, R6, SNPA: [Link]
R7.00
Primary next-hop: ge-1/1/0, IPV4, R7, SNPA: [Link]
Primary next-hop: ge-1/1/0, IPV6, R7, SNPA: [Link]
Root: R7, Root Metric: 22, Metric: 0, Root Preference: 0x0
Not eligible, IPV4, Reason: Interface protection not configured
Not eligible, IPV6, Reason: Interface protection not configured
Root: R6, Root Metric: 15, Metric: 10, Root Preference: 0x0
track-item: R7.04-00, track-item-isnbr: R6.00
track-item: R7.00-00
. . .
Meaning
The output displays the root calculations through each directly connected router.
Purpose
126
Action
From operational mode, run the show backup-selection command for Device R3.
Prefix: [Link]/0
Interface: all
Admin-group include-all: c1
Admin-group include-any: c2
Admin-group preference: c3
Neighbor preference: [Link]
Neighbor-tag preference: 1004
Protection Type: Link, Downstream Paths Only: Enabled, SRLG: Loose, B/w >= Primary: Enabled,
Root-metric: lowest, Dest-metric: lowest
Metric Evaluation Order: Dest-metric, Root-metric
Policy Evaluation Order: Admin-group, SRLG, Bandwidth
Prefix: [Link]/24
Interface: all
Protection Type: Link, Downstream Paths Only: Disabled, SRLG: Strict, B/w >= Primary:
Enabled, Root-metric: lowest, Dest-metric: lowest
Metric Evaluation Order: Dest-metric, Root-metric
Policy Evaluation Order: Admin-group, SRLG, Bandwidth, Protection, Neighbor, Metric,
Neighbor-Tag
Prefix: [Link]/24
Interface: all
Protection Type: Link, Downstream Paths Only: Disabled, SRLG: Strict, B/w >= Primary:
Disabled, Root-metric: lowest, Dest-metric: lowest
Metric Evaluation Order: Dest-metric, Root-metric
Policy Evaluation Order: Admin-group, SRLG, Bandwidth, Protection, Neighbor, Metric,
Neighbor-Tag
Meaning
The output displays the configured policies per prefix per primary next-hop interface.
RELATED DOCUMENTATION
Support for IS-IS loop-free alternate (LFA) routes essentially adds IP fast-reroute capability for IS-IS.
Junos OS precomputes multiple loop-free backup routes for all IS-IS routes. These backup routes are
pre-installed in the Packet Forwarding Engine, which performs a local repair and implements the backup
path when the link for a primary next hop for a particular route is no longer available. The selection of
LFA is done randomly by selecting any matching LFA to progress to the given destination. This does not
ensure best backup coverage available for the network. In order to choose the best LFA, Junos OS
allows you to configure network-wide backup selection policies for each destination (IPv4 and IPv6) and
a primary next-hop interface. These policies are evaluated based on admin-group, srlg, bandwidth,
protection-type, metric, and neighbor information.
Before you begin to configure the backup selection policy for the IS-IS protocol:
• Configure the router interfaces. See the Junos OS Network Management Administration Guide for
Routing Devices
• Configure an interior gateway protocol or static routing. See the Junos OS Routing Protocols Library
for Routing Devices
[edit policy-options]
user@host# set policy-statement ecmp term 1 then load-balance per-packet
[edit protocols]
user@host# set rsvp interface all
[edit routing-options]
user@host# set srlg srlg-name srlg-value srlg-value
128
8. Enable link protection and configure the metric value on all the interfaces.
[edit protocols]
user@host# set isis interface all level 2 metric 10
9. Apply the routing policy to all equal cost multipaths exported from the routing table to the
forwarding table.
[edit routing-options]
user@host# set forwarding-table export ecmp
10. Configure the administrative group of the backup selection policy for an IP address. You can choose
to exclude, include all, include any, or prefer the administrative groups from the backup path.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name admin-group
The backup path is not selected as the loop-free alternate (LFA) or backup nexthop if any of the
links in the path have any one of the listed administrative groups.
• Configure all the administrative groups if each link in the backup path requires all the listed
administrative groups in order to accept the path.
For example, to set all the administrative groups if each link requires all the listed administrative
groups in order to accept the path:
• Configure any administrative group if each link in the backup path requires at least one of the
listed administrative groups in order to select the path.
For example, to set any administrative group if each link in the backup path requires at least one
of the listed administrative groups in order to select the path:
• Define an ordered set of administrative group that specifies the preference of the backup path.
130
For example, to set an ordered set of administrative group that specifies the preference of the
backup path:
11. Configure the backup path to allow the selection of the backup next hop only if the bandwidth is
greater than or equal to the bandwidth of the primary next hop.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name bandwidth-
greater-equal-primary
12. Configure the backup path to specify the metric from the one-hop neighbor or from the remote
router such as an RSVP backup label-switched-path (LSP) tail-end router to the final destination.
The destination metric can be either highest or lowest.
• Configure the backup path that has the highest destination metric.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name dest-
metric highest
• Configure the backup path that has the lowest destination metric.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name dest-
metric lowest
131
13. Configure the backup path that is a downstream path to the destination.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name downstream-
paths-only
14. Set the order of preference of the root and the destination metric during backup path selection.
The preference order can be :
• [root dest] — Backup path selection or preference is first based on the root-metric criteria. If the
criteria of all the root-metric is the same, then the selection or preference is based on the dest-
metric.
• [dest root] — Backup path selection or preference is first based on the dest-metric criteria. If the
criteria of all the dest-metric is the same, then the selection is based on the root-metric.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name metric-
order root
user@host# set backup-selection destination ip-address interface interface-name metric-
order dest
15. Configure the backup path to define a list of loop-back IP addresses of the adjacent neighbors to
either exclude or prefer in the backup path selection. The neighbor can be a local (adjacent router)
neighbor, remote neighbor, or any other router in the backup path.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name neighbor
The backup path that has a router from the list is not selected as the loop-free alternative or
backup next hop.
132
[edit routing-options]
user@host# set backup-selection destination ip-address interface all neighbor-tag
• Configure to not select the backup path as the loop-free alternative or backup-next hop if any
node or router with route-tag is present in the path.
For example, to not select the backup path as the loop-free alternative or backup-next hop if
any node or router with 1004 route-tag is present in the path:
For example, to configure the set of route tags in descending order of preference:
17. Configure the backup path to specify the required protection type of the backup path to be link,
node, or node-link.
133
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name
protection-type link
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name
protection-type node
• Select the backup path that allows either node or link protection LFA where node-protection
LFA is preferred over link-protection LFA.
[edit routing-options]
user@host# set backup-selection destination ip-address interface interface-name
protection-type node-link
18. Specify the metric to the one-hop neighbor or to the remote router such as an RSVP backup label-
switched-path (LSP) tail-end router.
[edit routing-options]
user@host# set backup-selection destination ip-address interface all root-metric highest
[edit routing-options]
user@host# set backup-selection destination ip-address interface all root-metric lowest
19. Configure the backup selection path to either allow or reject the common shared risk link groups
(SRLGs) between the primary link and each link in the backup path.
134
• Configure the backup path to allow common srlgs between the primary link and each link in the
backup path.
[edit routing-options]
user@host# set backup-selection destination ip-address interface all srlg loose
• Configure the backup path to reject the backup path that has common srlgs between the
primary link and each link in the backup path.
[edit routing-options]
user@host# set backup-selection destination ip-address interface all srlg strict
20. Configure the backup path to control the order and the criteria of evaluating the backup path based
on the administrative group, srlg, bandwidth, protection type, neighbor, neighbor-tag, and metric.
The default order of evaluation is admin-group, srlg, bandwidth, protection-type, neighbor,
neighbor-tag, and metric.
[edit routing-options]
user@host# set backup-selection destination ip-address interface all evaluation-order admin-
group
user@host# set backup-selection destination ip-address interface all evaluation-order srlg
user@host# set backup-selection destination ip-address interface all evaluation-order
bandwidth
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 135
135
Overview | 135
Configuration | 136
Verification | 144
This example shows how to redistribute OSPF routes into an IS-IS network.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 136
Junos OS does not support the application of import policy for link-state routing protocols like IS-IS
because such policies can lead to inconsistent link-state database (LSDB) entries, which in turn can
result in routing inconstancies.
In this example, OSPF routes 192.168.0/24 through 192.168.3/24 are redistributed into IS-IS area
49.0002 from Device R2.
In addition, policies are configured to ensure that Device R1 can reach destinations on the [Link]/30
network, and that Device R3 can reach destinations on the [Link]/30 network. This enables end-to-
end reachability.
"CLI Quick Configuration" on page 137 shows the configuration for all of the devices in Figure 11 on
page 136. The section "No Link Title" on page 138 describes the steps on Device R2. "No Link Title" on
page 140 describes the steps on Device R3.
Topology
Configuration
IN THIS SECTION
Procedure | 137
137
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Device R3
Step-by-Step Procedure
[edit interfaces]
user@R2# set fe-1/2/1 unit 0 description to-R5
user@R2# set fe-1/2/1 unit 0 family inet address [Link]/30
user@R2# set fe-1/2/1 unit 0 family iso
user@R2# set fe-1/2/0 unit 0 description to-OSPF-network
user@R2# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R2# set lo0 unit 0 family inet address [Link]/32
user@R2# set lo0 unit 0 family iso address 49.0002.0172.0016.0907.00
139
2. Configure IS-IS on the interface facing Device R1 and the loopback interface.
3. Configure the policy that enables Device R1 to reach the [Link]/30 network.
4. Apply the policy that enables Device R1 to reach the [Link]/30 network.
8. Configure the policy that enables Device R3 to reach the [Link]/30 network.
9. Apply the policy that enables Device R3 to reach the [Link]/30 network.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
Multiple addresses are configured on the loopback interface to simulate multiple route destinations.
[edit interfaces]
user@R3# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R3# set lo0 unit 0 family inet address [Link]/32
user@R3# set lo0 unit 0 family inet address [Link]/32
user@R3# set lo0 unit 0 family inet address [Link]/32
user@R3# set lo0 unit 0 family inet address [Link]/32
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, show
policy-options, and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
Device R2
unit 0 {
description to-OSPF-network;
family inet {
address [Link]/30;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0172.0016.0907.00;
}
}
}
}
then accept;
}
}
policy-statement send-direct-to-isis-neighbors {
from {
protocol direct;
route-filter [Link]/30 exact;
}
then accept;
}
policy-statement send-direct-to-ospf-neighbors {
from {
protocol direct;
route-filter [Link]/30 exact;
}
then accept;
}
Device R3
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode on Device R2, enter the show route protocol ospf command.
MultiRecv
Meaning
Purpose
Make sure that the expected routes are redistributed from OSPF into IS-IS.
Action
From operational mode on Device R1, enter the show route protocol isis command.
Meaning
Verifying Connectivity
Purpose
Action
Meaning
These results confirm that Device R1 can reach the destinations in the OSPF network.
148
IN THIS SECTION
Requirements | 148
Overview | 148
Configuration | 149
Verification | 155
This example shows how to leak prefixes in an IS-IS network from a Level 2 area to a Level 1 area.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 148
Every routing protocol passes routing information up or down the routing hierarchy. This bidirectional
flow of routing information is known as route leaking.
By default, IS-IS protocol leaks routing information from a Level 1 area to a Level 2 area. However, to
leak routing information from a Level 2 area to a Level 1 area, an export policy must be explicitly
configured.
Topology
In this example, Devices R3 and R4 are configured in a Level 2 area. Devices R5, R6, and R7 are
configured in a Level 1 area.
Configuration
IN THIS SECTION
Results | 153
To quickly configure route leaking from a Level 2 area to a Level 1 area, copy the following commands,
paste them into a text file, remove any line breaks, change any details necessary to match your network
configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.
Device R3
Device R4
Device R5
Device R6
Device R7
Step-by-Step Procedure
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
Enable IS-IS on the interfaces by including the ISO address family on each interface.
[edit interfaces]
user@R3# set fe-1/2/0 unit 0 description to-R4
user@R3# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R3# set fe-1/2/0 unit 0 family iso
user@R3# set fe-1/2/1 unit 0 description to-R5
user@R3# set fe-1/2/1 unit 0 family inet address [Link]/30
user@R3# set fe-1/2/1 unit 0 family iso
One address is for IPv4, and the other address is to enable the router to form adjacencies with other
routers in the area.
4. Configure a route leaking policy on the routers configured in the Level 2 area to leak routes into the
Level 1 area.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols
isis, and show policy-options commands.
If the output does not display the intended configuration, repeat the instructions in this example to
correct the configuration.
}
}
fe-1/2/1 {
unit 0 {
description to-R5;
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.0192.0168.0003.00;
}
}
}
Similarly, confirm the configuration on all other routers. If you are done configuring the routers, enter
commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that IS-IS leaks routes from a Level 2 area to a Level 1 area.
Action
To verify that route leaking is taking place, use the following commands:
• show isis adjacency (to verify that the IS-IS network is up and adjacencies have been established)
• show isis database detail (to verify the presence of leaked routes)
1. From operational mode on Device R3, run the show isis adjacency command.
The output verifies that the interfaces on Device R3 are up and have established adjacencies with
the connecting interfaces on Routers R4 and R5. If you don’t see the interfaces being functional, see
the "Results" on page 153 section for troubleshooting your configuration.
2. From operational mode on Device R3, run the show isis database detail command.
The Down keyword identifies the routes that have successfully leaked from the Level 2 area to the
Level 1 area.
Meaning
Handling of the IS-IS Binding SID S Flag and RFC 7794 Prefix Attribute
Flags
IN THIS SECTION
Benefits of IS-IS binding SID S flag and RFC 7794 prefix attribute flags: | 158
As part of the SR support, the SID/Label Binding TLV originates on any router in an IS-IS domain. There
are multiple uses of the SID/Label Binding TLV. One use case is that the SID/Label Binding TLV could be
used to advertise prefixes to SID/Label mappings. This functionality is called the Segment Routing
Mapping Server (SRMS). LDP mapping client/server is the feature that enables LDP and SR, interoperate
in a network with islands of LDP and SPRING capable routers.
Any router in the domain could be configured as SRMS server. To leak binding SIDs across levels you
need to configure one node as SRMS server in each IS-IS level. If the S flag is set, then the SRMS binding
SIDs are leaked across the levels by the ABR (Area Border Router).
158
• Setting and resetting of A, D flags when binding SIDs are leaked across levels.
Benefits of IS-IS binding SID S flag and RFC 7794 prefix attribute flags:
• Advertise binding SIDs in single node in the entire domain, rather than configuring and advertising at
each level.
• Allows you to disable the binding SIDs leakage across IS-IS levels.
• Ability to control the binding SIDs leaking and determine the traffic route with labels/prefixes by
setting the A and D flags.
• Set the prefix attribute flags on the receiving router to have accurate information on the routes.
The IS-IS leaks the binding SIDs by default if the S flag is set. You can disable IS-IS binding SIDs leak by
including the no-binding-sid-leaking configuration statement at the [edit protocols isis source-packet-
routing] hierarchy level. To configure and support the encoding of the prefix attribute flags sub tlv include
the prefix-attribute-flags configuration statement at the [edit policy-options policy-statement <policy-name>
then] hierarchy level. You can use the options [node-segment-flag | external-prefix-flag] for the prefix-
attribute-flags configuration statement.
Figure 13: IS-IS binding SID 'S' flag and RFC 7794 prefix attribute flags
In this topology, R0, R1, and R2 are configured with IS-IS Segment Routing protocol. R3 is configured
with IS-IS, SR and LDP. R4 is configured with IS-IS and LDP, but without SR. R1 and R2 are Area Border
Routers (ABRs).
159
R0 participates at Level-1 of IS-IS domain. R1 and R2 participates with IS-IS SR at Level 1 and Level 2.
R3 participates in Level 1 and advertises the binding SIDs by acting as a SRMS server. R2 leaks the
binding SIDs to level 2. R1 leaks the binding SIDs to level 1.
You can set the S flag to allow the label binding TLV to leak through the IS-IS levels (Level 1 or Level 2).
You can set the A flag to program the penultimate-hop popping. During leaking binding SID, the D flag is
set to prevent the leaking of the label binding TLV from Level 2 back to Level 1.
A BGP community is a group of destinations that share a common property. Community information is
included as a path attribute in BGP update messages. This information identifies community members
and enables you to perform actions on a group without having to elaborate upon each member. You can
use community and extended communities attributes to trigger routing decisions, such as acceptance,
rejection, preference, or redistribution.
You can assign community tags to non-BGP routes through configuration (for static, aggregate, or
generated routes) or an import routing policy. These tags can then be matched when BGP exports the
routes.
A community value is a 32-bit field that is divided into two main sections. The first 16 bits of the value
encode the AS number of the network that originated the community, while the last 16 bits carry a
unique number assigned by the AS. This system attempts to guarantee a globally unique set of
community values for each AS in the Internet. Junos OS uses a notation of as-number:community-value,
where each value is a decimal number. The AS values of 0 and 65,535 are reserved, as are all of the
community values within those AS numbers. Each community, or set of communities, is given a name
within the [edit policy-options] configuration hierarchy. The name of the community uniquely identifies it
to the routing device and serves as the method by which routes are categorized. For example, a route
with a community value of 64510:1111 might belong to the community named AS64510-routes. The
community name is also used within a routing policy as a match criterion or as an action. The command
syntax for creating a community is: policy-options community name members [community-ids]. The community-ids
are either a single community value or multiple community values. When more than one value is
assigned to a community name, the routing device interprets this as a logical AND of the community
values. In other words, a route must have all of the configured values before being assigned the
community name.
The regular community attribute is four octets. Networking enhancements, such as VPNs, have
functionality requirements that can be satisfied by an attribute such as a community. However, the 4-
octet community value does not provide enough expansion and flexibility to accommodate VPN
requirements. This leads to the creation of extended communities. An extended community is an 8-
octet value that is also divided into two main sections. The first 2 octets of the community encode a
160
type field while the last 6 octets carry a unique set of data in a format defined by the type field.
Extended communities provide a larger range for grouping or categorizing communities.
The BGP extended communities attribute format has three fields: type:administrator:assigned-number. The
routing device expects you to use the words target or origin to represent the type field. The
administrator field uses a decimal number for the AS or an IPv4 address, while the assigned number field
expects a decimal number no larger than the size of the field (65,535 for 2 octets or 4,294,967,295 for 4
octets).
When specifying community IDs for standard and extended community attributes, you can use UNIX-
style regular expressions. The only exception is for VPN import policies (vrf-import), which do not support
regular expressions for the extended communities attribute.
Regular BGP communities attributes are a variable length attribute consisting of a set of one or more 4-
byte values that was split into 16 bit values. The most significant word is interpreted as an AS number
and least significant word is a locally defined value assigned by the operator of the AS. Since the
adoption of 4-byte ASNs, the 4-byte BGP regular community and 6-byte BGP extended community can
no longer support BGP community attributes. Operators often encode AS number in the local portion of
the BGP community that means that sometimes the format of the community is ASN:ASN. With the 4-
byte ASN , you need 8-bytes to encode it. Although BGP extended community permits a 4-byte AS to
be encoded as the global administrator field, the local administrator field has only 2-byte of available
space. Thus, 6-byte extended community attribute is also unsuitable. To overcome this, Junos OS allows
you to configure optional transitive path attribute - a 12-byte BGP large community that provides the
most significant 4-byte value to encode autonomous system number as the global administrator and the
remaining two 4-byte assigned numbers to encode the local values as defined in RFC 8092. You can
configure BGP large community at the [edit policy-options community community-name members] and [edit
routing-options static route ip-address community] hierarchy levels. The BGP large community attributes
format has four fields: large:global administrator:assigned number:assigned number.
The BGP IPv6 unicast address specific extended community are encoded as a set of 20-bytes value. The
20-byte value gets interpreted in the following format:
• Most significant 2-bytes encodes the Type and Sub-Type value (high value (most significant byte) and
Low value (second most significant byte)).
• Next 16-bytes encodes the IPv6 unicast address. It is the global administrator in the IETF RFC.
• Last 2-bytes encodes the operator defined local values. It is local administrator in the IETF RFC.
The IPv6 unicast address specific BGP extended community attributes are represented by a keyword
ipv6-target, ipv6-origin, or ipv6-extended followed by IPv6 and local administrator separated by <, >, and :.
161
NOTE: The length of the BGP large communities attribute value should be a non-zero multiple of
12.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 161
Overview | 161
Configuration | 162
Verification | 173
This example defines a policy that takes BGP routes from the Edu community and places them into IS-IS
with a metric of 63.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
Figure 14 on page 162 shows the topology used in this example.
162
Figure 14: Redistributing BGP Routes with a Specific Community Tag into IS-IS
In this example, Device A, Device B, Device C, and Device D are in autonomous system (AS) 1 and are
running IS-IS. All of the AS 1 devices, except Device D, are running internal BGP (IBGP).
Device E is in AS 2 and has an external BGP (EBGP) peering session with Device C. Device E has two
static routes, [Link]/16 and [Link]/16. These routes are tagged with the Edu 2:5 community
attribute and are advertised by way of EBGP to Device C.
Device C accepts the BGP routes that are tagged with the Edu 2:5 community attribute, redistributes
the routes into IS-IS, and applies an IS-IS metric of 63 to these routes.
"CLI Quick Configuration" on page 163 shows the configuration for all of the devices in Figure 14 on
page 162. The section "No Link Title" on page 166 describes the steps on Device C and Device E.
Configuration
IN THIS SECTION
Procedure | 163
163
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device A
Device B
Device C
Device D
Device E
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
To configure Device E:
166
[edit interfaces]
user@E# set fe-1/2/0 unit 0 family inet address [Link]/30
user@E# set lo0 unit 7 family inet address [Link]/32 primary
user@E# set lo0 unit 7 family inet address [Link]/32
user@E# set lo0 unit 7 family inet address [Link]/32
2. Configure the statics policy, which adds the Edu community attribute to the static routes.
[edit policy-options]
user@E# set policy-statement statics from protocol static
user@E# set policy-statement statics then community add Edu
user@E# set policy-statement statics then accept
user@E# set community Edu members 2:5
[edit routing-options]
user@E# set router-id [Link]
user@E# set autonomous-system 2
167
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
To configure Device C:
[edit interfaces]
user@C# set fe-1/2/0 unit 0 family inet address [Link]/30
user@C# set fe-1/2/0 unit 0 family iso
user@C# set fe-1/2/1 unit 0 family inet address [Link]/30
user@C# set fe-1/2/1 unit 0 family iso
user@C# set fe-1/2/2 unit 0 family inet address [Link]/30
user@C# set fe-1/2/2 unit 0 family iso
user@C# set lo0 unit 0 family inet address [Link]/32
user@C# set lo0 unit 0 family iso address 49.0002.0192.0168.0003.00
2. Configure IBGP.
3. Configure the Edu-to-isis policy, which redistributes the Edu-tagged BGP routes learned from Device
E and applies a metric of 63.
[edit policy-options]
user@C# set policy-statement Edu-to-isis term 1 from protocol bgp
user@C# set policy-statement Edu-to-isis term 1 from community Edu
user@C# set policy-statement Edu-to-isis term 1 then metric 63
user@C# set policy-statement Edu-to-isis term 1 then accept
user@C# set community Edu members 2:5
168
5. Configure the send-isis-and-direct policy, which redistributes routes to Device E, through EBGP.
Without this policy, Device E would not have connectivity to the networks in AS 1.
[edit routing-options]
user@C# set router-id [Link]
user@C# set autonomous-system 1
169
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, show
policy-options, and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
Device E
Device C
fe-1/2/2 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0003.00;
}
}
}
}
interface fe-1/2/2.0 {
level 1 disable;
level 2 passive;
}
interface lo0.0;
}
If you are done configuring the device, enter commit from configuration mode.
173
Verification
IN THIS SECTION
Purpose
Verify that the BGP routes from Device E are communicated on the IS-IS network in AS 1.
Action
From operational mode, enter the show route protocol isis command.
Meaning
As expected, the [Link]/16 and [Link]/16 routes are in Device D’s routing table as IS-IS external
routes with a metric of 73. If Device C had not added 63 to the metric, Device D would have a metric of
10 for these routes.
RELATED DOCUMENTATION
To control the transmission of routes into IS-IS, or to control transmission of IS-IS routes between
different IS-IS levels, you can tag routes with certain attributes. IS-IS routes can carry these attributes,
which the routing policies can use to export and import routes between different IS-IS levels. A sub-TLV
to the IP prefix TLV is used to carry the tag or attribute on the routes.
NOTE: Route tagging does not work when IS-IS traffic engineering is disabled.
protocols {
isis {
export tag-lo0;
}
}
policy-options {
policy-statement tag-lo0 {
from {
interface lo0.0;
}
then {
accept;
tag 200;
}
175
}
}
You can verify that the tag has been correctly applied by using the show isis database extensive command.
In the command output, look for the Administrative tag field.
After verifying that the routes are tagged correctly, you can apply a route leaking policy to match against
the presence of administrative tags, rather than specifying a list of route filters.
protocols {
isis {
export leak-tagged-L2-to-L1;
}
}
policy-options {
policy-statement leak-tagged-L2-to-L1 {
from {
tag 200;
protocol isis;
level 2;
}
to {
protocol isis;
level 1;
}
then accept;
}
}
RELATED DOCUMENTATION
Example: Configuring IS-IS Route Leaking from a Level 2 Area to a Level 1 Area | 148
176
IN THIS SECTION
Requirements | 176
Overview | 176
Configuration | 178
Verification | 185
In a network with a large number of IS-IS routes, it can be useful to control the order in which routes are
updated in response to a network topology change. This example shows how to define a routing policy
to prioritize some IS-IS routes over others. In the event of an IS-IS topology change, high priority
prefixes are updated in the routing table first, followed by medium and then low priority prefixes.
Internet Service Providers (ISP) can use this feature to ensure faster convergence for important
customers.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 177
Beginning with Junos OS Release 17.1, you can prioritize or reject IS-IS routes that are installed in the
routing table. Use the reject policy option to reject routes from a specific prefix or routes marked with a
particular tag.
177
You can prioritize IS-IS routes for better convergence and to provide differentiated services. In a
network with a large number of IGP prefixes with BGP Layer 3 VPN or label-based psuedowire service
established on top of some IGP prefixes, it is important to control the order in which routes get updated
in the forwarding table. You can configure an import policy and use a route tag or filter the routes based
on their prefix before setting a priority of high, medium, or low as per your network requirements. The IS-IS
protocol downloads routes to the rpd routing table based on the configured priority. If you do not
configure an import policy, all routes are set to a medium priority by default.
An IS-IS import policy can be used to set priority or to filter IS-IS external routes based on the following
criteria:
Route Tag Use tag policy option to assign a specific priority for prefixes that contain a particular tag.
NOTE: If an IS-IS import policy is applied that results in a reject terminating action for a non-
external route, then the reject action is ignored and the route is accepted anyway. By default,
such a route is now installed in the routing table with a priority of low. This behavior prevents
traffic black holes, that is, silently discarded traffic, by ensuring consistent routing. However, you
can use the the reject policy option to reject routes based on the prefix or the configured tag.
CAUTION: You might see an increase in micro loop traffic as order of route download
changes.
Topology
In Figure 15 on page 178, Router R1 is connected to Router R3 via Router R2. We need to set a high
priority to a route to Router R3 to ensure quicker convergence. An import routing policy is configured on
Router R1, which sets a high priority to routes connecting to Router R3. Routes matching
[Link]/32 are installed first because they have a priority of high. LDP imports routes and their
configure priority from IS-IS. This route is restored first in the event of a network topology change.
178
Configuration
IN THIS SECTION
Results | 183
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Router R1
Router R2
Router R3
Configuring Router R1
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
NOTE: Repeat this procedure for other routers after modifying the appropriate interface names,
addresses, and other parameters.
[edit interfaces]
user@R1# set ge-1/0/1 unit 0 description R1->R2
user@R1# set ge-1/0/1 unit 0 family inet address [Link]/24
user@R1# set ge-1/0/1 unit 0 family iso
user@R1# set ge-1/0/1 unit 0 family inet6 address [Link]/64
user@R1# set ge-1/0/1 unit 0 family mpls
user@R1# set ge-1/0/1 unit 0 description R1->R2
user@R1# set ge-5/0/9 unit 0 family inet address [Link]/24
user@R1# set ge-5/0/9 unit 0 family iso
user@R1# set ge-5/0/9 unit 0 family inet6 address [Link]/64
user@R1# set ge-5/0/9 unit 0 family mpls
182
[edit interfaces]
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0103.0000.0010.00
user@R1# set lo0 unit 0 family inet6 address [Link]/128
user@R1# set lo0 unit 0 family mpls
3. Configure MPLS.
[edit protocols]
user@R1# set mpls ipv6-tunneling
user@R1# set mpls interface ge-5/0/9.0
user@R1# set mpls interface ge-1/0/1.0
[edit protocols]
user@R1# set isis level 1 disable
user@R1# set isis interface ge-1/0/1.0
user@R1# set isis interface ge-5/0/9.0
user@R1# set isis interface lo0.0 passive
user@R1# set isis import test_rf
[edit protocols]
user@R1# set ldp interface ge-1/0/1.0
user@R1# set ldp interface ge-5/0/9.0
user@R1# set ldp interface lo0.0
[edit policy-options]
user@R1# set policy-statement test_rf term t1 from route-filter [Link]/32 exact
user@R1# set policy-statement test_rf term t1 then priority high
183
[edit routing--options]
user@R1# set routing-options router-id [Link]
user@R1# set routing-options autonomous-system 64496
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show policy-options and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@R1> show interfaces
ge-1/0/1 {
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6 {
address [Link]/64;
}
family mpls;
}
}
ge-5/0/9 {
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6 {
address [Link]/64;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
184
address [Link]/32;
}
family iso {
address 49.0002.0103.0000.0010.00;
}
family inet6 {
address [Link]/128;
}
family mpls;
}
}
[edit]
user@R1> show protocols
mpls {
ipv6-tunneling;
interface ge-5/0/9.0;
interface ge-1/0/1.0;
}
isis {
import test_rf;
level 1 disable;
interface ge-1/0/1.0;
interface ge-5/0/9.0;
interface lo0.0 {
passive;
}
}
ldp {
interface ge-1/0/1.0;
interface ge-5/0/9.0;
interface lo0.0;
}
[edit]
user@R1> show routing-options
185
router-id [Link];
autonomous-system 64496;
Verification
IN THIS SECTION
Purpose
Verify that LDP has inherits route [Link] from IS-IS protocol.
Action
From operational mode, run the show route extensive command on Router R1.
TSI:
KRT in-kernel [Link]/32 -> {[Link]}
*IS-IS Preference: 18
Level: 2
Next hop type: Router, Next hop index: 0
Address: 0x4a1f43c
Next-hop reference count: 4
Next hop: [Link] via ge-1/0/1.0, selected
Session Id: 0x0
Next hop: [Link] via ge-5/0/9.0
Session Id: 0x0
State: <Active Int HighPriority>
Local AS: 64496
Age: 59 Metric: 20
Validation State: unverified
ORR Generation-ID: 0
Tag: 18
Task: IS-IS
Announcement bits (2): 0-KRT 4-LDP
AS path: I
Meaning
The output shows that LDP inherits the route [Link], with priority high from IS-IS.
Purpose
Action
ge-5/0/9.0 IPV6 R2
[Link]/128 2 122 20 int ge-1/0/1.0 IPV6 R2
ge-5/0/9.0 IPV6 R2
[Link]/64 2 122 20 int ge-1/0/1.0 IPV6 R2
ge-5/0/9.0 IPV6 R2
[Link]/64 2 122 20 int ge-1/0/1.0 IPV6 R2
ge-5/0/9.0 IPV6 R2
Meaning
The routes are displayed in the order of the set priorities. Route [Link], which is set with high
priority is displayed at the very top followed by routes with medium or low priority.
RELATED DOCUMENTATION
Starting in Junos OS Release 18.3R1, new configuration options external-prefixes and internal-prefixes are
available at the [edit protocols isis overload] hierarchy level to control overload of internal prefixes,
external prefixes or both internal and external prefixes as per network requirement. The user can choose
not to receive any traffic for internal and external prefixes advertised by the overloaded IS-IS routers
unless the router is the only node in the network which hosts the prefix. In previous Junos OS releases,
overloaded IS-IS routers continued to receive traffic for prefixes even if the user did not want to receive
traffic for directly connected prefixes.
189
CHAPTER 5
IN THIS CHAPTER
The Bidirectional Forwarding Detection (BFD) protocol is a simple hello mechanism that detects failures
in a network. Hello packets are sent at a specified, regular interval. A neighbor failure is detected when
the routing device stops receiving a reply after a specified interval. BFD works with a wide variety of
network environments and topologies. The failure detection timers for BFD have shorter time limits
than the failure detection mechanisms of IS-IS, providing faster detection.
The BFD failure detection timers are adaptive and can be adjusted to be faster or slower. For example,
the timers can adapt to a higher value if the adjacency fails, or a neighbor can negotiate a higher value
for a timer than the configured value. The timers adapt to a higher value when a BFD session flap occurs
more than three times in a span of 15 seconds. A back-off algorithm increases the receive (RX) interval
by two if the local BFD instance is the reason for the session flap. The transmission (TX) interval is
increased by two if the remote BFD instance is the reason for the session flap.
You can use the clear bfd adaptation command to return BFD interval timers to their configured values.
The clear bfd adaptation command is hitless, meaning that the command does not affect traffic flow on
the routing device.
NOTE: Starting with Junos OS Release 16.1R1, you can configure IS-IS BFD sessions for IPv6 by
including the bfd-liveness-detection statement at the [edit protocols isis interface interface-name
family inet|inet6] hierarchy level.
190
• For interfaces that support both IPv4 and IPv6 routing, the bfd-liveness-detection statement
must be configured separately for each inet family.
• BFD over IPv6 link local address is currently not distributed because IS-IS uses link local
addresses for forming adjacencies.
• BFD sessions over IPv6 must not have the same aggressive detection intervals as IPv4
sessions.
• BFD IPv6 sessions with detection intervals less than 2.5 seconds are currently not supported
when nonstop active routing (NSR) is enabled.
NOTE: EX4600 switches do not support minimum interval values of less than 1 second.
To detect failures in the network, the set of statements in Table 1 on page 190 are used in the
configuration.
Statement Description
Statement Description
minimum-interval Specify the minimum transmit and receive intervals for failure detection.
milliseconds
This value represents the minimum interval at which the local router transmits hellos packets
as well as the minimum interval at which the router expects to receive a reply from a
neighbor with which it has established a BFD session. You can configure a number from 1
through 255,000 milliseconds. You can also specify the minimum transmit and receive
intervals separately.
NOTE: BFD is an intensive protocol that consumes system resources. Specifying a minimum
interval for BFD less than 100 ms for Routing Engine-based sessions and 10 ms for
distributed BFD sessions can cause undesired BFD flapping.
Depending on your network environment, these additional recommendations might apply:
• For large-scale network deployments with a large number of BFD sessions, specify a
minimum interval of 300 ms for Routing Engine-based sessions and 100 ms for
distributed BFD sessions.
• For very large-scale network deployments with a large number of BFD sessions, please
contact Juniper Networks customer support for more information.
• For BFD sessions to remain up during a Routing Engine switchover event when nonstop
active routing (NSR) is configured, specify a minimum interval of 2500 ms for Routing
Engine-based sessions. For distributed BFD sessions with nonstop active routing
configured, the minimum interval recommendations are unchanged and depend only on
your network deployment.
minimum-receive- Specify only the minimum receive interval for failure detection.
interval
This value represents the minimum interval at which the local router expects to receive a
milliseconds
reply from a neighbor with which it has established a BFD session. You can configure a
number from 1 through 255,000 milliseconds.
multiplier number Specify the number of hello packets not received by the neighbor that causes the originating
interface to be declared down.
The default is 3, and you can configure a value from 1 through 225.
192
Statement Description
In Junos OS Release 9.0 and later, you can specify that the BFD sessions not adapt to
changing network conditions.
NOTE: We recommend that you not disable BFD adaptation unless it is preferable not to
have BFD adaptation enabled in your network.
When the BFD session detection time adapts to a value equal to or greater than the
threshold, a single trap and a system log message are sent.
• Transmit interval
NOTE: The threshold value must be greater than the minimum transmit interval multiplied
by the multiplier number.
NOTE: You can trace BFD operations by including the traceoptions statement at the [edit protocols
bfd] hierarchy level.
For a list of hierarchy levels at which you can include these statements, see the statement summary
sections for these statements.
193
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 193
Overview | 194
Configuration | 194
Verification | 198
This example describes how to configure the Bidirectional Forwarding Detection (BFD) protocol to
detect failures in an IS-IS network.
NOTE: BFD is not supported with ISIS for IPV6 on QFX10000 series switches.
Requirements
Before you begin, configure IS-IS on both routers. See "Example: Configuring IS-IS" on page 14 for
information about the required IS-IS configuration.
NOTE: We provide the IS-IS configuration in the CLI quick configuration section but do not cover
the IS-IS configuration in the step-by-step.
Overview
IN THIS SECTION
Topology | 194
This example shows two routers connected to each other. A loopback interface is configured on each
router. IS-IS and BFD protocols are configured on both routers.
Topology
Configuration
IN THIS SECTION
Procedure | 196
Results | 197
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
195
Router R1
Router R2
Procedure
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode.
NOTE: To simply configure BFD for IS-IS, only the minimum-interval statement is required. The BFD
protocol selects default parameters for all the other configuration statements when you use the
bfd-liveness-detection statement without specifying any parameters.
NOTE: You can change parameters at any time without stopping or restarting the existing
session. BFD automatically adjusts to the new parameter value. However, no changes to BFD
parameters take place until the values resynchronize with each BFD peer.
1. Configure the threshold for the adaptation of the detection time, which must be greater than the
multiplier number multiplied by the minimum interval.
2. Configure the minimum transmit and receive intervals for failure detection.
5. Configure the threshold for the transmit interval, which must be greater than the minimum transmit
interval.
7. Configure the multiplier number, which is the number of hello packets not received by the neighbor
that causes the originating interface to be declared down.
Results
From configuration mode, confirm your configuration by issuing the show protocols isis interface
command. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
version automatic;
minimum-interval 200;
minimum-receive-interval 100;
multiplier 2;
no-adaptation;
transmit-interval {
minimum-interval 100;
threshold 300;
}
detection-time {
threshold 500;
}
}
Verification
IN THIS SECTION
Purpose
Action
Ping the other router to check the connectivity between the two routers as per the network topology.
Meaning
Purpose
Action
Use the show isis database statement to check if the IS-IS instance is running on both routers, R1 and R2.
Meaning
Purpose
Make sure that the BFD instance is running on both routers, R1 and R2.
Action
Use the show bfd session detail statement to check if BFD instance is running on the routers.
1 sessions, 2 clients
Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps
Meaning
BFD is configured on Routers R1 and R2 for detecting failures in the IS-IS network.
RELATED DOCUMENTATION
IN THIS SECTION
Bidirectional Forwarding Detection (BFD) enables rapid detection of communication failures between
adjacent systems. By default, authentication for BFD sessions is disabled. However, when running BFD
over Network Layer protocols, the risk of service attacks can be significant. We strongly recommend
using authentication if you are running BFD over multiple hops or through insecure tunnels. Beginning
with Junos OS Release 9.6, Junos OS supports authentication for BFD sessions running over IS-IS. BFD
authentication is only supported in the domestic image and is not available in the export image.
You authenticate BFD sessions by specifying an authentication algorithm and keychain, and then
associating that configuration information with a security authentication keychain using the keychain
name.
The following sections describe the supported authentication algorithms, security keychains, and level
of authentication that can be configured:
• simple-password—Plain-text password. One to 16 bytes of plain text are used to authenticate the
BFD session. One or more passwords might be configured. This method is the least secure and
should be used only when BFD sessions are not subject to packet interception.
• keyed-md5—Keyed Message Digest 5 hash algorithm for sessions with transmit and receive intervals
greater than 100 ms. To authenticate the BFD session, keyed MD5 uses one or more secret keys
(generated by the algorithm) and a sequence number that is updated periodically. With this method,
packets are accepted at the receiving end of the session if one of the keys matches and the sequence
number is greater than or equal to the last sequence number received. Although more secure than a
simple password, this method is vulnerable to replay attacks. Increasing the rate at which the
sequence number is updated can reduce this risk.
more secure than keyed MD5 and simple passwords, this method might take additional time to
authenticate the session.
• keyed-sha-1—Keyed Secure Hash Algorithm I for sessions with transmit and receive intervals greater
than 100 ms. To authenticate the BFD session, keyed SHA uses one or more secret keys (generated
by the algorithm) and a sequence number that is updated periodically. The key is not carried within
the packets. With this method, packets are accepted at the receiving end of the session if one of the
keys matches and the sequence number is greater than the last sequence number received.
• meticulous-keyed-sha-1—Meticulous keyed Secure Hash Algorithm I. This method works in the same
manner as keyed SHA, but the sequence number is updated with every packet. Although more
secure than keyed SHA and simple passwords, this method might take additional time to
authenticate the session.
NOTE: Nonstop active routing (NSR) is not supported with meticulous-keyed-md5 and
meticulous-keyed-sha-1 authentication algorithms. BFD sessions using these algorithms might
go down after a switchover.
NOTE: QFX5000 Series switches and EX4600 switches do not support minimum interval values
of less than 1 second.
The security authentication keychain defines the authentication attributes used for authentication key
updates. When the security authentication keychain is configured and associated with a protocol
through the keychain name, authentication key updates can occur without interrupting routing and
signaling protocols.
The authentication keychain contains one or more keychains. Each keychain contains one or more keys.
Each key holds the secret data and the time at which the key becomes valid. The algorithm and keychain
must be configured on both ends of the BFD session, and they must match. Any mismatch in
configuration prevents the BFD session from being created.
BFD allows multiple clients per session, and each client can have its own keychain and algorithm
defined. To avoid confusion, we recommend specifying only one security authentication keychain.
By default, strict authentication is enabled and authentication is checked at both ends of each BFD
session. Optionally, to smooth migration from nonauthenticated sessions to authenticated sessions, you
203
can configure loose checking. When loose checking is configured, packets are accepted without
authentication being checked at each end of the session. This feature is intended for transitional periods
only.
RELATED DOCUMENTATION
IN THIS SECTION
Beginning with Junos OS Release 9.6, you can configure authentication for BFD sessions running over
IS-IS. Routing instances are also supported. Only three steps are needed to configure authentication on
a BFD session:
The following sections provide instructions for configuring and viewing BFD authentication on IS-IS:
[edit]
user@host# set protocols isis interface if1-isis bfd-liveness-detection authentication
algorithm keyed-sha-1
204
NOTE: Nonstop active routing (NSR) is not supported with the meticulous-keyed-md5 and
meticulous-keyed-sha-1 authentication algorithms. BFD sessions using these algorithms
might go down after a switchover.
2. Specify the keychain to be used to associate BFD sessions on the specified IS-IS route or routing
instance with the unique security authentication keychain attributes.
This should match the keychain name configured at the [edit security authentication key-chains]
hierarchy level.
[edit]
user@host# set protocols isis interface if1-isis bfd-liveness-detection authentication
keychain bfd-isis
NOTE: The algorithm and keychain must be configured on both ends of the BFD session, and
they must match. Any mismatch in configuration prevents the BFD session from being
created.
• At least one key, a unique integer between 0 and 63. Creating multiple keys allows multiple clients
to use the BFD session.
[edit security]
user@host# set authentication-key-chains key-chain bfd-sr4 key 53 secret $9$ggaJDmPQ6/tJgF/
AtREVsyPsnCtUHm start-time 2009-06-14.[Link]
4. (Optional) Specify loose authentication checking if you are transitioning from nonauthenticated
sessions to authenticated sessions.
[edit]
user@host> set protocols isis interface if1-isis bfd-liveness-detection authentication loose-
check
205
5. (Optional) View your configuration using the show bfd session detail or show bfd session extensive
command.
6. Repeat these steps to configure the other end of the BFD session.
NOTE: BFD authentication is only supported in the domestic image and is not available in the
export image.
You can view the existing BFD authentication configuration using the show bfd session detail and show bfd
session extensive commands.
The following example shows BFD authentication configured for the if1-isis interface. It specifies the
keyed SHA-1 authentication algorithm and a keychain name of bfd-isis. The authentication keychain is
configured with two keys. Key 1 contains the secret data “$9$ggaJDmPQ6/tJgF/AtREVsyPsnCtUHm”
and a start time of June 1, 2009, at [Link] AM PST. Key 2 contains the secret data
“$9$a5jiKW9l.reP38ny.TszF2/9” and a start time of June 1, 2009, at [Link] PM PST.
If you commit these updates to your configuration, you see output similar to the following. In the output
for the show bfd sessions detail command, Authenticate is displayed to indicate that BFD authentication is
configured. For more information about the configuration, use the show bfd sessions extensive command.
The output for this command provides the keychain name, the authentication algorithm and mode for
each client in the session, and the overall BFD authentication configuration status, keychain name, and
authentication algorithm and mode.
Detect Transmit
Address State Interface Time Interval Multiplier
[Link] Up ge-4/0/0.0 0.600 0.200 3
Client ISIS L2, TX interval 0.200, RX interval 0.200, multiplier 3, Authenticate
Session up time 3d 00:34, previous down time [Link]
Local diagnostic NbrSignal, remote diagnostic AdminDown
Remote state Up, version 1
1 sessions, 1 clients
Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps
1 sessions, 1 clients
Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 207
Overview | 207
Configuration | 208
Verification | 211
Requirements
Before you begin, configure IS-IS on both routers. See "Example: Configuring IS-IS" on page 14 for
information about the required IS-IS configuration.
Overview
In this example, a BFD authentication keychain is configured with meticulous keyed MD5
authentication.
"CLI Quick Configuration" on page 208 shows the configuration for both of the devices in Figure 17 on
page 208. The section "No Link Title" on page 209 describes the steps on Device R1.
Configuration
IN THIS SECTION
Procedure | 208
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
2. Enable BFD.
Results
From configuration mode, confirm your configuration by entering the show protocols and show security
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
description for-isis-bfd;
key 1 {
secret “$ABC123”’;
start-time "2012-5-31.[Link] -0700";
}
key 2 {
secret “$ABC123”’;
start-time "2013-5-31.[Link] -0700";
}
key 3 {
secret “$ABC123”;
start-time "2014-5-31.[Link] -0700";
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show bfd session extensive command.
1 sessions, 2 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 10.0 pps
Meaning
The output shows that BFD authentication is enabled on IS-IS Level 1 and Level 2.
RELATED DOCUMENTATION
CHAPTER 6
IN THIS CHAPTER
IS-IS supports flood-group. This feature limits link-state packet data unit (PDU) flooding over IS-IS
interfaces.
A link-state packet (LSP) that is not self-originated will be flooded only through the interface belonging
to the flood group that has the configured area ID in the LSP. This helps minimize the routes and
topology information, thus ensuring optimal convergence. You can segregate both Level 1 and Level 2
IS-IS routers into flood groups by using area IDs as tags to identify a flood group. Configure interfaces
with specific area IDs to modify the flooding behavior as per your requirements. To enable IS-IS flood
group, include the flood-group flood-group-area-ID statement at the [edit protocols isis interface] hierarchy
level.
RELATED DOCUMENTATION
IS-IS Overview | 2
Example: Configuring IS-IS Flood Group | 214
214
IN THIS SECTION
Requirements | 214
Overview | 214
Configuration | 215
Verification | 218
Requirements
This example uses the following hardware and software components:
2. Configure IS-IS interfaces with specific area IDs to modify the flood behavior as per your
requirements.
Overview
IN THIS SECTION
Topology | 214
Starting with Junos OS Release 16.2, IS-IS has support for flood-group.
Topology
Configuration
IN THIS SECTION
Procedure | 217
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
R1
R2
R3
R4
2. Following is the output before configuring flood-group on R2. You will see the link-state
packets (LSPs) of R1, R2, R3 and R4.
From operational mode, run the show isis database command on router R1.
Procedure
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
[edit protocols]
user@R1# deactivate protocols isis
user@R1# commit
[edit protocols]
user@R2# deactivate protocols isis
user@R2# commit
2. Configure flood-group on interface of router R2: set protocol isis interface interface flood-group flood-
group-area-ID
[edit protocols]
user@R2# set protocols isis interface ge-0/0/8.0 flood-group 49.0001
user@R2# commit
3. Activate protocol IS-IS on routers R1 and R2 and wait until the adjacency comes up.
[edit protocols]
user@R1# activate protocols isis
user@R1# commit
[edit protocols]
user@R2# activate protocols isis
user@R2# commit
Verification
IN THIS SECTION
Purpose
Action
NOTE: Following is the output after configuring flood-group on R2. show isis database on router
R1 will show LSPs from router R1 and router R2 only. flood-group is applicable to non self-
originated LSPs only.
From operational mode, run the show isis database command on router R1.
RELATED DOCUMENTATION
Learn to configure flood-reflector interfaces in IS-IS Understanding IS-IS Flood Reflectors | 220
networks for flooding path reduction, fast Example: IS-IS Flood Reflector | 228
convergence, network efficiency, scalability.
IN THIS SECTION
Limitations | 225
• Flooding path reduction—Reduces the redundancy in flooding paths as it limits flooding of link-state
packet data units (PDUs) and enhances the efficiency of IS-IS updates in large fabric topologies.
• Scalability—Provides better scalability for the Level 2 topologies in an IS-IS network. Only the routers
configured as flood reflectors participate in flood reflection. This leverages incremental deployment
of scalable Level 1 transit areas in an existing network, without the necessity of upgrading other
routers in the network.
A flood-reflector adjacency as defined in the draft-przygienda-flood reflector-00 is built for the purpose
of reflecting flooding information. The flood reflectors participate in the IS-IS control plane without
221
being used in the forwarding plane. This is a purely local operation on the Level 1/Level 2 ingress device
as it does not require replacing or modifying any routers not involved in the reflection process.
IS-IS flood reflection enables creation of flood-reflection topologies where Level 1 areas provide transit
forwarding for Level 2 destinations within a Level 2 topology. This is accomplished by creating Level 2
flood-reflection adjacencies within each Level 1 area. The Level 2 flood-reflection adjacencies are used
to flood Level 2 link-state PDUs that are used in the Level 2 shortest-path-first (SPF) computation.
However, they are not used for forwarding. This arrangement provides better scalability for the Level 2
topology.
To establish IS-IS adjacency for flood reflection, we designate flexible tunnel interfaces (FTI) as flood-
reflector interfaces. These tunnels utilize UDP encapsulation.
Overview
In the Junos OS implementation, the basic flood reflector forwarding functionality enables us to identify
an IS-IS interface as a flood-reflector interface on a per-level basis. This modifies the Level 2 route
computation to not install any next hops that uses a flood-reflector interface as a next hop.
If this process results in at least one remaining next hop that uses a normal interface, then the modified
Level 2 route is installed. If the process of removing flood-reflector next hops from the Level 2 route
results in a Level 2 route that has no next hops, then the installation of the Level 2 route is suppressed
completely. Because the installation of the usual IS-IS Level 2 route is suppressed, we rely on the
presence of an IS-IS Level 1 route to carry the traffic to the flood-reflector client on the Level 2 shortest
path for this prefix.
Flood reflection does not load balance traffic on Level 2 and Level 1 routes. Suppose a Level 2 route has
10 equal-cost next hops and one of those next hops uses a flood-reflector interface, then all the next
hops are removed from the Level 2 route. Even though there is a path available in the Level 2 domain, it
suppresses all the Level 2 routes and relies on the IS-IS Level 1/ Level 2 inter-area route to carry the
traffic. The Junos OS implementation does not use a Level 2 route until the Level 2 route has at least
one flood-reflector next hop.
NOTE: Ensure that you have configured the Level 1 routes to prevent disruption of traffic.
The Flood-Reflection TLV as defined in draft-przygienda-flood reflector-00 is a new top-level TLV that
represents the flood-reflector cluster that a given router interface is configured to participate in. It also
indicates whether the router is configured to play the role of either the flood reflector or the flood-
222
reflector client. For more information about the flood reflection TLV, see draft-przygienda-flood-
reflector-00
Flood reflection implements the advertisement and receipt of the flood-reflection adjacency sub-TLV as
defined in draft-przygienda-lsr-flood-reflection-01. The flood reflection adjacency sub-TLV is installed in
the traffic engineering database (TED) and is included in the Level 2 area flooded LSPs. It indicates that a
given adjacency is a flood-reflector adjacency and serves the following purposes:
• It enables RSVP on the same router to recognize that a link in the TED represents a flood-reflection
adjacency.
• It also helps in potential metric-independent loop prevention mechanism. That is, it enables a device
participating in flood reflection to have awareness of remote flood-reflection links to detect loops.
NOTE: The external Level 2 devices that do not participate in flood reflection do not advertise or
receive the flood-reflection adjacency sub-TLV.
Figure 19 on page 223 depicts a flood-reflector topology that allows R4 to send traffic to R5 utilizing
the Level 1 fabric shown at the top of the figure without being exposed to any Level 1 advertisements.
223
• R6 is the flood reflector. R0, R1, R2, R3 are flood-reflector clients and have FTI tunnels to R6. All of
the FTI tunnels have metric 10 and are configured as flood-reflector interfaces. R0, R1, R2, R3, R6
are configured to redistribute Level 2 routes into Level 1 as Level 1/Level 2 inter-area routes. This
redistribution into Level 1 only occurs if the Level 2 route is installed in the route table.
• R2 advertises [Link]/30 in Level 1 link-state PDUs with a cost of 10 as it has installed the Level 2
route for [Link]/30 over the physical interface from R2 to R5.
• Under normal circumstances, if the FTI tunnel from R3 to R6 was not configured as a flood reflector
interface, then R3 would also advertise [Link]/30 into Level 1 link-state PDUs with a cost of 30.
However, as the FTI tunnel from R3 to R6 is configured as a flood reflector-interface, the Level 2
route is suppressed in favor of the Level 1 route for [Link]/30 being advertised by R3 into Level 1
link-state PDUs. The same logic applies to R0 and R1. Therefore, only R2 advertises [Link]/24 in
Level 1 link-state PDUs.
224
• When we trace a packet destined for [Link]/30 from R4 to R5, R4 only sees Level 2
advertisements. Therefore, it determines that the Level 2 shortest path to reach [Link]/30 is R4-
R0-R6-R2-R5. R4 sends the packet to R0.
• At R0, the shortest Level 2 path to reach [Link]/30 is R0-R6-R2-R5 (with cost 30). However, as the
next hop for this Level 2 route uses a flood-reflector interface, the Level 2 route is suppressed.
Instead, the Level 1 route to reach R2 is used.
• R7, R8, R9, R10 use the Level 1 route to reach R2 as they do not participate in Level 2. R6 uses the
Level 1 route because all of the Level 2 routes on R6 use FTI tunnels configured as Level 2 flood-
reflector interfaces, so all Level 2 routes are suppressed at R6.
• At R2, the Level 2 internal route for [Link]/30 using the physical Level 2 interface to R5 is installed
and used.
The following requirements are enforced through IS-IS advertisements by including information about
the role of the router (flood reflector or flood-reflector client) as well as the cluster-identifier (ID) in the
IS-IS Hello messages:
• A flood-reflector client must not be allowed to connect to another flood-reflector client over a flood-
reflector interface.
• A flood-reflector client must be allowed to connect to multiple flood reflectors over flood-reflector
interfaces.
• A flood reflector must not be allowed to connect to another flood reflector over a flood reflector-
interface.
• Adjacency between a flood reflector and a flood reflector client can be established only if they have
the same cluster ID.
• A flood reflector for a given level (Level 1, Level 2, or Level 1/Level 2) must not have any IS-IS
interfaces at a given level that are not flood-reflector interfaces. This can be validated with commit
check without any advertisements.
BEST PRACTICE: We recommend configuring the Level 2 tunnels to use the source and
destination loopback addresses that are only advertised into Level 1. Different loopback
addresses are advertised into Level 2. Otherwise, you might encounter a scenario where the
edge router in the fabric becomes disconnected from the Level 1 fabric, but it is still able to
form a flood- reflector adjacency by tunneling over links in the Level 2 topology.
225
Limitations
Flood reflection carries with it the potential to disrupt traffic and routing loops in certain topologies
where it is not configured properly.
Routing Loops
When using flood reflection, it is possible to create topologies that cause routing loops. Figure 20 on
page 225 depicts a looping topology sample.
The only difference between the topologies in Figure 19 on page 223 and Figure 20 on page 225 is the
missing the FTI tunnel between R1 and R6 in Figure 20 on page 225.
226
Besides the missing FTI tunnel described in the topology in Figure 20 on page 225, the following factors
can also cause a routing loop:
When using flood reflectors, it is possible to encounter some issues with ECMP resulting in minimal
usage of the paths through the network. The following cases represent some issues with ECMP:
In this topology, based on its Level 2 SPF computation, R4 expects the traffic to enter the Level 1
fabric at R0 and exit at R1 and R2, with traffic being load balanced equally across the links from R1 to
R5 and R2 to R5.
227
However, the Level 1 cost from R0 to R1 is 2 while the Level 1 cost from R0 to R2 is 4. All of the
traffic is forwarded to R1 in the Level 1 fabric and uses the link from R1 to R5.
This issue can be addressed by building a full mesh of equal-cost Level 1 tunnels between each of the
Level 1/ Level 2 leaf routers.
Based on its Level 2 SPF computation, R4 expects the traffic to be sent only across the link from R0
to R5. This is the observed forwarding behavior. However, this behavior limits to utilize ECMP
effectively. Building a full-mesh of equal-cost Level 1 tunnels between all of the Level 2/Level 1 leaf
routers does not solve this issue.
SEE ALSO
flood-reflector
228
IN THIS SECTION
Requirements | 228
Overview | 228
Configuration | 230
Verification | 263
This example shows how to configure flood reflectors in an IS-IS network. Flood reflection mainly
reduces the redundancy in flooding paths and enhances the efficiency of IS-IS updates in large fabric
topologies.
Requirements
Overview
IN THIS SECTION
Topology | 229
Starting in Junos OS Release 20.4R1, you can configure flood-reflector interfaces in an IS-IS network.
Flood reflection enables you to create IS-IS topologies where Level 1 areas provide transit forwarding
for Level 2 destinations within a Level 2 topology. This is accomplished by creating Level 2 flood-
reflection adjacencies within each Level 1 area.
A flood-reflector adjacency reflects Level 2 link-state packet data units (PDUs) and they are used in the
Level 2 shortest-path-first (SPF) computation. However, they are not used for forwarding.
To establish IS-IS adjacency for flood-reflection, flexible tunnel interfaces (FTI) are designated as flood-
reflector interfaces. These tunnels utilize UDP encapsulation.
229
Topology
Figure 21 on page 229 shows a flood-reflector topology for IPv4 traffic and Figure 22 on page 230
shows a flood-reflector topology for IPv6 traffic in which Router R6 is the flood reflector. Routers R0,
R1, R2, R3 are the flood-reflector clients that have FTI tunnels to R6. All of the FTI tunnels have metric
10 and are configured as flood-reflector interfaces. Routers R0, R1, R2, R3 are configured to redistribute
Level 2 routes into Level 1 as Level 1/Level 2 inter-area routes. Routers R4 and R5 are Level 2 routers.
Routers R7, R8, R9, R10 use the Level 1 route as they do not participate in flood reflection. The Level 1
metric is 100.
Configuration
IN THIS SECTION
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from the configuration mode.
Device R0
Device R1
Device R2
Device R3
Device R4
Device R5
Device R6
Device R7
Device R8
Device R9
Device R10
Step-by-Step Procedure
[edit]
user@R0#set interfaces et-0/0/0:1 unit 0 description "Connection Between R_0 and R_4"
user@R0#set interfaces et-0/0/0:1 unit 0 family inet address [Link]/30
user@R0#set interfaces et-0/0/0:1 unit 0 family iso
user@R0#set interfaces et-0/0/0:1 unit 0 family inet6 address [Link]/64
user@R0#set interfaces et-0/0/0:2 unit 0 description "Connection Between R_0 and R_7"
user@R0#set interfaces et-0/0/0:2 unit 0 family inet address [Link]/30
user@R0#set interfaces et-0/0/0:2 unit 0 family iso
user@R0#set interfaces et-0/0/0:2 unit 0 family inet6 address [Link]/64
user@R0#set interfaces et-0/0/0:3 unit 0 description "Connection Between R_0 and R_8"
user@R0#set interfaces et-0/0/0:3 unit 0 family inet address [Link]/30
user@R0#set interfaces et-0/0/0:3 unit 0 family iso
user@R0#set interfaces et-0/0/0:3 unit 0 family inet6 address [Link]/64
2. Configure the loopback interface (lo0) with IPv4 and IPv6 addresses that are used as router ID for
IS-IS sessions. Configure an ISO network entity title (NET) address on the loopback interface for
the router to support IS-IS.
[edit]
user@R0#set interfaces lo0 unit 0 family inet address [Link]/32 primary
user@R0#set interfaces lo0 unit 0 family iso address 49.0001.1921.6825.5010.00
user@R0#set interfaces lo0 unit 0 family inet6 address [Link]/128
[edit]
user@R0#set routing-options router-id [Link]
4. Configure the source address for the FTI with UDP encapsulation. The source address is the router
ID of the tunnel source.
[edit]
user@R0#set interfaces fti0 unit 0 tunnel encapsulation udp source address [Link]
242
5. Configure the destination address for the FTI. The destination address is the router ID of the tunnel
endpoint.
[edit]
user@R0#set interfaces fti0 unit 0 tunnel encapsulation udp destination address
[Link]
6. Specify the source IP address of the tunnel and the UDP port value of the destination that
identifies the tunnel endpoint. Specify the value of destination-udp-port from 1 through 65,535.
[edit]
user@R0#set interfaces fti0 unit 0 family inet address [Link]/30
user@R0#set interfaces fti0 unit 0 family inet destination-udp-port 10000
user@R0#set interfaces fti0 unit 0 family iso destination-udp-port 10030
user@R0#set interfaces fti0 unit 0 family inet6 destination-udp-port 10010
user@R0#set interfaces fti0 unit 0 family mpls destination-udp-port 10020
7. Disable IS-IS Level 1 on the interface that connects to an interface of R4 at Level 2. Configure a
metric of 10 for the Level 2 interface.
[edit]
user@R0#set protocols isis interface et-0/0/0:1.0 level 1 disable
user@R0#set protocols isis interface et-0/0/0:1.0 level 2 metric 10
8. Disable IS-IS Level 2 on the interface that connects to interfaces of R7 and R8 at Level 1. Configure
a metric of 100 for the Level 1 interfaces.
[edit]
user@R0#set protocols isis interface et-0/0/0:2.0 level 1 metric 100
user@R0#set protocols isis interface et-0/0/0:2.0 level 2 disable
user@R0#set protocols isis interface et-0/0/0:3.0 level 1 metric 100
user@R0#set protocols isis interface et-0/0/0:3.0 level 2 disable
[edit]
user@R0#set protocols isis interface et-0/0/0:1.0 point-to-point
243
10. Disable Level 1 on the FTI and configure the flood reflector client at Level 2 by including the cluster
identifier.
[edit]
user@R0#set protocols isis interface fti0.0 level 1 disable
user@R0#set protocols isis interface fti0.0 level 2 flood-reflector cluster-id 100
user@R0#set protocols isis level 2 flood-reflector client
11. Configure wide-metrics for IS-IS to allow wider range of metric values.
[edit]
user@R0#set protocols isis level 1 wide-metrics-only
user@R0#set protocols isis level 2 wide-metrics-only
12. Configure the loopback interface as passive to ensure the protocols do not run over the loopback
interface and that the loopback interface is advertised correctly throughout the network.
[edit]
user@R0#set protocols isis interface lo0.0 passive
In addition to configuring these steps on flood-reflector client R0, repeat these steps for the flood-
reflector clients R1, R2, R3 within the cluster that you configure.
Results
From configuration mode, confirm your configuration by entering the, show interfaces, show routing-options,
show protocols, and show policy-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
interfaces {
et-0/0/0:1 {
unit 0 {
family inet {
address [Link]/30;
244
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:2 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:3 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
fti0 {
unit 0 {
tunnel {
encapsulation udp {
source {
address [Link];
}
destination {
address [Link];
}
}
}
family inet {
address [Link]/30;
245
destination-udp-port 10000;
}
family iso {
destination-udp-port 10030;
}
family inet6 {
destination-udp-port 10010;
}
family mpls {
destination-udp-port 10020;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.1921.6825.5010.00;
}
family inet6 {
address [Link]/128;
}
}
}
}
routing-options {
router-id [Link];
}
protocols {
isis {
interface et-0/0/0:1.0 {
level 1 disable;
level 2 {
metric 10;
}
point-to-point;
}
interface et-0/0/0:2.0 {
level 2 disable;
level 1 {
metric 100;
246
}
point-to-point;
}
interface et-0/0/0:3.0;
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface fti0.0 {
level 1 disable;
level 2 {
flood-reflector {
cluster-id 100;
}
}
}
interface lo0.0 {
passive;
}
level 1 wide-metrics-only;
level 2 {
wide-metrics-only;
flood-reflector {
client;
}
}
export [ l2_l1_leak ];
Step-by-Step Procedure
[edit]
user@R6#set interfaces et-0/0/0:1 unit 0 description "Connection Between R_6 and R_7"
user@R6#set interfaces et-0/0/0:1 unit 0 family inet address [Link]/30
247
2. Configure the loopback interface (lo0) with IPv4 and IPv6 addresses that are used as router ID for
IS-IS sessions. Configure an ISO network entity title (NET) address on the loopback interface for
the router to support IS-IS.
[edit]
user@R6#set interfaces lo0 unit 0 family inet address [Link]/32 primary
user@R6#set interfaces lo0 unit 0 family iso address 49.0001.1921.6825.5006.00
user@R6#set interfaces lo0 unit 0 family inet6 address [Link]/128
[edit]
user@R6#set routing-options router-id [Link]
4. Configure the source address for the FTI with UDP encapsulation. The source address is the router
ID of the tunnel source.
[edit]
user@R6#set interfaces fti0 unit 0 tunnel encapsulation udp source address [Link]
248
5. Configure the destination addresses for the FTI per unit. The destination addresses are the router
IDs of the tunnel endpoints.
[edit]
user@R6#set interfaces fti0 unit 0 tunnel encapsulation udp destination address
[Link]
user@R6#set interfaces fti0 unit 1 tunnel encapsulation udp destination address
[Link]
user@R6#set interfaces fti0 unit 2 tunnel encapsulation udp destination address
[Link]
user@R6#set interfaces fti0 unit 3 tunnel encapsulation udp destination address
[Link]
6. Specify the source IP address of the tunnel and the UDP port value of the destination that
identifies the tunnel endpoint per unit. Specify the value of destination-udp-port from 1 through
65,535.
[edit]
user@R6#set interfaces fti0 unit 0 family inet address [Link]/30
user@R6#set interfaces fti0 unit 0 family inet destination-udp-port 10000
user@R6#set interfaces fti0 unit 0 family iso destination-udp-port 10030
user@R6#set interfaces fti0 unit 0 family inet6 destination-udp-port 10010
user@R6#set interfaces fti0 unit 0 family mpls destination-udp-port 10020
user@R6#set interfaces fti0 unit 1 family inet address [Link]/30
user@R6#set interfaces fti0 unit 1 family inet destination-udp-port 10000
user@R6#set interfaces fti0 unit 1 family iso destination-udp-port 10030
user@R6#set interfaces fti0 unit 1 family inet6 destination-udp-port 10010
user@R6#set interfaces fti0 unit 1 family mpls destination-udp-port 10020
user@R6#set interfaces fti0 unit 2 family inet address [Link]/30
user@R6#set interfaces fti0 unit 2 family inet destination-udp-port 10000
user@R6#set interfaces fti0 unit 2 family inet6 destination-udp-port 10010
user@R6#set interfaces fti0 unit 2 family iso destination-udp-port 10030
user@R6#set interfaces fti0 unit 2 family mpls destination-udp-port 10020
user@R6#set interfaces fti0 unit 3 family inet address [Link]/30
user@R6#set interfaces fti0 unit 3 family inet destination-udp-port 10000
user@R6#set interfaces fti0 unit 3 family iso destination-udp-port 10030
user@R6#set interfaces fti0 unit 3 family inet6 destination-udp-port 10010
user@R6#set interfaces fti0 unit 3 family mpls destination-udp-port 10020
249
7. Configure a policy in the Level 2 area to leak routes into the Level 1 area.
[edit]
user@R6#set protocols isis export l2_l1_leak
8. Disable IS-IS Level 2 on the interface and configure a metric of 100 on the Level 1 interface.
[edit]
user@R6#set protocols isis interface et-0/0/0:1.0 level 2 disable
user@R6#set protocols isis interface et-0/0/0:1.0 level 1 metric 100
user@R6#set protocols isis interface et-0/0/0:2.0 level 2 disable
user@R6#set protocols isis interface et-0/0/0:2.0 level 1 metric 100
user@R6#set protocols isis interface et-0/0/1:0.0 level 2 disable
user@R6#set protocols isis interface et-0/0/1:0.0 level 1 metric 100
user@R6#set protocols isis interface et-0/0/1:1.0 level 2 disable
user@R6#set protocols isis interface et-0/0/1:1.0 level 1 metric 100
[edit]
user@R6#set protocols isis interface et-0/0/0:1.0 point-to-point
user@R6#set protocols isis interface et-0/0/0:2.0 point-to-point
user@R6#set protocols isis interface et-0/0/1:0.0 point-to-point
user@R6#set protocols isis interface et-0/0/1:1.0 point-to-point
10. Disable Level 1 on the FTI and configure the flood-reflector client at Level 2 by including the cluster
identifier.
[edit]
user@R6#set protocols isis interface fti0.0 level 1 disable
user@R6#set protocols isis interface fti0.0 level 2 flood-reflector cluster-id 100
user@R6#set protocols isis interface fti0.1 level 1 disable
user@R6#set protocols isis interface fti0.1 level 2 flood-reflector
user@R6#set protocols isis interface fti0.2 level 1 disable
user@R6#set protocols isis interface fti0.2 level 2 flood-reflector
user@R6#set protocols isis interface fti0.3 level 1 disable
user@R6#set protocols isis interface fti0.3 level 2 flood-reflector
user@R6#set protocols isis level 2 flood-reflector reflector cluster-id 100
250
11. Configure wide-metrics for IS-IS to allow wider range of metric values.
[edit]
user@R6#set protocols isis level 1 wide-metrics-only
user@R6#set protocols isis level 2 wide-metrics-only
12. Configure the loopback interface as passive to ensure the protocols do not run over the loopback
interface and that the loopback interface is advertised correctly throughout the network.
[edit]
user@R6#set protocols isis interface lo0.0 passive
Results
From configuration mode, confirm your configuration by entering the , show interfaces, show routing-options,
show protocols, and show policy-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
interfaces {
et-0/0/0:1 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:2 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
251
}
}
}
et-0/0/1:0 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/1:1{
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
fti0 {
unit 0 {
tunnel {
encapsulation udp {
source {
address [Link];
}
destination {
address [Link];
}
}
}
family inet {
address [Link]/30;
destination-udp-port 10000;
}
family iso {
destination-udp-port 10030;
252
}
family inet6 {
destination-udp-port 10010;
}
family mpls {
destination-udp-port 10020;
}
}
}
fti0 {
unit 1 {
tunnel {
encapsulation udp {
source {
address [Link];
}
destination {
address [Link];
}
}
}
family inet {
address [Link]/30;
destination-udp-port 10000;
}
family iso {
destination-udp-port 10030;
}
family inet6 {
destination-udp-port 10010;
}
family mpls {
destination-udp-port 10020;
}
}
}
fti0 {
unit 2 {
tunnel {
encapsulation udp {
source {
address [Link];
}
253
destination {
address [Link];
}
}
}
family inet {
address [Link]/30;
destination-udp-port 10000;
}
family iso {
destination-udp-port 10030;
}
family inet6 {
destination-udp-port 10010;
}
family mpls {
destination-udp-port 10020;
}
}
}
fti0 {
unit 3 {
tunnel {
encapsulation udp {
source {
address [Link];
}
destination {
address [Link];
}
}
}
family inet {
address [Link]/30;
destination-udp-port 10000;
}
family iso {
destination-udp-port 10030;
}
family inet6 {
destination-udp-port 10010;
}
family mpls {
254
destination-udp-port 10020;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.1921.6825.5006.00;
}
family inet6 {
address [Link]/128;
}
}
}
}
routing-options {
router-id [Link];
}
protocols {
isis {
interface et-0/0/0:1.0 {
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface et-0/0/0:2.0 {
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface et-0/0/1:0.0;
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
255
}
interface et-0/0/1:1.0;
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface fti0.0 {
level 1 disable;
level 2 {
flood-reflector {
cluster-id 100;
}
}
interface fti0.1 {
level 1 disable;
level 2 {
flood-reflector {
cluster-id 100;
}
}
interface fti0.2 {
level 1 disable;
level 2 {
flood-reflector {
cluster-id 100;
}
}
interface fti0.3 {
level 1 disable;
level 2 {
flood-reflector {
cluster-id 100;
}
}
}
interface lo0.0 {
passive;
}
level 1 wide-metrics-only;
level 2 {
wide-metrics-only;
256
flood-reflector {
client:
}
}
export [ l2_l1_leak ];
}
Step-by-Step Procedure
[edit]
user@R4#set interfaces et-0/0/0:1 unit 0 description "Connection Between R_4 and R_0"
user@R4#set interfaces et-0/0/0:1 unit 0 family inet address [Link]/30
user@R4#set interfaces et-0/0/0:1 unit 0 family iso
user@R4#set interfaces et-0/0/0:1 unit 0 family inet6 address [Link]/64
user@R4#set interfaces et-0/0/0:2 unit 0 description "Connection Between R_4 and R_1"
user@R4#set interfaces et-0/0/0:2 unit 0 family inet address [Link]/30
user@R4#set interfaces et-0/0/0:2 unit 0 family iso
user@R4#set interfaces et-0/0/0:2 unit 0 family inet6 address [Link]/64
2. Configure the loopback interface (lo0) with IPv4 and IPv6 addresses that are used as router ID for IS-
IS sessions. Configure an ISO network entity title (NET) address on the loopback interface for the
router to support IS-IS.
[edit]
user@R4#set interfaces lo0 unit 0 family inet address [Link]/32 primary
user@R4#set interfaces lo0 unit 0 family iso address 49.0001.1921.6825.5004.00
user@R4#set interfaces lo0 unit 0 family inet6 address [Link]/128
[edit]
user@R4#set routing-options router-id [Link]
257
4. Disable IS-IS Level 1 on the interfaces and configure a metric of 10 and 11 on the Level 2 interfaces.
[edit]
user@R4#set protocols isis interface et-0/0/0:1.0 level 1 disable
user@R4#set protocols isis interface et-0/0/0:1.0 level 2 metric 10
user@R4#set protocols isis interface et-0/0/0:2.0 level 1 disable
user@R4#set protocols isis interface et-0/0/0:2.0 level 2 metric 11
[edit]
user@R4#set protocols isis interface et-0/0/0:1.0 point-to-point
user@R4#set protocols isis interface et-0/0/0:2.0 point-to-point
[edit]
user@R4#set protocols isis level 1 wide-metrics-only
user@R4#set protocols isis level 2 wide-metrics-only
7. Configure the loopback interface as passive to ensure the protocols do not run over the loopback
interface and that the loopback interface is advertised correctly throughout the network.
[edit]
user@R4#set protocols isis interface lo0.0 passive
In addition to configuring these steps on the Level 2 non-flood reflector device R4, repeat these steps
for the non-flood reflector device R5.
258
Results
From configuration mode, confirm your configuration by entering the , show interfaces, show routing-options,
show protocols, and show policy-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
interfaces {
et-0/0/0:1 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:2 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.1921.6825.5004.00;
}
family inet6 {
address [Link]/128;
}
}
}
259
}
routing-options {
router-id [Link];
}
protocols {
isis {
interface et-0/0/0:1.0 {
level 1 disable;
level 2 {
metric 10;
}
point-to-point;
}
interface et-0/0/0:2.0 {
level 1 disable;
level 2 {
metric 11;
}
point-to-point;
}
interface lo0.0 {
passive;
}
level 1 wide-metrics-only;
level 2 wide-metrics-only;
}
export [ l2_l1_leak ];
}
Step-by-Step Procedure
[edit]
user@R7#set interfaces et-0/0/0:1 unit 0 description "Connection Between R_4 and R_0"
user@R7#set interfaces et-0/0/0:1 unit 0 family inet address [Link]/30
user@R7#set interfaces et-0/0/0:1 unit 0 family iso
260
2. Configure the loopback interface (lo0) with IPv4 and IPv6 addresses that are used as router ID for IS-
IS sessions. Configure an ISO network entity title (NET) address on the loopback interface for the
router to support IS-IS.
[edit]
user@R7#set interfaces lo0 unit 0 family inet address [Link]/32 primary
user@7#set interfaces lo0 unit 0 family iso address 49.0001.1921.6825.5007.00
user@7#set interfaces lo0 unit 0 family inet6 address [Link]/128
[edit]
user@R7#set routing-options router-id [Link]
4. Disable Level 2 on the interfaces and configure a metric of 100 on the Level 1 interfaces.
[edit]
user@R7#set protocols isis interface et-0/0/0:1.0 level 2 disable
user@R7#set protocols isis interface et-0/0/0:1.0 level 1 metric 100
user@R7#set protocols isis interface et-0/0/0:2.0 level 2 disable
user@R7#set protocols isis interface et-0/0/0:3.0 level 2 disable
user@R7#set protocols isis interface et-0/0/0:3.0 level 1 metric 100
[edit]
user@R7#set protocols isis interface et-0/0/0:1.0 point-to-point
user@R7#set protocols isis interface et-0/0/0:2.0 point-to-point
user@R7#set protocols isis interface et-0/0/0:3.0 point-to-point
261
[edit]
user@R7#set protocols isis level 1 wide-metrics-only
user@R7#set protocols isis level 2 wide-metrics-only
7. Configure the loopback interface as passive to ensure the protocols do not run over the loopback
interface and that the loopback interface is advertised correctly throughout the network.
[edit]
user@R7#set protocols isis interface lo0.0 passive
In addition to configuring these steps on the Level 1 non-flood reflector device R7, repeat these steps
for the non-flood reflector devices R8, R9, R10.
Results
From configuration mode, confirm your configuration by entering the , show interfaces, show routing-options,
show protocols, and show policy-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
interfaces {
et-0/0/0:1 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:2 {
unit 0 {
family inet {
address [Link]/30;
}
262
family iso;
family inet6 {
address [Link]/64;
}
}
}
et-0/0/0:3 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/64;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.1921.6825.5007.00;
}
family inet6 {
address [Link]/128;
}
}
}
}
routing-options {
router-id [Link];
}
protocols {
isis {
interface et-0/0/0:1.0 {
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
263
interface et-0/0/0:2.0 {
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface et-0/0/0:3.0 {
level 2 disable;
level 1 {
metric 100;
}
point-to-point;
}
interface lo0.0 {
passive;
}
level 1 wide-metrics-only;
level 2 wide-metrics-only;
export [ l2_l1_leak ];
}
Verification
IN THIS SECTION
To confirm that the configuration is working properly, perform the following tasks:
264
Purpose
Action
R6
Interface: fti0.0, Level: 2, State: Up, Expires in 21 secs
Interface System L State Hold (secs) SNPA
fti0.0 R0 2 Up 24
fti0.1 R1 2 Up 21
fti0.2 R2 2 Up 20
fti0.3 R3 2 Up 20
et-0/0/1:1.0 R10 1 Up 25
et-0/0/0:1.0 R7 1 Up 22
et-0/0/0:2.0 R8 1 Up 20
et-0/0/1:0.0 R9 1 Up 20
Verify that the IS-IS instance is running on devices R0 and R6 and that they are adjacent to each other.
From operational mode, run the show isis adjacency extensive command.
On R0
R6
Interface: fti0.0, Level: 2, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
IPv6 addresses: fe80::5668:a30f:fc54:2a13
Level 2 Flood reflector client, Cluster-id: 100
Transition log:
265
Meaning
• The interface fti0.0 on the device R0 has established adjacency with the device R6.
Purpose
Verify that the flood reflector is enabled and verify its status.
Action
From operational mode, run the show isis interface fti0.0 extensive command.
On R6
Meaning
• On R6, the flood reflector is enabled on fti0 at level 2 with cluster-id 100.
266
Purpose
Verify that the flood-reflector client is enabled and verify its status.
Action
From operational mode, run the show isis interface fti0.0 extensive command.
On R0
Meaning
• On R0, the flood-reflector client is enabled on fti0 at level 2 with cluster-id 100.
Purpose
Verify the IS-IS database on the flood reflector and the flood-reflector clients.
Action
On R0
TLVs:
Area address: 47.0005.80ff.f800.0000.0108.0001 (13)
Area address: 49.0001 (3)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: [Link]
IP address: [Link]
IPv6 TE Router ID: abcd::128:53:69:151
Hostname: r0
Extended IS Reachability TLV, Type: 22, Length: 127
IS extended neighbor: r4.00, Metric: default 10 SubTLV len: 58
IP address: [Link]
IPv6 address: [Link]
Neighbor's IP address: [Link]
Neighbor's IPv6 address: [Link]
Local interface index: 73, Remote interface index: 73
IS extended neighbor: R6.00, Metric: default 10 SubTLV len: 47
IP address: [Link]
IPv6 address: [Link]
Neighbor's IP address: [Link]
Local interface index: 76, Remote interface index: 77
Flood reflector client, Cluster-id: 100
No queued transmissions
On R6
Meaning
On R0 and R6, the IS-IS database shows the flood-reflector client and the flood reflector with cluster-id
100.
Purpose
Verify that the Level 2 routes learned on the FTI are not installed in the R0 routing table.
Action
On R0
Meaning
The Level 2 routes learned on the FTI between R0 and R6 are not installed in the R0 routing table.
SEE ALSO
flood-reflector
270
CHAPTER 7
IN THIS CHAPTER
Example: Configuring IS-IS Dual Stacking of IPv4 and IPv6 Unicast Addresses | 296
Most multicast routing protocols perform a reverse-path forwarding (RPF) check on the source of
multicast data packets. If a packet comes in on the interface that is used to send data to the source, the
packet is accepted and forwarded to one or more downstream interfaces. Otherwise, the packet is
discarded and a notification is sent to the multicast routing protocol running on the interface.
In certain instances, the unicast routing table used for the RPF check is also the table used for
forwarding unicast data packets. Thus, unicast and multicast routing are congruent. In other cases,
where it is preferred that multicast routing be independent of unicast routing, the multicast routing
protocols are configured to perform the RPF check using an alternate unicast routing table inet.2.
You can configure IS-IS to calculate an alternate IPv4 multicast topology, in addition to the normal IPv4
unicast topology, and add the corresponding routes to inet.2. The IS-IS interface metrics for the
multicast topology can be configured independently of the unicast metrics. You can also selectively
disable interfaces from participating in the multicast topology while continuing to participate in the
regular unicast topology. This enables you to exercise control over the paths that multicast data takes
through a network so that it is independent of unicast data paths. You can also configure IS-IS to
calculate an alternate IPv6 multicast topology, in addition to the normal IPv6 unicast topology.
271
NOTE: IS-IS only starts advertising the routes when the interface routes are in inet.2.
NOTE: For the multicast metric commands, these are interface-specific settings, not global.
Table 2 on page 271 lists the various IPv4 statements you can use to configure IS-IS topologies.
Statement Description
ipv4-multicast-metric number Configures the multicast metric for an alternate IPv4 multicast topology.
Table 3 on page 271 lists the various IPv6 statements you can use to configure IS-IS topologies.
Statement Description
ipv6-multicast-metric number Configures the multicast metric for an alternate IPv6 multicast topology.
ipv6-unicast-metric number Configures the unicast metric for an alternate IPv6 multicast topology.
272
Statement Description
For a list of hierarchy levels at which you can include these statements, see the statement summary
sections for these statements.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 278
Overview | 279
Verification | 280
This example shows how to configure a multicast topology for an IS-IS network.
Configuration
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
273
Router R1
Router R2
Router R3
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
1. Enable the multicast topology for IS-IS by using the ipv4-multicast statement.
2. Enable multicast metrics on the first SONET/SDH Interface by using the ipv4-multicast-metric
statement.
Router R1
Router R2
Router R3
3. Enable multicast metrics on a second sonet Interface by using the ipv4-multicast-metric statement.
Router R1
Router R2
Router R3
[edit]
user@host# commit
Results
From configuration mode, confirm your configuration by using the show protocols isis statement. If the
output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
Router R1
traceoptions {
file isis size 5m world-readable;
flag error;
}
topologies ipv4-multicast;
interface so-0/0/0 {
level 1 {
metric 15;
ipv4-multicast-metric 18;
}
level 2 {
metric 20;
ipv4-multicast-metric 14;
}
}
interface so-1/0/0 {
level 1 {
metric 13;
277
ipv4-multicast-metric 12;
}
level 2 {
metric 29;
ipv4-multicast-metric 23;
}
}
interface fxp0.0 {
disable;
}
Router R2
traceoptions {
file isis size 5m world-readable;
flag error;
}
topologies ipv4-multicast;
interface so-0/0/0 {
level 1 {
metric 13;
ipv4-multicast-metric 12;
}
level 2 {
metric 29;
ipv4-multicast-metric 23;
}
}
interface so-1/0/0 {
level 1 {
metric 14;
ipv4-multicast-metric 18;
}
level 2 {
metric 32;
ipv4-multicast-metric 26;
}
}
interface fxp0.0 {
278
disable;
}
Router R3
traceoptions {
file isis size 5m world-readable;
flag error;
}
topologies ipv4-multicast;
interface so-0/0/0 {
level 1 {
metric 19;
ipv4-multicast-metric 11;
}
level 2 {
metric 27;
ipv4-multicast-metric 21;
}
}
interface so-1/0/0 {
level 1 {
metric 16;
ipv4-multicast-metric 26;
}
level 2 {
metric 30;
ipv4-multicast-metric 20;
}
}
interface fxp0.0 {
disable;
}
Requirements
Before you begin, configure IS-IS on all routers. See "Example: Configuring IS-IS" on page 14 for
information about the required IS-IS configuration.
Overview
IN THIS SECTION
Topology | 279
This example shows an IS-IS multicast topology configuration. Three routers are connected to each
other. A loopback interface is configured on each router.
Topology
Verification
IN THIS SECTION
Purpose
Make sure that Routers R1, R2, and R3 are connected to each other.
Action
Ping the other two routers from any router, to check the connectivity between the three routers as per
the network topology.
Meaning
Routers R1, R2, and R3 have a peer relationship with each other.
Purpose
Make sure that the IS-IS instance is running on Routers R1, R2, and R3, and that they are adjacent to
each other.
Action
Use the show isis adjacency detail command to check the adjacency between the routers.
Router R1
R2
Interface: so-0/0/0, Level: 1, State: Up, Expires in 8 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R2.02, IP addresses: [Link]
R2
Interface: so-0/0/0, Level: 2, State: Up, Expires in 8 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R2.02, IP addresses: [Link]
R3
Interface: so-1/0/0, Level: 1, State: Up, Expires in 7 secs
284
R3
Interface: so-1/0/0, Level: 2, State: Up, Expires in 6 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.02, IP addresses: [Link]
Router R2
R1
Interface: so-0/0/0, Level: 1, State: Up, Expires in 20 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R2.02, IP addresses: [Link]
R1
Interface: so-0/0/0, Level: 2, State: Up, Expires in 26 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R2.02, IP addresses: [Link]
R3
Interface: so-1/0/0, Level: 1, State: Up, Expires in 8 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.03, IP addresses: [Link]
285
R3
Interface: so-1/0/0, Level: 2, State: Up, Expires in 8 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.03, IP addresses: [Link]
Router R3
R2
Interface: so-0/0/0, Level: 1, State: Up, Expires in 18 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.03, IP addresses: [Link]
R2
Interface: so-0/0/0, Level: 2, State: Up, Expires in 22 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.03, IP addresses: [Link]
R1
Interface: so-1/0/0, Level: 1, State: Up, Expires in 21 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R3.02, IP addresses: [Link]
R1
Interface: so-1/0/0, Level: 2, State: Up, Expires in 19 secs
Priority: 64, Up/Down transitions: 1, Last transition: 2d [Link] ago
Circuit type: 3, Speaks: IP, MAC address: [Link]
Topologies: IPV4-Multicast
286
Meaning
IS-IS is configured on Routers R1, R2, and R3, and they are adjacent to each other.
Purpose
Make sure that the SPF calculations are accurate as per the configured multicast metric values on
Routers R1, R2, and R3.
Action
Use the show isis spf results command to check the SPF calculations for the network.
Router R1
Router R2
Router R3
Meaning
The configured multicast metric values are used in SPF calculations for the IS-IS network.
Purpose
Make sure that the multicast topology is configured on Routers R1, R2, and R3.
Action
Use the show isis database detail command to verify the multicast topology configuration on the routers.
Router R1
Router R2
Router R3
Meaning
RELATED DOCUMENTATION
Service providers and enterprises are faced with growing their networks using IPv6, while continuing to
serve IPv4 customers.
Increasingly, the public side of network address translation (NAT) devices is IPv6 rather than IPv4.
Service providers cannot continue giving customers globally routable IPv4 addresses, they cannot get
new globally routable IPv4 addresses for expanding their own networks, and yet they must continue to
serve both IPv4 customers and new customers, all of whom are primarily trying to reach IPv4
destinations.
IPv4 and IPv6 must coexist for some number of years, and their coexistence must be transparent to end
users. If an IPv4-to-IPv6 transition is successful, end users should not even notice it.
A dual-stack device is a device with network interfaces that can originate and understand both IPv4 and
IPv6 packets.
295
Other strategies, such as manually or dynamically configured tunnels and translation devices exist, but
dual stacking is often the preferable solution in many scenarios. The dual-stacked device can
interoperate equally with IPv4 devices, IPv6 devices, and other dual-stacked devices. When both
devices are dual stacked, the two devices agree on which IP version to use.
The transition is driven by DNS. If a dual-stacked device queries the name of a destination and DNS
gives it an IPv4 address (a DNS A Record), it sends IPv4 packets. If DNS responds with an IPv6 address
(a DNS AAAA Record), it sends IPv6 packets.
Keep in mind that if you are going to dual stack all of your network devices, the interfaces need both an
IPv6 and an IPv4 address. This raises the issue that the Internet has run out of IPv4 addresses, which is
the main reason IPv6 is needed in the first place. If you do not have an abundant supply of IPv4
addresses to apply to your devices, you can still use dual stacking, but you will need to conserve your
supply of IPv4 addresses by using network address translation (NAT). Building dual-stacked networks
with a mix of global IPv6 addresses and NAT-ed IPv4 addresses is quite feasible. Some specific solutions
include carrier-grade NAT (CGN), NAT44(4), NAT64, NAT464, and dual-stack lite.
Table 4 on page 295 describes at a high level how to pick a network addressing technique. In reality, a
complete solution might include a set of techniques to satisfy multiple service needs. It is important to
understand the backbone technology being used on the network and also to know if the provider has
control over the access customer premises equipment (CPE).
RELATED DOCUMENTATION
Understanding IPv6
Example: Configuring IS-IS Dual Stacking of IPv4 and IPv6 Unicast Addresses | 296
IN THIS SECTION
Requirements | 296
Overview | 296
Configuration | 297
Verification | 301
This example shows how to configure IPv4 and IPv6 dual stacking in IS-IS.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
You can use IPv4 and IPv6 dual stacking to begin your migration from IPv4 to IPv6 by implementing
IPv6 alongside IPv4 in your existing networks. This allows you to implement IPv6 so that you can
provide the same services over IPv6—for example, video, voice, high-quality data—that you currently
provide in your IPv4 networks. You can then perform incremental upgrades to IPv6 and avoid service
disruptions while migrating from IPv4 to IPv6.
Unlike RIP and OSPF, IS-IS does not require a distinct protocol or a new version to support IPv6.
Because IS-IS uses ISO addresses, the configuration for IPv6 and IPv4 is identical in the Junos OS
implementation of IS-IS. For IS-IS to carry IPv6 routes, you only need to add IPv6 addresses to IS-IS
enabled interfaces or include other IPv6 routes in your IS-IS export policy.
The only explicit configuration needed in IS-IS with regard to IPv6 is if you want to disable it.
Alternatively, you can disable IPv4 routing and use IS-IS with IPv6 only. An example of each is provided
here:
297
"CLI Quick Configuration" on page 298 shows the configuration for all of the devices in Figure 24 on
page 297. The section "No Link Title" on page 299 describes the steps on Device R1.
Configuration
IN THIS SECTION
Procedure | 298
298
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Device R3
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
1. Configure the interfaces, including both IPv4 and IPv6 addresses on each interface.
Optionally, include the eui-64 statement to automatically generate the host number portion of
interface addresses.
[edit interfaces]
user@R1# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/0 unit 0 family iso
user@R1# set fe-1/2/0 unit 0 family inet6 address [Link]/64 eui-64
user@R1# set fe-1/2/1 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/1 unit 0 family iso
user@R1# set fe-1/2/1 unit 0 family inet6 address [Link]/64 eui-64
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
user@R1# set lo0 unit 0 family inet6 address [Link]/128
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
address [Link]/128;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis adjacency detail command.
R2
302
R3
Interface: fe-1/2/1.0, Level: 3, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 3, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
IPv6 addresses: fe80::2a0:a514:0:124c
Meaning
As expected, the output shows that the two neighbors support both IPv4 and IPv6. The IPv4 address
and the IPv6 link-local address are also shown.
Purpose
Make sure that you can ping the remote IPv6 interfaces.
Action
From operational mode, enter the ping command to ping from Device R2 to Device R3.
If you use EUI-64 addressing as shown in the example, the host portion of the IPv6 addresses is
assigned automatically. To determine what addresses are assigned, use the show interfaces terse
command on Device R3.
The IPv6 addresses that should be pingable are [Link] and [Link].
2. From Device R2, ping the Device R3 fe-1/2/0.0 IPv6 interface address and the lo0.0 IPv6 interface
address.
Meaning
This test confirms that IS-IS has learned the IPv6 routes.
Purpose
Verify that the expected routes are in the IPv6 routing table.
304
Action
Meaning
The output shows the IPv6 interface routes (direct and local) and the IPv6 routes learned through IS-IS.
305
RELATED DOCUMENTATION
You can configure IS-IS to calculate an alternate IPv6 unicast topology, in addition to the normal IPv4
unicast topology, and add the corresponding routes to inet6.0. The IS-IS interface metrics for the IPv4
topology can be configured independently of the IPv6 metrics. You can also selectively disable interfaces
from participating in the IPv6 topology while continuing to participate in the IPv4 topology. This enables
you to exercise control over the paths that unicast data takes through a network.
A topology is the set of joined nodes. IS-IS evaluates all the paths in a single topology for each IS-IS level
and uses the shortest-path-first (SPF) algorithm to determine the best path among all the feasible paths.
Topology discovery and SPF calculation is performed in a protocol-neutral fashion because it is done at
Layer 2 of the OSI model. If you load the topology with reachability information for a certain protocol
(for example, IP), the assumption is that the circuits that are supposed to provide reachability between
routing devices can carry the protocol. The SPF algorithm has a per-link orientation, not a per-address
family or per-protocol orientation.
Multitopology routing enables you to override this default behavior by enabling a per-address family,
per-protocol SPF calculation.
The additional CPU load associated with multiple runs of the SPF algorithm is generally not an issue
with the processing power available on today’s routing device control planes.
The multitopology extensions alter existing type, length, and value (TLV) tuples by adding a topology ID.
Each routing device in a given topology maintains its adjacencies and runs a per-topology SPF
calculation.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 306
Overview | 306
Configuration | 308
Verification | 314
This example shows how to configure IS-IS to calculate an alternate IPv6 unicast topology, in addition to
the normal IPv4 unicast topology.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
This example focuses on IPv4 and IPv6 unicast topologies. The IS-IS interface metrics for the IPv4
topology can be configured independently of the IPv6 metrics. You can also selectively disable interfaces
from participating in the IPv6 topology while continuing to participate in the IPv4 topology. This enables
you to exercise control over the paths that unicast data takes through a network.
To enable an IPv6 unicast topology for IS-IS, include the ipv6-unicast statement:
isis {
topologies {
ipv6-unicast;
}
}
To configure a metric for the IPv6 unicast topology, include the ipv6-unicast-metric statement:
isis {
interface interface-name {
level level-number {
ipv6-unicast-metric number;
}
307
}
}
To exclude an interface from the IPv6 unicast topologies for IS-IS, include the no-ipv6-unicast statement:
isis {
interface interface-name {
no-ipv6-unicast;
}
}
Figure 25 on page 308 shows the topology used in this example. The black lines indicate link
membership in the IPv6 topology. The gray lines indicate membership to the IPv4 topology. Using
regular TLVs, it would not be possible to build multiple topologies and run an SPF calculation based on
them. The multitopology extensions describe an extension to carry the set of supported protocols in the
hello packet. After activating multitopology routing support on a link, the link carries all the topologies
that the underlying circuit is able to relay.
308
"CLI Quick Configuration" on page 309 shows the configuration for all of the devices in Figure 25 on
page 308. The section "No Link Title" on page 312 describes the steps on Device R1.
Configuration
IN THIS SECTION
Procedure | 309
309
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Device R3
Device R4
Device R5
Device R6
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@R1# set so-1/2/0 unit 0 family inet address [Link]/30
user@R1# set so-1/2/0 unit 0 family iso
user@R1# set so-1/2/0 unit 0 family inet6 address [Link]/64 eui-64
user@R1# set so-1/2/1 unit 0 family inet address [Link]/30
user@R1# set so-1/2/1 unit 0 family iso
user@R1# set so-1/2/2 unit 0 family inet address [Link]/30
user@R1# set so-1/2/2 unit 0 family iso
user@R1# set so-1/2/2 unit 0 family inet6 address [Link]/64 eui-64
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
user@R1# set lo0 unit 0 family inet6 address [Link]/128
The ipv6-unicast statement enables multitopology IS-IS routing on all interfaces that have family iso
and family inet6 configured and are listed at the [edit protocols isis interface] hierarchy level.
If you do not want to run multitopology IS-IS routing for IPv6 on a given interface, you can disable
multitopology routing by including the no-ipv6-unicast statement in the IS-IS interface configuration.
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0001.00;
}
family inet6 {
address [Link]/128;
}
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis adjacency detail command.
R2
Interface: so-1/2/0.0, Level: 3, State: Up, Expires in 24 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 3, Speaks: IP, IPv6
Topologies: Unicast, IPV6-Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
IPv6 addresses: fe80::2a0:a514:0:24c
R5
Interface: so-1/2/1.0, Level: 3, State: Up, Expires in 21 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 3, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
R3
Interface: so-1/2/2.0, Level: 3, State: Up, Expires in 22 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 3, Speaks: IP, IPv6
Topologies: Unicast, IPV6-Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
IPv6 addresses: fe80::2a0:a514:0:124c
316
Meaning
As expected, the adjacency with Device R5 only supports the IPv4 unicast topology, while the
adjacencies with Device R2 and Device R3 support both the IPv4 and IPv6 topologies.
Purpose
Verify that separate SPF calculations are being run for IPv4 and IPv6.
Action
From operational mode, enter the show isis spf brief command.
Meaning
As expected, SPF calculations are being performed for IPv4 and IPv6 topologies.
Purpose
Verify that the link can be a member of both the IPv4 unicast topology and the IPv6 unicast topology.
Action
Meaning
The IS-IS hello (IIH) packet shows that IPv4 and IPv6 are supported. The hello packet lists valid IPv4 and
IPv6 addresses, and therefore the routing device can create valid next-hop entries. The supported
protocols are listed in the multitopology TLV #229.
RELATED DOCUMENTATION
Example: Configuring IS-IS Dual Stacking of IPv4 and IPv6 Unicast Addresses | 296
319
CHAPTER 8
IN THIS CHAPTER
Example: Configuring Node-Link Protection for IS-IS Routes in a Layer 3 VPN | 324
Configuring Remote LFA Backup over LDP Tunnels in an IS-IS Network | 342
Example: Configuring Remote LFA over LDP Tunnels in IS-IS Networks | 344
IN THIS SECTION
In Junos OS Release 9.5 and later, support for IS-IS loop-free alternate routes enables IP fast-reroute
capability for IS-IS. Junos OS precomputes loop-free backup routes for all IS-IS routes. These backup
routes are preinstalled in the Packet Forwarding Engine, which performs a local repair and implements
the backup path when the link for a primary next hop for a particular route is no longer available. With
local repair, the Packet Forwarding Engine can correct a path failure before it receives recomputed paths
from the Routing Engine. Local repair reduces the amount of time needed to reroute traffic to less than
320
50 milliseconds. In contrast, global repair can take up to 800 milliseconds to compute a new route. Local
repair and global repair are thus complementary. Local repair enables traffic to continue to be routed
using a backup path until global repair is able to calculate a new route.
A loop-free path is one that does not forward traffic back through the routing device to reach a given
destination. That is, a neighbor whose shortest path to the destination traverses the routing device is
not used as a backup route to that destination. To determine loop-free alternate paths for IS-IS routes,
Junos OS runs shortest-path-first (SPF) calculations on each one-hop neighbor. You can enable support
for alternate loop-free routes on any IS-IS interface. Because it is common practice to enable LDP on an
interface for which IS-IS is already enabled, this feature also provides support for LDP label-switched
paths (LSPs).
NOTE: If you enable support for alternate loop-free routes on an interface configured for both
LDP and IS-IS, you can use the traceroute command to trace the active path to the primary next
hop.
The level of backup coverage available through IS-IS routes depends on the actual network topology and
is typically less than 100 percent for all destinations on any given routing device. You can extend backup
coverage to include RSVP LSPs.
Junos OS provides two mechanisms for route redundancy for IS-IS through alternate loop-free routes:
link protection and node-link protection. When you enable link protection or node-link protection on an
IS-IS interface, Junos OS creates a single alternate path to the primary next hop for all destination
routes that traverse a protected interface. Link protection offers per-link traffic protection. Use link
protection when you assume that only a single link might become unavailable but that the neighboring
node on the primary path would still be available through another interface.
Node-link protection establishes an alternate path through a different routing device altogether. Use
node-link protection when you assume that access to a node is lost when a link is no longer available. As
a result, Junos OS calculates a backup path that avoids the primary next-hop routing device. In Junos OS
Release 9.4 and earlier, only the RSVP protocol supports Packet Forwarding Engine local repair and fast
reroute as well as link protection and node protection.
In Figure 26 on page 321, Case 2 shows how link protection allows source Router A to switch to Link B
when the primary next hop Link A to destination Router C fails. However, if Router B fails, Link B also
fails, and the protected Link A is lost. If node-link protection is enabled, Router A is able to switch to
Link D on Router D and bypass the failed Router B altogether. As shown in Case 1, with node-link
protection enabled, Router A has a node-link protection alternate path available through Router D to
destination Router C. That means that if Router B fails, Router A can still reach Router C because the
path from Router A to Link D remains available as an alternate backup path.
321
Figure 26: Link Protection and Node-Link Protection Comparison for IS-IS Routes
The Junos OS implementation of support for loop-free alternate paths for IS-IS routes is based on the
following standards:
You can configure link protection on any interface for which IS-IS is enabled. When you enable link
protection, Junos OS creates one alternate path to the primary next hop for all destination routes that
traverse a protected interface. Link protection assumes that only a single link becomes unavailable but
that the neighboring node would still be available through another interface.
322
NOTE: You must also configure a per-packet load-balancing routing policy to ensure that the
routing protocol process installs all the next hops for a given route in the routing table.
To enable link protection, include the link-protection statement at the [edit protocols isis interface
interface-name] hierarchy level:
[edit]
protocols {
isis {
interface interface-name {
link-protection;
}
}
}
You can configure node-link protection on any interface for which IS-IS is enabled. Node-link protection
establishes an alternate path through a different routing device altogether for all destination routes that
traverse a protected interface. Node-link protection assumes that the entire routing device, or node, has
failed. Junos OS therefore calculates a backup path that avoids the primary next-hop routing device.
NOTE: You must also configure a per-packet load-balancing routing policy to ensure that the
routing protocol process installs all the next hops for a given route in the routing table.
To enable node-link protection, include the node-link-protection statement at the [edit protocols isis
interface interface-name] hierarchy level:
[edit]
protocols {
isis {
interface interface-name {
node-link-protection;
}
}
}
323
By default, all IS-IS interfaces that belong to the master instance or a specific routing instance are
eligible as backup interfaces for protected interfaces. You can specify that any IS-IS interface be
excluded from functioning as a backup interface to protected interfaces. To exclude an IS-IS interface as
a backup interface, include the no-eligible-backup statement at the [edit protocols isis interface interface-
name] hierarchy level:
[edit]
protocols {
isis {
interface interface-name {
no-eligible-backup;
}
}
}
Relying on the shortest-path-first (SPF) calculation of backup paths for one-hop neighbors might result
in less than 100 percent backup coverage for a specific network topology. You can enhance coverage of
IS-IS and LDP label-switched paths (LSPs) by configuring RSVP LSPs as backup paths. To configure a
specific RSVP LSP as a backup path, include the backup statement at the [edit protocols mpls label-switched-
path lsp-name] hierarchy level:
[edit]
protocols {
mpls {
label-switched-path lsp-name {
backup;
to ip-address;
}
}
}
When configuring an LSP, you must specify the IP address of the egress routing device with the to
statement. For detailed information about configuring LSPs and RSVP, see the Junos OS MPLS
Applications Library for Routing Devices.
324
You can issue operational mode commands that provide more details about your link-protected and
node-link-protected IS-IS routes. The following guidelines explain the type of information available from
the output of each command:
• show isis backup label-switched-path—Displays which MPLS LSPs have been designated as backup paths
and the current status of those LSPs.
• show isis backup spf results—Displays SPF calculations for each neighbor for a given destination.
Indicates whether a specific interface or node has been designated as a backup path and why. Use
the no-coverage option to display only those nodes that do not have backup coverage.
• show isis backup coverage —Displays the percentage of nodes and prefixes for each type of address
family that is protected.
• show isis interface detail—Displays the type of protection (link or node-link) applied to each protected
interface.
RELATED DOCUMENTATION
Example: Configuring Node-Link Protection for IS-IS Routes in a Layer 3 VPN | 324
IN THIS SECTION
Requirements | 325
Overview | 325
Configuration | 326
Verification | 335
Node-link protection establishes an alternate path through a different routing device. Use node-link
protection when you assume that access to a node is lost when a link is no longer available. Junos OS
calculates a backup path that avoids the primary next-hop routing device.
325
Requirements
This example requires Junos OS Release 9.5 or later.
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 326
In this example, core-facing interfaces are enabled for IS-IS Level 2, LDP, and RSVP. Node-link protection
is enabled on all the core-facing interfaces, which means that if the primary next hop for any destination
that traverses the interfaces becomes unavailable, Junos OS uses a backup link that avoids the next-hop
router altogether if necessary.
You also need to configure a routing policy that requires all traffic to use per-packet load balancing in
order to enable Packet Forwarding Engine local repair. With local repair, the Packet Forwarding Engine
can correct a path failure and implement a backup loop-free alternate route before it receives
recomputed paths from the Routing Engine.
On Device PE1, an RSVP LSP is configured as a backup path for IS-IS. Relying on the shortest-path-first
(SPF) calculation of backup paths for one-hop neighbors might result in less than 100 percent backup
coverage for a specific network topology. You can enhance coverage of IS-IS and LDP LSPs by
326
configuring RSVP LSPs as backup paths. To configure a specific RSVP LSP as a backup path, include the
backup statement at the [edit protocols mpls label-switched-path lsp-name] hierarchy level.
"CLI Quick Configuration" on page 326 shows the configuration for all of the devices in Figure 27 on
page 325. The section "No Link Title" on page 331 describes the steps on Device P1.
Topology
Configuration
IN THIS SECTION
Procedure | 326
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device CE1
Device PE1
Device P1
Device P2
Device P3
Device PE2
Device CE2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@P1# set fe-1/2/0 unit 0 family inet address [Link]/30
user@P1# set fe-1/2/0 unit 0 family iso
user@P1# set fe-1/2/0 unit 0 family mpls
user@P1# set fe-1/2/1 unit 0 family inet address [Link]/30
user@P1# set fe-1/2/1 unit 0 family iso
user@P1# set fe-1/2/1 unit 0 family mpls
user@P1# set fe-1/2/2 unit 0 family inet address [Link]/30
user@P1# set fe-1/2/2 unit 0 family iso
user@P1# set fe-1/2/2 unit 0 family mpls
user@P1# set lo0 unit 0 family inet address [Link]/32
user@P1# set lo0 unit 0 family iso address 49.0001.0010.0000.0303.00
[edit protocols]
user@P1# set isis interface all level 2 metric 10
332
3. Enable IS-IS node-link protection, which also automatically extends backup coverage to all LDP LSPs.
[edit protocols]
user@P1# set isis interface all node-link-protection
4. (Optional) Configure a 1000-millisecond time interval between the detection of a topology change
and when the SPF algorithm runs.
[edit protocols]
user@P1# set isis spf-options delay 1000
5. Configure MPLS to use both RSVP and LDP label-switched paths (LSPs).
[edit protocols]
user@P1# set mpls interface all
user@P1# set mpls interface fxp0.0 disable
user@P1# set rsvp interface all
user@P1# set rsvp interface fxp0.0 disable
user@P1# set ldp interface all
user@P1# set ldp interface fxp0.0 disable
6. (Optional) For LDP, enable forwarding equivalence class (FEC) deaggregation, which results in faster
global convergence.
[edit protocols]
user@P1# set ldp deaggregate
7. To enable Packet Forwarding Engine local repair, establish a policy that forces the routing protocol
process to install all the next hops for a given route.
333
This policy ensures that the backup route is installed in the forwarding table used by the Packet
Forwarding Engine to forward traffic to a given destination.
8. Apply the policy to the forwarding table of the local router with the export statement.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, show
policy-options, and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
address [Link]/30;
}
family iso;
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.0010.0000.0303.00;
}
}
}
level 2 metric 0;
}
}
ldp {
deaggregate;
interface all;
interface fxp0.0 {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Checking Which Next-Hop Neighbors Are Designated as Backup Paths to the Destination Node | 336
Purpose
Display information about the MPLS label-switched-paths (LSPs) designated as the backup route for the
IS-IS routes.
Action
On Device PE1, from operational mode, enter the show isis backup label-switched-path command.
Meaning
Checking Which Next-Hop Neighbors Are Designated as Backup Paths to the Destination Node
Purpose
Action
On Device PE1, from operational mode, enter the show isis backup spf results command.
Root: P2, Root Metric: 20, Metric: 10, Root Preference: 0x0
track-item: P2.00-00
Eligible, Backup next-hop: fe-1/2/1.0, LSP, to-p2
Root: P3, Root Metric: 10, Metric: 10, Root Preference: 0x0
Not eligible, Reason: Interface is already covered
Root: P1, Root Metric: 10, Metric: 20, Root Preference: 0x0
track-item: P3.00-00
Not eligible, Reason: Interface is already covered
P2.00
Primary next-hop: fe-1/2/1.0, IPV4, P1, SNPA: [Link]
Root: P2, Root Metric: 20, Metric: 0, Root Preference: 0x0
track-item: P2.00-00
Not eligible, Reason: Primary next-hop link fate sharing
Root: P1, Root Metric: 10, Metric: 10, Root Preference: 0x0
Not eligible, Reason: Primary next-hop link fate sharing
Root: P3, Root Metric: 10, Metric: 20, Root Preference: 0x0
track-item: P1.00-00
Not eligible, Reason: Primary next-hop node fate sharing
P3.00
Primary next-hop: fe-1/2/2.0, IPV4, P3, SNPA: [Link]
Root: P2, Root Metric: 20, Metric: 20, Root Preference: 0x0
track-item: P3.00-00
track-item: P2.00-00
track-item: P1.00-00
Eligible, Backup next-hop: fe-1/2/1.0, LSP, to-p2
Root: P3, Root Metric: 10, Metric: 0, Root Preference: 0x0
Not eligible, Reason: Interface is already covered
Root: P1, Root Metric: 10, Metric: 10, Root Preference: 0x0
track-item: P3.00-00
Not eligible, Reason: Interface is already covered
P1.00
Primary next-hop: fe-1/2/1.0, IPV4, P1, SNPA: [Link]
Root: P2, Root Metric: 20, Metric: 10, Root Preference: 0x0
track-item: P2.00-00
track-item: P1.00-00
Not eligible, Reason: Primary next-hop link fate sharing
Root: P1, Root Metric: 10, Metric: 0, Root Preference: 0x0
Not eligible, Reason: Primary next-hop link fate sharing
Root: P3, Root Metric: 10, Metric: 10, Root Preference: 0x0
track-item: P1.00-00
Eligible, Backup next-hop: fe-1/2/2.0, IPV4, P3, SNPA: [Link]
4 nodes
338
Meaning
The output indicates whether a specific interface or node has been designated as a backup path and
why.
Purpose
Action
From operational mode, enter the show isis backup coverage command.
Meaning
The level of backup coverage available through IS-IS routes depends on the actual network topology and
is typically less than 100 percent for all destinations on any given routing device. You can extend backup
coverage to include RSVP LSPs.
Purpose
On all nodes in the IS-IS domain, check the type and percentage of protected nodes and prefixes.
Action
From operational mode, enter the show isis interface detail command.
Meaning
RELATED DOCUMENTATION
In an IS-IS network, a loop free alternate (LFA) is a directly connected neighbor that provides
precomputed backup paths to the destinations reachable through the protected link on the point of
local repair (PLR). A remote LFA is not directly connected to the PLR and provides precomputed backup
paths using dynamically created LDP tunnels to the remote LFA node. The PLR uses this remote LFA
backup path when the primary link fails. The primary goal of the remote LFA is to increase backup
coverage for the IS-IS networks and provide protection for Layer 1 metro-rings.
However, LFAs do not provide full backup coverage for IS-IS based Metro Ethernet networks, which are
often deployed in a ring topology. To overcome this limitation, the Resource Reservation Protocol
Resource Reservation Protocol - Traffic Engineering (RSVP-TE) backup tunnels are commonly used to
extend the backup coverage. However, a majority of network providers have already implemented LDP
as the MPLS tunnel setup protocol and do not want to implement the RSVP-TE protocol merely for
backup coverage. LDP automatically brings up transport tunnels to all potential destinations in an IS-IS
network and hence is the preferred protocol. The existing LDP implemented for the MPLS tunnel setup
can be reused for protection of IS-IS networks and subsequent LDP destinations, thereby eliminating
the need for RSVP-TE backup tunnels for backup coverage.
To calculate the remote LFA backup path, the IS-IS protocol determines the remote LFA node in the
following manner:
341
1. Calculates the reverse shortest path first from the adjacent router across the protected link of a PLR.
The reverse shortest path first uses the incoming link metric instead of the outgoing link metric to
reach a neighboring node.
The result is a set of links and nodes, which is the shortest path from each leaf node to the root node.
2. Calculates the shortest path first (SPF) on the remaining adjacent routers to find the list of nodes that
can be reached without traversing the link being protected.
The result is another set of links and nodes on the shortest path from the root node to all leaf nodes.
3. Determines the common nodes from the above results, These nodes are the remote LFAs.
IS-IS listens to the advertised labels for the LDP routes. For each advertised LDP route, IS-IS checks
whether it contains an LDP supplied next hop. If the corresponding IS-IS route does have a backup next
hop, then IS-IS runs the backup policy and adds an additional tracking route with the corresponding LDP
label-switched path next hop as the backup next hop. If there are no backup next hops, LDP builds a
dynamic LDP tunnel to the remote LFA, and LDP establishes a targeted adjacency between the remote
LFA node and the PLR node. This backup route has two LDP labels. The top label is the IS-IS route,
which denotes the backup path from the PLR to the remote LFA route. The bottom label is the LDP
MPLS label-switched path that denotes the route for reaching the ultimate destination from the remote
LFA. When an LDP session goes down and a remote tunnel is no longer available, IS-IS changes all the
routes that have been using this backup LDP tunnel.
NOTE: Currently, Junos OS supports only IPv4 transport LSPs. If you need to reuse IPv4
transport LSPs for IPv6 IGP networks, add an IPv6 explicit NULL label to the label stack of the
tracking route. The system automatically converts the IPv4 LSP to an IPv6 LSP.
LDP might be vulnerable by an automatically targeted adjacency, and these threats can be mitigated
using all or some of the following mechanisms:
• Remote LFAs that are several hops away use extended hello messages to indicate willingness to
establish a targeted LDP session. A remote LFA can reduce the threat of spoofed extended hellos by
filtering them and accepting only those originating at sources permitted by an access or filter list.
• There is a need to authenticate with TCP-MD5 all auto-targeted LDP sessions in the given IGP/LDP
domain using apply groups or LDP global-level authentication.
• As an added security measure, the repair or remote tunnel endpoint routers should be assigned from
a set of addresses that are not reachable from outside of the routing domain.
342
RELATED DOCUMENTATION
auto-targeted-session
Configuring Remote LFA Backup over LDP Tunnels in an IS-IS Network | 342
Example: Configuring Remote LFA over LDP Tunnels in IS-IS Networks | 344
Starting in Junos OS Release 14.2, the primary goal of a remote loop-free alternate (LFA) is to increase
backup coverage for IS-IS routes and provide protection especially for Layer 1 metro-rings. The existing
LDP implemented for the MPLS tunnel setup can be reused for protection of IS-IS networks and
subsequent LDP destinations. The IS-IS protocol creates a dynamic LDP tunnel to reach the remote LFA
node from the point of local repair (PLR). The PLR uses this remote LFA backup path when the primary
link fails.
Before you configure remote LFA over LDP tunnels in an IS-IS network, you must do the following:
Configure a loopback interface because an LDP targeted adjacency cannot be formed without a
loopback interface. LDP targeted adjacency is essential for determining remote LFA backup paths.
2. Make sure that remote LFA allows asymmetric remote neighbor discovery—that is, it must send
periodic targeted hello messages to the router that initiated the remote neighbor for LDP auto-
targeted adjacency.
1. Enable remote LFA backup to determine the backup next hop using dynamic LDP label-switched
path.
2. (Optional) Include the node-link-degradation statement even if node-link protection is not configured
for a given interface.
343
The device uses the configured link protection LFA as the backup for the primary link.
3. Enable automatically targeted LDP sessions using the loopback addresses between the PLR and the
remote LFA node.
4. Specify a time interval for which the targeted LDP sessions are kept up even after the remote LFA
node goes down.
5. Specify the maximum number of automatically targeted LDP sessions to optimize memory usage.
Release Description
14.2 Starting in Junos OS Release 14.2, the primary goal of a remote loop-free alternate (LFA) is to increase
backup coverage for IS-IS routes and provide protection especially for Layer 1 metro-rings.
344
RELATED DOCUMENTATION
auto-targeted-session
Example: Configuring Remote LFA over LDP Tunnels in IS-IS Networks | 344
Understanding Remote LFA over LDP Tunnels in IS-IS Networks | 340
IN THIS SECTION
Requirements | 344
Overview | 345
Configuration | 347
Verification | 356
This example shows how to configure remote LFA for LDP tunnels in an IS-IS network for extending
backup protection.
Requirements
This example uses the following hardware and software components:
• Six MX Series routers with IS-IS protocol and LDP enabled on the connected interfaces.
Before you configure remote LFA over LDP tunnels in IS-IS networks, make sure of the following:
• LDP is enabled on the loopback interface. Without a loopback interface, LDP targeted adjacency
cannot be formed. Remote LFA cannot be configured without LDP targeted adjacency.
• Remote LFA must allow asymmetric remote neighbor discovery, that is, it must send periodic
targeted hellos to the router that initiated the remote neighbor for LDP auto targeted adjacency.
• Link protection or node-link protection must be configured on the point of local repair (PLR).
345
Overview
IN THIS SECTION
Topology | 345
The example includes six routers in a ring topology. Configure the IS-IS protocol on the directly
connected interfaces. Device R1 is the PLR. This example verifies that Junos OS updates the routing
table of Device R1 with LDP next-hop routes as the backup route.
Topology
Figure 28: Configuring Remote LFA over LDP Tunnels in IS-IS Networks
347
Configuration
IN THIS SECTION
Results | 354
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Router R1
Router R2
Router R3
Router R4
Router R5
Router R6
Configuring Device R1
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
NOTE: Repeat this procedure except Step 4 and 5 for every Juniper Networks router in the IGP
domain, modifying the appropriate interface names, addresses, and any other parameters.
[edit interfaces]
user@R1# set ge-1/0/0 unit 1 description R1->R2
user@R1# set ge-1/0/0 unit 1 family inet address [Link]/24
user@R1# set ge-1/0/0 unit 1 family iso
user@R1# set ge-1/0/0 unit 1 family mpls
user@R1# set ge-1/5/0 unit 12 description R1->R6
user@R1# set ge-1/5/0 unit 12 family inet address [Link]/24
352
3. Configure the IS-IS interface for level 2 and the metric value on all the interfaces, and enable link
protection on the protected interface.
4. Enable IS-IS node-link protection, which also automatically extends backup coverage to all LDP
label-switched paths.
5. Enable remote LFA backup which calculates the backup next hop using dynamic LDP label-
switched path.
(Optional) When you include the node link degradation statement even if node protection LFA is
not configured for a given destination, the device uses the configured link protection LFA as the
backup for the primary link.
6. Configure MPLS to use LDP label-switched paths for all interfaces on the device.
[edit protocols]
user@R1# set mpls interface all
user@R1# set mpls interface fxp0.0 disable
user@R1# set ldp interface all
user@R1# set ldp interface fxp0.0 disable
7. Specify a time interval for which the targeted LDP sessions are kept up when the remote LFA goes
down, and specify a maximum number of automatically, targeted LDP sessions to optimize the use
of memory.
8. (Optional) Enable forwarding equivalence class (FEC) deaggregation, which results in faster global
convergence.
9. To enable Packet Forwarding Engine local repair, establish a policy that forces the routing protocol
process to install all the next hops for a given route.
This policy ensures that the backup route is installed in the forwarding table used by the Packet
Forwarding Engine to forward traffic to a given destination.
[edit policy-options]
user@R1# set policy-options policy-statement ecmp term 1
user@R1# set then load-balance per-packet
10. Apply the policy to the forwarding table of the local router with the export statement.
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols,
show policy-options, and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
interface fxp0.0 {
disable;
}
}
isis {
spf-options delay 1000;
backup-spf-options {
remote-backup-calculation;
node-link-degradation;
}
interface ge-1/0/0.1;
interface ge-1/5/0.12; {
link-protection;
}
interface all {
node-link-protection;
level 2 metric 10;
}
interface fxp0.0 {
disable;
}
interface lo0.12 {
passive;
}
}
ldp {
auto-targeted-session {
teardown-delay 60;
maximum-sessions 20;
}
deaggregate;
interface all;
interface fxp0.0 {
disable;
}
}
then {
load-balance per-packet;
}
}
}
}
If you are done configuring the device, enter commit from the configuration mode.
Verification
IN THIS SECTION
Purpose
Action
On Device R1, from operational mode, run the show route command to display the routes in the routing
table.
Meaning
The output shows all the routes in the routing table of Device R1.
Purpose
Display all the LDP backup routes in the IS-IS routing table of Device R1.
Action
On Device R1, from operational mode, run the show isis route command to display the routes in the IS-
IS routing table.
Meaning
The output shows all the LDP backup routes in the IS-IS routing table of Device R1.
359
Purpose
Action
From operational mode, enter the show ldp session auto-targeted detail command.
Meaning
Purpose
Display the remote LFA next hop determined for a given destination.
Action
From operational mode, enter the show isis backup spf results command.
Meaning
The output indicates whether a specific interface or node has been designated as a remote backup path
and why.
RELATED DOCUMENTATION
Equal-cost multipath (ECMP) is a popular technique to load balance traffic across multiple paths. With
ECMP enabled, If paths to a remote destination have the same cost, then traffic is distributed between
them in equal proportion. Equal distribution of traffic across multiple paths is not desirable if the local
links to adjacent routers towards the ultimate destination have unequal capacity. Typically the traffic
distribution between two links is equal and the link utilization is the same. However, if the capacity of an
aggregated Ethernet bundle changes, equal traffic distribution results in imbalance of link utilization. In
this case, weighted ECMP enables load balancing of traffic between equal cost paths in proportion to
the capacity of the local links.
Taking as an example, there are two devices interconnected with an aggregated Ethernet bundle with
four links and a single link of the same cost. Under normal conditions, both the AE bundle and the single
link is utilized evenly to distribute traffic. However, if a link in the AE bundle goes down, there is a
change in the link capacity that results in uneven link utilization. Weighted ECMP load balances traffic
between the equal cost paths in proportion to the capacity of the local links. In this case, traffic is
distributed in 30/40 proportion between the AE bundle and the single link.
NOTE: This feature provides weighted ECMP routing to IS-IS neighbors that are one hop away.
Junos OS supports this feature on immediately connected routers only and does not support
weighted ECMP on multihop routers, that is, on routers that are more than one hop away.
To enable weighted ECMP traffic distribution on directly connected IS-IS neighbors, configure weighted
one-hop statement at the [edit protocols isis spf-options multipath] hierarchy level. Weighted ECMP is
currently supported for the IS-IS protocol only.
362
NOTE: You must configure per-packet load balancing policy before configuring this feature.
WECMP will be operational if per-packet load balancing policy is in place,
Starting in Junos OS Release 17.1R1, weighted ECMP feature also supports IS-IS SPRING based next
hop addresses.
NOTE: For logical interfaces, you must configure interface bandwidth to distribute traffic across
equal cost multipaths based on the underlying physical interface bandwidth. If you do not
configure the logical bandwidth for each logical interface, Junos OS assumes that the entire
bandwidth of the physical interface is available for each logical interface.
17.1R1 Starting in Junos OS Release 17.1R1, weighted ECMP feature also supports IS-IS SPRING based next
hop addresses.
RELATED DOCUMENTATION
multipath
Example: Weighted ECMP Traffic Distribution on One-Hop IS-IS Neighbors | 362
IN THIS SECTION
Requirements | 363
Overview | 363
Configuration | 364
Verification | 379
363
This example shows how to configure weighted equal cost multipath (ECMP) routing for distributing
traffic to IS-IS neighbors that are one hop away to ensure optimal load balancing. Weighted ECMP
routing distributes traffic unequally over multiple paths for better load balancing. However, weighted
ECMP routing is more efficient than equal distribution of traffic during per-packet load balancing.
Requirements
This example uses the following hardware and software components:
Before you configure weighted ECMP in an IS-IS network, make sure you :
2. Configure IS-IS.
Overview
IN THIS SECTION
Topology | 363
Beginning with Junos OS Release 15.1F4, you can configure the IS-IS protocol to get the logical
interface bandwidth information associated with the gateways of equal-cost multipath (ECMP) next hop.
During per-packet load balancing, traffic distribution is based on the available bandwidth to facilitate
optimal bandwidth usage for incoming traffic on an ECMP path of one hop distance. The Packet
Forwarding Engine does not distribute the traffic equally, but considers the balance values and
distributes the traffic according to the bandwidth availability. However, this feature is not available for
ECMP paths that are more than one hop away.
Topology
In Figure 29 on page 364, three aggregated Ethernet bundles ae0, ae1, and ae2 with four links each, are
configured between Router R0 and Router R1. The Packet Forwarding Engine distributes traffic
unequally between the three Ethernet bundles when one of the links goes down, depending on the
available bandwidth.
364
Figure 29: Weighted ECMP Traffic Distribution on One Hop IS-IS Neighbors
Configuration
IN THIS SECTION
Results | 373
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Router R0
Router R1
Configuring Router R0
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
NOTE: Repeat this procedure for Router R1 after modifying the appropriate interface names,
addresses, and other parameters.
1. Specify the maximum number of weighted ECMP interfaces that you want to configure. Enable
graceful switchover and specify the number of aggregated Ethernet interfaces to be created.
[edit chassis]
user@R0# set maximum-ecmp 64
user@R0# set redundancy graceful-switchover
user@R0# set aggregated-devices ethernet device-count 64
2. Configure the interfaces with multiple links to the same destination for load balancing traffic.
[edit interfaces]
user@R0# set ge-1/1/4 description "LinkID: R0R1-1"
369
3. Configure logical interfaces with appropriate bandwidth based on the underlying physical
bandwidth.
NOTE: For logical interfaces, configure interface bandwidth to distribute traffic across
equal-cost multipaths based on the underlying operational interface bandwidth. When you
configure multiple logical interfaces on a single interface, configure appropriate logical
bandwidth for each logical interface to see the desired traffic distribution over the logical
interfaces.
4. Configure IP addresses on the interfaces with either IPv4 or IPv6 addresses, as per your network
requirements.
[edit interfaces]
user@R0# set ge-0/0/1 unit 0 family inet address [Link]/24
user@R0# set ge-0/0/1 unit 0 family iso
user@R0# set ge-0/1/7 unit 0 family inet address [Link]/24
user@R0# set ge-0/1/7 unit 0 family iso
5. Configure the four member links of the ae0 aggregated Ethernet bundle.
[edit interfaces]
user@R0# set ge-1/1/4 gigether-options 802.3ad ae0
user@R0# set ge-0/0/0 gigether-options 802.3ad ae0
user@R0# set ge-1/2/1 gigether-options 802.3ad ae0
user@R0# set ge-1/2/2 gigether-options 802.3ad ae0
371
6. Configure the four member links of the ae1 aggregated Ethernet bundle.
[edit interfaces]
user@R0# set ge-1/2/0 gigether-options 802.3ad ae1
user@R0# set ge-1/2/3 gigether-options 802.3ad ae1
user@R0# set ge-0/1/6 gigether-options 802.3ad ae1
user@R0# set ge-1/1/6 gigether-options 802.3ad ae1
7. Configure the four member links of the ae2 aggregated Ethernet bundle.
[edit interfaces]
user@R0# set ge-1/1/5 gigether-options 802.3ad ae2
user@R0# set ge-1/3/3 gigether-options 802.3ad ae2
user@R0# set ge-1/2/8 gigether-options 802.3ad ae2
user@R0# set ge-0/1/8 gigether-options 802.3ad ae2
8. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae0 aggregated Ethernet
interface.
[edit interfaces]
user@R0# set ae0 aggregated-ether-options minimum-links 1
user@R0# set ae0 aggregated-ether-options lacp active
user@R0# set ae0 unit 0 family inet address [Link]/24
user@R0# set ae0 unit 0 family iso
9. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae1 aggregated Ethernet
interface.
[edit interfaces]
user@R0# set ae1 aggregated-ether-options minimum-links 1
user@R0# set ae1 aggregated-ether-options lacp active
user@R0# set ae1 unit 0 family inet address [Link]/24
user@R0# set ae1 unit 0 family iso
372
10. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae2 aggregated Ethernet
interface.
[edit interfaces]
user@R0# set ae2 aggregated-ether-options minimum-links 2
user@R0# set ae2 aggregated-ether-options lacp active
user@R0# set ae2 unit 0 family inet address [Link]/24
user@R0# set ae2 unit 0 family iso
11. Configure the loopback interface address and iso family address.
[edit interfaces]
user@R0# set lo0 unit 0 family inet address [Link]/32
user@R0# set lo0 unit 0 family iso address 49.0001.0102.5516.3127.00
[edit protocols]
user@R0# set isis interface ge-0/0/1.0
user@R0# set isis interface ge-0/1/7.0 level 1 metric 20
user@R0# set isis interface ge-0/1/7.0 level 2 metric 20
user@R0# set isis interface ae0.0 node-link-protection
user@R0# set isis interface ae1.0
user@R0# set isis interface ae2.0
user@R0# set isis interface lo0.0
[edit policy-options]
user@R0# set policy-statement pplb then load-balance per-packet
[edit routing-options]
user@R0# set forwarding-table
user@R0# set export pplb
373
15. Enable weighted ECMP traffic distribution on directly connected IS-IS neighbors.
Results
From configuration mode, confirm your configuration by entering the show chassis, show interfaces, show
protocols, show policy-options, and show routing-options commands. If the output does not display the
intended configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@R0# show chassis
maximum-ecmp 64;
redundancy graceful-switchover;
aggregated-devices ethernet device-count 64;
[edit]
user@R0# show interfaces
ge-0/0/0 {
description "LinkID: R0R1-2";
gigether-options {
802.3ad ae0;
}
}
ge-0/0/1 {
description "LinkID: R0RT0";
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/1/6 {
description "LinkID: R0R1-7";
gigether-options {
802.3ad ae1;
}
374
}
ge-0/1/7 {
description "LinkID: R0R1-13";
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ge-0/1/8 {
description "LinkID: R0R1-12";
gigether-options {
802.3ad ae2;
}
}
ge-1/1/4 {
description "LinkID: R0R1-1";
gigether-options {
802.3ad ae0;
}
}
ge-1/1/5 {
description "LinkID: R0R1-9";
gigether-options {
802.3ad ae2;
}
}
ge-1/1/6 {
description "LinkID: R0R1-8";
gigether-options {
802.3ad ae1;
}
}
ge-1/2/0 {
description "LinkID: R0R1-5";
gigether-options {
802.3ad ae1;
}
}
ge-1/2/1 {
description "LinkID: R0R1-3";
gigether-options {
375
802.3ad ae0;
}
}
ge-1/2/2 {
description "LinkID: R0R1-4";
gigether-options {
802.3ad ae0;
}
}
ge-1/2/3 {
description "LinkID: R0R1-6";
gigether-options {
802.3ad ae1;
}
}
ge-1/2/8 {
description "LinkID: R0R1-11";
gigether-options {
802.3ad ae2;
}
}
ge-1/3/3 {
description "LinkID: R0R1-10";
gigether-options {
802.3ad ae2;
}
}
ae0 {
aggregated-ether-options {
minimum-links 1;
lacp {
active;
}
}
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
ae1 {
vlan-tagging;
376
aggregated-ether-options {
minimum-links 3;
lacp {
active;
}
}
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
unit 1 {
bandwidth 1g;
vlan-id 1;
family inet {
address [Link]/24;
}
family iso;
}
unit 2 {
bandwidth 1g;
vlan-id 2;
family inet {
address [Link]/24;
}
family iso;
}
unit 3 {
bandwidth 1g;
vlan-id 3;
family inet {
address [Link]/24;
}
family iso;
}
unit 4 {
bandwidth 1g;
vlan-id 4;
family inet {
address [Link]/24;
}
family iso;
377
}
unit 5 {
bandwidth 1g;
vlan-id 5;
family inet {
address [Link]/24;
}
family iso;
}
unit 6 {
bandwidth 1g;
vlan-id 6;
family inet {
address [Link]/24;
}
family iso;
}
unit 7 {
bandwidth 1g;
vlan-id 7;
family inet {
address [Link]/24;
}
family iso;
}
unit 8 {
bandwidth 1g;
vlan-id 8;
family inet {
address [Link]/24;
}
family iso;
}
unit 9 {
bandwidth 1g;
vlan-id 9;
family inet {
address [Link]/24;
}
family iso;
}
unit 10 {
bandwidth 1g;
378
vlan-id 10;
family inet {
address [Link]/24;
}
family iso;
}
}
ae2 {
aggregated-ether-options {
minimum-links 2;
lacp {
active;
}
}
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.0102.5516.3127.00;
}
}
}
[edit]
user@R0# show protocols
isis {
spf-options {
multi-path {
weighted {
one-hop;
}
}
379
}
}
[edit]
user@R01# show policy-options
policy-statement pplb {
then {
load-balance per-packet;
}
}
[edit]
user@R0# show routing-options
forwarding-table {
export pplb;
}
Verification
IN THIS SECTION
Purpose
To verify that traffic is equally distributed over the aggregated Ethernet bundles.
380
Action
From operational mode, enter the show route [Link] extensive command.
Meaning
IS-IS distributes traffic equally when the three aggregated Ethernet bundles have the same bandwidth
available.
Purpose
To verify that IS-IS distributes traffic unevenly when one of the aggregated link is down during per-
packet load balancing depending on the available bandwidth.
385
Action
Disable one of the links on the ae0 bundle so that the available bandwidth is 3g on ae0 and 4g on
ae1and ae2. From operational mode, enter the show route [Link] extensive command.
Meaning
IS-IS infers that the ae0 bundle has only 3g of bandwidth available. Therefore, modifies per-packet load
balancing according to the available bandwidth. As per the output, only 27 percent of the bandwidth is
available on ae0 because one of the aggregated Ethernet links is down. Thus IS-IS distributes traffic
unequally depending on the available bandwidth.
Purpose
To verify that IS-IS distributes traffic unevenly on logical interfaces based on the configured logical
bandwidth.
390
Action
Release Description
15.1F4 Beginning with Junos OS Release 15.1F4, you can configure the IS-IS protocol to get the logical
interface bandwidth information associated with the gateways of equal-cost multipath (ECMP) next hop.
RELATED DOCUMENTATION
multipath
Understanding Weighted ECMP Traffic Distribution on One-Hop IS-IS Neighbors | 361
392
CHAPTER 9
IN THIS CHAPTER
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
Example: Configuring Anycast and Prefix Segments in SPRING for IS-IS to Increase Network Speed | 467
Configuring Segment Routing Global Blocks Label Ranges in SPRING for IS-IS Protocol | 489
Configuring Anycast and Prefix segments in SPRING for IS-IS Protocol | 491
Understanding Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 510
Configuring Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 515
Example: Configuring Topology Independent Loop-Free Alternate with Segment Routing for IS-IS | 517
IN THIS SECTION
To help provide traffic engineering and MPLS with information about network topology and loading,
extensions have been added to the Junos OS implementation of IS-IS. Specifically, IS-IS supports new
type, length, and value (TLV) tuples that specify link attributes. These TLVs are included in the IS-IS link-
state PDUs. The link-attribute information is used to populate the traffic engineering database, which is
used by the Constrained Shortest Path First (CSPF) algorithm to compute the paths that MPLS label-
switched paths (LSPs) take. This path information is used by RSVP to set up LSPs and reserve bandwidth
for them.
NOTE: Whenever possible, use IS-IS interior gateway protocol (IGP) shortcuts instead of traffic
engineering shortcuts.
The traffic engineering extensions are defined in RFC 5305, IS-IS Extensions for Traffic Engineering.
In IS-IS, you can configure shortcuts, which allow IS-IS to use an LSP as the next hop as if it were a
subinterface from the ingress routing device to the egress routing device. The address specified in the to
statement at the [edit protocols mpls label-switched-path lsp-path-name] hierarchy level must match the
router ID of the egress routing device for the LSP to function as a direct link to the egress routing device
and to be used as input to IS-IS SPF calculations. When used in this way, LSPs are no different than
Asynchronous Transfer Mode (ATM) and Frame Relay virtual circuits (VCs), except that LSPs carry only
IPv4 traffic.
394
RELATED DOCUMENTATION
Link-state protocols, such as OSPF and IS-IS, use the shortest-path-first (SPF) algorithm to compute the
shortest-path tree to all nodes in the network. The results of such computations can be represented by
the destination node, next-hop address, and output interface, where the output interface is a physical
interface. Label-switched paths (LSPs) can be used to augment the SPF algorithm.
IGP typically performs two independent computations. The first is performed without considering any
LSP. The result of the computation is stored in the inet.0 table. This step is no different from traditional
SPF computations and is always performed even if IGP shortcut is disabled.
The second computation is performed considering only LSPs as a logical interface. Each LSP’s egress
router is considered. The list of destinations whose shortest path traverses the egress router
(established during the first computation) is placed in the inet.3 routing table. These destinations are
given the egress router of the LSP as a next hop, enabling BGP on the local router to use these LSPs to
access BGP next hops beyond the egress router. Normally, BGP can use only LSPs that terminate at the
BGP next hop.
As an illustration, begin with a typical SPF tree (see Figure 30 on page 394).
If an LSP connects Router A to Router D and if IGP shortcuts are enabled on Router A, you might have
the SPF tree shown in Figure 31 on page 395.
395
When computing the shortest path to reach Router D, Router A has two choices:
Router A decides between the two choices by comparing the IGP metrics for path A–B–D with the LSP
metrics for LSP A–D. If the IGP metric is lower, path A–B–D is chosen (Figure 30 on page 394). This
path A–B–D is valid only when node D is not the tail-end of the LSP. If node D is the tail end of the LSP,
even if the LSP metric is higher or both IGP and LSP metrics are equal, LSP A–D is used (Figure 31 on
page 395).
Note that Router E is reachable through LSP A–D and Router F will take the IGP path.
RELATED DOCUMENTATION
traffic-engineering
OSPF Support for Traffic Engineering
IGP Shortcuts and Routing Tables
IN THIS SECTION
Requirements | 396
Overview | 396
Configuration | 398
396
Verification | 408
This example shows how to configure IS-IS so that it uses label-switched paths as shortcuts.
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
MPLS traffic engineering maps certain data flows to established label-switched paths (LSPs) rather than
to data links calculated by the interior gateway protocol (IGP) to be part of the best (shortest) path.
Fundamental to this function is the determination of what traffic is to be mapped to an LSP. Traffic is
mapped to an LSP at the tunnel's ingress label switching router (LSR) by designating the egress LSR as
the next-hop router for certain destination prefixes.
It is important to understand that the LSP does not constitute an entire route to a destination. Rather,
the LSP is a next-hop segment of the route. Therefore, packets can only be mapped to an LSP if the
egress LSR is considered to be a feasible next-hop candidate during the route resolution process.
In this example, Device C has an external BGP (EBGP) peer session with Device G in autonomous
system (AS) 2. In order to enable its internal BGP (IBGP) peers to access subnets in AS 2, Device C runs
IS-IS passively on its interface connecting to Device G. IS-IS has information about the external subnets
and enters routes to these subnets in the inet.0 routing table. BGP, when resolving the next-hop
addresses of AS-external routes, uses the IGP route.
TIP: An alternative to passively running IS-IS on the interface would be to use a next-hop self
policy.
Device A has an LSP to Device C. The path is configured to always go through Device E, rather than
going through Device B.
Interior gateway protocol (IGP) shortcuts, also called traffic-engineering shortcuts, provide a tool by
which the link-state IGP (OSPF or IS-IS) in an AS can consider an LSP in its shortest-path-first (SPF)
calculations. If using passive external interfaces, the IGP views an LSP as a single data link toward the
destinations beyond the LSP egress device.
When you use traffic-engineering bgp (which is the default) and IGP shortcuts, the traffic engineering
solution is used for BGP AS-external route resolution only. However, traffic to AS-internal destinations
398
can also be mapped to LSPs. To accomplish this, traffic-engineering bgp-igp is enabled. Thus, RSVP installs
the MPLS prefixes into the inet.0 table rather than the inet.3 table. As a result, the MPLS LSPs are
installed in the forwarding table.
This approach finds practical application whenever heavy traffic is routed to specific destinations within
an AS, such as server farms.
An important point about IGP shortcuts, whether used alone or in conjunction with traffic-engineering
BGP-IGP, is that IGP adjacencies are never formed across the LSPs. The IGP sees the LSP as a single data
link, but does not view the egress router as a potential peer and does not forward hello messages across
the LSP. Also, RSVP messages are never forwarded over LSPs, preventing the possibility of an LSP being
inadvertently built within another LSP.
"CLI Quick Configuration" on page 398 shows the configuration for all of the devices in Figure 32 on
page 397. The section "No Link Title" on page 403 describes the steps on Device A.
Configuration
IN THIS SECTION
Procedure | 398
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device A
Device B
Device C
Device D
Device E
Device F
Device G
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@A# set fe-1/2/0 unit 0 family inet address [Link]/30
user@A# set fe-1/2/0 unit 0 family iso
user@A# set fe-1/2/0 unit 0 family mpls
user@A# set fe-1/2/1 unit 0 family inet address [Link]/30
user@A# set fe-1/2/1 unit 0 family iso
user@A# set fe-1/2/1 unit 0 family mpls
user@A# set lo0 unit 0 family inet address [Link]/32
user@A# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
404
A single LSP, named test_path, is configured from Device A to Device C. The LSP explicit route object
(ERO) is specified to use a strict hop through Device E, so that the LSP takes a different path from the
OSPF shortest path of A–B–C. The LSP is signaled using RSVP, but no CSPF is running.
When IGP shortcuts are also enabled, the IGP can use the LSP in its calculations. The results of the
calculations are entered into the inet.0 table.
8. Configure IS-IS to use MPLS LSPs as next hops for the IPv4 address family.
It is only necessary to enable IGP shortcuts on the ingress router because that is the router
performing the shortest-path-first (SPF) calculations.
It is important to understand how IGP shortcuts affect the protocol and routing table relationship.
The IGP performs SPF calculations to subnets downstream of LSP egress points, but the results of
these calculations are entered into the inet.3 table only. At the same time, the IGP performs its
traditional SPF calculations and enters the results of these calculations into the inet.0 table. The
result is that although the IGP is making entries into the inet.3 table, BGP is still the only protocol
with visibility into that table for the purposes of route resolution. Therefore, forwarding to AS-
internal destinations still uses the inet.0 IGP routes, and the LSPs are only used for BGP next-hop
resolution. If you want the LSPs to be used for IGP next-hop resolution, you must configure traffic-
engineering bgp-igp.
[edit routing-options]
user@A# set router-id [Link]
user@A# set autonomous-system 1
406
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, and
show routing-options commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
}
mpls {
traffic-engineering bgp-igp;
label-switched-path test_path {
to [Link];
no-cspf;
primary through_E;
}
path through_E {
[Link] strict;
}
interface fe-1/2/0.0;
interface fe-1/2/1.0;
}
bgp {
group int {
type internal;
local-address [Link];
neighbor [Link];
neighbor [Link];
neighbor [Link];
neighbor [Link];
}
}
isis {
traffic-engineering {
family inet {
shortcuts;
}
}
interface fe-1/2/0.0 {
level 1 disable;
}
interface fe-1/2/1.0 {
level 1 disable;
}
408
interface lo0.0;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that the MPLS LSP is used as the next hop in the expected routes.
Action
49.0002.0192.0168.0001/72
*[Direct/0] 4d [Link]
> via lo0.0
Meaning
IS-IS chooses the LSP as the shortest path to destinations downstream of the LSP egress device.
Additionally, because the IGP uses the LSP to reach external subnet [Link]/30, BGP also uses the
LSP in its routes to [Link] and [Link].
If next-hop self were used at Device C, BGP would still choose the LSP over the IGP path.
Purpose
Action
From operational mode, enter the show rsvp session brief command.
Meaning
On all four routing devices, the ingress and egress IP addresses of the LSP are shown. The path is shown
as an ingress path at Device A, and packets forwarded on the LSP are assigned a label of 299776. At
Device E, the LSP is transit, and packets arriving with a label of 299776 are given an outgoing label of
299808. The labels have significance only between neighboring label-switched routers (LSRs). Device F
swaps incoming label 299808 for outgoing label 3. Device C, the egress, pops label 3 and routes the
received packet by standard IP longest-match route lookup.
413
Purpose
Check the paths used for IGP and BGP routes when traffic-engineering bgp-igp is used and when traffic-
engineering bgp (the default) is used.
Action
This removes traffic-engineering bgp-igp from the configuration because only one MPLS traffic
engineering setting can be configured in each routing instance.
2. Use the show route forwarding-table command to check the paths when traffic-engineering bgp (the
default) is configured.
3. Use the traceroute command to check the paths when traffic-engineering bgp (the default) is
configured.
This removes traffic-engineering bgp from the configuration because only one MPLS traffic
engineering setting can be configured in each routing instance.
5. Use the show route forwarding-table command to check the paths when traffic-engineering bgp-igp is
configured.
6. Use the traceroute command to check the paths when traffic-engineering bgp-igp is configured.
Meaning
When traffic-engineering bgp is configured, the first trace is to a destination belonging to the BGP-learned
[Link]/16 prefix, and follows the LSP. The second trace is to the IS-IS-learned [Link] route
(Device C’s loopback interface address), and follows the IS-IS route. These results correspond to what
we observe in the forwarding table. The forwarding table is built based on routes in inet.0 only. BGP can
look into inet.3 and select an LSP as the best path to the next hop of a BGP prefix, and can add a route
into inet.0 utilizing that LSP. An entry is then made to the forwarding table from the inet.0 route. No
other protocol, by default, can consult inet.3, and the inet.3 routes are not entered into inet.0.
Therefore, the forwarding entry for [Link] is created from the only route to that destination in
inet.0: the IS-IS route.
When traffic-engineering bgp-igp is configured, the first trace to [Link] continues to follow the LSP. The
second trace to [Link] also follows the LSP. These results correspond to what we observe in the
forwarding table, which shows that the LSP is used for IGP next-hop resolution.
RELATED DOCUMENTATION
A forwarding adjacency is a traffic engineering label-switched path (LSP) that is configured between two
nodes and that is used by the interior gateway protocol (IGP) to forward traffic.
When you set up MPLS traffic-engineering tunnels between sites, by default the IGP does not consider
those tunnels for traffic forwarding. Forwarding adjacencies allow you to treat a traffic engineering LSP
tunnel as a link in an IGP topology. The link is used in the shortest-path-first (SPF) algorithm and is
advertised to the IGP peers. A forwarding adjacency can be created between routing devices regardless
of their location in the network.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 416
Overview | 417
Configuration | 417
Verification | 425
This example shows how to advertise label-switched paths (LSPs) into IS-IS as point-to-point links
(sometimes referred to as forwarding adjacencies) so that the LSPs can be used in SPF calculations. The
advertisement contains a local address (the from address of the LSP), a remote address (the to address of
the LSP), and a metric.
Requirements
No special configuration beyond device initialization is required before configuring this example.
417
Overview
Figure 33 on page 417 shows the topology used in this example.
The example shows how to configure the LSP from Device E to Device D and then advertise this path
through IS-IS. The configuration is verified by performing a traceroute operation from Device A to
Device D and making sure that the LSP is used for forwarding.
"CLI Quick Configuration" on page 418 shows the configuration for all of the devices in Figure 33 on
page 417. The section "No Link Title" on page 421 describes the steps on Device E.
Configuration
IN THIS SECTION
Procedure | 418
418
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device A
Device B
Device C
Device D
Device E
Device F
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@E# set fe-1/2/0 unit 0 family inet address [Link]/30
user@E# set fe-1/2/0 unit 0 family iso
user@E# set fe-1/2/0 unit 0 family mpls
user@E# set fe-1/2/1 unit 0 family inet address [Link]/30
user@E# set fe-1/2/1 unit 0 family iso
user@E# set fe-1/2/1 unit 0 family mpls
user@E# set lo0 unit 0 family inet address [Link]/32
user@E# set lo0 unit 0 family iso address 49.0002.0192.0168.0005.00
422
Make sure that you configure the reverse LSP on the endpoint, in this case on Device D.
5. Configure internal BGP (IBGP) peering among the devices that must run MPLS.
IS-IS Level 1 and Level 2 are enabled when you include the interface at [edit protocols isis]. By
disabling Level 1, you are in effect creating a Level 2 IS-IS interface.
Make sure that you advertise the LSP on the endpoint, in this case on Device D.
[edit routing-options]
user@E# set router-id [Link]
user@E# set autonomous-system 1
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, and
show routing-options commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0002.0192.0168.0005.00;
}
}
}
}
interface lo0.0;
label-switched-path E-D {
level 2 metric 15;
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that another neighbor is listed and is reachable over the LSP. The interface field indicates the
name of the LSP.
Action
From operational mode, enter the show isis adjacency detail command.
F
Interface: fe-1/2/1.0, Level: 2, State: Up, Expires in 7 secs
Priority: 64, Up/Down transitions: 1, Last transition: 1d [Link] ago
Circuit type: 2, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: F.02, IP addresses: [Link]
A
Interface: fe-1/2/0.0, Level: 2, State: Up, Expires in 20 secs
Priority: 64, Up/Down transitions: 1, Last transition: 1d [Link] ago
Circuit type: 2, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: E.02, IP addresses: [Link]
Meaning
As expected, Interface: E-D is shown in the output, and the state is shown as One-way.
Purpose
Action
From operational mode, enter the show isis spf brief command.
E.00 0
1 nodes
Meaning
Purpose
Verify that a traceroute operation from Device A to Device D uses the LSP.
Action
Meaning
RELATED DOCUMENTATION
All OSPF and IS-IS interfaces have a cost, which is a routing metric that is used in the link-state
calculation. Routes with lower total path metrics are preferred over those with higher path metrics.
Unlike OSPF, in which the link metric is calculated automatically based on bandwidth, there is no
automatic calculation for IS-IS. All IS-IS links use a metric of 10 by default.
Normally, IS-IS metrics can have values up to 63. The total cost to a destination is the sum of the metrics
on all outgoing interfaces along a particular path from the source to the destination. By default, the total
path metric is limited to 1023. This metric value is insufficient for large networks and provides too little
granularity for traffic engineering, especially with high-bandwidth links. A wider range of metrics is also
required if route leaking is used.
IS-IS generates two type, length, and value (TLV) tuples, one for an IS-IS adjacency and the second for an
IP prefix. To allow IS-IS to support traffic engineering, a second pair of TLVs has been added to IS-IS, one
for IP prefixes and the second for IS-IS adjacency and traffic engineering information. With these TLVs,
IS-IS metrics can have values up to 16,777,215 (224 – 1).
By default, Junos OS supports the sending and receiving of wide metrics. Junos OS allows a maximum
metric value of 63 and generates both pairs of TLVs. To configure IS-IS to generate only the new pair of
TLVs and thus to allow the wider range of metric values, you must include the wide-metrics-only statement
in the IS-IS configuration.
The combination of wide-metrics-only and traffic-engineering disable configuration options under IS-IS
protocols suppresses the combination of the TLVs 2, 22, 128, 134, and 135 IS-IS routing information for
that level. That means that the local server will not send the TLVs but accepts them when received. The
effect of the configuration options on TLVs 2, 22, 128, 134, and 135 will be individually evaluated.
See [Understanding the effects of ISIS wide-metric-only and traffic-engineering disable configuration
options in Junos.]
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 429
Overview | 429
Configuration | 429
Verification | 431
This example shows how to allow a wide range of metric values on IS-IS interfaces.
Requirements
Before you begin, configure IS-IS on both routers. See "Example: Configuring IS-IS" on page 14 for
information about the sample IS-IS configuration.
Overview
Figure 34 on page 429 shows the topology used in this example.
Configuration
IN THIS SECTION
Procedure | 430
430
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
Results
From configuration mode, confirm your configuration by entering the show protocols command. If the
output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis interface extensive command.
lt-1/2/0.1
Index: 68, State: 0x6, Circuit id: 0x1, Circuit type: 3
LSP interval: 100 ms, CSNP interval: 10 s, Loose Hello padding
Adjacency advertisement: Advertise
Level 1
Adjacencies: 1, Priority: 64, Metric: 100
Hello Interval: 9.000 s, Hold Time: 27 s
Designated Router: tp5-R2.02 (not us)
Level 2
Adjacencies: 1, Priority: 64, Metric: 100
Hello Interval: 9.000 s, Hold Time: 27 s
Designated Router: tp5-R2.02 (not us)
Meaning
The output shows that the metric is set to 100, as expected, at both Level 1 and Level 2.
RELATED DOCUMENTATION
IN THIS SECTION
Synchronization between the Label Distribution Protocol (LDP) and the underlying interior gateway
protocol (IGP) ensures that LDP is fully established before the IGP path is used for forwarding traffic.
433
LDP is often used to establish MPLS label-switched paths (LSPs) throughout a complete network domain
using an IGP such as OSPF or IS-IS. In such a network, all links in the domain have IGP adjacencies as
well as LDP adjacencies. LDP establishes the LSPs on the shortest path to a destination as determined
by IP forwarding.
If the IGP and LDP are not synchronized, packet loss can occur. This issue is especially significant for
applications such as a core network that does not employ BGP. Another example is an MPLS VPN where
each provider edge (PE) router depends on the availability of a complete MPLS forwarding path to the
other PE devices for each VPN that it serves. This means that along the shortest path between the PE
routers, each link must have an operational hello adjacency and an operational LDP session, and MPLS
label bindings must have been exchanged over each session.
LDP establishes MPLS LSPs along the shortest path to the destination as determined by IP forwarding.
In a Layer 2 VPN or Layer 3 VPN scenario, if the LSP is not yet formed between the PE devices, services
depending on MPLS forwarding fail. When LDP has not completed exchanging label bindings with an
IGP next hop, traffic is discarded if the head end of the LSP forwards traffic because the LSP is assumed
to be in place.
There are various reasons that the LSP fails to come up, as follows:
• When an LDP hello adjacency or an LDP session with a peer is lost due to some error while the IGP
still points to that peer. IP forwarding of traffic continues on the IGP link associated with the LDP
peer rather than being shifted to another IGP link with which LDP is synchronized.
• When a new IGP link comes up, causing the next hop to a certain destination to change in the IGP’s
shortest-path-first (SPF) calculations. Although the IGP might be up on the new link, LDP might not
have completed label exchange for all the routes. This condition might be transient or due to a
misconfiguration.
LDP-IGP synchronization discourages a link from being used while the LDP sessions are not fully
established. When LDP is not fully operational on a link, the IGP advertises a maximum cost for the link,
thus preventing traffic from flowing through it. The IGP does not advertise the original cost or metric for
the link until either LDP label exchange has been completed with the peer on the link or a configured
amount of time has passed (the holddown period).
When synchronization is configured, LDP notifies the IGP to advertise the maximum cost for the link
when one of the following triggering events takes place:
If the holddown timer has been configured, the timer starts when the triggering event takes place. When
the timer expires, LDP notifies the IGP to resume advertising the original cost.
If the holddown timer has not been configured, the IGP waits (endlessly) until bindings have been
received from downstream routers for all the forwarding equivalence classes (FECs) that have a next hop
on that interface. Only after that takes place does LDP notify the IGP to bring down the cost on the
interface.
LDP-IGP synchronization is supported only for directly connected peers and links with the platform label
space.
LDP-IGP synchronization does not take place while the IGP is in the process of a graceful restart. When
the graceful restart completes, links for which synchronization has been configured are advertised with
maximum metrics in either of the following cases:
• LDP is not yet operational on the link and no holddown timer has been configured.
During LDP graceful restart, no synchronization operations are done. If the LDP graceful restart is
terminated, LDP notifies the IGPs to advertise the links with the maximum metric.
LDP-IGP synchronization does not take place on LAN interfaces unless the IGP has a point-to-point
connection over the LAN configured on the interface. The reason for this is that multiple LDP peers
might be connected on such an interface unless a point-to-point connection to a single peer has been
configured. Because synchronization raises the cost on the interface high enough to prevent traffic from
being forwarded to that link, if multiple peers are connected, the cost is raised on all the peers even
though LDP might be unsynchronized with only one of the peers. Consequently, traffic is diverted away
from all the peers, an undesirable situation.
On IGP passive interfaces, the link cost is not raised when LDP-IGP synchronization is configured and a
triggering event occurs.
When traffic engineering is configured for an IGP, LDP-IGP synchronization does not affect the traffic
engineering metric advertised for the link, regardless of whether the traffic-engineering (TE) metric is
explicitly configured or the default value.
435
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 435
Overview | 435
Configuration | 436
Verification | 439
This example shows how to enable synchronization between IS-IS and LDP.
Requirements
Before you begin, configure IS-IS and LDP. For an example, see Example: Configuring a Layer 3 VPN
with Route Reflection and AS Override.
Overview
LDP distributes labels in non-traffic-engineered applications. Labels are distributed along the best path
determined by IS-IS. If the synchronization between LDP and IS-IS is lost, the label-switched path (LSP)
goes down. Therefore, LDP and IS-IS synchronization is beneficial. When LDP synchronization is
configured and when LDP is not fully operational on a given link (a session is not established and labels
are not exchanged), IS-IS advertises the link with the maximum cost metric. The link is not preferred but
remains in the network topology.
LDP synchronization is supported only on point-to-point interfaces and LAN interfaces configured as
point-to-point interfaces under IS-IS. LDP synchronization is not supported during graceful restart.
To advertise the maximum cost metric until LDP is operational for LDP synchronization, include the ldp-
synchronization statement:
ldp-synchronization {
disable;
436
hold-time seconds;
}
To disable synchronization, include the disable statement. To configure the time period to advertise the
maximum cost metric for a link that is not fully operational, include the hold-time statement.
NOTE: When an interface has been in the holddown state for more than 3 minutes, a system log
message with a warning level is sent. This message appears in both the messages file and the
trace file.
Configuration
IN THIS SECTION
Procedure | 437
437
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device P1
NOTE: We keep the configuration short to better focus on the LDP synchronization feature by
using the interface all method of enabling protocols on our interfaces. Its a best practice in
production networks to explicitly list each interface under each protocol to avoid inadvertently
enabling a protocol on an unintended interface.
When using the interface all method its a good practice to be consistent in its usage for all
protocols, as we show here. In this case it helps ensure you don't inadvertently omit protocol
support on an interface that requires the protocol for proper operation.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
Results
From configuration mode, confirm your configuration by entering the show protocols command. If the
output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
interface fxp0.0 {
disable;
}
}
isis {
interface all {
ldp-synchronization;
point-to-point;
}
interface fxp0.0 {
disable;
}
}
ldp {
interface all;
interface fxp0.0 {
disable;
}
}
If you are done configuring the device, enter commit from configuration mode. Repeat the configuration
on Device R2.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis interface extensive command.
Meaning
RELATED DOCUMENTATION
IS-IS is a Layer 2 protocol that uses the Ethernet logical link control (LLC) encapsulation format for
exchanging information. IS-IS Layer 2 mapping ensures that forwarding next-hop resolution is topology-
driven rather than traffic-driven, which results in minimal traffic loss while activating an Ethernet link.
Typically, IS-IS installs Layer 3 routes that point to Layer 2 next hops into the forwarding table. Junos OS
uses a Layer 3 anchor address notation to standardize the description of a next hop. IS-IS uses Address
Resolution Protocol (ARP) to map these IPv4 Layer 3 next-hop anchors to a Layer 2 Media Access
Control (MAC) address and installs the Layer 2 MAC addresses in the forwarding table for an Ethernet
network. For IPv6 routes, Junos OS uses neighbor discovery to resolve IPv6 Layer 3 next-hop anchors.
The Routing Engine installs a Layer 3 prefix along with the set of Layer 3 next-hop anchors for a route in
the forwarding table. This method of referencing a Layer 2 next hop using its Layer 3 anchor address in
IS-IS networks has the following undesired ramifications:
• When a new route is added to the kernel, its forwarding next hop might not have been resolved yet.
• As next-hop resolution is traffic-driven and always reactive, there is a nonzero traffic loss when you
activate an Ethernet link.
Enabling Layer 2 mapping helps to overcome these undesired ramifications in IS-IS networks. IS-IS LAN
and point-to point Hellos supply all relevant Layer 2 and Layer 3 binding address information, which the
device at the receiving end can use to populate the ARP or neighbor discovery cache of the kernel even
before the route installation time. When Layer 2 mapping is enabled, IS-IS installs ARP or neighbor
discovery next-hop entries into the forwarding table. Because this provides Layer 2 next-hop bindings
ahead of time, IS-IS networks do not experience traffic loss while bringing up a link. Each entry gets
enqueued as a semi-static ARP or neighbor discovery entry for simplifying garbage collection by a
crashed or restarting routing protocol process (rpd). Therefore, each entry gets refreshed periodically.
The advantages of address resolution using IS-IS Hello messages are as follows:
442
• Less Layer 2 resolution on core links because IS-IS already carries this information.
CAUTION: The ARP and neighbor discovery methods of address resolution are
susceptible to MAC address spoofing attacks.
NOTE: Junos OS supports all Ethernet based interface types. However, non-Ethernet based
interface types are not supported. Unnumbered IPv4 and IPv6 addresses are not supported as
currently IS-IS does not have the capability to generate the IP address neighbor TLVs #132 and
#232 from the loopback interface and advertise them on the unnumbered interface.
RELATED DOCUMENTATION
layer2-map
Example: Configuring Layer 2 Mapping for IS-IS | 442
IN THIS SECTION
Requirements | 443
Overview | 443
Configuration | 444
Verification | 450
This example shows how to configure Layer 2 mapping for IS-IS, that is, mapping a Layer 2 MAC address
to the IPv4 address of the forwarding next hop. Layer 2 mapping minimizes traffic loss, provides better
security, and reduces Layer 2 resolution processing on core links while activating an Ethernet link.
443
Requirements
This example uses the following hardware and software components:
Overview
IN THIS SECTION
Topology | 443
Layer 2 mapping ensures that the forwarding next-hop resolution is topology-driven rather than traffic-
driven. IS-IS LAN and point-to-point Hellos supply all relevant Layer 2 and Layer 3 binding address
information for address resolution. The device at the receiving end can use the information to populate
the ARP or neighbor discovery cache of the kernel even before the route installation time. When Layer 2
mapping is enabled, IS-IS installs ARP or neighbor discovery next-hop entries into the forwarding table.
Because this provides Layer 2 next-hop bindings ahead of time, IS-IS networks do not experience traffic
loss while bringing up a link.
Topology
In Figure 36 on page 443, Router R1 is connected to Router R2. Layer 2 mapping is enabled on Router
R1. Router R2 receives the Layer 2 information from Router R1 and updates the forwarding table.
Configuration
IN THIS SECTION
Procedure | 446
Results | 447
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Router R1
Router R2
Procedure
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
NOTE: Repeat this procedure for Router 2 after modifying the appropriate interface names,
addresses, and other parameters.
[edit interfaces]
user@R1# set ge-1/0/3 description R0–>R1_1
user@R1# set ge-1/0/3 unit 0 family inet address [Link]/24
user@R1# set ge-1/0/3 unit 0 family iso
user@R1# set ge-1/0/3 unit 0 family inet6 address [Link]/120
user@R1# set ge-1/0/3 unit 0 family mpls
user@R1# set ge-1/0/7 description R0–>RT0
user@R1# set ge-1/0/7 unit 0 family inet address [Link]/30
user@R1# set ge-1/0/7 unit 0 family iso
user@R1# set ge-1/0/7 unit 0 family inet6 address [Link]/120
user@R1# set ge-1/0/7 unit 0 family mpls
user@R1# set ge-1/1/1 description R0–>R1_2
user@R1# set ge-1/1/1 unit 0 family inet address [Link]/30
user@R1# set ge-1/1/1 unit 0 family iso
user@R1# set ge-1/1/1 unit 0 family inet6 address [Link]/120
user@R1# set ge-1/1/1 unit 0 family mpls
[edit interfaces]
user@R1# set lo0 unit 0 family inet address [Link]/32
447
[edit routing-options]
user@R1# set router-id [Link]
4. Configure RSVP, MPLS, and LDP on all interfaces excluding the management interface.
[edit protocols]
user@R1# set rsvp interface all
user@R1# set rsvp interface lo0.0
user@R1# set rsvp interface fxp0.0 disable
user@R1# set mpls interface all
user@R1# set mpls interface lo0.0
user@R1# set mpls interface fxp0.0 disable
user@R1# set ldp interface all
user@R1# set ldp interface fxp0.0 disable
user@R1# set ldp interface lo0.0
[edit protocols]
user@R1# set isis layer2-map
[edit protocols]
user@R1# set isis interface ge-1/0/3.0 level 2 disable
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, and
show routing-options commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
[edit]
user@R1# show interfaces
ge-1/0/3 {
description 0–>R1_1;
448
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6 {
address [Link]/120;
}
family mpls;
}
}
ge-1/0/7 {
description R0–>RT0;
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/120;
}
family mpls;
}
}
ge-1/1/1 {
description R0–>R1_2;
unit 0 {
family inet {
address [Link]/30;
}
family iso;
family inet6 {
address [Link]/120;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
449
}
}
[edit]
user@R1# show protocols
rsvp {
interface all;
interface lo0.0;
interface fxp0.0 {
disable;
}
}
mpls {
interface all;
interface lo0.0;
interface fxp0.0 {
disable;
}
}
isis {
layer2-map;
}
ldp {
interface all;
interface fxp0.0 {
disable;
}
interface lo0.0;
}
[edit]
user@R1# show routing-options
router-id [Link];
user@R1# commit
450
Verification
IN THIS SECTION
Purpose
Verify that the expected adjacencies have formed between Router R1 and Router R2.
Action
From operational mode, run the show isis adjacency command on Router R1.
Meaning
The interface ge-1/0/3.0 on Router R1 has established adjacency with Router R2.
Purpose
Action
From operational mode, run the show isis interface detail command on Router R1.
Meaning
Purpose
Display Layer 3 next hop and the mapped data link address in the kernel for the routing instances.
Action
From operational mode, run the show isis layer2-map command on Router R1.
IPv4 records: 1
IPv6 records: 1
452
Meaning
The Layer 2 MAC address of the next hop is mapped to the IP address of interface ge-1/0/3.0 in the
kernel.
RELATED DOCUMENTATION
layer2-map
Layer 2 Mapping for IS-IS | 441
show isis layer2-map
Source packet routing or segment routing is a control-plane architecture that enables an ingress router
to steer a packet through a specific set of nodes and links in the network without relying on the
intermediate nodes in the network to determine the actual path it should take. In this context, the
term ’source’ means ’the point at which the explicit route is imposed’. Starting with Junos OS Release
17.2R1, segment routing for IS-IS and OSPFv2 is supported on QFX5100 and QFX10000 switches.
Starting in Junos OS Release 20.3R1, Segment routing support for OSPF and IS-IS protocols to provide
basic functionality with Source Packet Routing in Networking (SPRING).
Essentially segment routing engages IGPs like IS-IS and OSPF for advertising two types of network
segments or tunnels:
• First, a strict forwarded single-hop tunnel that carries packets over a specific link between two
nodes, irrespective of the link cost, referred to as adjacency segments.
• Second, a multihop tunnel using shortest path links between two specific nodes, referred to as node
segments.
Ingress routers can steer a packet through a desired set of nodes and links by pre-appending the packet
with an appropriate combination of tunnels.
Segment routing leverages the source routing paradigm. A node steers a packet through an ordered list
of instructions, called segments. A segment can represent any instruction, topological or service-based.
A segment can have a local semantic to a segment routing node or to a global node within a segment
routing domain. Segment routing enforces a flow through any topological path and service chain while
maintaining per-flow state only at the ingress node to the segment routing domain. Segment routing can
be directly applied to the MPLS architecture with no change on the forwarding plane. A segment is
encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to
453
process is on the top of the stack. Upon completion of a segment, the related label is popped from the
stack. Segment routing can be applied to the IPv6 architecture, with a new type of routing extension
header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered
list of IPv6 addresses in the routing extension header. The segment to process is indicated by a pointer
in the routing extension header. Upon completion of a segment, the pointer is incremented.
Traffic engineering shortcuts are enabled for labeled IS-IS segment routes, when you configure shortcuts
at the following hierarchy levels:
When source packet routing is deployed in the network, the data center, backbone, and peering devices,
switch MPLS packets with a label stack built by the source of the traffic; for example, data center
servers. In Junos OS Release 17.4R1, the source-routed traffic co-exists with traffic taking RSVP
signaled paths, and source routing is implemented as regular label switching through mpls.0 table using
the label operations – pop, swap (to the same label value), and swap-push (for interface protection). In all
the cases, traffic can be load balanced between multiple Layer 3 interfaces, or within an aggregate
interface. Starting in Junos OS Release 17.4R1, the traffic statistics in a segment routing network can be
recorded in an OpenConfig compliant format for the Layer 3 interfaces. The statistics is recorded for the
Source Packet Routing in Networking (SPRING) traffic only, excluding RSVP and LDP-signaled traffic,
and the family MPLS statistics per interface is accounted for separately. The SR statistics also includes
SPRING traffic statistics per link aggregation group (LAG) member, and per segment identifier (SID). To
enable recording of segment routing statistics, include sensor-based-stats statement at the [edit protocol
isis source-packet-routing] hierarchy level.
Prior to Junos OS Release 19.1R1, sensors were available for collecting segment routing statistics for
MPLS transit traffic only, which is MPLS-to-MPLS in nature. Starting in Junos OS Release 19.1R1, on MX
Series routers with MPC and MIC interfaces and PTX Series routers, additional sensors are introduced to
collect segment routing statistics for MPLS ingress traffic, which is IP-to-MPLS in nature. With this
feature, you can enable sensors for label IS-IS segment routing traffic only, and stream the statistics to a
gRPC client.
You can enable the segment routing statistics for MPLS ingress traffic using the egress option under the
per-sid configuration statement. The resource name for the per-sid egress functionality is:
/junos/services/segment-routing/sid/egress/usage/
You can view the label IS-IS route association with the sensors using the show isis spring sensor info
command output. This command does not display counter values of the actual sensors.
The segment routing statistics records are exported to a server. You can view segment routing statistics
data from the following the OpenConfig paths:
454
• /mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-
ISIS-[Link]']/state/counters[name='oc-xxx']/out-pkts
• /mpls/signalling-protocols/segment-routing/aggregate-sid-counters/aggregate-sid-counter[ip-addr='L-
ISIS-[Link]']/state/counters[name='oc-xxx']/out-pkts
NOTE:
• Graceful Routing Engine switchover (GRES) is not supported for segment routing statistics.
Nonstop active routing (NSR) is not supported for label IS-IS. During a Routing Engine
switchover, a new sensor is created in the new primary Routing Engine, replacing the sensor
created by the previous primary Routing Engine. As a result, at the time of a Routing Engine
switchover, the segment routing statistics counter start from zero.
In case of graceful restart, the existing sensor is deleted and a new sensor is created during
IS-IS initialization. The segment routing statistics counter restarts from zero.
• In-service software upgrade (ISSU) and nonstop software upgrade (NSSU) are not supported.
In such cases, the segment routing statistics counter is restarted.
• Zero-statistics segment routing data is suppresses and does not get streamed to the gRPC
clients.
Release Description
20.3R1 Starting in Junos OS Release 20.3R1, Segment routing support for OSPF and IS-IS protocols to provide
basic functionality with Source Packet Routing in Networking (SPRING).
19.1R1 Starting in Junos OS Release 19.1R1, on MX Series routers with MPC and MIC interfaces and PTX Series
routers, additional sensors are introduced to collect segment routing statistics for MPLS ingress traffic,
which is IP-to-MPLS in nature. With this feature, you can enable sensors for label IS-IS segment routing
traffic only, and stream the statistics to a gRPC client.
17.4R1 Starting in Junos OS Release 17.4R1, the traffic statistics in a segment routing network can be recorded
in an OpenConfig compliant format for the Layer 3 interfaces.
455
RELATED DOCUMENTATION
IN THIS SECTION
Segment routing (SR) or Source Packet Routing in Networking (SPRING) is a control-plane architecture
that enables an ingress router to steer a packet through a specific set of nodes and links without relying
on the intermediate nodes in the network to determine the actual path it should take. SPRING enables
automation of a network by using a software-defined network (SDN) controller for traffic steering and
traffic engineering in a WAN packet network. To steer packets through the specified set of nodes and
links, the ingress router prepends packets with segments that contain an appropriate combination of
tunnels. Each segment is associated with an identifier, which is referred to as the segment identifier
(SID). An ordered list of segments is encoded as a stack of labels. Every node in the segment routing
domain is allocated labels based on the availability of the dynamic label range. A segment routing global
block (SRGB) is the range of label values reserved for segment routing.
Starting in Junos OS Release 17.2R1, you can define the SRGB for the IS-IS protocol, and provide prefix
anycast segments in addition to node segments to prefixes that are advertised by the IS-IS protocol
through policy configuration. Junos OS also extends support to SPRING anycast segments and
configurable adjacency segment indexes for the IS-IS protocol.
• With the support for anycast prefix segments on Junos OS, you can configure multiple routers to
advertise the same prefix with the same SID, which facilitates load balancing.
• Configuring the adjacency hold time helps retain segments for a specified period of time after a link
flaps and ensures faster convergence after a link fails.
• Configuring the SRGB label range ensures that the labels are more predictable across segment
routing domain.
A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels.
Every node in the segment routing domain is allocated labels by the node label manager based on the
index range configured for source packet routing. These labels are allocated to the node segment based
on the availability of the dynamic label range managed by node label manager. An SRGB is the range of
label values used in segment routing. You can configure an available SRGB label range for the IS-IS and
OSPF protocols so that the labels are predictable across segment routing domains. Ensure that the
configured SRGB labels are not used by any other application.
A node steers a packet to its destination through an ordered list of instructions, called segments.
Essentially, segment routing engages interior gateway protocols (IGPs) such as IS-IS and OSPF to
advertise two types of network segments:
457
• Adjacency segments—A strict forwarded single-hop tunnel that carries packets over a specific link
between two nodes, irrespective of the link cost.
• Prefix segments—A multihop tunnel that uses equal cost multi-hop aware shortest path links to reach
a prefix. The prefix SID supports both IPv4 and IPv6 prefixes. A node segment is a special case of
prefix segment that uses shortest path links between two specific nodes. An anycast segment is also
a type of prefix segment that identifies a set of routers to advertise the same prefix with the same
SID value.
The IS-IS protocol creates adjacency segments per adjacency, level, and address family (one each for
IPv4 and IPv6). An MPLS label is allocated for each adjacency segment that gets created. These labels
are allocated after the adjacency status of the segment changes to the up state. Starting in Junos OS
Release 17.2R1, you can configure a hold time to ensure that IS-IS does not release the segments
immediately after a link flaps or goes down, but retains them for the configured hold time duration. The
default hold time for adjacency segments in IS-IS protocol is 300 seconds.
The OSPF protocol creates adjacency segments per adjacency. To ensure adjacency segments are
retained during adjacency or link flaps, the adjacency segments are not released immediately during the
link down. The default hold time for adjacency segments in OSPF protocol is 180 seconds.
Currently, Junos OS enables you to configure a SPRING node SID for IPv4 and IPv6 address families for
each routing instance. This node SID is attached to an IPv4 and IPv6 router ID if the router ID is
configured on the loopback interface. Otherwise, the lowest IP address assigned to the loopback
interface is chosen as the node SID. Configuring a node SID through policy allows you to choose the
loopback address that gets the node SID. If the node SID configuration exists and a policy is defined for
node SID selection for the same prefix, then the policy configuration takes precedence.
Starting in Junos OS Release 17.2R1, you can designate prefix segment indexes to prefix SIDs, both
anycast and node SIDs, that are advertised in IS-IS through policy configuration. Remote routers use this
index to consolidate prefixes into respective SRGBs and to derive the segment identifier and forward the
traffic destined for a specific prefix. After the prefix segment indexes are provisioned, the devices
running Junos OS advertise them in one or more of the following IS-IS TLV types by using a new Prefix-
SID Sub-TLV (type 3):
Starting in Junos OS Release 19.1, you can similarly designate prefix segment indexes to prefix SIDs,
both anycast and node SIDs, that are advertised in OSPF through policy configuration. Remote routers
use this index to consolidate prefixes into respective SRGBs and to derive the segment identifier and
forward the traffic destined for a specific prefix.
Anycast Segments
An IGP anycast segment is an IGP prefix segment that identifies a set of routers. An anycast segment
enforces forwarding based on the equal-cost multipath-aware shortest-path toward the closest node of
the anycast set. Within an anycast group, all the routers advertise the same prefix with the same SID
value, which facilitates load balancing.
Release Description
17.2R1 Starting in Junos OS Release 17.2R1, you can define the SRGB for the IS-IS protocol, and provide prefix
anycast segments in addition to node segments to prefixes that are advertised by the IS-IS protocol
through policy configuration. Junos OS also extends support to SPRING anycast segments and
configurable adjacency segment indexes for the IS-IS protocol.
17.2R1 Starting in Junos OS Release 17.2R1, you can configure a hold time to ensure that IS-IS does not release
the segments immediately after a link flaps or goes down, but retains them for the configured hold time
duration.
RELATED DOCUMENTATION
Configuring Anycast and Prefix segments in SPRING for IS-IS Protocol | 491
Configuring Segment Routing Global Blocks Label Ranges in SPRING for IS-IS Protocol | 489
Example: Configuring SRGB in Segment Routing for IS-IS | 459
prefix-segment
srgb
traffic-engineering
459
IN THIS SECTION
Requirements | 459
Overview | 460
Configuration | 460
Verification | 465
This example shows how to define the segment routing label block (SRGB) label range for segment
packet routing in networking (SPRING) or segment routing (SR) for the IS-IS protocol. This configuration
ensures that the labels are more predictable across the segment routing domain with a beneficial impact
on network speed.
NOTE: Our content testing team has validated and updated this example.
Requirements
This example uses the following hardware and software components:
Before you configure the SRGB label range for segment routing in the IS-IS domain, be sure you
configured the routing and signaling protocols.
460
Overview
IN THIS SECTION
Topology | 460
Currently, Junos OS allows you to configure only node segment indices. The value of the start label
depends on the dynamic label available in the system. Because there is no predictability of the dynamic
label range being allocated to the SRGB, Junos OS allows you to configure the SRGB label range used by
segment routing. The labels in the SRGB range are used for segment routing in the IS-IS domain. This
means the labels advertised are more predictable and deterministic across the segment routing domain.
Topology
Configuration
IN THIS SECTION
Results | 464
461
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
R1
R2
Configuring Device R1
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
NOTE: Repeat this procedure for device R2 after modifying the appropriate interface names,
addresses, and other parameters.
1. Configure enhanced-ip mode on the MX Series because the SRGB functionality is supported on
routers with MPCs and MIC interfaces only. A system reboot is required after you commit this
configuration.
[edit chassis]
user@R1# set network-services enhanced-ip
[edit interfaces]
user@R1# set ge-0/0/0 unit 0 family inet address [Link]/30
user@R1# set ge-0/0/0 unit 0 family iso
user@R1# set ge-0/0/0 unit 0 family inet6 address [Link]/128
user@R1# set ge-0/0/0 unit 0 family mpls
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0004.0192.0168.0001.00
user@R1# set lo0 unit 0 family inet6 address [Link]/128
463
3. Configure the MPLS protocol on the interface. For segment routing to work, you can configure any of
the statements under the [edit protocols mpls] hierarchy. For example, abstract-hop, class-of-service,
label-range, optimize-switchover-delay, et cetra.
[edit protocols]
user@R1# set mpls interface ge-0/0/0.0
NOTE:
• Ensure that the MPLS label for a binding segment ID (SID) is the sum of the SRGB start
label and SID index value. In addition, SID index value must be less than or equal to the
index-range value specified in the configuration.
• Junos does not check whether the SID index is within the SRGB's range when the SID
index is assigned through an IS-IS export policy. If you configure an index that is out of
range of the configured SRGB, you won’t see any error message in the logs or while
committing the configuration. Junos OS shows a commit error only when you configure
the SID under the [edit protocols isis source-packet-routing] hierarchy level.
[edit protocols]
user@R1# set isis source-packet-routing srgb start-label 400000
user@R1# set isis source-packet-routing srgb index-range 4000
[edit protocols]
user@R1# set isis source-packet-routing node-segment ipv4-index 2001
[edit protocols]
user@R1# set isis source-packet-routing node-segment ipv6-index 3001
464
7. Disable level 1, configure the IS-IS protocol on the interface, and configure loopback interface lo0.0
as passive..
[edit protocols]
user@R1# set isis level 1 disable
user@R1# set isis interface ge-0/0/0.0
user@R1# set isis interface lo0.0 passive
Results
From configuration mode, confirm your configuration by entering the show chassis, show interfaces,
and show protocols commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
address [Link]/128;
}
}
}
Verification
Confirm that the configuration is working properly. Verifying the Configurable SRGB | 465
Purpose
Verify the configurable SRGB label range in the IS-IS overview information.
466
Action
From operational mode, run the show isis overview command to display the IS-IS overview information.
Meaning
The output displays the configured SRGB start label and the SRGB index range. The end of the SRGB
label range is the summation of the start label value and the index range. All devices in the segment
routing domain must have the same SRGB range values.
RELATED DOCUMENTATION
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
Configuring Segment Routing Global Blocks Label Ranges in SPRING for IS-IS Protocol | 489
source-packet-routing
vLab Sandbox: Segment Routing - Basic
IN THIS SECTION
Requirements | 467
Overview | 468
Configuration | 469
Verification | 484
This example shows how to configure prefix segments, segment-routing global blocks (SRGBs),
adjacency segments hold time, and explicit null flag for prefix segments in source packet routing in
networking (SPRING) or segment routing (SR).This configuration helps in simplifying the network
thereby increasing the speed of the network.
Requirements
This example uses the following hardware and software components:
468
Before you configure prefix segments in SPRING, be sure you configure routing and signaling protocols.
Overview
IN THIS SECTION
Topology | 468
In Junos OS Release 17.2 or later, you can provide prefix segment identifier (SID) and node SID to
prefixes that are advertised in IS-IS by configuring policies. Prefix segment index is the index assigned to
a specific prefix. This is used by all other remote routers in the network to index the prefix into
respective segment-routing global blocks (SRGBs) to derive the segment identifier and to forward the
traffic destined for this prefix. The prefix SID supports both IPv4 and IPv6 prefixes. An IGP anycast
segment is an IGP prefix segment that identifies a set of routers. An anycast segment or anycast SID
enforces forwarding based on the equal-cost multipath-aware shortest-path towards the closest node of
the anycast set. Within an anycast group, all the routers advertise the same prefix with the same SID
value. The IS-IS protocol creates adjacency segments per adjacency, level, and address family (one each
for IPv4 and IPv6).
Topology
Figure 1 shows SRGBs, prefix segments, and adjacency hold time configured in SPRING on routers R0 to
R7.
469
Configuration
IN THIS SECTION
Results | 481
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
NOTE: This topology demonstrates IPv4 prefixes. The same is applicable for IPv6 prefixes.
R0
R1
R2
R3
R4
R5
R6
R7
Configuring Router R4
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
NOTE: Repeat this procedure for every router in the SPRING domain, after modifying the
appropriate interface names, addresses, and any other parameters for each router.
1. Configure enhanced IP mode on the MX Series router because the SRGB functionality is supported
on routers with MPCs and MIC interfaces only. A system reboot is required after you commit this
configuration.
[edit chassis]
user@R4# set network-services enhanced-ip
[edit interfaces]
user@R4# set ge-0/0/0 vlan-tagging
user@R4# set ge-0/0/0 unit 1 vlan-id 1
user@R4# set ge-0/0/0 unit 1 family inet address [Link]/24
user@R4# set ge-0/0/0 unit 1 family iso
user@R4# set ge-0/0/0 unit 1 family mpls
user@R4# set ge-0/0/1 vlan-tagging
user@R4# set ge-0/0/1 unit 1 vlan-id 1
user@R4# set ge-0/0/1 unit 1 family inet address [Link]/24
user@R4# set ge-0/0/1 unit 1 family iso
user@R4# set ge-0/0/1 unit 1 family mpls
479
[edit routing-options]
user@R4# set router-id [Link]
[edit routing-options]
user@R4# set forwarding-table export pplb
8. Configure backup shortest-path-first options to calculate remote loop-free alternate (LFA) backup
next hops and to use SPRING routed paths for protection for the IS-IS protocol.
9. Configure adjacency segment hold time in SPRING for the IS-IS protocol.
10. Configure the start label and index range for segment routing global blocks (SRGBs) in SPRING for
the IS-IS protocol.
12. Configure the interfaces to protect from both link and node faults.
13. Disable the management interface and configure the loopback address as passive for the IS-IS
protocol.
14. Configure per packet load balancing for the routing policy.
15. Configure the route filter for the routing policy term.
16. Configure the index and node segment of the prefix segment for the routing policy term.
Results
From configuration mode, confirm your configuration by entering the show chassis, show interfaces,
show protocols, show policy-options, and show routing-options commands. If the output does not
display the intended configuration, repeat the instructions in this example to correct the configuration.
}
family iso;
family mpls ;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/24;
}
family iso {
address 49.0001.0004.0404.0400;
}
}
}
}
interface all {
node-link-protection;
}
interface fxp0.0 {
disable;
}
interface lo0.0 {
passive;
}
}
Verification
IN THIS SECTION
Verifying the Segment Routing Route Entries for the IS-IS Protocol | 486
Verifying the MPLS Segment Routing Route Entries for the IS-IS Protocol | 487
Purpose
Action
From operational mode, enter the show isis adjacency detail command.
R5
Interface: ge-0/0/0.0, Level: 2, State: Up, Expires in 25 secs
Priority: 64, Up/Down transitions: 1, Last transition: 1d [Link] ago
Circuit type: 3, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R5.02, IP addresses: [Link]
485
R0
Interface: ge-0/0/1.0, Level: 1, State: Up, Expires in 7 secs
Priority: 64, Up/Down transitions: 1, Last transition: 1d [Link] ago
Circuit type: 3, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R1.02, IP addresses: [Link]
Level 1 IPv4 Adj-SID: 18
R0
Interface: ge-0/0/1.0, Level: 2, State: Up, Expires in 8 secs
Priority: 64, Up/Down transitions: 1, Last transition: 1d [Link] ago
Circuit type: 3, Speaks: IP, IPv6, MAC address: [Link]
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
LAN id: R1.02, IP addresses: [Link]
Level 2 IPv4 Adj-SID: 19
Meaning
The output shows the IS-IS adjacency details of Router R4 with Router R0 and R5.
Purpose
Action
Maximum Areas: 3
LSP life time: 1200
Attached bit evaluation: enabled
SPF delay: 200 msec, SPF holddown: 5000 msec, SPF rapid runs: 3
IPv4 is enabled, IPv6 is enabled, SPRING based MPLS is enabled
Traffic engineering: enabled
Restart: Disabled
Helper mode: Enabled
Layer2-map: Disabled
Source Packet Routing (SPRING): Enabled
SRGB Config Range:
SRGB Start-Label : 800000, SRGB Index-Range : 40000
SRGB Block Allocation: Success
SRGB Start Index : 800000, SRGB Size : 40000, Label-Range: [ 800000, 839999 ]
Node Segments: Disabled
Level 1
Internal route preference: 15
External route preference: 160
Prefix export count: 0
Wide metrics are enabled, Narrow metrics are enabled
Source Packet Routing is enabled
Level 2
Internal route preference: 18
External route preference: 165
Prefix export count: 0
Wide metrics are enabled, Narrow metrics are enabled
Source Packet Routing is enabled
Meaning
The output displays the IS-IS overview information of the routing instance along with the SPRING
details of Router R4.
Verifying the Segment Routing Route Entries for the IS-IS Protocol
Purpose
Verify the segment routing route entries of the routing table inet.3 for the IS-IS protocol.
487
Action
From operational mode, enter the show route table inet.3 protocol isis command.
Meaning
The output shows the segment routing routes of routing table inet.3 for the IS-IS protocol.
Verifying the MPLS Segment Routing Route Entries for the IS-IS Protocol
Purpose
Verify the MPLS segment routing route entries for the IS-IS protocol.
Action
From operational mode, enter the show route table mpls.0 protocol isis command.
to table inet6.0
2(S=0) *[MPLS/0] 2d [Link], metric 1
to table mpls.0
13 *[MPLS/0] 2d [Link], metric 1
Receive
16 *[L-ISIS/14] 2d [Link], metric 0
> to [Link] via ge-0/0/0.0, Pop
16(S=0) *[L-ISIS/14] [Link], metric 0
> to [Link] via ge-0/0/0.0, Pop
17 *[L-ISIS/14] 2d [Link], metric 0
> to [Link] via ge-0/0/0.0, Pop
17(S=0) *[L-ISIS/14] [Link], metric 0
> to [Link] via ge-0/0/0.0, Pop
18 *[L-ISIS/14] 2d [Link], metric 0
> to [Link] via ge-0/0/1.0, Pop
18(S=0) *[L-ISIS/14] [Link], metric 0
> to [Link] via ge-0/0/1.0, Pop
19 *[L-ISIS/14] 2d [Link], metric 0
> to [Link] via ge-0/0/1.0, Pop
19(S=0) *[L-ISIS/14] [Link], metric 0
> to [Link] via ge-0/0/1.0, Pop
801000 *[L-ISIS/14] 2d [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 801000
> to [Link] via ge-0/0/1.0, Swap 0
801000(S=0) *[L-ISIS/14] [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 801000
> to [Link] via ge-0/0/1.0, Pop
801001 *[L-ISIS/14] 2d [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 801001
> to [Link] via ge-0/0/1.0, Swap 801001
801002 *[L-ISIS/14] 1d [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 801002
> to [Link] via ge-0/0/1.0, Swap 801002
801003 *[L-ISIS/14] 1d [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 801003
> to [Link] via ge-0/0/1.0, Swap 801003
801005 *[L-ISIS/14] 2d [Link], metric 10
to [Link] via ge-0/0/0.0, Swap 0
> to [Link] via ge-0/0/1.0, Swap 801005
801005(S=0) *[L-ISIS/14] [Link], metric 10
to [Link] via ge-0/0/0.0, Pop
> to [Link] via ge-0/0/1.0, Swap 801005
801006 *[L-ISIS/14] 2d [Link], metric 10
489
Meaning
The output shows the MPLS segment routing route entries for protocol IS-IS.
RELATED DOCUMENTATION
Configuring Anycast and Prefix segments in SPRING for IS-IS Protocol | 491
Configuring Segment Routing Global Blocks Label Ranges in SPRING for IS-IS Protocol | 489
Example: Configuring SRGB in Segment Routing for IS-IS | 459
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
prefix-segment
source-packet-routing
srgb
traffic-engineering
Segment routing (SR) or source packet routing in networking (SPRING) is a control-plane architecture
that enables an ingress router to steer a packet through a specific set of nodes and links without relying
on the intermediate nodes in the network to determine the actual path it should take. The label range
for a segment routing global block (SRGB) is the range of label values used in segment routing. You can
configure the start of the label range and the index range. The end of the label range is the summation
of the start label value and the index range.
Before you configure SPRING SRGB for ISIS protocol, you must:
• Configure ISIS.
1. Configure the start-label and index-range of SRGB. The start label value indicates the start of the
SPRING label block and the index range along with the start label indicate the end of the label block.
NOTE:
• Ensure that the MPLS label for a binding segment ID (SID) is the sum of the SRGB start
label and SID index value. In addition, SID index value must be less than or equal to the
index-range value specified in the configuration.
• Junos does not check whether the SID index is within the SRGB's range when the SID
index is assigned through an ISIS export policy. If you configure an index that is out of
range of the configured SRGB, you won’t see any error message in the logs or while
committing the configuration. Junos OS shows a commit error only when you configure
the SID under the [edit protocols isis source-packet-routing] hierarchy level.
NOTE: The default value for the index range is 4096. This causes chunks of 256 label blocks
being dynamically allocated by the label manager depending on the availability.
For example, configure SRGB with start-label 800,000 and index-range 40,000. The start label of the
SPRING label block is 800,000 and the end of the label block is 840,000.
NOTE: Ensure that the labels in the SRGB label range are not used by any other applications.
If a label in the configured label range is used by another application, then a syslog error
message RPD_ISIS_SRGBALLOCATIONFAIL is logged to indicate that the label manager is unable to
allocate the requested SRGB label range. To free up the configured label range, check the
label ranges configured at the [edit protocol mpls label-range] hierarchy level and re-configure
the SRGB label range with a label range that is available and restart the routing protocol
process (RPD).
491
RELATED DOCUMENTATION
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
Example: Configuring SRGB in Segment Routing for IS-IS | 459
source-packet-routing
Segment routing (SR) or source packet routing in networking (SPRING) is a control-plane architecture
that enables an ingress router to steer a packet through a specific set of nodes and links without relying
on the intermediate nodes in the network to determine the actual path it should take. Segment routing
global block (SRGB) is the range of label values used in segment routing. Junos OS allows you to
configure prefix segment identifier (SID) and node SID to prefixes that are advertised in IS-IS through
policy configuration.
Before you configure SPRING SRGB, prefix SID, and anycast SID for the IS-IS protocol, you must:
492
• Configure IS-IS.
To configure device R1 with SPRING SRGB, prefix SID, and anycast SID for IS-IS protocols:
For example, configure SRGB with start-label 800000 and index-range 40000 .
2. Configure the routing policy to match a route (IPv4 or IPv6 ) exactly. Configure the index and the
node segment of the prefix segment for a given term and accept the routing policy.
NOTE: Configure node segment as /32 prefix on loopback interface (lo0.0) or on a valid stub
interface.
For example, configure the routing policy to match the IPv4 route exactly. Configure the index and
the node segment of the prefix segment for a given term and accept the routing policy.
For example, configure the routing policy to match the IPv6 route exactly. Configure the index and
the node segment of the prefix segment for a given term and accept the routing policy.
3. Configure the index and the node segment of the prefix segment for a given term and accept the
routing policy.
For example, configure the prefix segment with index 1004 and the node segment for term 1 of
policy statement prefix SID and accept the routing policy.
4. Configure the routing policy with the same prefix (IPv4 or IPv6 )and same prefix segment on more
than one routers for anycast SID.
NOTE: For anycast prefix SID, configure prefix SID on loopback interface( lo0.0).
For example, configure IPv4 prefix [Link]/32 with prefix segment 1000 on two routers R0
and R1 for anycast SID.
For example, configure IPv6 prefix [Link]/32 with prefix segment 1000 on two routers R0 and
R1 for anycast SID.
8. Configure explicit NULL to enable E and P bits in all prefix SID advertisements.
For example, configure adjacency segments with 240,000 milliseconds hold time.
RELATED DOCUMENTATION
Understanding Adjacency Segments, Anycast Segments, and Configurable SRGB in SPRING | 455
source-packet-routing
traffic-engineering
A flexible algorithm allows IGPs alone to compute Understanding IS-IS Flexible Algorithms for
constraint based paths over the network thereby Segment Routing | 496
providing simple traffic engineering without using a
network controller. This is a light weight solution for
networks that have not implemented a controller
with full fledged segment routing but still want to
reap the benefits of segment routing in their
network.
WHAT'S NEXT
For more information on configuring flexible algorithms, see the IS-IS User Guide
496
IN THIS SECTION
Flexible Algorithm and Flexible Algorithm Prefix Metrics Leaking across IS-IS Multi-Instance | 504
Starting in Junos OS Release 19.4R1, you can thin slice a network by defining flexible algorithms that
compute paths using different parameters and link constraints based on your requirements. For example,
you can define a flexible algorithm that computes a path to minimize IGP metric and define another
flexible algorithm to compute a path based on traffic engineering metric to divide the network into
separate planes. This feature allows networks without a controller to configure traffic engineering using
segment routing without actually implementing a network controller. You can use the prefix SIDs to
steer packets along the constraint-based paths. You can configure the prefix SIDs for flexible algorithm
through policy configurations.
IGP protocols use a link metric to calculate a best path. However, the best IGP path might not always be
the best path for certain types of traffic. Therefore, the IGP computed best path based on the shortest
IGP metric is often replaced with traffic engineered path due to the traffic requirements that are not
reflected by the IGP metric. Typically RSVP-TE or SR TE is used for computing the path based on
additional metrics and constraints to overcome this limitation. Junos installs such paths in the
forwarding tables in addition to or as a replacement for the original path computed by the IGPs.
• A lightweight version of segment routing traffic engineering that can be used in the core of the
network.
• Allows you to configure traffic engineering using segment routing even without installing a network
controller.
497
• Utilize equal-cost multipath (ECMP) and TI-LFA per-slice without configuring BGP-LS or static path.
• Compute TI-LFA backup path using the same flexible algorithm definition and constraints
computation.
• Take advantage of segment routing traffic engineering using only IS-IS without configuring RSVP or
LDP.
A flexible algorithm allows IGP to calculate additional best paths based on specified constraints thereby
providing simple traffic engineering without using a network controller. This is a lightweight solution for
networks that have not implemented a controller with full fledged segment routing but still want to reap
the benefits of segment routing in their network. Every operator can define separate constraints or
colors depending on their requirements.
To define a flexible algorithm, include flex-algorithm id statement at the [edit routing-options] hierarchy
level. The flexible algorithm definition (FAD) is assigned with an identifier ranging from 128 through 255.
This flexible algorithm can be defined on one or more routers in a network. A flexible algorithm
computes a best path based on the following parameters:
• Calculation type—SPF or strict SPF are the two available calculation type options. You can specify
one of these calculation types in your FAD. Select the SPF calculation type if you want to influence
the SPF computation on your device based on a certain local policy such as traffic engineering
shortcuts. If you select strict SPF then the local policy cannot influence the SPF path selection.
• Metric type- IGP metric or TE metric are the available metric type options. You can specify one of
these metric types in your FAD depending on your network requirement. If you do not want to use
the IGP metric for a specific link you can configure a TE metric that IS-IS can use for calculating the
route.
• Priority- You can assign a priority to your FADs as per your requirement and IS-IS prioritizes a
particular FAD advertisement over another FAD based on your assigned priority.
NOTE: For FADs with link-constraints to work, all relevant links should advertise the admin-
colors in IS-IS, which means either RSVP is enabled on the interfaces or set protocols isis
traffic-engineering advertise always is configured.
• Set of Link constraints- You can configure admin-groups for many protocols at the [edit protocols mpls
admin-groups] hierarchy level to color an individual link. These admin-groups can then be defined as
include any, include-all or exclude at the [edit routing-options flex-algorithm definition admin-groups]
hierarchy level.
498
We recommend configuring flexible algorithm definitions on only a few routers to provide redundancy
and to avoid conflicts. Flexible algorithm definition is advertised in IGP as FAD sub-TLVs. In very large
networks, we do not recommend configuring more than 8 flexible algorithms as each flexible algorithm
will compute its own path and might cause performance issues beyond that.
Its also recommended that you configure multiple FAD servers in a specific ISIS Level before configuring
any devices to participate in that FAD. In the case of an ISIS L1/L2 node (ABR), it's also recommended
that you configure the FAD at both ISIS Level 1 and Level 2. If a FAD is configured only on a single ABR,
traffic drops over flex algorithm paths are possible if the routing process restarts on that ABR. Its
therefore a good design practice to have multiple ABRs, each of which has the FAD configured at both
ISIS levels.
• priority: 0
NOTE: Modifying the flexible algorithm definition in a live network or on the fly could cause
traffic disruptions until all the nodes converge on the new paths.
You can configure specific routers to participate in a particular flexible algorithm as per your
requirement. Paths computed based on a flexible algorithm definition is used by various applications
each potentially using its own specific data plane for forwarding the data over such paths. The
participating device must explicitly advertise its participation in a particular flexible algorithm to every
application in the segment routing flexible algorithm sub TLV for IS-IS. You can configure a node to
participate in a certain flexible algorithm provided it can support the constraints specified in that FAD.
To configure participation in a flexible algorithm include the flex-algorithm statement at the [edit protocols
isis source-packet- routing] hierarchy level. The same device can advertise a FAD and also participate in a
flexible algorithm.
Figure 37 on page 499 shows the sample topology, there are 8 routers R0, R1, R2, R3, R4, R5, R6, and
R7. Four flexible algorithms, 128, 129, 130, and 135 are defined and configured with admin-groups as
listed in the following table:
499
Figure 38 on page 500 shows how FAD 128 routes traffic on any interface that is configured with admin
group red.
500
Figure 39 on page 501 shows how FAD 129 routes traffic on any interface that is configured with
admin group green.
501
Figure 40 on page 502 shows how FAD 130 routes traffic on any interface that is configured with
admin group green and blue.
502
Figure 41 on page 503 shows how FAD 135 routes traffic on any interface that is not configured with
admin group red.
503
For every flexible algorithm that a router participates in the corresponding flexible algorithm routes are
installed in the corresponding flexible algorithm RIB groups also known as routing tables. By default,
labeled IS-IS flexible algorithm routes are installed in the [Link], inet(6)color.0 and mpls.0 RIBs.
A flexible algorithm can be associated with a color. When a service prefix, such as a VPN service carries
a BGP color extended community, by default the BGP service prefix resolves a flex-algo route that has
the same associated color value. The flexible algorithm ingress routes that are installed in the
inet(6)color.0 tables will have this color value associated with the route. However, you can configure a
different associate color value at the [edit routing-options flex-algorithm id color color] hierarchy level.
NOTE: Changing the associated color value in a flexible algorithm might result in traffic
disruption. If you modify the color in a flexible algorithm definition, all routes pertaining to that
flexible algorithm are removed from the RIB and added again with the new color.
504
Flexible Algorithm and Flexible Algorithm Prefix Metrics Leaking across IS-IS Multi-Instance
We've added support to readvertise flexible algorithm (flex algo) prefix-segment identifiers (SIDs) and
Flexible Algorithm Prefix Metrics (FAPMs) across interior gateway protocol (IGP) instances. We’ve also
added support to readvertise prefixes from other protocols and assign flex algo prefix-SIDs via policy to
those prefixes.
In the sample topology shown in Figure 42 on page 504, different IS-IS domains, metro-A, metro-B, and
the core, constitute a single-segment routing domain. For an end-to-end segment routing flex algo path,
nodes 02 and 05 must readvertise flex algo prefix-SIDs and FAPMs across IGP instances.
Flex algo routes are installed in inet(6)color.0 tables. They could also be installed in colored RIBs, such as
junos-rti-tc-<color>.inet(6).3 when use-transport-class statement is configured under routing-options flex-
algorithm <id>. To support leaking flex algo prefix-SIDs across IGP instances, the use-transport-class
statement must be configured for that flex algo. Leaking of flex algo prefix-SIDs across IGP instances is
policy driven. A sample policy configuration is as follows:
prefix-segment; (optional)
}
then {
prefix-segment {
redistribute;
}
}
When flex algo prefix-SIDs are leaked across IGP instances, FAPM sub-TLV will be advertised with the
metric derived from the export policy or the route’s own metric. The metric defined in the export policy
has higher precedence over the route’s own metric. Additionally, IS-IS installs a stitched route in the
mpls.0 tables to stitch incoming MPLS traffic from one IGP instance to the other.
For information on how to apply export policy on multi-instance IS-IS, see export.
You can leak BGP-LU prefixes into the IGP with flex algo prefix-SIDs. You can configure the prefix-segment
(and metric) in the policy-statement to leak BGP-LU learned prefixes into flex algo.
For example, in the topology shown in "Understanding IS-IS Flexible Algorithms for Segment Routing"
on page 496, the IGP domain includes flex algos 128 and 129. The device R9 resides outside the IGP
domain. The device R9 is not reachable via flex algo in the IGP domain. Any traffic destined for device
R9 follows a flex algo path till device R5 and then follows the device R5 to R9 link.
When flex algo prefix-SIDs are leaked from BGP-LU to an IGP instance, FAPM sub-TLV will be
advertised with the metric derived from the export policy or the route’s own metric. The metric defined
506
in the export policy has higher precedence over the route’s own metric. Additionally, IS-IS installs a
stitched route in the mpls.0 tables to stitch incoming MPLS traffic from BGP-LU to IS-IS.
You can now leak BGP-CT prefixes into flex algo and vice-versa.
For example, the topology shown in "Understanding IS-IS Flexible Algorithms for Segment Routing" on
page 496 consists of multiple IS-IS IGP instances. The ISIS-A has flex algo but does not have BGP-CT. In
such deployments, BGP-CT prefixes can be leaked into flex algo and vice-versa via policy configurations.
Currently, BGP-CT prefixes do not support carrying the prefix-SID information. Configure a policy for
the prefix and associate a prefix-SID on the router that is redistributing the prefix into IS-IS flex algo.
When flex algo prefix-SIDs are leaked from BGP-CT, FAPM sub-TLV will be advertised with the metric
derived from the export policy or the route’s metric. The Metric defined in the export policy has higher
precedence over the route’s metric. Additionally, IS-IS installs a stitched route in the mpls.0 tables to
stitch the incoming MPLS traffic from BGP-CT to IS-IS.
• Support for configuring and advertising prefix SIDs for different flexible algorithms.
Junos OS does not support the following features in conjunction with flexible algorithms:
• Flexible algorithm is applicable only for default unicast topology, IS-IS multi-topology is not
supported.
• IS-IS shortcuts and other IS-IS traffic engineering configuration options are not applicable for flexible
algorithm computation
• Remote loop free alternate functionality is not supported because TI-LFA is the preferred FRR
computation
• Extended Admin-Groups (EAG) are not supported because they are not supported in IS-IS.
SEE ALSO
Before you begin configuring the flexible algorithm for IS-IS, make sure you:
2. Configure IS-IS protocol to enable dynamic routing protocol to exchange routing information.
1. Define flexible algorithm on routers that you have identified in your network. Assign an ID for the
flexible algorithm definition (FAD) ranging from 128 through 255.
[edit routing-options]
user@host# set flex-algorithm id
Specify the parameters of the definition. IS-IS calculates the path based on these specified
parameters of the FAD.
a. Map a BGP color community to the defined FAD. By default each flexible algorithm is associated
with a value equal to the flex algorithm.
VPN can be made to resolve paths over the configured BGP color community.
NOTE: Changing the BGP color community for a flexible algorithm might result in traffic
disruption. If you modify a BGP color community for a flexible algorithm then all routes
pertaining to that flexible algorithm are removed from the RIB and added again with new
colors.
b. Specify the calculation type based on which the IS-IS protocol calculates the path.
c. Specify the metric type based on which IS-IS calculates the path.
d. Assign a priority level to the advertisement of the FAD based on your requirement. Specify a
priority ranging from 0 through 255.
NOTE: Modifying the flexible algorithm definition could cause traffic disruptions until all
the nodes converge on the new paths.
e. If you have enabled RSVP traffic engineering, you can configure admin-groups for many protocols
to color an individual link.
NOTE: For FADs with link-constraints to work, all relevant links should advertise the
admin-colors in IS-IS. You must either enable RSVP on the interfaces or if you have not
configured RSVP for traffic engineering, make sure you configure set traffic-engineering
advertise always at the [edit protocols isis] hierarchy level.
2. Identify the participating routers and configure participation on those routers. The same device can
advertise a FAD and also participate in a flexible algorithm.
5. To verify if your flexible algorithm configuration is working correctly use the show isis spring flex-
algorithm command.
IN THIS SECTION
Segment routing enables a router to send a packet along a specific path in the network by imposing a
label stack that describes the path. The forwarding actions described by a segment routing label stack
do not need to be established on a per-path basis. Therefore, an ingress router can instantiate an
arbitrary path using a segment routing label stack and use it immediately without any signaling.
In segment routing, each node advertises mappings between incoming labels and forwarding actions. A
specific forwarding action is referred to as a segment and the label that identifies that segment is
referred to as a segment identifier (SID). The backup paths created by TI-LFA use the following types of
segments:
511
• Node segment—A node segment forwards packets along the shortest path or paths to a destination
node. The label representing the node segment (the node SID) is swapped until the destination node
is reached.
• Adjacency segment—An adjacency segment forwards packets across a specific interface on the node
that advertised the adjacency segment. The label representing an adjacency segment (the adjacency
SID) is popped by the node that advertised it.
A router can send a packet along a specific path by creating a label stack that uses a combination of
node SIDs and adjacency SIDs. Typically, node SIDs are used to represent parts of the path that
correspond to the shortest path between two nodes. An adjacency SID is used wherever a node SID
cannot be used to accurately represent the desired path.
Loop-free alternate (LFA) and remote LFA (RLFA) have been used to provide fast-reroute protection for
several years. With LFA, a point of local repair (PLR) determines whether or not a packet sent to one of
its direct neighbors reaches its destination without looping back through the PLR. In a typical network
topology, approximately 40 to 60 percent of the destinations can be protected by LFA. Remote LFA
expands on the concept of LFA by allowing the PLR to impose a single label to tunnel the packet to a
repair tunnel endpoint from which the packet can reach its destination without looping back through the
PLR. Using remote LFA, more destinations can be protected by the PLR compared to LFA. However,
depending on the network topology, the percentage of destinations protected by remote LFA is usually
less than 100 percent.
Topology-independent LFA (TI-LFA) extends the concept of LFA and remote LFA by allowing the PLR to
use deeper label stacks to construct backup paths. In addition, the TI-LFA imposes the constraint that
the backup path used by the PLR be the same path that a packet takes once the interior gateway
protocol (IGP) has converged for a given failure scenario. This path is referred to as the post-
convergence path.
Using the post-convergence path as the backup path has some desirable characteristics. For some
topologies, a network operator only needs to make sure that the network has enough capacity to carry
the traffic along the post-convergence path after a failure. In these cases, a network operator does not
need to allocate additional capacity to deal with the traffic pattern immediately after the failure while
the backup path is active, because the backup path follows the post-convergence path.
Benefits of TI-LFA
• IGP automatically computes the backup path and does not have to allocate additional capacity to
deal with failures.
• Easy to configure and utilize the post convergence path for transmission of packets.
512
TI-LFA provides protection against link failure, node failure, fate-sharing failures, and shared risk link
group failures. In link failure mode, the destination is protected if the link fails. In node protection mode,
the destination is protected if the neighbor connected to the primary link fails. To determine the node-
protecting post-convergence path, the cost of all the links leaving the neighbor is assumed to increase
by a configurable amount.
With fate-sharing protection, a list of fate-sharing groups are configured on each PLR with the links in
each fate-sharing group identified by their respective IP addresses. The PLR associates a cost with each
fate-sharing group. The fate-sharing-aware post-convergence path is computed by assuming that the
cost of each link in the same fate-sharing group as the failed link has increased the cost associated with
that group.
Starting in Junos OS Release 20.2R1, you can configure Shared Risk Link Group (SRLG) protection in TI-
LFA networks for segment routing to choose a fast reroute path that does not include SRLG links in the
topology-independent loop-free alternate (TI-LFA) backup paths. SRLGs share a common fibre and they
also share the risks of a broken link. When one link in an SRLG fails, other links in the group might also
fail. Therefore, you need to avoid links that share the same risk as the protected link in the backup path.
Configuring SRLG protection prevents TI-LFA from selecting backup paths that include a shared risk link.
If you have configured SRLG protection then IS-IS computes the fast reroute path that is aligned with
the post convergence path and excludes the links that belong to the SRLG of the protected link. All local
and remote links that are from the same SRLG as the protected link are excluded from the TI-LFA back
up path. The point of local repair (PLR) sets up the label stack for the fast reroute path with a different
outgoing interface. Currently you cannot enable SRLG protection in IPv6 networks and in networks with
multitopology.
In order to construct a backup path that follows the post-convergence path, TI-LFA uses several labels in
the label stack that define the backup path. If the number of labels required to construct a particular
post-convergence backup path exceeds a certain amount, it is useful in some circumstances to not install
that backup path. You can configure the maximum number of labels that a backup path can have in
order to be installed. The default value is 3, with a range of 2 through 5.
It is often the case that the post-convergence path for a given failure is actually a set of equal-cost
paths. TI-LFA attempts to construct the backup paths to a given destination using multiple equal-cost
paths in the post-failure topology. Depending on the topology, TI-LFA might need to use different label
stacks to accurately construct those equal-cost backup paths. By default, TI-LFA only installs one
backup path for a given destination. However, you can configure the value in the range from 1 through
8.
Starting in Junos OS Release 20.1R1, you can configure TI-LFA with segment routing in an IPv6-only
network to provide fast reroute (FRR) backup paths corresponding to the post-convergence path for a
513
given failure. However, you cannot configure fate-sharing protection for IPv6-only networks. To
compute backup paths in IPv6-only networks, the IS-IS protocol must advertise the following TLV types:
Although you can configure multiple global IPv6 addresses on an interface, the backup routes are
computed for one global interface only.
Starting in Junos OS Release 19.1R1, you can configure a point of local repair (PLR) to create a topology
independent loop-free alternate backup path for prefix-SIDs derived from Segment Routing Mapping
Server advertisements in an IS-IS network. In a network configured with segment routing, IS-IS uses the
Segment Routing Mapping Server advertisements to derive prefix-SIDs. Segment Routing Mapping
Server advertisements for IPv6 are currently not supported. To attach flags to Segment Routing Mapping
Server advertisements, include the attached, domain-wide-flooding, and no-node-segment statements at the [edit
routing-options source-packet-routing mapping-server-entry mapping-server-name] hierarchy level.
TI-LFA Limitations
The backup path for prefix-SIDs from Segment Routing Mapping Server advertisements are not created
in the following scenarios:
• If the segment routing node is advertising a prefix and a prefix-SID index directly, then Junos OS uses
the prefix-SID index and disregards the mapping server advertisement for that prefix.
• If a backup path requires an adjacency-SID from the LDP domain then the backup path cannot be
installed.
NOTE: Currently you cannot configure remote LFA and TI-LFA on a SR-LDP stitching node in the
same instance. Therefore, you cannot configure both post-convergence-lfa and link-protection on the
same device.
Set the following mapping server advertisement flags to indicate the origin of the advertised prefix:
Release Description
20.2R1 Starting in Junos OS Release 20.2R1, you can configure Shared Risk Link Group (SRLG) protection in TI-
LFA networks for segment routing to choose a fast reroute path that does not include SRLG links in the
topology-independent loop-free alternate (TI-LFA) backup paths.
20.1R1 Starting in Junos OS Release 20.1R1, you can configure TI-LFA with segment routing in an IPv6-only
network to provide fast reroute (FRR) backup paths corresponding to the post-convergence path for a
given failure. However, you cannot configure fate-sharing protection for IPv6-only networks.
19.1R1 Starting in Junos OS Release 19.1R1, you can configure a point of local repair (PLR) to create a topology
independent loop-free alternate backup path for prefix-SIDs derived from Segment Routing Mapping
Server advertisements in an IS-IS network.
RELATED DOCUMENTATION
Configuring Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 515
Example: Configuring Topology Independent Loop-Free Alternate with Segment Routing for IS-IS |
517
post-convergence-lfa
515
use-post-convergence-lfa
use-for-post-convergence-lfa
node-protection
Loop-free alternate (LFA) and remote LFA have been used to provide fast-reroute protection for several
years. With LFA, a point of local repair (PLR) determines whether or not a packet sent to one of its direct
neighbors will reach its destination without looping back through the PLR. In a typical network topology,
perhaps 40-60 percent of destinations can be protected by LFA. Remote LFA expands on the concept of
LFA by allowing the PLR to impose a single label to tunnel the packet to a repair tunnel endpoint from
which the packet can reach its destination without looping back through the PLR. Using remote LFA,
more destinations can be protected by the PLR compared to LFA. However, depending on the network
topology, the percentage of destinations protected by remote LFA usually less than 100 percent.
Topology-independent loop-free alternate (TI-LFA) extends the concept of LFA and remote LFA by
allowing the PLR to use deeper label stacks to construct backup paths. In addition, TI-LFA imposes the
constraint that the backup path used by the PLR be the same path that a packet takes once the IGP
converges for a given failure scenario. This path is referred to as the post-convergence path.
Using the post-convergence path as the backup path has some desirable characteristics. For some
topologies, a network operator only needs to make sure that the network has enough capacity to carry
the traffic along the post-convergence path after a failure. In these cases, a network operator does not
need to allocate additional capacity to deal with the traffic pattern immediately after the failure while
the backup path is active, because the backup path follows the post-convergence path.
Before you configure TI-LFA for IS-IS, be sure you configure SPRING or segment routing.
To configure TI-LFA using SPRING for IS-IS, you must do the following:
2. (Optional) Configure backup shortest path first (SPF) attributes such as maximum equal-cost
multipath (ECMP) backup paths and maximum labels for TI-LFA for the IS-IS protocol.
3. Configure the computation and installation of a backup path that follows the post-convergence path
on the given interface and level for the IS-IS protocol.
4. (Optional) Enable fate-sharing protection for a given interface and level. Specify the fate-sharing
group to use as a constraint for the post-convergence path.
NOTE: You do not have to configure the use-for-post-convergence-lfa statement and the fate-
sharing-protection statement for basic link protection for the backup path.
RELATED DOCUMENTATION
Understanding Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 510
Example: Configuring Topology Independent Loop-Free Alternate with Segment Routing for IS-IS |
517
517
post-convergence-lfa
use-post-convergence-lfa
use-for-post-convergence-lfa
node-protection
IN THIS SECTION
Requirements | 517
Overview | 518
Configuration | 519
This example shows topology-independent loop-free alternate (TI-LFA) with segment routing for the IS-
IS protocol to provide MPLS fast reroute (FRR) backup paths corresponding to the post-convergence
path for a given failure by using deeper label stacks to construct backup paths. TI-LFA provides
protection against link failure, node failure, and fate-sharing failures. In link failure mode, the destination
is protected if the link fails. In node protection mode, the destination is protected if the neighbor
connected to the primary link fails. To determine the node-protecting post-convergence path, the cost
of all the links leaving the neighbor is assumed to increase by a configurable amount. With fate-sharing
protection, a list of fate-sharing groups are configured on each PLR with the links in each fate-sharing
group identified by their respective IP addresses.
NOTE: Our content testing team has validated and updated this example.
Requirements
This example uses the following hardware and software components:
Before you configure TI-LFA routes using SPRING for IS-IS, be sure you configure SPRING or segment
routing.
Overview
IN THIS SECTION
Topology | 519
Junos OS allows you to enable TI-LFA for IS-IS by configuring the use-post-convergence-lfa statement at
the [edit protocols isis backup-spf-options] hierarchy level. You can enable the creation of post-
convergence backup paths for a given interface by configuring the post-convergence-lfa statement at
the [edit protocols isis interface interface-name level level] hierarchy level.
TI-LFA provides protection against link failure, node failure, and failures of fate-sharing groups. You can
enable link-protection mode using the post-convergence-lfa statement. You can enable node-protection
mode, or fate-sharing-protection mode, or both modes, for a given interface at the [edit protocols isis
interface interface-name level level post-convergence-lfa] hierarchy level. To ensure that the fate-sharing
protection is enabled for a given fate-sharing group, you need to configure the use-for-post-convergence-lfa
statement at the [edit routing-options fate-sharing group group-name] hierarchy level.
NOTE: TI-LFA supports protection of routes for both IPv4 and IPv6 prefixes. This example
demonstrates protection of routes for IPv4 prefixes.
519
Topology
Configuration
IN THIS SECTION
Verification | 532
To quickly configure link-protection in this example, copy the following commands, paste them into a
text file, remove any line breaks, change any details necessary to match your network configuration,
520
copy and paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from
configuration mode.
R1
R2
R3
R21
R22
R23
R24
R31
R34
Configuring R1
Step-by-Step Procedure
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
[edit interfaces]
user@R1# set ge-0/0/0 unit 0 description r1-to-r21
user@R1# set ge-0/0/0 unit 0 family inet address [Link]/24
user@R1# set ge-0/0/0 unit 0 family iso
user@R1# set ge-0/0/0 unit 0 family mpls
[edit routing-options]
user@R1# set router-id [Link]
3. Configure MPLS.
[edit protocols]
user@R1# set mpls interface ge-0/0/0.0
user@R1# set mpls interface ge-0/0/1.0
user@R1# set mpls interface ge-0/0/2.0
4. Configure IS-IS.
[edit protocols]
user@R1# set isis interface ge-0/0/0.0 level 2 disable
user@R1# set isis interface ge-0/0/0.0 point-to-point
5. Configure to install backup route along the link-protecting post-convergence path on interface
ge-0/0/2.
[edit protocols]
user@R1# set isis interface ge-0/0/2.0 level 1 post-convergence-lfa
6. Configure the maximum number of labels for segment routing routed paths for protection of
backup shortest-path-first attributes.
[edit protocols]
user@R1# set isis backup-spf-options use-post-convergence-lfa maximum-labels 8
7. Configure IPv4 index and index range for node segments in segment routing for the IS-IS protocol.
[edit protocols]
user@R1# set isis source-packet-routing node-segment ipv4-index 1001
[edit protocols]
user@R1# set isis interface ge-0/0/2 level 2 post-convergence-lfa node-protection cost 2000
[edit routing-options]
user@R1# set fate-sharing group fs-group-1 cost 3000
10. (Optional) Configure the fate-sharing group to indicate that link from Device R1 to Device R2 and
the link from Device R21 to Device R22 share fate and allow it to be used for post-convergence-lfa.
[edit routing-options]
user@R1# set fate-sharing group fs-group-1 from [Link] to [Link]
user@R1# set fate-sharing group fs-group-1 from [Link] to [Link]
user@R1# set fate-sharing group fs-group-1 use-for-post-convergence-lfa
529
[edit protocols]
user@R1# set isis interface ge-0/0/2 level 2 post-convergence-lfa fate-sharing-protection
12. Configure a per packet load-balance policy for TI-LFA to work and ensure faster convergence.
[edit]
user@R1# set policy-options policy-statement pplb then load-balance per-packet
13. Apply the policy to export the routes into the forwarding table.
[edit]
user@R1# set routing-options forwarding-table export pplb
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols and
show routing-options commands. If the output does not display the intended configuration, repeat the
instructions in this example to correct the configuration.
family mpls;
}
}
ge-0/0/2 {
unit 0 {
description r1-to-r2;
family inet {
address [Link]/24;
}
family iso;
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0000.2222.0001.00;
}
family mpls;
}
}
}
}
If you are done configuring the device, enter commit from configuration mode.
532
Verification
IN THIS SECTION
Purpose
Verify the link-protecting backup path for primary next hops on interface ge-0/0/2 for Device R1 and
verify if the backup path to reach [Link]/32 has been created and has the correct label stack.
Action
From operational mode, run the show route [Link] command to display the routing table information.
Meaning
The primary path to reach [Link]/32 (corresponding to Device R3) is through the interface
ge-0/0/2 with a label of 801003, corresponding to the node-SID of Device R3. If the interface ge-0/0/2
fails, the backup path using the interface ge-0/0/0 using the label stack [801024, 801003] becomes
active. The link-protecting post-convergence path is R1-R21-R22-R23-R24-R3. The top label on the
label stack is 801024 and corresponds to the node SID to reach R24. The 801003 label corresponds to
the node SID on R23 to reach R3 on the shortest path R23-R2-R3.
Verify adjacency SIDs of devices that have IS-IS adjacencies with Device R1.
Action
From operational mode, run the show isis adjacency detail command to display the adjacency information
on Device R1.
R31
Interface: ge-0/0/1.0, Level: 1, State: Up, Expires in 22 secs
Priority: 0, Up/Down transitions: 3, Last transition: [Link] ago
Circuit type: 1, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
Level 1 IPv4 Adj-SID: 299808
R2
534
Meaning
Adjacency SIDs are assigned to each adjacency of Device R1 in the segment routing domain:
• Device R2 - 299776
The adjacency SIDs have local significance and can be used to steer traffic along specific outgoing
interfaces. When you do not configure adjacency SIDs, they are dynamically assigned with a value
outside of the default (or configured) SRGB range.
Purpose
Increase the cost of the post-convergence path from R1 to R3 and verify the TI-LFA routes using
adjacency SIDs to avoid the primary path to reach the destination, Device R3.
Action
From the configuration mode, increase the cost of the interface connecting Device R22 and R23,
ge-0/0/0.
[edit protocols]
user@R22# set protocols isis interface ge-0/0/0.0 level 1 metric 1000
user@R22# commit
535
From operational mode, again run the show route [Link] command.
Meaning
The TI-LFA backup paths are now using the adjacency SID (in this case, 299808) instead of the node SID
(801003) to reach Device R3. This is because node SIDs always use the shortest path between two
nodes, and when the R22-R23 link cost went up, the shortest path to R1 overlaps with the primary path.
Because TI-LFA cannot take a primary path to reach the destination, adjacency SIDs are used to take
R31-R34 as the new post-convergence path to reach Device R3.
RELATED DOCUMENTATION
Understanding Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 510
Configuring Topology-Independent Loop-Free Alternate with Segment Routing for IS-IS | 515
post-convergence-lfa
use-post-convergence-lfa
use-for-post-convergence-lfa
node-protection
vLab Sandbox: Segment Routing - Basic
536
Adjacency segment is a strict forwarded single-hop tunnel that carries packets over a specific link
between two nodes, irrespective of the link cost. You can configure static adjacency segment identifier
(SID) labels for an interface or an interface group.
Configuring a static adjacency SID on an interface causes the existing dynamically allocated adjacency
SID to be removed along with the transit route for the same.
For static adjacency SIDs, the labels are picked from either a static reserved label pool or from an ISIS
segment routing global block (SRGB).
You can reserve a label range to be used for static allocation of labels using the following configuration:
The static pool can be used by any protocol to allocate a label in this range. You need to ensure that no
two protocols use the same static label. ISIS adjacency SIDs can be allocated from this label block
through the configuration using keyword label. The label value for the specific adjacency SIDs need to be
explicitly configured. The specific label is advertised as the adjacency SIDs for that interface for the
specific level and address family. The following is a sample configuration:
SRGB is a global label space that is allocated for the protocol based on configuration. The labels in the
entire SRGB is available for ISIS to use and are not allocated to other applications/protocols. Prefix SIDs
(and Node SIDs) are indexed from this SRGB.
ISIS Adj-SIDs can be allocated from ISIS SRGB using keyword ‘index’ in the configuration. In such cases,
it should be ensured that the Adj-SID index does not conflict with any other prefix SID in the domain.
Like Prefix-SIDs, Adj-SIDs will also be configured by mentioning the index with respect to the SRGB.
However, the Adj-SID subtlv will still have the SID as a value and the L and V flags are set. The following
is a sample configuration:
user@host# set protocols isis source-packet-routing srgb start-label 800000 index-range 4000;
user@host# set protocols isis interface ge-0/0/0.1 level 1 ipv4-adjacency-segment unprotected index 1;
Static adjacency SIDs can be configured per address family and also based on whether the protection is
required or not. Adjacency SIDs should be configured per level per interface at the [edit protocols isis
interface interface-name level level-num] hierarchy level.
537
• Protected—Ensures adjacency SID is eligible to have a backup path and a B-flag is set in an adjacency
SID advertisement.
• Unprotected—Ensures no backup path is calculated for a specific adjacency SID and a B-flag is not
set in an adjacency SID advertisement.
user@host# set protocols isis interface ge-0/0/0.1 level 1 ipv4-adjacency-segment unprotected index 1;
user@host# set protocols isis interface ge-0/0/1.1 level 1 ipv4-adjacency-segment protected index 2;
You can use the same adjacent SID for multiple interfaces by grouping a set of interfaces under an
interface group and configuring the adjacency SID for that interface group and traffic can be load
balanced among the interfaces under the interface group using weight. This can be configured under the
[edit protocols isis interface-group interface_group_name] hierarchy level.
When segment routing is used in LAN subnetworks, each router in the LAN may advertise the adjacency
SID of each of its neighbors. To configure adjacency SID for a LAN interface to a specific neighbor, you
should configure the adjacency SIDs under the lan-neighbor configuration at the [edit protocols isis
interface interface_name level level_num lan-neighbor neighbor-sysid] hierarchy level. The following is a sample
configuration:
An adjacency set can be configured by declaring a set of interfaces under an interface group and
configuring the adjacency segment for that interface group. The adjacency SID can be picked from the
reserved static label pool or ISIS SRGB. Unlike normal interfaces, dynamic adjacency SID is not allocated
by default under interface group, in which case the dynamic CLI statement is configured. Interfaces
configured under an interface group can also be configured separately as independent interfaces as long
as the link-group-protection is not configured. The following is a sample configuration:
[edit ]
protocols {
isis {
interface <interface_name> {
level <level_num> {
ipv4-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
}
unprotected {
dynamic;
label <value>
index <index>
}
}
ipv6-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
}
unprotected {
dynamic;
label <value>
index <index>
}
}
}
}
interface <interface_name> {
level <level_num> {
lan-neighbor <neighbor-sysid>{
ipv4-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
}
539
unprotected {
dynamic;
label <value>
index <index>
}
}
ipv6-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
}
unprotected {
dynamic;
label <value>
index <index>
}
}
}
}
}
interface-group <interface_group_name> {
interface <interface_1> weight <weight>
...
interface <interface_n> weight <weight>
level <level_num> {
ipv4-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
}
unprotected {
dynamic;
label <value>
index <index>
}
}
ipv6-adjacency-segment {
protected {
dynamic;
label <value>
index <index>
540
}
unprotected {
dynamic;
label <value>
index <index>
}
}
}
}
}
}
The following sample output displays the details of configured and dynamic adjacency SID.
The following sample output displays the details of LAN/PTP adjacency SID.
…
TLVs:
Area address: 49.00 (2)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: [Link]
IP address: [Link]
Hostname: r0
IS neighbor: r0.03, Internal, Metric: default 10
IS neighbor: r4.00, Internal, Metric: default 10
IS extended neighbor: r0.03, Metric: default 10
IP address: [Link]
Local interface index: 342, Remote interface index: 0
Current reservable bandwidth:
Priority 0 : 1000Mbps
Priority 1 : 1000Mbps
Priority 2 : 1000Mbps
Priority 3 : 1000Mbps
Priority 4 : 1000Mbps
Priority 5 : 1000Mbps
Priority 6 : 1000Mbps
Priority 7 : 1000Mbps
Maximum reservable bandwidth: 1000Mbps
Maximum bandwidth: 1000Mbps
Administrative groups: 0 <none>
LAN IPV4 Adj-SID: 4138, Weight:0, Neighbor:r1, Flags: BVL
LAN IPV6 Adj-SID: 4139, Weight:0, Neighbor:r1, Flags: FBVL
IS extended neighbor: r4.00, Metric: default 10
IP address: [Link]
Neighbor's IP address: [Link]
Local interface index: 334, Remote interface index: 335
Current reservable bandwidth:
Priority 0 : 1000Mbps
542
Priority 1 : 1000Mbps
Priority 2 : 1000Mbps
Priority 3 : 1000Mbps
Priority 4 : 1000Mbps
Priority 5 : 1000Mbps
Priority 6 : 1000Mbps
Priority 7 : 1000Mbps
Maximum reservable bandwidth: 1000Mbps
Maximum bandwidth: 1000Mbps
Administrative groups: 0 <none>
P2P IPV4 Adj-SID - Flags: BVL, Weight:0, Label: 4125
P2P IPV6 Adj-SID - Flags: FBVL, Weight:0, Label: 4126
The following sample output displays the status information about the specified interface group.
Segment routing architecture enables the ingress nodes in a core network to steer traffic through
explicit paths through the network. The architecture provides the mechanism to enable source routing.
Paths are encoded as sequences of topological subpaths called segments, which are advertised by link-
state routing protocols such as IS-IS and OSPF.
A forwarding adjacency is a traffic engineered label-switched path (LSP) that is configured between two
nodes and that is used by the interior gateway protocol (IGP) to forward traffic. The forwarding
adjacency creates a tunneled path for sending data between peer devices in an RSVP LSP network.
543
Starting in Release 20.1R1, Junos OS supports segment routing traffic to be carried over RSVP LSPs that
are advertised as forwarding adjacencies in IS-IS.
• Leverages IGPs such as IS-IS, and RSVP for efficient and flexible forwarding
• Provides a faster and more efficient way of forwarding traffic in the RSVP core network.
Figure 45 on page 543 illustrates the typical deployment network for segment routing over RSVP
forwarding adjacency.
The network consists of provider edge (PE) routers configured with LDP on the edge and RSVP in the
core. You can easily replace LDP with IS-IS segment routing because segment routing eliminates the
need for MPLS signaling protocols such as LDP. As a result, you enable network simplification by
removing a protocol from the network.
RSVP LSPs are configured as links in IS-IS. IS-IS builds dummy adjacencies over these links (no hellos)
and advertises them as links in LSPs. Because RSVP LSPs are advertised as forwarding adjacencies, the
LDP or segment routing edge nodes can forward traffic toward appropriate core nodes. The metric on
RSVP LSPs is manipulated to manage traffic steering from the head node to the end nodes. RSVP uses
the shortest-path-first (SPF) algorithm to compute the shortest path to all nodes in the network. As a
result, when IP routes point to RSVP LSPs, segment routing routes also point to these LSPs as segment
routing reuses the SPF computation performed for the IP routes.
544
RELATED DOCUMENTATION
Microloops can consume the available bandwidth of Benefits of Avoiding Microloops in SRv6
the links, which impacts the efficient transmission of Networks | 544
useful packets. Microloop avoidance can prevent Microloop Avoidance in SRv6
forwarding of looping packets. Networks | 545
• Microloop avoidance can prevent forwarding of looping packets and avoid wasteful bandwidth
consumption
• Microloop avoidance path is computed only for the impacted links in case of multiple link failures. If
the second link failure does not impact the computed microloop avoidance path, IS-IS continues to
use the same microloop avoidance path.
Junos OS enables a device to defer IS-IS route download when an IS-IS link fails in order to avoid micro
loops. When local links go down, the IS-IS protocol floods an entire area with the database. If the node
connected to the local interface that has failed converges faster than the neighboring node, then the
connected node redirects traffic to the converged path. This redirection can result in micro looping of
traffic until the neighboring node converges. When the primary path of a protected node fails, the
connected node does not need to converge quickly if the configured backup path is not impacted. In this
case, traffic flow towards a converged path is deferred until the configured delay time. This time delay
helps in avoiding microloops because all routers do not arrive at the post-convergence forwarding states
545
simultaneously.
In the "figure" on page 544, the primary path from Source to Destination is SR0R1R2R3D. When
the link between R2 and R3 fails, traffic sent from S to D, is subject to transient forwarding loops while
routers update their forwarding state for destination D.
• If R0 updates its forwarding state before R5, packets will loop between R0 and R5
• If both R0 and R5, have updated their forwarding states, and R4 has not, packets will loop between R4
and R5.
• R0 detects the link failure between R2 and R3, and temporarily steers traffic destined to Destination
over SR path [NodeSID(R4), AdjSID(R4->R3), D].
• When the configured timeout elapses, R0 just uses the node-SID to D to reach the destination.
Starting in Junos OS Release 21.1R1, you can enable a post convergence path calculation on a device to
avoid microloops if a link or metric change occurs in an SRv6 network. To configure microloop avoidance
in an SRv6 network for both local and remote network events including link down, link-up, and metric-
change, include the microloop avoidance post-convergence-path delay millisecondsstatement at the [edit
protocols isis spf-options] hierarchy level. For effective microloop avoidance, configure this feature on all
the nodes in the network.
NOTE: Micro-loop avoidance is not a replacement for local repair mechanisms like TI-LFA which
detects local failure very fast and activates a pre-computed loop-free-alternative path.
Starting in Junos OS Release 21.3R1, you can enable post-convergence path calculation on a device to
avoid microloops between network devices. Microloops form when a network change such as a link or
metric change occurs in a segment routing MPLS network. A network change might trigger a loop
between upstream and downstream routers for a brief time period because the routers do not update
their forwarding state simultaneously. Note that microloop avoidance is not a replacement for local
repair mechanisms such as topology-independent loop-free alternate (TI-LFA).
546
To configure microloop avoidance in a segment routing MPLS network, include the maximum-labels and the
maximum-srv6-sids statements at the [edit protocols isis spf-options microlooop-avoidance post-convergence-
path]hierarchy level.
When an IPV6 prefix has both SR-MPLS- MLA and SRV6 micro-loop-avoiding paths available, we will
prefer the SR-MPLS MLA path. SR-MPLS can provide micro-loop-avoiding paths for ipv4/ipv6 prefixes
and SR-labels. delay specifies the time in milliseconds for which we use the Micro-loop-Avoidance path,
before transitioning to SPF path. Note that microloop avoidance is not a replacement for local repair
mechanisms such as topology-independent loop-free alternate (TI-LFA), which detects local failure very
fast and activates a precomputed loop-free alternative path. Routers that implement micro-loop
avoidance compute the micro-loop avoiding path only after receiving the link state update for the event.
So, micro-loop avoidance mechanism is not a replacement for local repair mechanisms like TI-LFA which
detect local failure very fast and activate a pre-computed loop-free-alternative path at PFE level. In the
above example, if local repair mechanism is not present for the R2R3 failure, there will be lot of traffic
loss before R0 can detect the failure(via global convergence) and program a micro-loop avoiding path.
Micro-loop avoidance can’t avoid traffic loss due to delayed detection of the failure. Micro-loop
avoidance will avoid traffic loss due to micro-loops only. Both local-repair mechanisms like TI-LFA and
micro-loop avoidance, will have to be enabled on all the nodes in the network to ensure that traffic loss
is in milli-seconds range.
1. After computing the new path to D, for a predetermined time, R installs an entry for D that steers
packets to D via a loop-free SR path. This time should be greater than worst case delay of any router in
the network.
2. After the configured time delay, R installs the post-convergence route entry for D, which is without
any SIDs.
NOTE: If microloop avoidance is configured for both SRv6 and SR-MPLS, IS-IS prefers to take the
SR-MPLS path.
Junos OS supports microloop avoidance on most platforms that support IS-IS. For details on specific
devices and Junos OS releases that support IS-IS micro loop avoidance, see Feature Explorer.
Junos OS does not support the following features in conjunction with microloop avoidance:
• Microloop avoidance path that needs more than 6 SIDs is not supported. If a node can handle only x
number of SIDs then IS-IS does not provide a micro loop avoidance path. In such cases nodes can
advertise that they can handle x number of SIDs.
547
• If shortcuts are available IS-IS does not provide a microloop avoidance path.
RELATED DOCUMENTATION
microloop-avoidance
Learn about enabling SRv6 network programming for Understanding SRv6 Network Programming in
the IS-IS protocol. IS-IS Networks | 547
WHAT'S NEXT
For more information on SRv6 Network Programming, see the Example: Configuring SRv6 Network
Programming in IS-IS Networks.
IN THIS SECTION
Supported and Unsupported Features for SRv6 Network Programming in IS-IS | 552
548
• Network Programming depends entirely on the IPv6 header and the header extension to transport a
packet, eliminating protocols such as MPLS. This ensures a seamless deployment without any major
hardware or software upgrade in a core IPv6 network.
• Packets can be transported through an SRv6 ingress node even if the transit routers are not SRv6-
capable, thereby eliminating the need to deploy segment routing on all nodes in an IPv6 network.
• Junos OS supports multiple functions on a single segment identifier (SID) and can inter-operate in
the insert mode and the encapsulation mode. This allows a single device to simultaneously perform
the provider (P) router and the provider edge (PE) router roles.
Network Programming is the capability of a network to encode a network program into individual
instructions that are then inserted into the IPv6 packet headers. The IPv6 packet carrying the network
instructions explicitly tells the network about the precise SRv6 nodes available for packet processing.
The network instruction is the SRv6 segment identifier (SID) that is represented by a 128-bit IPv6
address. The IS-IS protocol encodes the network instructions in IPv6 packet headers and distributes
them through the network. Along with the addressing, network instructions define a particular task or
function for each SRv6-capable node in the SRv6 network.
NOTE: Starting in Junos OS Release 20.3R1, you can configure segment routing in a core IPv6
network without an MPLS data plane on MX Series devices with MPC7E, MPC8E and MPC9E
line cards.
This feature is useful for service providers whose networks are predominantly IPv6 and have not
deployed MPLS. Such networks depend only on IPv6 headers and header extensions for transmitting
data. This feature also benefits networks that need to deploy segment routing traffic through transit
routers that do not have segment routing capability yet. In such networks, the SRv6 network
programming feature can provide flexibility to leverage segment routing without deploying MPLS.
549
A Segment Identifier represents a specific segment in a segment routing domain. In an IPv6 network, the
SID-type used is a 128-bit IPv6 address also referred to as an SRv6 Segment or SRv6 SID. SRv6 stacks
up these IPv6 addresses instead of MPLS labels in a segment routing extension header. The Segment
Routing Extension Header (SRH) is a type of IPv6 routing extension header. Typically, the SRH contains
a segment list encoded as an SRv6 SID. An SRv6 SID consists of the following parts:
• Locator— Locator is the first part of a SID that consists of the most significant bits representing the
address of a particular SRv6 node. The locator is very similar to a network address that provides a
route to its parent node. The IS-IS protocol installs the locator route in the inet6.0 routing table. IS-IS
routes the segment to its parent node, which subsequently performs a function defined in the other
part of the SRv6 SID. You can also specify the algorithm associated with this locator. You can define a
flexible algorithm as per your network requirements.
• Function—The other part of the SID defines a function that is performed locally on the node that is
specified by the locator. There are several functions that have already been defined in the Internet
draft draft-ietf-spring-srv6-network-programming-07draft, SRv6 Network Programming. However,
the following functions are available on Junos OS that are signalled in IS-IS. IS-IS installs these
function SIDs in the inet6.0 routing table.
• End— An endpoint function for SRv6 instantiation of a Prefix SID. It does not allow for
decapsulation of an outer header for the removal of an SRH. Therefore, an End SID cannot be the
last SID of a SID list and cannot be the Destination Address (DA) of a packet without an SRH
(unless combined with the PSP, USP or USD flavors).
You can specify End SID behavior such as Penultimate Segment Pop (PSP), Ultimate Segment Pop
(USP) or Ultimate Segment Decapsulation (USD).
550
• PSP— When the last SID is written in the destination address, the End and End.X functions with
the PSP flavor pop the top-most SRH. Subsequent stacked SRHs may be present but are not
processed as part of the function.
• USP— When the next header is an SRH and there are no more segments left, the IS-IS protocol
pops the top SRH, looks up the updated destination address and forwards the packet based on
match table entry.
• USD— When the next Header in the packet is 41 or is an SRH and there are no more segments
left, then IS-IS pops the outer IPv6 header and its extension headers, looks up the exposed inner
IP destination address and forwards the packet to the matched table entry.
NOTE: The size of the locator and function is flexible, and you can customize the size per your
requirements. You must configure the locator before you define the functions. Each locator can
advertise multiple end SIDs and end.X SIDs that are associated with it. Ensure that the locator
and SIDs belong to the same subnet to avoid commit error.
For example, you can have an SRv6 SID where [Link] is the locator and
[Link] is the function:
Locator Function
2001::db8:AC05:FF01:FF01 [Link]
In a core IPv6 domain configured with segment routing you can define flexible algorithms that compute
paths using different parameters and link constraints based on your requirements. For example, you can
define a flexible algorithm that computes a path to minimize the IGP metric and define another flexible
algorithm to compute a path based on the traffic engineering metrics to divide the network into
separate planes. You can configure the flexible algorithm locators to steer packets along the constraint-
based paths in an SRv6 domain.
To configure a flexible algorithm for SRv6, see "How to Configure Flexible Algorithms in IS-IS for
Segment Routing Traffic Engineering" on page 495
551
To advertise the flexible algorithm mapped to the locator, include the algorithm option at the [edit
protocols isis segment-packet-routing srv6 locator] hierarchy level. The mapped flexible algorithm is applied
to End SIDs and End-X-SIDs under SRv6 locators.
NOTE: If a node is participating in a specific flexible algorithm it applies to both SR MPLS and
SRv6 nodes. You cannot define flexible algorithms specifically for either SR MPLS or SRv6.
For ingress traffic, Junos OS uses the encapsulation mode by default. Therefore the destination needs to
have USD capable SIDs. Other SRH anchor nodes in the flexible algorithm path can be of any flavor.
For transit traffic in the insert mode, the last anchor node for the flexible algorithm path must have a
PSP-capable SID. In the absence of the PSP-capable SID, IS-IS does not download a path through that
anchor node. In such cases, IS-IS downloads other ECMP paths with the appropriate flavored SIDs.
Topology Independent- Loop Free Alternate (TI-LFA) establishes a Fast Reroute (FRR) path that is aligned
to a post-convergence path. An SRv6-capable node inserts a single segment into the IPv6 header or
multiple segments into the SRH. Multiple SRHs can significantly raise the encapsulation overhead, which
can sometimes be more than the actual packet payload. Therefore, by default, Junos OS supports SRv6
tunnel encapsulation with reduced SRH. The point-of-local repair (PLR) adds the FRR path information
to the SRH containing the SRv6 SIDs.
The TI-LFA backup path is represented as a group of SRv6 SIDs inside an SRH. At the ingress router, IS-
IS encapsulates the SRH in a fresh IPv6 header. However, at transit routers, IS-IS inserts the SRH into
the data traffic in the following manner:
• Insert Mode— IS-IS inserts an SRH as the next header in the original IPv6 packet header and
modifies the next header according to the value of the SRH. The IPv6 destination address is replaced
with the IPv6 address of the first SID in the segment list and the original IPv6 destination address is
carried in the SRH header as the last segment in the list. To enable the insert mode at transit routers,
include the transit-srh-insert statement at the [edit protocols isis source-packet-routing srv6] hierarchy
level.
• Encap Mode— In the encap mode, the original IPv6 packet is encapsulated and transported as the
inner packet of an IPv6-in-IPv6 encapsulated packet. The outer IPv6 packet carries the SRH with the
segment list. The original IPv6 packet travels unmodified in the network. By default, Junos OS
supports SRv6 tunnel encapsulation in reduced SRH. However, you can choose one of the following
tunnel encapsulation methods:
• Reduced SRH (default)— With the reduced SRH mode, if there is only one SID, there is no SRH
added and the last SID is copied into the IPV6 destination address. You cannot preserve the entire
SID list in the SRH with a reduced SRH.
552
• Non-reduced SRH— You can configure the non-reduced SRH tunnel encapsulation mode when
you want to preserve the entire SID list in the SRH.
To configure non-reduced SRH, include the no-reduced-srh statement at the [edit routing-options
source-packet-routing srv6] hierarchy level.
NOTE: The configuration of fate-sharing is currently not supported in IPv6 only networks. Also,
SRv6 TI-LFA does not take Shared Risk Link Group (SRLG) into consideration when computing
backup paths. For more information on TI-LFA, see "Understanding Topology-Independent Loop-
Free Alternate with Segment Routing for IS-IS" on page 510.
• Core IPv6 and dual stack. IPv4 and IPv6 transport is supported for dual stack.
• Conflict resolution for Flexible Algorithm locators. Multiple nodes sharing the same locator prefix
with different algorithm values could result in unexpected routing behavior.
• Configuring normal or extended admin-groups for IPv6 networks without MPLS. These features can
only be configured at [edit protocols mpls] hierarchy level.
553
SEE ALSO
srv6
locator
Example: Configuring SRv6 Network Programming in IS-IS Networks | 553
flex-algorithm
definition
IN THIS SECTION
Requirements | 553
Overview | 553
Configuration | 555
Verification | 572
This example shows how to configure SRv6 network programing in an IS-IS network. This feature is
useful for service providers whose networks are predominantly IPv6 and have not deployed MPLS. Such
networks depend only on the IPv6 headers and header extensions for transmitting data. SRv6 network
programming provides flexibility to leverage segment routing without deploying MPLS.
Requirements
This example uses the following hardware and software components:
Overview
IN THIS SECTION
Topology | 554
554
Starting in Junos OS Release 20.3R1, you can configure SRv6 without MPLS in a core IPv6 network.
SRv6 network programming is the capability of a network to encode a network program into individual
network instructions that are then inserted into the IPv6 packet headers. The IPv6 packet carrying the
network instructions explicitly tells the network about the precise SRv6 nodes available for packet
processing. The network instruction is the SRv6 segment identifier (SID) that is represented by 128-bit
IPv6 addresses. These instructions are distributed through the network in the IPv6 packet headers.
Along with the addressing, network instructions define a particular task or function for each SRv6-
capable node in the SRv6 network. This feature benefits networks that need to deploy SR traffic through
transit routers that do not have segment routing capability yet.
Topology
In Figure 46 on page 555, Router R0 and Router R7 are ingress and egress routers that support IPv4
only devices CE1 and CE2. Routers R1, R2, R3, R4, R5, and R6 comprise an IPv6 only provider core
network. All routers belong to the same autonomous system. IS-IS is the interior gateway protocol in the
IPv6 core and is configured to support SRv6. In this example the Router R2 is configured as an IPv6
route reflector with IBGP peering sessions to both R0 and R7. No other routers speak BGP in this
example.
NOTE: To better demonstrate SRv6 tunneling this example is based on a pure IPv6 provider core.
SRv6 is supported with a dual stack core where both IPv6 and IPv4 are deployed.
The edge routers that support IPv4 devices need to transport IPv4 traffic using IPv6 tunnel
encapsulation. The encapsulation tunnels are derived from SRv6 SIDs configured at SRv6-enabled
routers. The IS-IS protocol processes these SRv6 SIDs and updates the inet6.3 table with the next-hop
addresses of the available tunnel endpoints. When an IPv4 route is learned through BGP the router
attempts to resolve the associated next hop through the inet6.3 table. When a matching entry is found
the result is an automatic IPv6 tunnel to the endpoint that advertised the BGP route.
In this example both the R0 and R7 routers advertise their attached IPv4 subnet using BGP. This results
in IPv6 tunnels between the edge routers. The tunnels are used to transport the IPv4 traffic over the
IPv6 provider core. At egress, the edge routers decapsulate the outer IPv6 header and perform an IPv4
route lookup to forward the packet to its destination.
555
Configuration
IN THIS SECTION
Results | 569
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
556
Router R0
Router R1
set protocols isis source-packet-routing srv6 locator myloc end-sid [Link] flavor usd
set protocols isis level 1 disable
Router R2
Router R3
Router R4
Router R5
Router R6
Router R7
Configuring Router R0
The following example requires that you navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
To configure SRv6 network programming to support IPv4 tunnels over a IPv6 core, perform the
following steps on the R0 router:
565
Step-by-Step Procedure
[edit]
user@R0# set interfaces xe-0/0/0:0 description To_R1_1
user@R0# set interfaces xe-0/0/0:0 vlan-tagging
user@R0# set interfaces xe-0/0/0:0 unit 0 vlan-id 1
user@R0# set interfaces xe-0/0/0:0 unit 0 family inet address [Link]/24
user@R0# set interfaces xe-0/0/0:0 unit 0 family iso
user@R0# set interfaces xe-0/0/0:0 unit 0 family inet6 address [Link]/32
user@R0# set interfaces xe-0/0/0:2 description To_R4_1
user@R0# set interfaces xe-0/0/0:2 vlan-tagging
user@R0# set interfaces xe-0/0/0:2 unit 0 vlan-id 1
user@R0# set interfaces xe-0/0/0:2 unit 0 family inet address [Link]/24
user@R0# set interfaces xe-0/0/0:2 unit 0 family iso
user@R0# set interfaces xe-0/0/0:2 unit 0 family inet6 address [Link]/32
user@R0# set interfaces xe-0/0/1:0 description to_RT
user@R0# set interfaces xe-0/0/1:0 vlan-tagging
user@R0# set interfaces xe-0/0/1:0 unit 1 vlan-id 1
user@R0# set interfaces xe-0/0/1:0 unit 1 family inet address [Link]/24
user@R0# set interfaces xe-0/0/1:0 unit 1 family iso
user@R0# set interfaces xe-0/0/1:0 unit 1 family inet6 address [Link]/120
user@R0# set interfaces xe-0/0/1:0 unit 4 vlan-id 4
user@R0# set interfaces xe-0/0/1:0 unit 4 family inet address [Link]/24
user@R0# set interfaces xe-0/0/1:0 unit 4 family iso
user@R0# set interfaces xe-0/0/1:0 unit 4 family inet6 address [Link]/120
2. Configure the loopback interface with IPv4 and IPv6 addresses that is used as router ID for BGP
sessions.
[edit]
user@R0# set interfaces lo0 unit 0 family inet address [Link]/32
user@R0# set interfaces lo0 unit 0 family iso address 49.0001.000a.0a0a.0a00
user@R0# set interfaces lo0 unit 0 family inet6 address [Link]/32
566
3. Configure the router ID and autonomous system (AS) number to propagate routing information
within a set of routing devices that belong to the same AS.
[edit]
user@R0# set routing-options router-id [Link]
user@R0# set routing-options autonomous-system 65550
4. Enable SRv6 globally and the locator address to indicate the SRv6 capability of the router. SRv6 SID
is an IPv6 address that consists of the locator and a function. The routing protocols advertise the
locator addresses.
[edit]
user@R0# set routing-options source-packet-routing srv6 locator myloc [Link]/64
5. Configure the End-Sid function for the prefix segments. Specify a flavor, that is the behavior of the
End-SID function as per your network requirements. Penultimate Segment Pop (PSP), Ultimate
Segment Pop (USP), and Ultimate Segment Decapsulation (USP) are the three available flavors for
SRv6 functions.
NOTE: Ensure that the locator and the End-SID are in the same subnet to avoid a commit
error.
[edit]
user@R0# set protocols isis source-packet-routing srv6 locator myloc end-sid
[Link] flavor usd
user@R0# set protocols isis source-packet-routing srv6 locator myloc1 end-sid
[Link] flavor usd
user@R0# set protocols isis source-packet-routing srv6 locator myloc2 end-sid
[Link] flavor usd
user@R0# set protocols isis source-packet-routing srv6 locator myloc3 end-sid
[Link] flavor usd
user@R0# set protocols isis source-packet-routing srv6 locator myloc4 end-sid
[Link] flavor usp
user@R0# set protocols isis source-packet-routing srv6 locator myloc4 end-sid
[Link] flavor usd
user@R0# set protocols isis level 1 disable
567
6. Configure End-X-SID function on the point-to-point (P2P) interface for the adjacency segments.
Specify one or more flavor for the End-X-SID.
NOTE: Ensure that the Locator and End-X-SID are in the same subnet to avoid a commit
error. You must enable SRv6 and configure the locator at the [edit routing-options] before
mapping locators to interfaces.
srv6-adjacency-segmentprotocols isis source-packet-routing srv6 locator
[edit]
user@R0# set protocols isis interface xe-0/0/0:0.0 level 2 srv6-adjacency-segment protected
locator myloc end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:0.0 level 2 srv6-adjacency-segment protected
locator myloc1 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:0.0 level 2 srv6-adjacency-segment protected
locator myloc2 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:0.0 level 2 srv6-adjacency-segment protected
locator myloc3 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:0.0 level 2 srv6-adjacency-segment protected
locator myloc4 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:0.0 node-link-protection
user@R0# set protocols isis interface xe-0/0/0:0.0 point-to-point
7. Configure SRv6 options for the adjacency segment of the LAN interface xe-0/0/0:2.0. Specify a
flavor as per your network requirements. Penultimate Segment Pop (PSP), Ultimate Segment Pop
(USP), and Ultimate Segment Decapsulation (USP) are the three available flavors for the SRv6
adjacency segment.
NOTE: Ensure that the Locator and End-X-Sid are in the same subnet to avoid a commit
error. You must enable SRv6 and configure the locator at the [edit routing-options] before
mapping locators to interfaces.
[edit]
user@R0# set protocols isis interface xe-0/0/0:2.0 level 2 lan-neighbor 0100.0404.0404 srv6-
adjacency-segment unprotected locator myloc end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:2.0 level 2 lan-neighbor 0100.0404.0404 srv6-
adjacency-segment unprotected locator myloc1 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:2.0 level 2 lan-neighbor 0100.0404.0404 srv6-
adjacency-segment unprotected locator myloc2 end-x-sid [Link] flavor usd
568
user@R0# set protocols isis interface xe-0/0/0:2.0 level 2 lan-neighbor 0100.0404.0404 srv6-
adjacency-segment unprotected locator myloc3 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:2.0 level 2 lan-neighbor 0100.0404.0404 srv6-
adjacency-segment unprotected locator myloc4 end-x-sid [Link] flavor usd
user@R0# set protocols isis interface xe-0/0/0:2.0 node-link-protection
user@R0# set protocols isis interface xe-0/0/1:0.1
user@R0# set protocols isis interface fxp0.0 disable
user@R0# set protocols isis interface lo0.0 passive
[edit]
user@R0# set protocols bgp group to-PEv6 type internal
user@R0# set protocols bgp group to-PEv6 local-address abcd::10:10:10:10
user@R0# set protocols bgp group to-PEv6 neighbor abcd::2:2:2:2 family inet unicast
extended-nexthop
user@R0# set protocols bgp group to-PE2 type internal
user@R0# set protocols bgp group to-PE2 local-address [Link]
user@R0# set protocols bgp group to-PE2 neighbor [Link] family inet6 unicast
user@R0# set protocols bgp group to-PE2 neighbor [Link] family inet6-vpn unicast
[edit]
user@R0# set policy-options policy-statement pplb then load-balance per-packet
[edit]
user@R0# set routing-options forwarding-table export pplb
569
Results
From configuration mode, confirm your configuration by entering the show interfaces, show protocols, show
policy-options, and show routing-options commands. If the output does not display the intended
configuration, repeat the instructions in this example to correct the configuration.
[edit]
user@R0# show interfaces
xe-0/0/0:0 {
description To_R1;
mtu 4000;
unit 0 {
family iso;
family inet6 {
address [Link]/64;
}
}
}
xe-0/0/0:2 {
description To_R4;
mtu 4000;
unit 0 {
family iso;
family inet6 {
address [Link]/64;
}
}
}
xe-0/0/1:0 {
description To_CE1;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
}
}
lo0 {
unit 0 {
family iso {
address 49.0001.000a.0a0a.0a00;
}
570
family inet6 {
address [Link]/128;
}
}
}
[edit]
user@R0# show protocols
bgp {
group to-R2RRv6 {
type internal;
local-address [Link];
export CE1_v4;
neighbor [Link] {
family inet {
unicast {
extended-nexthop;
}
}
}
}
}
isis {
interface xe-0/0/0:0.0 {
level 2 {
srv6-adjacency-segment {
protected {
locator myloc {
end-x-sid [Link] {
flavor psp;
}
}
}
}
}
node-link-protection;
point-to-point;
}
interface xe-0/0/0:2.0 {
level 2 {
srv6-adjacency-segment {
571
protected {
locator myloc {
end-x-sid [Link] {
flavor psp;
}
}
}
}
}
node-link-protection;
point-to-point;
}
interface lo0.0 {
passive;
}
source-packet-routing {
srv6 {
locator myloc {
end-sid [Link] {
flavor {
usd;
}
}
}
}
}
level 1 disable;
}
[edit]
user@R0# show policy-options
policy-statement CE1_v4 {
term 1 {
from {
protocol direct;
route-filter [Link]/24 exact;
}
then {
next-hop [Link];
accept;
}
572
}
}
policy-statement pplb {
then {
load-balance per-packet;
}
}
[edit]
user@R0# show routing-options
source-packet-routing {
srv6 {
locator myloc [Link]/64;
}
}
forwarding-table {
export pplb;
}
router-id [Link];
autonomous-system 65550;
When done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify IS-IS adjacencies and IBGP session at R2. R2 is chosen for this task because it has 5 adjacencies
and also serves as the router reflector for the BGP control plane.
NOTE: Its a good idea to confirm the IS-IS adjacencies on all routers before proceeding to the
remaining verification steps. A successful SRv6 deployment requires that the interior gateway
protocol is operational on all nodes.
Action
From operational mode, run the show isis adjacency command on router R2.
From operational mode, run the show bgp summary command on router R2.
inet.0: 1/1/1/0
[Link] 65550 3091 3080 0 0 [Link] Establ
inet.0: 1/1/1/0
Meaning
The output confirms the expected IS-IS adjacency count for the R2 router. It also confirms that R2 has
established IPv6 based BGP sessions to both the R0 and R7 routers.
Purpose
Verify that SRv6 is enabled with a locator, End-SID, and flavor on Router R0.
Action
From operational mode, run the show isis overview command on Router R0.
Meaning
The configured SRv6 locator SRv6: Enabled Locator: [Link]/64, Algorithm: 0 and , End-SID and flavor
END-SID: [Link], Flavor: USD are displayed in the output.
Purpose
Action
From operational mode, run the show isis adjacency detail command on Router R0.
R4
Interface: xe-0/0/0:2.0, Level: 2, State: Up, Expires in 20 secs
Priority: 0, Up/Down transitions: 1, Last transition: [Link] ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: [Link]
IPv6 addresses: fe80::2e6b:f5ff:feb4:4000
IPv6 Global Interface Address: [Link]
Level 2 SRv6 protected END-X-SID: [Link]
Flavor: PSP, Flags: B-P, Algorithm: 0
Meaning
The field SRv6 protected END-X-SID: [Link] indicates that End-X-SID function with Flavor PSP has
been configured on router R0 for the interface used to attach to R1. Similar output is confirmed for the
interface connected to R4, which uses a different End-X-SID.
Purpose
Action
From operational mode, run the show route [Link]/64 detail command on router R0.
Meaning
The output confirms the locator route [Link]/64*[IS-IS/18] is installed in the inet6.0 table.
Purpose
To display the configured End-X-SID route information that is applied at the interface.
Action
From operational mode, run the show route [Link] command on Router R0.
[Link]/128
*[IS-IS/18] [Link], metric 0
> to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0
Meaning
The output confirms the End-X-SID route [Link]/128 is installed in the inet.6.0 routing table.
578
Purpose
Verify that the End-SID routes for all routers in the SRv6 domain are installed in the inet6.3 table at
Router R0.
Action
From operational mode, run the show route table inet6.3 protocol isis command on Router R0 to see all
End-SIDs the router has learned. Then display detailed information about the End-SID associated with
the R7 router.
[Link]/128
*[SRV6-ISIS/14] [Link], metric 10
> to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 20
to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 30
to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 10
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 20
to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
579
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 30
to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
[Link]
[Link]/128
*[SRV6-ISIS/14] [Link], metric 40
to fe80::2e6b:f5ff:fedb:e800 via xe-0/0/0:0.0, SRV6-Tunnel, Dest:
[Link]
> to fe80::2e6b:f5ff:feb4:4000 via xe-0/0/0:2.0, SRV6-Tunnel, Dest:
[Link]
Meaning
The output confirms that Router R0 has learned End-SIDs, that is, [Link]/128 and
[Link]/128, from all other routers in the topology. Note the End-SIDs have been installed in the
inet6.3 table. The detailed output for the End-SID advertised by R7 [Link] confirms an SRv6
tunnel has been established between Router R0 and Router R7.
Note that the segment list is populated with the End-SID value configured on the Router R7. Recall that
all End-SIDs in this example are configured with the Ultimate Segment Decapsulate (USD) flavor. It’s the
combination of a local End-SID and the associated USD flavor that tells R7 it’s the egress of the IPv6
tunnel. Upon receipt R7 decapsulates the IPv4 packet and routes it according to the IPv4 destination
address.
Purpose
Display the IS-IS database to verify the End-SID and flavor configured at Router R7. In this example the
command is executed on Router R0. Similar output is expected on all router because the IS-IS database
is replicated to all nodes.
581
Action
From operational mode, run the show isis database R7.00-00 extensive command on Router R0.
Packet: LSP ID: R7.00-00, Length: 445 bytes, Lifetime : 1192 secs
Checksum: 0x2ce6, Sequence: 0x31f, 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.00 (2)
LSP Buffer Size: 1492
Speaks: IP
Speaks: IPV6
IP router id: [Link]
IP address: [Link]
IPv6 TE Router ID: [Link]
Hostname: R7
SRv6 Locator: [Link]/64, Metric: 0, MTID: 0, Flags: 0x0, Algorithm: 0
582
Meaning
The presence of SRv6 SID: [Link] with Flavor: USD confirms that SRv6 is enabled with a SID
decapsulate flavor on the R7 router. The output also shows that the interfaces at R7 have been
configured for TI-LFA protection using a PSP flavor.
583
Purpose
Display the route to the IPv4 subnet at R7 to confirm the next hop points to an SRv6 tunnel.
Action
From operational mode, run the show route [Link]/24 command on router R0.
Meaning
The output confirms that R0 has learned the route to the [Link]/24 subnet through its BGP session
to R2, which recall is configured as a route reflector in this example. The next hops confirm that an SRv6
tunnel to the R7 router has been installed for this route. Two next hops are available in keeping with
their being two equal cost paths between the R0 and R7 routers in the example topology.
Purpose
Generate pings to verify IPv4 connectivity between the CE devices over the IPv6 provider core.
584
Action
From operational mode, run the ping [Link] source [Link] count 2 command on router R0.
Meaning
The output confirms IPv4 connectivity is working between the CE device networks. This provides
verification that SRv6 tunneling over an IPv6 provider core is working properly in this example.
RELATED DOCUMENTATION
locator
srv6
How to Enable SRv6 Network Programming in IS-IS Networks | 547
IN THIS SECTION
Example: Enable IS-IS Link Delay with Source Packet Routing in Networking (SPRING) in a Layer 3 Virtual
Private Network (VPN) | 586
585
IN THIS SECTION
Link delay measurement and advertising in IS-IS provides the following benefits:
• Highly beneficial in certain networks such as stock market data providers, where it is crucial to have
access to market data in real-time to make trades faster than the competition. This is where network
performance criteria or latency is becoming critical to data-path selection.
• Helps to make path-selection decisions based on performance data (such as latency) in a cost-
effective and scalable way.
• Superior alternative to using metrics such as hop count or cost as routing metrics.
Network performance is measured by using TWAMP -Light. Starting in Junos OS Release 21.1R1, you
can get the measurement of various performance metrics in IP networks, by using probe messages. IS-IS
Traffic Engineering Extensions helps to distribute network-performance information in a scalable
fashion. This information can then be used to make path-selection decisions based on network
performance.
Border Gateway Protocol Link-State (BGP-LS) allows BGP to carry link-state information acquired from
IGPs, which then allows internet service providers (ISP) to selectively expose the information with other
ISPs, service providers, CDNs and so on, through normal BGP peering. New BGP-Link State (BGP-LS)
TLVs are defined to carry the IGP Traffic Engineering Metric Extensions.
The following illustration depicts the minimum IGP metric and minimum delay metric in networks that
consist a core, metro, and access network.
586
In this scenario, core network is cheaper but has longer delay. Access shortcut, with lowest latency is
expensive. As core network is cheaper, majority of traffic typically go from 1>2>3>4>5> to 6 by using
minimum IGP metric. As displayed in scenario a), you can achieve minimum IGP requirement by running
IS-IS with appropriate cost configured and default IS-IS algorithm set to zero. In businesses where ultra-
low latency is crucial, packets need to go from 1 to 6. As displayed in scenario b), you can achieve
minimum delay metric by defining IS-IS flex algorithm with minimum latency, which minimize the delay
to the endpoint. This flex algorithm consists only node 1 and node 6.
Example: Enable IS-IS Link Delay with Source Packet Routing in Networking (SPRING)
in a Layer 3 Virtual Private Network (VPN)
IN THIS SECTION
Requirements | 587
Overview | 588
Configuration | 589
Verification | 619
This example shows how to configure IS-IS link delay with SPRING in a Layer3 VPN scenario. In the
example, you can create two VPNs between PE1 and PE2. VPN1 optimizes link delay and VPN2
optimizes IGP metric. Although you can configure the feature to enable bidirectional traffic in the test
topology, we're focusing on a unidirectional traffic scenario in this example. Specifically, your task is to
control the forwarding path for Layer 3 VPN traffic sent by PE1 to destinations advertised by PE2.
587
Requirements
IN THIS SECTION
Topology | 587
Topology
In the topology, most links have a (default) IGP metric of 10, dynamic delay measurements, and blue
coloring. The exceptions are the red colored path between PE1 and P1 and the static delay
configuration on the P2 to PE2 link.
We've configured the test topology to support IS-IS link delay for both IPv4 and IPv6. We've configured
the P2 router as a route reflector with the PE devices as its clients. To keep the topology simple, we are
588
using static routes in the PE2 router's VRFs. This eliminates the need for CE devices and a PE-CE routing
protocol such as EBGP.
Your goal is to configure the network so that the routes advertised by PE2 for VPN1 take a path that
optimizes delay while also being confined to using only blue links. In contrast, traffic sent to the routes
associated with VPN2 can take either a blue or red link with path optimization based on its IGP metric.
• The Flex Algorithm Definition (FAD) for VPN1 uses algorithm 128. We've configured it to use blue
colored links only (PE1>P2>P1>PE2) over a path that is optimized to reduce delay. To help
demonstrate proper path selection, you configure a static delay of 20000 microseconds between P2
and PE2. This delay is significantly higher than the dynamic delay measured on the remaining links.
As a result you expect flex algorithm 128 traffic to avoid the P2 to PE2 link, instead preferring
additional hops along the blue color path (PE1>P2>P1>PE2).
• The Flex Algorithm Definition (FAD) for VPN2 uses algorithm 129. We've configured it to take either
blue or red links (PE1>P1>PE2 or PE1>P2>PE2), with the path optimized on IGP metric. As a result
traffic using flex algorithm 129 has two equal cost paths between PE1 and PE2, both incurring two
hops and a resulting metric of 20.
Overview
In IP networks, the bulk of traffic often goes through the core network, which reduces costs but might
result in increased latency. Business traffic, however, often benefits from the ability to make path-
selection decisions based on other performance metrics, such as path latency, rather than relaying on
the traditional path optimization based simply on IGP metrics. Optimizing a path to reduce latency can
greatly benefit applications like real-time voice and video. It can also enable high performance access to
financial market data where milliseconds can translate into significant gains or losses.
Starting in Junos OS Release 21.1R1, you can enable IS-IS link delay in IP networks. You can achieve
minimum IGP metric paths by configuring IS-IS with the appropriate link cost using the default IS-IS
algorithm (0). Doing so optimizes paths to the endpoint that are based strictly on the sum of the link
metrics. By using the IS-IS delay flex algorithm you can optimize paths based on their end-to-end delay.
Link delay can be dynamically measured using Two-Way Active Measurement Probes (TWAMP). The
routers then flood their link delay parameters. The routers in the area store these parameters in the
shared Link State Database (LSDB). Ingress nodes run an SPF algorithm against the LSDB to compute
paths that are optimized on various attributes, such as link colors, IGP metric, traffic-engineering (TE)
metric, or as shown in this example, link delay.
The egress router signals which flex algorithm is desired by attaching an associated color community to
routes advertised through BGP. At the sending end (the local PE that has received the tagged routes
advertised by the remote PE), these color communities are used to index into a color table that resolves
the remote protocol next hop (the PE's loopback address) to a flex algorithm identifier. In the context of
Layer 3 VPNs a color mapping policy is used at the ingress node to select which prefixes should have
their next hops resolved via the color table.
589
The local PE then uses its local Flex Algorithm Definition (FAD) to map the flex algorithm identifier into a
set of path selection criteria, for example "use blue links and optimize on delay". The ingress PE
calculates the optimal path based on the values in the LSDB, pushes the related MPLS label stack onto
the packet, and sends it to the associated next hop. This results in traffic-engineered MPLS paths using
IS-IS as the signaling protocol.
Configuration
IN THIS SECTION
Results | 612
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
NOTE: Depending on the type of MPCs in your MX Series routers you might need to explicitly
enable enhanced IP services to support the IS-IS delay feature. When you commit the set chassis
network-services enhanced-ip configuration statement, you will be prompted to reboot the system.
PE1
P1
P2
PE2
segment
set policy-options policy-statement prefix-sid term 2 then prefix-segment algorithm 129 index
4293
set policy-options policy-statement prefix-sid term 2 then prefix-segment algorithm 129 node-
segment
set policy-options policy-statement prefix-sid term 2 then prefix-segment index 4003
set policy-options policy-statement prefix-sid term 2 then prefix-segment node-segment
set policy-options policy-statement prefix-sid term 2 then accept
set policy-options policy-statement vpn_1_export term 1 from route-filter [Link]/24 orlonger
set policy-options policy-statement vpn_1_export term 1 then community add color128
set policy-options policy-statement vpn_1_export term 1 then next-hop [Link]
set policy-options policy-statement vpn_1_export term 1 then accept
set policy-options policy-statement vpn_1_export_v6 term 1 from route-filter
[Link]/80 orlonger
set policy-options policy-statement vpn_1_export_v6 term 1 then community add color128
set policy-options policy-statement vpn_1_export_v6 term 1 then next-hop [Link]
set policy-options policy-statement vpn_1_export_v6 term 1 then accept
set policy-options policy-statement vpn_1_export_v6 term 2 from route-filter
[Link]/128 exact
set policy-options policy-statement vpn_1_export_v6 term 2 then community add color128
set policy-options policy-statement vpn_1_export_v6 term 2 then next-hop [Link]
set policy-options policy-statement vpn_1_export_v6 term 2 then accept
set policy-options policy-statement vpn_2_export term 1 from route-filter [Link]/24 orlonger
set policy-options policy-statement vpn_2_export term 1 then community add color129
set policy-options policy-statement vpn_2_export term 1 then next-hop [Link]
set policy-options policy-statement vpn_2_export term 1 then accept
set policy-options policy-statement vpn_2_export_v6 term 1 from route-filter
[Link]/80 orlonger
set policy-options policy-statement vpn_2_export_v6 term 1 then community add color129
set policy-options policy-statement vpn_2_export_v6 term 1 then next-hop [Link]
set policy-options policy-statement vpn_2_export_v6 term 1 then accept
set policy-options community color128 members color:0:128
set policy-options community color129 members color:0:129
set policy-options resolution-map map1 mode ip-color
set routing-instances vpn1 instance-type vrf
set routing-instances vpn1 routing-options rib vpn1.inet6.0 static route [Link]/80
receive
set routing-instances vpn1 routing-options static route [Link]/24 receive
set routing-instances vpn1 interface lo0.1
set routing-instances vpn1 route-distinguisher 64512:1
set routing-instances vpn1 vrf-target target:64512:1
set routing-instances vpn1 vrf-table-label
set routing-instances vpn2 instance-type vrf
599
Step-by-step Procedure
1. Configure the basic device settings such as hostname, IPv4, IPv6 addresses, loopback interface
addresses, enhanced-ip mode, and enable the ISO and MPLS protocol families on all interfaces of all 4
routers.
user@PE1#
set system host-name PE1
set chassis network-services enhanced-ip
set interfaces ge-0/0/0 description To_R1
set interfaces ge-0/0/0 unit 0 family inet address [Link]/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family inet6 address [Link]/80
set interfaces ge-0/0/0 unit 0 family mpls maximum-labels 16
set interfaces ge-0/0/1 description To_R2
set interfaces ge-0/0/1 unit 0 family inet address [Link]/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family inet6 address [Link]/80
set interfaces ge-0/0/1 unit 0 family mpls maximum-labels 16
set interfaces lo0 unit 0 family inet address [Link]/32
set interfaces lo0 unit 0 family inet address [Link]/32
set interfaces lo0 unit 0 family iso address 49.0001.000a.0a0a.0a00
set interfaces lo0 unit 0 family inet6 address [Link]/128
set interfaces lo0 unit 1 family inet address [Link]/32
set interfaces lo0 unit 1 family inet6 address [Link]/128
set interfaces lo0 unit 2 family inet address [Link]/32
set interfaces lo0 unit 2 family inet6 address [Link]/128
601
2. Configure the router-ID, autonomous system (AS) number, and apply a load balancing export policy
to the forwarding table on all routers to enable load balancing of traffic.
user@PE1#
set routing-options router-id [Link]
set routing-options autonomous-system 64512
set routing-options forwarding-table export pplb
3. On PE1 and PE2, configure equal-cost multipath (ECMP) to enable fast reroute protection. Also
configure chained composite next hop to allow the routers to point routes that share the same
destination to a common forwarding next hop. This option improves forwarding information base
(FIB) scaling.
user@PE1#
set routing-options forwarding-table ecmp-fast-reroute
set routing-options forwarding-table chained-composite-next-hop ingress l3vpn
4. Enable MPLS protocol processing on all interfaces at all routers. Also enable traffic engineering.
user@PE1#
set protocols mpls interface fxp0.0 disable
set protocols mpls interface all
set protocols mpls traffic-engineering
5. Enable TWAMP probes on all routers. These probes support dynamic measurement of the link
delay between each pair of routers.
user@PE1#
set services rpm twamp server authentication-mode none
set services rpm twamp server light
6. Configure the IS-IS protocol for point-to-point operation (TWAMP based delay measurements are
not supported on multi-point links), and enable node protection mode for Topology-Independent
Loop-Free Alternate (TILFA) operation on all interfaces. You also enable passive mode IS-IS on the
loopback interface and disable IS-IS level 1 to use only IS-IS level 2. Enable traffic engineering with
layer 3 unicast topology to download IGP topology into the TED. Configure IS-IS to support
SPRING routed paths. The prefix-sid export policy is defined in a subsequent step. This policy is
602
used to have the local node advertise its loopback address with a mapping to one or more flex
algorithms.
user@PE1#
set protocols isis level 1 disable
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface ge-0/0/1.0 level 2 post-convergence-lfa node-protection
set protocols isis interface lo0.0 passive
set protocols isis backup-spf-options use-post-convergence-lfa maximum-backup-paths 8
set protocols isis backup-spf-options use-source-packet-routing
set protocols isis traffic-engineering l3-unicast-topology
set protocols isis traffic-engineering advertisement always
set protocols isis export prefix-sid
7. Configure dynamic IS-IS link delay-measurement using TWAMP probes on all IS-IS interfaces at all
routers (except for the link between P2 and PE2, which uses a static delay value in this example).
user@PE1#
set protocols isis interface ge-0/0/0.0 delay-measurement advertisement periodic threshold
100
set protocols isis interface ge-0/0/1.0 delay-measurement advertisement periodic threshold
100
user@P1#
set protocols isis interface ge-0/0/0.0 delay-measurement advertisement periodic threshold
100
set protocols isis interface ge-0/0/1.0 delay-measurement advertisement periodic threshold
100
set protocols isis interface ge-0/0/2.0 delay-measurement advertisement periodic threshold
100
user@P2#
set protocols isis interface ge-0/0/0.0 delay-measurement advertisement periodic threshold
100
set protocols isis interface ge-0/0/1.0 delay-measurement advertisement periodic threshold
100
603
user@PE2#
set protocols isis interface ge-0/0/0.0 delay-measurement advertisement periodic threshold
100
set protocols isis interface ge-0/0/1.0 delay-measurement advertisement periodic threshold
100
user@P2#
set protocols isis interface ge-0/0/2.0 delay-metric 20000
user@PE2#
set protocols isis interface ge-0/0/1.0 delay-metric 20000
9. Configure PE1 and PE2 to support two Layer 3 VPNs (VPN1 and VPN2).
user@PE1#
set routing-instances vpn1 instance-type vrf
set routing-instances vpn1 interface lo0.1
set routing-instances vpn1 route-distinguisher 64512:1
set routing-instances vpn1 vrf-target target:64512:1
set routing-instances vpn1 vrf-table-label
NOTE: Note that the routing instances at PE2 are configured with IPv4 and IPv6 static
routes. These routes are configured with the receive option to allow you to test connectivity
using ping. The IS-IS delay feature operates the same if the Layer 3 VPN uses a dynamic
604
routing protocol between the PE and an attached CE device. We use static routes in this
example to keep the topology simple to allow focus on the IS-IS delay optimization feature.
user@PE2#
set routing-instances vpn1 instance-type vrf
set routing-instances vpn1 routing-options rib vpn1.inet6.0 static route
[Link]/80 receive
set routing-instances vpn1 routing-options static route [Link]/24 receive
set routing-instances vpn1 interface lo0.1
set routing-instances vpn1 route-distinguisher 64512:1
set routing-instances vpn1 vrf-target target:64512:1
set routing-instances vpn1 vrf-table-label
10. Configure a map policy at PE1 to enable VPN route resolution for matching prefixes against the
BGP color table. This allows you to evoke flex path forwarding algorithms on a per-prefix basis. The
map1 resolution policy is set to the ip-color resolution mode.
NOTE: In a Layer 3 VPN context a mapping policy is needed to select which prefixes are
allowed to have their next hop resolved in the color table. Simply having routes with
extended next hops and color communities attached does not result in the use of the color
table, unless a mapping policy is used.
user@PE1#
set policy-options policy-statement vpn1_res_map1 term 1 from route-filter [Link]/24
orlonger
set policy-options policy-statement vpn1_res_map1 term 1 then accept
set policy-options policy-statement vpn1_res_map1 term 1 then resolution-map map1
set policy-options policy-statement vpn2_res_map1 term 1 from route-filter [Link]/24
orlonger
605
11. Configure VPN route export policies at PE2 to attach the desired color communities to the VPN
routes it advertises to PE1 (via the route reflector). Of significance here is how the routes from
VPN1 have the color community for flex path 128 (optimize delay) attached, while the routes
advertised from VPN2 have the 129 color community attached (optimize IGP metric).
user@PE2#
set policy-options policy-statement vpn_1_export term 1 from route-filter [Link]/24
orlonger
set policy-options policy-statement vpn_1_export term 1 then community add color128
set policy-options policy-statement vpn_1_export term 1 then next-hop [Link]
set policy-options policy-statement vpn_1_export term 1 then accept
12. Configure BGP peering between the PE devices and the route reflector. Configure the unicast
network layer reachability information (NLRI) to support extended color next hops on the PE
devices. Enabling this option allows routes with color communities to have their next hop resolve
through the color table. Without the extended next hop setting route with color communities
undergoing normal next hop resolution and will not use flex algorithm paths.
13. You also enable support for IPv4 and IPv6 Layer 3 VPN unicast routes. On PE1 you apply the color
mapping policies as import, so it can act on the routes received from the remote PE device.
user@PE1#
set protocols bgp group to-RR type internal
set protocols bgp group to-RR local-address [Link]
set protocols bgp group to-RR neighbor [Link]
set protocols bgp group to-RR family inet unicast extended-nexthop-color
set protocols bgp group to-RR family inet-vpn unicast
set protocols bgp group to-RR family traffic-engineering unicast
set protocols bgp group to-RR import vpn1_res_map1
set protocols bgp group to-RR import vpn2_res_map1
set protocols bgp group to-RRv6 type internal
set protocols bgp group to-RRv6 local-address [Link]
set protocols bgp group to-RRv6 neighbor [Link]
set protocols bgp group to-RRv6 family inet6 unicast extended-nexthop-color
set protocols bgp group to-RRv6 family inet6-vpn unicast
set protocols bgp group to-RRv6 import v6vpn1_res_map1
set protocols bgp group to-RRv6 import v6vpn2_res_map1
user@P2#
set protocols bgp group to-RR type internal
set protocols bgp group to-RR local-address [Link]
set protocols bgp group to-RR neighbor [Link]
set protocols bgp group to-RR neighbor [Link]
set protocols bgp cluster [Link]
set protocols bgp group to-RR family inet unicast
set protocols bgp group to-RR family inet-vpn unicast
607
On PE 2 you apply export policy to attach the desired color community to the VPN route
advertisements sent to PE1. The vpn-apply-export option is needed at PE2 to allow the export
policies to act on VPN routes advertised to remote PEs.
user@PE2#
set protocols bgp group to-RR type internal
set protocols bgp group to-RR local-address [Link]
set protocols bgp group to-RR neighbor [Link]
set protocols bgp group to-RR family inet unicast extended-nexthop-color
set protocols bgp group to-RR family inet-vpn unicast
set protocols bgp group to-RR export vpn_1_export
set protocols bgp group to-RR export vpn_2_export
set protocols bgp group to-RR vpn-apply-export
user@PE1#
set policy-options policy-statement pplb then load-balance per-packet
15. Configure support for segment routing with two flex algorithms (128 and 129) on all routers.
user@PE1#
set protocols isis source-packet-routing srgb start-label 80000
set protocols isis source-packet-routing srgb index-range 5000
set protocols isis source-packet-routing flex-algorithm 128
set protocols isis source-packet-routing flex-algorithm 129
16. Configure all routers to advertise their loopback address with support for both the 128 and 129
flex algorithms. The prefix-segment index option sets the base label for each router's loopback
608
address. In this example the IPv4 base index and IPv6 base index is set to reflect the router number.
As a result R0 (PE1) uses 1000 for IPv4 while R1 (P1) uses 1001.
user@PE1#
set policy-options policy-statement prefix-sid term 1 from route-filter [Link]/32
exact
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
index 1280
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
index 1290
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment index 1000
set policy-options policy-statement prefix-sid term 1 then prefix-segment node-segment
set policy-options policy-statement prefix-sid term 1 then accept
user@P1#
set policy-options policy-statement prefix-sid term 1 from route-filter [Link]/32
exact
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
index 1281
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
index 1291
609
user@P2#
set policy-options policy-statement prefix-sid term 1 from route-filter [Link]/32
exact
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
index 1282
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
index 1292
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment index 1002
set policy-options policy-statement prefix-sid term 1 then prefix-segment node-segment
set policy-options policy-statement prefix-sid term 1 then accept
user@PE2#
set policy-options policy-statement prefix-sid term 1 from route-filter [Link]/32
exact
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
index 1283
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 128
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
index 1293
set policy-options policy-statement prefix-sid term 1 then prefix-segment algorithm 129
node-segment
set policy-options policy-statement prefix-sid term 1 then prefix-segment index 1003
set policy-options policy-statement prefix-sid term 1 then prefix-segment node-segment
set policy-options policy-statement prefix-sid term 1 then accept
17. On all routers define the RED and BLUE MPLS administration groups, and assign the desired color
to each interface. You also enable ICMP tunneling to allow trace route support in the context of
MPLS based Layer 3 VPNs.
user@PE1#
set protocols mpls admin-groups RED 0
set protocols mpls admin-groups BLUE 1
set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 admin-group RED
set protocols mpls interface ge-0/0/1.0 admin-group BLUE
user@P1#
set protocols mpls admin-groups RED 0
set protocols mpls admin-groups BLUE 1
set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 admin-group
RED
set protocols mpls interface ge-0/0/1.0 admin-group BLUE
set protocols mpls interface ge-0/0/2.0 admin-group BLUE
user@P2#
set protocols mpls admin-groups RED 0
set protocols mpls admin-groups BLUE 1
set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 admin-group
BLUE
set protocols mpls interface ge-0/0/1.0 admin-group BLUE
set protocols mpls interface ge-0/0/2.0 admin-group BLUE
user@PE2#
set protocols mpls admin-groups RED 0
set protocols mpls admin-groups BLUE 1
set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 admin-group
BLUE
set protocols mpls interface ge-0/0/1.0 admin-group BLUE
18. Configure the FADs at the ingress PE device (PE1) under the routing-options hierarchy. In this case
you assign flex algorithm 128 to optimize the path based on the delay-metric and 129 to optimize on
the igp-metric. In this example, flex algorithm 128 must take only blue color paths, while flex
algorithm 129 can take either a blue or a red color path. In this example you define the FADs at PE1
only as we focus only on the forwarding path from PE1 to PE2.
612
To support bidirectional flex path forwarding you will need to define the desired FADs on the PE2
device. The P routers don't require a FAD definition as the FAD is only used by the ingress node
when calculating a path to the egress node.
user@PE1#
set routing-options flex-algorithm 128 definition metric-type delay-metric
set routing-options flex-algorithm 128 definition spf
set routing-options flex-algorithm 128 definition admin-group include-any BLUE
Results
ge-0/0/0 {
description To_R1;
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family inet6 {
address [Link]/80;
}
family mpls {
maximum-labels 16;
}
}
}
ge-0/0/1 {
description To_R2;
unit 0 {
family inet {
613
address [Link]/24;
}
family iso;
family inet6 {
address [Link]/80;
}
family mpls {
maximum-labels 16;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
address [Link]/32;
}
family iso {
address 49.0001.000a.0a0a.0a00;
}
family inet6 {
address [Link]/128;
}
}
unit 1 {
family inet {
address [Link]/32;
}
family inet6 {
address [Link]/128;
}
}
unit 2 {
family inet {
address [Link]/32;
}
family inet6 {
address [Link]/128;
}
}
}
614
policy-statement pplb {
then {
load-balance per-packet;
}
}
policy-statement prefix-sid {
term 1 {
from {
route-filter [Link]/32 exact;
}
then {
prefix-segment {
algorithm 128 index 1280 node-segment;
algorithm 129 index 1290 node-segment;
index 1000;
node-segment;
}
accept;
}
}
term 2 {
from {
route-filter [Link]/128 exact;
}
then {
prefix-segment {
algorithm 128 index 4280 node-segment;
algorithm 129 index 4290 node-segment;
index 4000;
node-segment;
}
accept;
}
}
}
policy-statement v6vpn1_res_map1 {
from {
route-filter [Link]/80 orlonger;
}
then {
615
accept;
resolution-map map1;
}
}
policy-statement v6vpn2_res_map1 {
from {
route-filter [Link]/80 orlonger;
}
then {
accept;
resolution-map map1;
}
}
policy-statement vpn1_res_map1 {
term 1 {
from {
route-filter [Link]/24 orlonger;
}
then {
accept;
resolution-map map1;
}
}
}
policy-statement vpn2_res_map1 {
term 1 {
from {
route-filter [Link]/24 orlonger;
}
then {
accept;
resolution-map map1;
}
}
}
resolution-map map1 {
mode ip-color;
}
616
bgp {
group to-RRv6 {
type internal;
local-address [Link];
import [ v6vpn1_res_map1 v6vpn2_res_map1 ];
family inet6 {
unicast {
extended-nexthop-color;
}
}
family inet6-vpn {
unicast;
}
neighbor [Link];
}
group to-RR {
type internal;
local-address [Link];
import [ vpn1_res_map1 vpn2_res_map1 ];
family inet {
unicast {
extended-nexthop-color;
}
}
family inet-vpn {
unicast;
}
family traffic-engineering {
unicast;
}
neighbor [Link];
}
}
isis {
interface ge-0/0/0.0 {
level 2 {
post-convergence-lfa {
node-protection;
}
}
617
delay-measurement {
advertisement {
periodic {
threshold 100;
}
}
}
point-to-point;
}
interface ge-0/0/1.0 {
level 2 {
post-convergence-lfa {
node-protection;
}
}
delay-measurement {
advertisement {
periodic {
threshold 100;
}
}
}
point-to-point;
}
interface lo0.0 {
passive;
}
source-packet-routing {
srgb start-label 80000 index-range 5000;
flex-algorithm [ 128 129 ];
}
level 1 disable;
backup-spf-options {
use-post-convergence-lfa maximum-backup-paths 8;
use-source-packet-routing;
}
traffic-engineering {
l3-unicast-topology;
advertisement always;
}
export prefix-sid;
}
mpls {
618
traffic-engineering;
admin-groups {
RED 0;
BLUE 1;
}
icmp-tunneling;
interface all;
interface fxp0.0 {
disable;
}
interface ge-0/0/0.0 {
admin-group RED;
}
interface ge-0/0/1.0 {
admin-group BLUE;
}
}
flex-algorithm 128 {
definition {
metric-type delay-metric;
spf;
admin-group include-any BLUE;
}
}
flex-algorithm 129 {
definition {
metric-type igp-metric;
spf;
admin-group include-any [ RED BLUE ];
}
}
router-id [Link];
autonomous-system 64512;
forwarding-table {
export pplb;
ecmp-fast-reroute;
chained-composite-next-hop {
ingress {
619
l3vpn;
}
}
}
vpn1 {
instance-type vrf;
interface lo0.1;
route-distinguisher 64512:1;
vrf-target target:64512:1;
vrf-table-label;
}
vpn2 {
instance-type vrf;
interface lo0.2;
route-distinguisher 64512:2;
vrf-target target:64512:2;
vrf-table-label;
}
twamp {
server {
authentication-mode none;
light;
}
}
Verification
IN THIS SECTION
IN THIS SECTION
Purpose | 620
Action | 620
Meaning | 620
Purpose
Action
Meaning
Th output indicates that PE1 has successfully formed IS-IS adjacencies on its ge-0/0/0.0 and ge-0/0/1.0
interfaces, which attach to their P1 and P2 routers, respectively.
621
IN THIS SECTION
Purpose | 621
Action | 621
Meaning | 622
Purpose
Verify that link delay parameters are present in the IS-IS database.
Action
Use the show isis database extensive | match delay operational command.
Meaning
The output displays the dynamic delay that is associated with the various interfaces in the topology. The
highlighted portion of the output specifies the static delay of 20000 microseconds that is configured on
the P2 to PE2 link. The statically configured delay value is significantly higher than any of the dynamic
delay measurements. This large delay is configured to make it easy to predict the delay optimized blue
path through the network.
IN THIS SECTION
Purpose | 622
Action | 623
Meaning | 623
Purpose
Verify that both PEs have successfully established IPv4 and IPv6 peering sessions to the route reflector.
623
Action
Use the show bgp summary operational command. In this case we run the command on P2, the route
reflector, as it provides a convenient location to confirm both peering sessions from both PEs using a
single command.
Meaning
The output confirms that all BGP peering sessions are established correctly. The display also confirms
that Layer 3 VPN routes are being advertised/learned over these peering sessions.
624
IN THIS SECTION
Purpose | 624
Action | 624
Meaning | 625
Purpose
Verify the VPN routes advertised by PE2 are correctly tagged with a color community.
Action
Use the show route detail <prefix> table <table-name> operational command at PE1 to display details about a
Layer 3 VPN route learned from PE2.
Meaning
The output confirms that a VPN prefix in the VPN1 routing instance has a color community color:0:128
attached. In addition, you can confirm that the protocol next hop for this route is the loopback address
of the PE2 router with an extended next hop that indexes a matching entry in the color table.
Though not show, you can repeat this command for a prefix in the VPN2 table. You expect to find these
routes have the color:0:129 attached.
IN THIS SECTION
Purpose | 626
Action | 626
Meaning | 627
626
Purpose
Verify the inetcolor.0 routing table is correctly populated with all router IDs (loopback addresses)
showing support for both the 128 and 129 flex algorithms.
NOTE: IPv6 routes are supported via the inet6color.0 table. You can verify this table using the
same approach as shown in this section for the IPv4 color table.
Action
[Link]-128<c>/64
*[L-ISIS/14] 6d [Link], metric 1527
> to [Link] via ge-0/0/1.0, Push 81281
[Link]-129<c>/64
*[L-ISIS/14] 6d [Link], metric 10
> to [Link] via ge-0/0/0.0
to [Link] via ge-0/0/1.0, Push 81291
[Link]-128<c>/64
*[L-ISIS/14] 6d [Link], metric 761
> to [Link] via ge-0/0/1.0
[Link]-129<c>/64
*[L-ISIS/14] 6d [Link], metric 10
> to [Link] via ge-0/0/1.0
to [Link] via ge-0/0/0.0, Push 81292
[Link]-128<c>/64
*[L-ISIS/14] 6d [Link], metric 2382
> to [Link] via ge-0/0/1.0, Push 81283
[Link]-129<c>/64
*[L-ISIS/14] 6d [Link], metric 20
> to [Link] via ge-0/0/0.0, Push 81293
to [Link] via ge-0/0/1.0, Push 81293
627
Meaning
The output displays the routes in the inetcolor.0 route table. The highlighted portion indicates the two
routes originate from PE2. The [Link]-128<c> route has only one possible path and takes the
ge-0/0/1.0 interface to P2 as a next hop. Recall that the 128 flex algorithm must use blue links, and from
the perspective of PE1, which leaves only the blue colored ge-0/0/1 interface as a viable path.
In contrast, the route for [Link]-129<c> is able to load balance over both the ge-0/0/0.0 interfaces to
P1 and the ge-0/0/1.0 to P2. Recall that this path for flex algorithm can take any path that is either blue or
red, thus can use either of its interfaces when forwarding to its associated destination.
IN THIS SECTION
Purpose | 627
Action | 627
Meaning | 627
Purpose
Verify that TWAMP probes are operating between routers with dynamic link delay configured.
Action
Use the show services rpm twamp client operational mode command.
Meaning
The highlighted portion of the output indicates that PE1 has two TWAMP neighbors: P2 ([Link]) and
P1 ([Link]).
628
If desired use the show services rpm twamp client probe-results operational mode command to see the
current and historical delay measurement values.
IN THIS SECTION
Purpose | 629
Action | 630
Meaning | 630
Purpose
Verify the routes for the VPN1 and VPN2 resolve over the expected flex algorithm paths.
630
Action
Meaning
The highlighted output indicates that on the PE1 device, the [Link] route for VPN1 uses FAD 128
taking only the blue color path, which makes P1 ([Link]) its next hop while the route for VPN2,
[Link] uses FAD 129, which means it can take the red color path either through ge-0/0/0.0
631
interface to P1>PE2 or through the ge-0/0/1.0 interface to P2> PE2. This is also true for IPv6 routes, as
shown here for VPN1:
[Link]/80
*[BGP/170] [Link], localpref 100, from [Link]
AS path: I, validation-state: unverified
> to fe80::5668:a5ff:fed1:21d9 via ge-0/0/1.0, Push 16, Push 84287(top)
The IPv6 route from VPN1 resolves to the same forwarding path as its IPv4 counterpart, which makes
sense as they are both using flex algorithm 128 to force the use of blue links with delay optimization.
Recall that you configured PE2, the source of these routes, to use a label base of 1287 for IPv4 routes
and 4287 for IPv6 routes, and that the source-packet-routing srgb start-label to 8000. As a result the IPv4
route from VPN1 has a label of 81287 while the IPv6 route from VPN1 uses 84287.
IN THIS SECTION
Purpose | 631
Action | 631
Meaning | 633
Purpose
Verify the routes for VPN1 and VPN2 are forwarded over the expected flex algorithm paths.
Action
Use the ping and trace route operational mode commands to verify reachability, and to confirm the IPv4
forwarding path used by PE1 when sending traffic to VPN destinations as PE2.
632
NOTE: The use of static routes with a receive next hop at PE2 allows you to ping the remote
routes. You can expect the last hop of the trace route to timeout, however, as trace route
processing is not supported when targeting an IPv4 static receive route.
Meaning
The output indicates that the expected forwarding paths are used. For example, the trace route for the
[Link]/24 route in VPN1 shows that blue paths are used, and that the high-delay link between P2
and PE2 is avoided. This confirms that flex algorithm prefers a path with an extra hop if it results in a
reduction of end-to-end path latency. In this case the [Link] link between P2 and P1 is used while
the direct link between P2 and PE2 is avoided.
In contrast, the path taken for the [Link]/24 route, associated with VPN2 and flex algorithm 129, is
able to take either of the direct paths between PE1 and PE2. In this case the forwarding path is from
PE1 to P1 and then to the destination (PE2), where as noted the last hop times out. This timeout on the
last hop does not occur for routes that point to a CE device (as opposed to the static receive routes used
in this example).
Though not show here for brevity, you expect the same forwarding paths for trace routes to the IPv6
VPN routes based on whether they are mapped to flex algorithm 128 or 129, which in this example
means associated with VPN1 versus VPN2, respectively.
634
IN THIS SECTION
Example: Configure Strict SPF SIDs and Enable IGP Shortcuts in SPRING for IS-IS Protocol | 636
IN THIS SECTION
Strict SPF (SR-Algo 1) and IGP shortcut provides the following benefits
• Helps to avoid loops by creating SR-TE tunnel to forward the traffic using the shortest IGP path.
• Ability to use SR-Algo 1 (strict SPF) along with SR-Algo 0 (default SPF) by default, when you enable
SPRING.
Segment routing (SR) simplifies operations and reduces resource requirements in the network by
removing network state information from intermediate routers and placing path information into packet
headers at the ingress node. However, in some cases, when there are nested SR-TE tunnels present and
devices forward traffic over these SR-TE tunnel, traffic might loop, cause congestion, and not forward
traffic over the shortest IGP path.
Starting in Junos OS Release 21.1R1, you can advertise SR algorithm 1 (strict SPF) and use the strict SPF
SIDs to create SR-TE tunnels. Such SR-TE tunnels use only the strict path SPF instead of the local policy
635
to reach the tunnel endpoint. You can specify prefixes in the import policy, based on which the tunnels
redirect the traffic to a certain destination. Additionally, you can use SR-Algo 1 (strict SPF) along with
SR-Algo 0 (default SPF) by default when you enable SPRING.
You can advertise strict-SPF SIDs in IS-IS LSPDU and use these SIDs to create SR-TE tunnel to forward
the traffic through the shortest IGP path while not causing loops. Labeled IS-IS routes will then use the
tunnel with the pre-defined shortcut statement at the inet-mpls family or inet6-mpls family configuration
when you prefer spring-te tunnel.
The following illustration depicts the difference between SR-TE tunnels created without strict SPF SIDs
and SR-TE tunnels created by using strict SPF (SR-Algo 1) SIDs:
Figure 1 shows a network topology where SR-TE tunnel is not created using shortest IGP path to
forward a traffic when a pre-existing SR-TE tunnel (or RSVP tunnel) is selected as ingress at P1 node.
Two SR-TE tunnels exist in this topology. One from P1 to P6 (tunnel a, blue colored) via P0 and another
tunnel is P1 to P7 (tunnel b, green colored) via P6. In this case, tunnel (b) is not created using the
shortest IGP path. Thus, instead of taking the existing tunnel to reach P6 and then forwarding to P7,
since, inet-mpls shortcut statement is enabled on P1 node, label IS-IS route uses the SR-TE tunnel (a) to
forward the traffic destined to P7 avoiding the shortest IGP path, resulting traffic congestion on tunnel
(a).
Figure 2 shows a topology where traffic loops. When the labeled IS-IS route chooses SR-TE tunnel as
ingress and redirected to another SR-TE tunnel, then traffic will loop. In this topology we have two SR-
TE tunnels, one from P0 to P6 via P2 and another tunnel is from P1 to P2 via P6. For a packet sent from
P0 to P6 node, at P0 if this node picks SR-TE tunnel as ingress for the destination [Link], it will push P2
label and forward to P1. At P1, another SR-TE tunnel is present via P6 with a label in mpls.0 table. When
P1 receives this traffic to reach P2 node, it will use L-ISIS route shortcut over SR-TE tunnel and push P6
636
with the same label then forward to P0 node. At P0, the top label is the same as P6, which means that if
the SR-TE tunnel again then it will push P2 label and forward the traffic to P1, which will loop.
Figure 3 shows the SR-TE tunnels created using Strict SPF SIDs that now supports SR-Algo 1 along with
the pre-existing SR-Algo 0. Strict-SPF SID routes are installed in IS-IS only if the next-hop node is also
capable of SR algo 1. Else, the traffic will be dropped. If you created the SR-TE tunnel using strict SPF
SIDs and if anywhere on the path where a device did not advertise support for SR Algo 1, the tunnel will
stay down. When tunnel is created using Strict SPF SIDs it will take the shortest IGP path to reach
another tunnel endpoint, and thereby, avoids congestion. In a scenario where traffic loops (as shown in
figure 2), the strict-SPF SIDs will be advertised in IS-IS LSPDU only by each node that is participating in
SR domain that supports SR Algo 1. There can be multiple SR-TE tunnels, either created by using Strict-
SPF SIDS or normal SIDs. When the operator configures the statement “use-for-shortcut” before
creating the explicit route object (ERO), tunnels are created using strict SPF SIDs.
Example: Configure Strict SPF SIDs and Enable IGP Shortcuts in SPRING for IS-IS
Protocol
IN THIS SECTION
Overview | 636
Requirements | 637
Configuration | 638
Verification | 654
Overview
Typically, when there are nested SR-TE tunnels present in a network and devices forward traffic over
these SR-TE tunnels, traffic might not get forwarded over the shortest IGP path. As a result, traffic might
loop.
Starting in Junos OS Release 21.1R1, you can advertise SR algorithm and use the strict SPF SIDs to
create SR-TE tunnels to forward the traffic using shortest IGP path to avoid loop. Labeled IS-IS route will
now use this tunnel with the pre-defined shortcut knob present under inet-mpls family (or inet6-mpls
family) when you enable spring-te.
637
Requirements
IN THIS SECTION
Topology | 637
Topology
In the following example, we are demonstrating how loops occur in a network with multiple SR-TE
tunnels and how you can resolve it by using strict SPF SIDs created by SR Algorithm 1. The example
topology has two SR-TE tunnels. Tunnel A from R0>R2>R6 and Tunnel B from R1>R6>R2.
On R0 a packet destined to R6 typically use the IGP shortest path: that is, R0>R5>R6. When you
configure an SR-TE tunnel with its ingress node as R0 (tunnel A), the packet needs to go through R2 as
its first hop (destination: R6 and label: 403002), which means the traffic destined to R6 needs to take
the R0>R2>R6 path. To reach R2, the packet needs to reach R1 first on the R0—R1 interface with the
first label 403002. The R2's label 403002 should get forwarded from R1>R2 with no changes to the
label stack. However, there is a second SR-TE tunnel (tunnel B) configured on R1 (R1>R6>R2) with
destination R2 and label 403006. The packet that came from R0 with top label as R2 (403002) on R1
ends up using the second tunnel to reach R6. But to reach R6 on R1, R1—R0 (R1>R0>R5>R6) is the
interface it needs to use. Thus, the packet reaches R0 again and the whole process repeats, resulting in
looping.
With the SR algorithm 1 activated on all devices, and its labels activated on the relevant devices, when
the packet from the ingress device R0 to the destination device R6 reaches R1 (tunnel A), the packet
gets forwarded to R2. Even though R1 has LSP configured to consider R6 as its next hop (tunnel B), it
would instead take the IGP shortest path (R1>R2). From R2, it reaches R6 through Tunnel A.
638
Configuration
IN THIS SECTION
Results | 651
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
NOTE: Depending on the type of MPC in your MX Series routers you might need to explicitly
enable enhanced IP services to support the IS-IS delay feature. When you commit the set chassis
network-services enhanced-ip configuration statement, you will be prompted to reboot the system.
639
R0
R1
R2
R3
R4
R5
R6
R7
1. Configure the basic device settings such as hostname, IPv4 address, loopback interface address, NET
address, family ISO, family MPLS (with maximum number of labels for segment routing routed paths),
enhanced-ip mode, router-ID, and autonomous system (AS) number on all eight routers.
user@R0#
set chassis network-services enhanced-ip
set system host-name R0
set interfaces ge-0/0/0 unit 0 family inet address [Link]/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls maximum-labels 8
set interfaces ge-0/0/1 unit 0 family inet address [Link]/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls maximum-labels 8
set interfaces lo0 unit 0 family inet address [Link]/32
set interfaces lo0 unit 0 family iso address 49.1921.6825.5010.00
set interfaces lo0 unit 0 family mpls maximum-labels 8
set routing-options router-id [Link]
set routing-options autonomous-system 65540
2. Enable IS-IS, RSVP, and MPLS protocols on all interfaces of all eight devices. You can also specify
trace files and operations for MPLS.
user@R0#
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0
set protocols isis interface all
set protocols isis interface fxp0.0 disable
set protocols isis interface lo0.0 passive
set protocols mpls traceoptions file sspf-igp-short
set protocols mpls traceoptions file size 100m
648
3. Configure all routers to advertise their loopback address and specify the index and the node segment
of the prefix segment.
user@R0#
set policy-options policy-statement sspf term 1 from route-filter [Link]/32 exact
set policy-options policy-statement sspf term 1 then prefix-segment index 3000
set policy-options policy-statement sspf term 1 then prefix-segment node-segment
set policy-options policy-statement sspf term 1 then accept
4. Configure the start-label and index-range of SRGB for SPRING. Configure the value of IPv4 node
segment index and assign 128 flex algorithm.
user@R0#
set protocols isis source-packet-routing srgb start-label 400000
set protocols isis source-packet-routing srgb index-range 64000
set protocols isis source-packet-routing node-segment ipv4-index 1000
set protocols isis source-packet-routing flex-algorithm 128
5. Configure options for shortest-path-first (SPF) algorithm in IS-IS protocol to enable the source packet
routing node segment labels for computing backup paths on R0, R1, and R2. Set maximum labels set
to 8.
user@R0#
set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 8
set protocols isis backup-spf-options use-post-convergence-lfa maximum-backup-paths 8
set protocols isis backup-spf-options use-source-packet-routing
649
6. Configure traffic engineering options to choose label switched paths from spring-te and use the MPLS
paths as next hops on R0, R1, and R2. Set the IS-IS export policy.
user@R0#
set protocols isis traffic-engineering tunnel-source-protocol spring-te
set protocols isis traffic-engineering family inet-mpls shortcuts
set protocols isis export sspf
7. Configure an R2 label 403002 (created for algorithm 0 to create default SPF SID) on R0 with R2 as its
next hop to the destination R6 and enable use-for-shortcut. Create labels on R1, and R2 as well.
user@R0#
set protocols source-packet-routing segment-list v4R0R7 h1 label 403002
set protocols source-packet-routing source-routing-path V4_R7 use-for-shortcut
set protocols source-packet-routing source-routing-path V4_R7 to [Link]
set protocols source-packet-routing source-routing-path V4_R7 primary v4R0R7
user@R1#
set protocols source-packet-routing segment-list v4R1R2 h1 label 403006
set protocols source-packet-routing source-routing-path V4_R2 use-for-shortcut
set protocols source-packet-routing source-routing-path V4_R2 to [Link]
set protocols source-packet-routing source-routing-path V4_R2 primary v4R1R2
user@R2#
set protocols source-packet-routing segment-list v4R2R6 h1 label 403000
set protocols source-packet-routing segment-list v4R2R6 h2 label 403007
set protocols source-packet-routing source-routing-path v4_R6 use-for-shortcut
set protocols source-packet-routing source-routing-path v4_R6 to [Link]
set protocols source-packet-routing source-routing-path v4_R6 primary v4R2R6
1. To replace the labels used for default SPF SIDs with labels to be used for strict SPF SIDs, configure
the following:
user@R0#
delete protocols source-packet-routing segment-list v4R0R7 h1 label 403002
set protocols source-packet-routing segment-list v4R0R7 h1 label 403102
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3100
user@R1#
delete protocols source-packet-routing segment-list v4R1R2 h1 label 403006
set protocols source-packet-routing segment-list v4R1R2 h1 label 403106
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3101
user@R2#
delete protocols source-packet-routing segment-list v4R2R6 h1 label 403000
set protocols source-packet-routing segment-list v4R2R6 h1 label 403100
delete protocols source-packet-routing segment-list v4R2R6 h2 label 403007
set protocols source-packet-routing segment-list v4R2R6 h2 label 403107
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3102
651
user@R3#
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3103
user@R4#
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3104
user@R5#
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3105
user@R6#
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3106
user@R7#
set policy-options policy-statement sspf term 1 then prefix-segment algorithm 1 index 3107
Results
user@R0# show
system {
host-name R0;
ports {
console log-out-on-disconnect;
}
}
chassis {
network-services enhanced-ip;
}
interfaces {
ge-0/0/0 {
unit 0 {
652
family inet {
address [Link]/24;
}
family iso;
family mpls {
maximum-labels 8;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address [Link]/24;
}
family iso;
family mpls {
maximum-labels 8;
}
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.1921.6825.5010.00;
}
family mpls {
maximum-labels 8;
}
}
}
}
policy-options {
policy-statement sspf {
term 1 {
from {
route-filter [Link]/32 exact;
}
then {
prefix-segment {
algorithm 1 index 3100;
653
index 3000;
node-segment;
}
accept;
}
}
}
}
protocols {
isis {
interface ge-0/0/0.0;
interface ge-0/0/1.0;
interface all;
interface fxp0.0 {
disable;
}
interface lo0.0 {
passive;
}
source-packet-routing {
srgb start-label 400000 index-range 64000;
node-segment ipv4-index 1000;
flex-algorithm 128;
}
backup-spf-options {
use-post-convergence-lfa {
maximum-labels 8;
maximum-backup-paths 8;
}
use-source-packet-routing;
}
traffic-engineering {
tunnel-source-protocol {
spring-te;
}
family inet-mpls {
shortcuts;
}
}
export sspf;
}
mpls {
traceoptions {
654
Verification
IN THIS SECTION
IN THIS SECTION
Purpose | 655
Action | 655
Meaning | 655
Purpose
Action
Meaning
The output indicates that R0 has successfully formed IS-IS adjacencies on its ge-0/0/0.0 and ge-0/0/1.0
interfaces, which attach to their R1 and R5 routers, respectively.
IN THIS SECTION
Purpose | 656
Action | 656
Meaning | 656
656
Purpose
Action
From operational mode, enter the show route table inet.3 command.
Meaning
IN THIS SECTION
Purpose | 657
Action | 657
657
Meaning | 657
Purpose
Verify route labels created for default SPF on the routing devices.
Action
From operational mode, enter the show route label 403002 command.
Meaning
The output indicates that the packet is pushing R2's label 403002 to R1 to reach its next hop R2. But on
R1, it picks up the tunnel B and pushes the label of its next hop R6- 403006, instead of getting
forwarded from R1 to R2 on tunnel A.
658
IN THIS SECTION
Purpose | 658
Action | 658
Meaning | 659
Purpose
Verify route labels created for strict SPF on the routing devices.
Action
From operational mode, enter the show route label 403102 command.
Meaning
The first output indicates that the packet with R2's label has reached R1. The second output indicates
that the packet is now forwarded to R2 (on tunnel A), instead of getting picked by the tunnel B on R1.
Once it reaches R2, it can complete the tunnel A path and reach R6.
660
CHAPTER 10
IN THIS CHAPTER
Example: Configuring the Transmission Frequency for Link-State PDUs on IS-IS Interfaces | 661
Example: Configuring the Transmission Frequency for CSNP Packets on IS-IS Interfaces | 669
Link-state PDU throttling by use of the lsp-interval statement is a mechanism to control the flooding
pace to neighboring routing devices to prevent overloading them.
Control traffic (link-state PDU and related packets) might cause delays in user traffic (information
packets) because control traffic always has precedence in terms of scheduling on the interface cards.
Unfortunately, the control traffic transmission rate does not get lower on low-bandwidth interfaces such
as DS-0 or fractional T1/E1 lines. Control traffic stays the same, regardless of line bandwidth.
Junos OS does not support automated calculation of link-state PDU throttling based on available
bandwidth because the lowest-speed interface cards on a Juniper Networks routing device starts at
T1/E1 speeds (1.5 and 2 Mbps). It is assumed that even with link-state PDU pacing of 20 ms, the control
traffic will not consume more than half of the interface bandwidth.
However, there might be fractional T1/E1 circuits (less than the full bandwidth) configured as well,
where link-state PDU pacing might have to be adjusted.
Thus, the lsp-interval statement helps to resolve two issues: regulating the control-traffic-to-user-traffic
ratio, and protecting neighbors during transient situations.
The traffic subject to this pacing is non-self-originated traffic, which is traffic that has been originated by
other routers, not the local router. Junos OS has hard-coded rate limiting for locally generated link-state
661
PDUs. All the link-state PDUs are paced using a 20 ms timer. Additionally, there is logic that makes sure
that the adjacency is reliably up for some time before advertising the adjacency.
RELATED DOCUMENTATION
Example: Configuring the Transmission Frequency for Link-State PDUs on IS-IS Interfaces | 661
IN THIS SECTION
Requirements | 661
Overview | 661
Configuration | 662
Verification | 665
This example shows how to modify the link-state PDU interval time.
Requirements
Before you begin, configure IS-IS. See "Example: Configuring IS-IS" on page 14 for information about the
sample IS-IS configuration.
Overview
To keep reachability information in the network current, link-state protocols need to originate,
distribute, and revoke or time-out topology information. In IS-IS, topology information is encoded in
link-state PDUs.
By default, the routing device sends one link-state PDU out an interface every 100 milliseconds. To
modify this interval, include the lsp-interval statement:
lsp-interval milliseconds;
Link-state PDU throttling by use of the lsp-interval statement controls the flooding pace to neighboring
routing devices in order to not overload them and also to ensure that user traffic is not delayed on low-
bandwidth links.
In this example, an IS-IS routing device on a LAN segment is configured to send link-state PDUs every
1000 milliseconds.
Configuration
IN THIS SECTION
Procedure | 662
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@R1# set fe-1/2/0 unit 0 description to-R2
user@R1# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/0 unit 0 family iso
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
interface fe-1/2/0.0 {
lsp-interval 1000;
}
interface lo0.0;
}
If you are done configuring the device, enter commit from configuration mode. Repeat the configuration
on Device R2.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis interface extensive command.
Level 2
Adjacencies: 1, Priority: 64, Metric: 10
Hello Interval: 9.000 s, Hold Time: 27 s
Designated Router: R2.02 (not us)
Meaning
The output shows that the link-state PDU interval is set to 1000 milliseconds.
Purpose
Action
LSP regenerations: 6
Purges initiated: 0
Meaning
The output shows the number of link-state PDUs sent and received on Device R1 and Device R2.
Purpose
Check the IS-IS trace log to view the interval between packets.
Action
From operational mode, enter the show log isis-trace | match lsp command.
Meaning
The output shows that Level 1 and Level 2 link-state PDUs are being sent and received roughly every
1000 milliseconds (1 second).
RELATED DOCUMENTATION
The complete sequence number PDU (CSNP) interval controls the frequency at which a routing device
sends a directory of its link-state database.
When IS-IS is activated on a routing device’s interface, the device first sends some IS-IS hello packets
(IIHs) to its neighbors to ensure that the circuit is capable of transporting packets in both directions. In
the IIHs, the router embeds information about the designated router (also called the designated
intermediate system or DIS). One of the designated router roles on an IS-IS broadcast circuit is to
synchronize the link-state databases on LANs. The designated router does this by periodically sending a
directory of its link-state database, which is received by all the routing devices on a LAN.
If the routing device is the designated router on a LAN, IS-IS sends CSNPs every 10 seconds. If the
routing device is on a point-to-point interface, it sends CSNPs every 5 seconds. The general
recommendation is to use the default values or to increase the CSNP interval if there are a large number
of broadcast circuits that need to be supplied with fresh CSNPs. Increasing the interval can help protect
against CSNP flooding.
669
RELATED DOCUMENTATION
Example: Configuring the Transmission Frequency for CSNP Packets on IS-IS Interfaces | 669
IN THIS SECTION
Requirements | 669
Overview | 669
Configuration | 670
Verification | 673
This example shows how to modify the complete sequence number PDU (CSNP) interval on IS-IS
interfaces.
Requirements
Before you begin, configure IS-IS. See "Example: Configuring IS-IS" on page 14 for information about the
sample IS-IS configuration.
Overview
CSNPs contain a complete list of all link-state PDUs in the IS-IS database. CSNPs are sent periodically on
all links, and the receiving systems use the information in the CSNP to update and synchronize their link-
state PDU databases. The designated router multicasts CSNPs on broadcast links in place of sending
explicit acknowledgments for each link-state PDU.
If the routing device is the designated router on a LAN, IS-IS sends CSNPs every 10 seconds. You might
want to modify the default interval to protect against CSNP flooding.
NOTE: The csnp-interval statement is effective only when configured on LAN interfaces.
670
csnp-interval seconds;
To configure the interface not to send any CSNPs, specify the disable option:
csnp-interval disable;
In this example, an IS-IS routing device on a LAN segment is configured to send CSNPs every 30
seconds.
Configuration
IN THIS SECTION
Procedure | 671
671
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@R1# set fe-1/2/0 unit 0 description to-R2
user@R1# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/0 unit 0 family iso
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
672
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
address 49.0002.0192.0168.0001.00;
}
}
}
If you are done configuring the device, enter commit from configuration mode. Repeat the configuration
on Device R2.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis interface extensive command.
Meaning
Purpose
Action
PSNP 0 0 0 0 0
Unknown 0 0 0 0 0
Totals 105 31 0 46 0
Meaning
The output shows the number of CSNPs sent and received on Device R1 and Device R2.
676
NOTE: On broadcast links, only the designated intermediate system (DIS) sends CSNPs.
Purpose
Check the IS-IS trace log to view the interval between packets.
Action
From operational mode, enter the show log isis-trace | match csn command.
Meaning
The output shows that Level 1 and Level 2 CSNPs are being received roughly every 30 seconds.
RELATED DOCUMENTATION
A mesh group is a set of routing devices that are fully connected. That is, they have a fully meshed
topology.
Junos OS supports IS-IS mesh groups as documented in RFC 2973, IS-IS Mesh Groups.
When link-state PDUs are being flooded throughout an area, each router within a mesh group receives
only a single copy of a link-state PDU instead of receiving one copy from each neighbor, thus minimizing
the overhead associated with the flooding of link-state PDUs.
Mesh groups provide a scaling method for the flooding subsystem. We recommend that you deploy
mesh groups when your network design has a dense flooding topology. For example, consider the
classical overlay topologies of the 1990s where 200 routers were fully meshed using permanent virtual
circuits (PVCs) over an ATM core, because ATM was the only high-speed technology at the time. A PVC
is a software-defined logical connection in a network such as a Frame Relay network.
What has changed since the 1990s is that IP and MPLS technology have reduced the ATM layer and
removed the need for overlay meshing. The flooding graphs have become sparse in almost all practical
deployments. In service provider networks, overlay networks are no longer used.
In enterprise networks, dense flooding graphs that, for example, lease a Layer 2 VPN service (an overlay
network) to fully mesh its WAN routers might continue to be a useful architecture. In such cases, mesh
groups might be useful.
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 678
Overview | 678
Configuration | 679
Verification | 683
678
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
When link-state PDUs are being flooded throughout an area, each router within a mesh group receives
only a single copy of a link-state PDU instead of receiving one copy from each neighbor, thus minimizing
the overhead associated with the flooding of link-state PDUs.
To create a mesh group and designate that an interface be part of the group, assign a mesh-group
number to all the routing device interfaces in the group:
mesh-group value;
To prevent an interface in the mesh group from flooding link-state PDUs, configure blocking on that
interface:
mesh-group blocked;
"CLI Quick Configuration" on page 679 shows the configuration for all of the devices in Figure 50 on
page 678. The section "No Link Title" on page 681 describes the steps on Device R1.
679
Configuration
IN THIS SECTION
Procedure | 679
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Device R1
Device R2
Device R3
Device R4
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit interfaces]
user@R1# set fe-1/2/0 unit 0 description to-R2
user@R1# set fe-1/2/0 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/0 unit 0 family iso
user@R1# set fe-1/2/1 unit 0 description to-R4
user@R1# set fe-1/2/1 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/1 unit 0 family iso
user@R1# set fe-1/2/2 unit 0 description to-R3
user@R1# set fe-1/2/2 unit 0 family inet address [Link]/30
user@R1# set fe-1/2/2 unit 0 family iso
user@R1# set lo0 unit 0 family inet address [Link]/32
user@R1# set lo0 unit 0 family iso address 49.0002.0192.0168.0001.00
Results
From configuration mode, confirm your configuration by entering the show interfaces and show protocols
commands. If the output does not display the intended configuration, repeat the instructions in this
example to correct the configuration.
}
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Action
From operational mode, enter the show isis interface extensive command.
Meaning
Mesh group: 1 in the output shows that the mesh group is enabled as expected.
Purpose
Verify that the number of link-state PDUs received and sent is less than what it would be if the mesh
group were not enabled.
Action
Meaning
After the adjacencies have been up for about 38 minutes, the output shows that Device R1 has received
73 link-state PDUs and sent 37 link-state PDUs. In the same topology in the same amount of time
without the mesh group enabled, Device R1 would have received roughly 156 link-state PDUs and sent
roughly 117 link-state PDUs.
RELATED DOCUMENTATION
CHAPTER 11
IN THIS CHAPTER
IS-IS extensions provide the basic interior gateway protocol (IGP) support for collecting intradomain
routing information for Connectionless Network Service (CLNS) destinations within a CLNS network.
Routers that learn host addresses through End System-to-Intermediate System (ES-IS) can advertise the
addresses to other routers (intermediate systems) by using IS-IS.
For more information about IS-IS, see the ISO 10589 standard.
RELATED DOCUMENTATION
CLNS Overview
Example: Configuring IS-IS for CLNS | 687
IN THIS SECTION
Requirements | 688
Overview | 688
Configuration | 688
688
Verification | 690
This example shows how to create a routing instance and enable IS-IS protocol on all interfaces.
Requirements
Before you begin, configure the network interfaces. See Interfaces User Guide for Security Devices.
Overview
The configuration instructions in this topic describe how to create a routing-instance called aaaa, enable
IS-IS on all interfaces, and define BGP export policy name (dist-bgp), family (ISO), and protocol (BP), and
apply the export policy to IS-IS.
Configuration
IN THIS SECTION
Procedure | 688
Procedure
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
instructions on how to do that, see Using the CLI Editor in Configuration Mode.
[edit]
user@host# edit routing-instances aaaa
4. (Optional) Disable IPv4 and IPv6 routing to configure a pure CLNS network .
[edit policy-options]
user@host# set policy-statement dist-bgp from family iso protocol bgp
[edit policy-options]
user@host# set policy-statement dist-bgp then accept
690
Results
From configuration mode, confirm your configuration by entering the show routing-instances command. If
the output does not display the intended configuration, repeat the configuration instructions in this
example to correct it.
[edit]
user@host# show routing-instances
aaaa {
protocols {
isis {
export dist-bgp;
no-ipv4-routing;
no-ipv6-routing;
clns-routing;
interface all;
}
If you are done configuring the device, enter commit from configuration mode.
Verification
IN THIS SECTION
Purpose
Verify that the policy options are enabled for the routing instance.
Action
Purpose
Action
RELATED DOCUMENTATION
CHAPTER 12
IN THIS CHAPTER
Example: Configuring IS-IS on Logical Systems Within the Same Router | 693
For many years, engineers have combined power supplies, routing hardware and software, forwarding
hardware and software, and physical interfaces into a networking device known as a router. Networking
vendors have created large routers and small routers, but all routers have been placed into service as
individual devices. As a result, the router has been considered a single physical device for most of its
history.
The concept of logical systems breaks with this tradition. With the Junos® operating system (Junos OS),
you can partition a single router into multiple logical devices that perform independent routing tasks.
Because logical systems perform a subset of the tasks once handled by the main router, logical systems
offer an effective way to maximize the use of a single routing or switching platform.
NOTE: Beginning with Junos OS Release 9.3, the logical router feature has been renamed logical
system.
All configuration statements, operational commands, show command output, error messages, log
messages, and SNMP MIB objects that contain the string logical-router have been changed to
logical-system.
Traditionally, service provider network design requires multiple layers of switches and routers. These
devices transport packet traffic between customers. As seen on the left side of Figure 51 on page 693,
access devices are connected to edge devices, which are in turn connected to core devices.
However, this complexity can lead to challenges in maintenance, configuration, and operation. To reduce
such complexity, Juniper Networks supports logical systems. Logical systems perform a subset of the
693
actions of the main router and have their own unique routing tables, interfaces, policies, and routing
instances. As shown on the right side of Figure 51 on page 693, a set of logical systems within a single
router can handle the functions previously performed by several small routers.
Release Description
9.3 Beginning with Junos OS Release 9.3, the logical router feature has been renamed logical system.
IN THIS SECTION
Requirements | 694
Overview | 694
694
Configuration | 695
Verification | 703
This example shows how to configure an IS-IS network by using multiple logical systems that are running
on a single physical router. The logical systems are connected by logical tunnel interfaces.
Requirements
You must connect the logical systems by using logical tunnel (lt) interfaces. See Example: Connecting
Logical Systems Within the Same Device Using Logical Tunnel Interfaces on MX Series Routers and EX
Series Switches.
Overview
IN THIS SECTION
Topology | 694
This example shows an IS-IS configuration with three logical systems running on one physical router.
Each logical system has its own routing table. The configuration enables the protocol on all logical tunnel
interfaces that participate in the IS-IS domain.
Topology
Configuration
IN THIS SECTION
Procedure | 697
Results | 700
696
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
set logical-systems LS3 interfaces lt-0/1/0 unit 5 family inet address [Link]/30
set logical-systems LS3 interfaces lt-0/1/0 unit 5 family iso
set logical-systems LS3 interfaces lo0 unit 3 family iso address 49.0001.1234.1600.2231.00
set logical-systems LS3 protocols isis interface lt-0/1/0.5
set logical-systems LS3 protocols isis interface lt-0/1/0.3
set logical-systems LS3 protocols isis interface lo0.3 passive
Procedure
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
1. Configure the logical tunnel interface on Logical System LS1 connecting to Logical System LS2.
2. Configure the logical tunnel interface on Logical System LS1 connecting to Logical System LS3.
3. Configure the logical tunnel interface on Logical System LS2 connecting to Logical System LS1.
4. Configure the logical tunnel interface on Logical System LS2 connecting to Logical System LS3.
5. Configure the logical tunnel interface on Logical System LS3 connecting to Logical System LS2.
6. Configure the logical tunnel interface on Logical System LS3 connecting to Logical System LS1.
7. Configure the ISO address on the loopback interface for the three logical systems.
[edit]
user@host# commit
700
Results
From configuration mode, confirm your configuration by issuing the show logical-systems command. If the
output does not display the intended configuration, repeat the instructions in this example to correct
the configuration.
passive;
}
}
}
}
LS2 {
interfaces {
lt-0/1/0 {
unit 1 {
description LS2->LS1;
encapsulation ethernet;
peer-unit 2;
family inet {
address [Link]/30;
}
family iso;
}
unit 4 {
description LS2->LS3;
encapsulation ethernet;
peer-unit 3;
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 2 {
family iso {
address 49.0001.1720.1600.2002.00;
}
}
}
}
protocols {
isis {
interface lt-0/1/0.1;
interface lt-0/1/0.4;
interface lo0.2 {
passive;
}
702
}
}
}
LS3 {
interfaces {
lt-0/1/0 {
unit 3 {
description LS3->LS2;
encapsulation ethernet;
peer-unit 4;
family inet {
address [Link]/30;
}
family iso;
}
unit 5 {
description LS3->LS1;
encapsulation ethernet;
peer-unit 0;
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 3 {
family iso {
address 49.0001.1234.1600.2231.00;
}
}
}
}
protocols {
isis {
interface lt-0/1/0.3;
interface lt-0/1/0.5;
interface lo0.3 {
passive;
}
}
703
}
}
Verification
IN THIS SECTION
Purpose
Action
Purpose
Make sure that the IS-IS adjacencies are established by checking the logical system routing entries and
by pinging the logical systems.
Action
49.0001.1720.1600.1001/72
*[Direct/0] 3w0d [Link]
> via lo0.1
49.0001.1720.1600.2002/72
*[Direct/0] 3w0d [Link]
> via lo0.2
49.0001.1234.1600.2231/72
*[Direct/0] 3w0d [Link]
> via lo0.3
706
RELATED DOCUMENTATION
IN THIS SECTION
Requirements | 709
Overview | 709
Configuration | 710
Verification | 714
This example shows logical systems configured on a single physical router and explains how to configure
a default route on one logical system.
709
Requirements
No special configuration beyond device initialization is required before configuring this example.
Overview
IN THIS SECTION
Topology | 709
This example shows a logical system redistributing a default route to other logical systems. All logical
systems are running IS-IS. A common reason for a default route is to provide a path for sending traffic
destined outside the IS-IS domain.
In this example, the default route is not used for forwarding traffic. The no-install statement prevents the
route from being installed in the forwarding table of Logical System LS3. If you configure a route so it is
not installed in the forwarding table, the route is still eligible to be exported from the routing table to
other protocols. The discard statement silently drops packets without notice.
Topology
Configuration
IN THIS SECTION
Procedure | 711
Results | 713
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, copy and paste the
commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.
Procedure
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User
Guide.
[edit]
user@R1# commit
713
Results
From configuration mode, confirm your configuration by issuing the show logical-systems LS3 command. If
the output does not display the intended configuration, repeat the instructions in this example to
correct the configuration.
passive;
}
}
}
policy-options {
policy-statement isis-default {
from {
protocol static;
route-filter [Link]/0 exact;
}
then accept;
}
}
routing-options {
static {
route [Link]/0 {
discard;
no-install;
}
}
}
}
Verification
IN THIS SECTION
Purpose
Make sure that the IS-IS policy is working by checking the routing tables.
715
Action
49.0001.1234.1600.2231/72
*[Direct/0] 1w0d [Link]
> via lo0.3
49.0001.1720.1600.2002/72
*[Direct/0] 1w0d [Link]
> via lo0.2
49.0001.1720.1600.1001/72
*[Direct/0] 1w0d [Link]
> via lo0.1
Meaning
The routing table on Logical System LS3 contains the default [Link]/0 route from protocol Static. The
routing tables on Logical System LS1 and Logical System LS2 contain the default [Link]/0 route from
717
protocol IS-IS. If Logical System LS1 and Logical System LS2 receive packets destined for networks not
specified in their routing tables, those packets will be sent to Logical System LS3 for further processing.
This configuration assumes that Logical System LS3 has a connection to an ISP or another external
network.
RELATED DOCUMENTATION
CHAPTER 13
Monitoring Networks
IN THIS CHAPTER
IN THIS SECTION
Requirements | 719
Overview | 720
Configuration | 720
Verification | 725
This example shows how to list and view files that are created when you enable global routing trace
operations.
Requirements
You must have the view privilege.
720
Overview
To configure global routing protocol tracing, include the traceoptions statement at the [edit routing-
options] hierarchy level:
traceoptions {
file filename <files number> <size size> <world-readable | no-world-readable>;
flag flag <disable>;
}
The flags in a traceoptions flag statement are identifiers. When you use the set command to configure a
flag, any flags that might already be set are not modified. In the following example, setting the timer
tracing flag has no effect on the already configured task flag. Use the delete command to delete a
particular flag.
This example shows how to configure and view a trace file that tracks changes in the routing table. The
steps can be adapted to apply to trace operations for any Junos OS hierarchy level that supports trace
operations.
TIP: To view a list of hierarchy levels that support tracing operations, enter the help apropos
traceoptions command in configuration mode.
Configuration
IN THIS SECTION
Results | 725
To quickly configure this example, copy the following commands, paste them into a text file, remove any
line breaks, change any details necessary to match your network configuration, and then copy and paste
the commands into the CLI at the [edit] hierarchy level.
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For
information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS
CLI User Guide.
[edit]
user@host# commit
Step-by-Step Procedure
4. View the tracing operations in real time by running the monitor start command with an optional match
condition.
6. Halt the monitor command by pressing Enter and typing monitor stop.
[Enter]
user@host> monitor stop
7. When you are finished troubleshooting, consider deactivating trace logging to avoid any unnecessary
impact to system resources.
When configuration is deactivated, it appears in the configuration with the inactive tag.
[edit routing-options]
user@host# deactivate traceoptions
user@host# commit
[edit routing-options]
user@host# show
inactive: traceoptions {
file routing-table-changes size 10m files 10;
flag route;
}
static {
inactive: route [Link]/32 next-hop [Link];
}
[edit routing-options]
user@host# activate traceoptions
user@host# commit
725
Results
From configuration mode, confirm your configuration by entering the show routing-options command. If
the output does not display the intended configuration, repeat the instructions in this example to
correct the configuration.
Verification
IN THIS SECTION
Purpose
Make sure that events are being written to the log file.
Action
Overview
You can access the segment-routing or spring sensor-based traffic statistics stored in the Packet
Forwarding Engine using the sensor ID on the FPC command line. Accessing each FPC to fetch the
traffic statistics involves multiple task.
You can now easily record the recent spring sensor-based traffic statistics at the [edit protocols isis
source-packet-routing] hierarchy level. Use the following set configuration statements to trigger the on-
box spring sensor subscription process and record detailed sensor-based traffic statistics.
The spring sensor-based subscribe configuration creates a connection with network-agent and
subscribes to the configured sensor path. The sensor path is installed in the Packet Forwarding Engine
where the telemetry sensor-based data is stored. The telemetry process keeps track of the latest
updates received on each subscribed sensor. The show spring traffic statistics command displays the
traffic statistics information streamed from the Packet Forwarding Engine.
Benefits
• Easy access to spring sensor-based traffic statistics is possible on enabling subscribe interval
intervalconfiguration.
RELATED DOCUMENTATION
sensor-based-stats
show spring interface traffic-statistics
727
Starting in Junos OS release 16.2R1, when the IS-IS protocol purges entries from IS-IS link-state
database, there is no way to identify the origin of the purge. If there is a need to investigate the cause of
the purge, it is difficult to determine the Intermediate system (IS) that initiated the purge. RFC 6232,
Purge Originator Identification TLV for IS-IS defines a type, length, and value (TLV) that can be added to
the purges, to record the system ID of the IS that had initiated the purge. If an IS generates a purge, this
TLV is included in the purge, which also has the system ID of the IS. If an IS receives a purge, the Link
State Protocol Data Unit (LSP) flooding does not change the LSP contents, and the TLV is propagated
with the purge itself. If an IS receives a purge that does not include this TLV, it adds this TLV with both
its own system ID and the system ID of the IS from which it received the purge. This allows the IS that
receives this purge to log the system ID of the originator, or the upstream source of the purge. This
makes it easier to locate the origin of the purge and its cause. This TLV is also helpful in lab
environments.
There is a possibility that during a network attack, a low lifetime is generated maliciously for an LSP,
which can initiate a purge on timeout. These LSPs with low lifetime need to be filtered out to avoid
purges triggered by a low lifetime LSP.
Release Description
16.1 Starting in Junos OS release 16.2R1, when the IS-IS protocol purges entries from IS-IS link-state
database, there is no way to identify the origin of the purge.
728
CHAPTER 14
IN THIS CHAPTER
Evaluating the Solution to Check Whether the Network Problem Is Resolved | 736
IN THIS SECTION
Problem | 728
Solution | 729
Problem
Description
This checklist provides links to troubleshooting basics, an example network, and includes a summary of
the commands you might use to diagnose problems with the router and network.
729
Solution
1. Identifying the Symptoms of a Broken Network ping (ip-address | hostname) show route (ip-address
Connection | hostname) traceroute (ip-address | hostname)
1. Isolating the Causes of a Network Problem show < configuration | interfaces | protocols |
route >
1. Taking Appropriate Action for Resolving the Network [edit] delete routing options static route
Problem destination-prefix commit and-quit show route
destination-prefix
1. Evaluating the Solution to Check Whether the Network show route (ip-address | hostname) ping (ip-address
Problem Is Resolved | hostname) count 3 traceroute (ip-address |
hostname)
By applying the standard four-step process illustrated in Figure 54 on page 729, you can isolate a failed
node in the network. Note that the functionality described in this section is not supported in versions
15.1X49, 15.1X49-D30, or 15.1X49-D40.
Before you embark on the four-step process, however, it is important that you are prepared for the
inevitable problems that occur on all networks. While you might find a solution to a problem by simply
trying a variety of actions, you can reach an appropriate solution more quickly if you are systematic in
your approach to the maintenance and monitoring of your network. To prepare for problems on your
network, understand how the network functions under normal conditions, have records of baseline
network activity, and carefully observe the behavior of your network during a problem situation.
Figure 55 on page 730 shows the network topology used in this topic to illustrate the process of
diagnosing problems in a network.
The network in Figure 55 on page 730 consists of two autonomous systems (ASs). AS 65001 includes
two routers, and AS 65002 includes three routers. The border router (R1) in AS 65001 announces
aggregated prefixes 100.100/24 to the AS 65002 network. The problem in this network is that R6 does not
have access to R5 because of a loop between R2 and R6.
To isolate a failed connection in your network, follow the steps in these topics:
IN THIS SECTION
Problem | 731
Solution | 731
Problem
Description
The symptoms of a problem in your network are usually quite obvious, such as the failure to reach a
remote host.
Solution
To identify the symptoms of a problem on your network, start at one end of your network and follow
the routes to the other end, entering all or one of the following Junos OS command-line interfaces (CLI)
operational mode commands:
Sample Output
^C
--- [Link] ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
Meaning
The sample output shows an unsuccessful ping command in which the packets are being rejected
because the time to live is exceeded. The output for the show route command shows the interface
([Link]) that you can examine further for possible problems. The traceroute command shows the loop
between [Link] (R2) and [Link] (R6), as indicated by the continuous repetition of the two interface
addresses.
733
IN THIS SECTION
Problem | 733
Solution | 733
Problem
Description
A particular symptom can be the result of one or more causes. Narrow down the focus of your search to
find each individual cause of the unwanted behavior.
Solution
To isolate the cause of a particular problem, enter one or all of the following Junos OS CLI operational
mode command:
Your particular problem may require the use of more than just the commands listed above. See the
appropriate command reference for a more exhaustive list of commonly used operational mode
commands.
Sample Output
Meaning
The sample output shows that all interfaces on R6 are up. The output from R2 shows that a static route
[Static/5] configured on R2 points to R6 ([Link]) and is the preferred route to R5 because of its low
preference value. However, the route is looping from R2 to R6, as indicated by the missing reference to R5
([Link]).
IN THIS SECTION
Problem | 735
Solution | 735
735
Problem
Description
The appropriate action depends on the type of problem you have isolated. In this example, a static route
configured on R2 is deleted from the [routing-options] hierarchy level. Other appropriate actions might
include the following:
Solution
To resolve the problem in this example, enter the following Junos OS CLI commands:
[edit]
user@R2# delete routing-options static route destination-
prefix
user@R2# commit and-quit
user@R2# show route destination-prefix
Sample Output
[edit]
user@R2# delete routing-options static route [Link]/32
[edit]
user@R2# commit and-quit
commit complete
Exiting configuration mode
Meaning
The sample output shows the static route deleted from the [routing-options] hierarchy and the new
configuration committed. The output for the show route command now shows the BGP route as the
preferred route, as indicated by the asterisk (*).
IN THIS SECTION
Problem | 736
Solution | 737
Problem
Description
If the problem is solved, you are finished. If the problem remains or a new problem is identified, start the
process over again.
You can address possible causes in any order. In relation to the network in Isolating a Broken Network
Connection, we chose to work from the local router toward the remote router, but you might start at a
different point, particularly if you have reason to believe that the problem is related to a known issue,
such as a recent change in configuration.
737
Solution
Sample Output
Meaning
The sample output shows that there is now a connection between R6 and R5. The show route command
shows that the BGP route to R5 is preferred, as indicated by the asterisk (*). The ping command is
successful and the traceroute command shows that the path from R6 to R5 is through R2 ([Link]), and
then through R1 ([Link]).
738
CHAPTER 15
Troubleshooting IS-IS
IN THIS CHAPTER
IN THIS SECTION
Purpose
If your MPLS network is configured with IS-IS as the interior gateway protocol (IGP), and the output of
the show mpls lsp extensive command shows that there is a problem, check the IP and IS-IS layers. Because
IS-IS and IP are independent of each other, you can check either layer first. For more information about
checking the IP layer, see Verifying the IP Layer.
739
After you have checked the IP layer and determined that there is still a problem, check the IS-IS layer,
verify that IS-IS adjacencies are up, and make sure that the interfaces and IS-IS protocol are configured
correctly.
IN THIS SECTION
Purpose | 739
Action | 740
Meaning | 742
Purpose
Confirm that interfaces are configured for IS-IS, that the IS-IS protocol is configured correctly, and that
adjacencies are established.
740
Action
To verify the label-switched path (LSP), enter the following command on the ingress, transit, and egress
routers:
Sample Output 1
command-name
[Link]
From: [Link], State: Dn, ActiveRoute: 0 , LSPname: R1-to-R6
ActivePath: (none)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
Primary State: Dn
24 Oct 21 [Link] No Route toward dest [3 times]
23 Oct 21 [Link] Deselected as active
22 Oct 21 [Link] No Route toward dest[2 times]
21 Oct 21 [Link] ResvTear received
20 Oct 21 [Link] Down
19 Oct 21 [Link] [Link]: No Route toward dest[2 times]
18 Oct 21 [Link] Record Route: [Link] [Link]
[...Output truncated...]
Created: Tue Oct 19 [Link] 2004
Total 1 displayed, Up 0, Down 1
Sample Output 2
command-name
Sample Output 3
command-name
[Link]
From: [Link], State: Dn, ActiveRoute: 0 , LSPname: R6-to-R1
ActivePath: (none)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
Primary State: Dn
Will be enqueued for recomputation in 3 second(s).
13 Oct 21 [Link] CSPF failed: no route toward [Link][90 times]
12 Oct 21 [Link] Deselected as active
11 Oct 21 [Link] CSPF: could not determine self
[...Output truncated...]
Created: Tue Oct 19 [Link] 2004
Total 1 displayed, Up 0, Down 1
Meaning
The sample output shows that LSP R1-to-R6 and the reverse LSP R6-to-R1 are down, and there are no LSP
sessions on transit router R3.
IN THIS SECTION
Purpose | 742
Action | 742
Meaning | 744
Purpose
When you check the IS-IS layer, you verify that IS-IS adjacencies are up and that the IS-IS interfaces are
included at the protocol level.
Action
To verify the functioning of adjacent interfaces, enter the following commands from the relevant
routers:
Sample Output 1
command-name
so-0/0/1.0 R5 2 Up 23
so-0/0/2.0 R3 2 Up 26
Sample Output 2
command-name
Meaning
Sample Output 1 shows that ingress router R1 has established adjacencies with the relevant routers.
Transit router R3 does not have an adjacency with egress router R6, and egress router R6 has no
adjacencies established in the network shown in MPLS Network Broken at the IP and IGP Layers,
indicating that the problem might be at the IS-IS protocol level.
Sample Output 2 shows that R1 and R2 are Level 2 routers, in contrast to R6 which is a Level 1 router.
When a router is configured explicitly as a Level 1 or Level 2 router, it does not communicate with
routers configured at a different level. Level 1 routers communicate with other Level 1 routers within
their area, while Level 2 routers communicate with other Level 2 routers, and toward other autonomous
systems. Because all the routers in this network are configured for Level 2, they cannot form an
adjacency with R6, which is incorrectly configured as a Level 1 router.
SEE ALSO
IN THIS SECTION
Purpose | 744
Action | 745
Meaning | 746
Purpose
When you have determined that the problem is probably at the IS-IS protocol level, check the IS-IS
configuration of the routers in your network.
745
Action
To verify the IS-IS configuration, enter the following command from the relevant routers:
Sample Output
command-name
Meaning
The sample output shows that R6 has Level 2 disabled, while R1 and R3 have Level 1 disabled. For IS-IS
adjacencies to establish, routers need to be at the same level. Another common configuration error is to
omit the loopback interface (lo0) from the configuration at the [edit protocols isis] hierarchy level. IS-IS
does not function correctly if the loopback interface (lo0) is not configured at this level. In addition,
including the passive statement ensures that protocols are not run over the loopback interface (lo0) and
that the loopback interface (lo0) is advertised correctly throughout the network.
IN THIS SECTION
Problem | 746
Solution | 746
Problem
Description
Depending on the error you encountered in your investigation, you must take the appropriate action to
correct the problem. In the example below, the routers are configured to function at different levels of
the IS-IS protocol.
Solution
Sample Output
interface lo0.0; {
passive
Meaning
The sample output shows that the configuration error on egress router R6 has been corrected, and IS-IS
adjacencies are now established.
SEE ALSO
IN THIS SECTION
Purpose | 748
Action | 748
Meaning | 752
Purpose
After taking the appropriate action to correct the error, the label-switched path (LSP) needs to be
checked again to confirm that the problem in the RSVP layer has been resolved.
Action
To verify that the LSP is up and traversing the network as expected, enter the following command from
the ingress, egress, and transit routers:
Sample Output 1
command-name
[Link]
From: [Link], State: Up, ActiveRoute: 1 , LSPname: R1-to-R6
ActivePath: (primary)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
*Primary State: Up
Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 20)
[Link] S [Link] S
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt):
[Link] [Link]
749
[Link]
From: [Link], LSPstate: Up, ActiveRoute: 0
LSPname: R6-to-R1 , LSPpath: Primary
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: -
Resv style: 1 FF, Label in: 3, Label out: -
Time left: 142, Since: Thu Oct 21 [Link] 2004
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 2 receiver 39082 protocol 0
PATH rcvfrom: [Link] (so-0/0/2.0) 17 pkts
Adspec: received MTU 1500
PATH sentto: localclient
RESV rcvfrom: localclient
Record route: [Link] [Link] <self>
Total 1 displayed, Up 1 , Down 0
Sample Output 2
command-name
[Link]
From: [Link], LSPstate: Up, ActiveRoute: 1
LSPname: R6-to-R1 , LSPpath: Primary
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: 3
Resv style: 1 FF, Label in: 100528, Label out: 3
Time left: 125, Since: Thu Oct 21 [Link] 2004
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 2 receiver 39082 protocol 0
PATH rcvfrom: [Link] (so-0/0/3.0) 17 pkts
Adspec: received MTU 1500 sent MTU 1500
PATH sentto: [Link] (so-0/0/2.0) 17 pkts
RESV rcvfrom: [Link] (so-0/0/2.0) 17 pkts
Explct route: [Link]
Record route: [Link] <self> [Link]
[Link]
From: [Link], LSPstate: Up, ActiveRoute: 1
LSPname: R1-to-R6 , LSPpath: Primary
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: 3
Resv style: 1 FF, Label in: 100544, Label out: 3
Time left: 147, Since: Thu Oct 21 [Link] 2004
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 1 receiver 47963 protocol 0
PATH rcvfrom: [Link] (so-0/0/2.0) 4 pkts
Adspec: received MTU 1500 sent MTU 1500
PATH sentto: [Link] (so-0/0/3.0) 4 pkts
RESV rcvfrom: [Link] (so-0/0/3.0) 4 pkts
Explct route: [Link]
Record route: [Link] <self> [Link]
Total 2 displayed, Up 2, Down 0
Sample Output 3
command-name
[Link]
From: [Link], State: Up, ActiveRoute: 1, LSPname: R6-to-R1
ActivePath: (primary)
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
*Primary State: Up
Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 20)
[Link] S [Link] S
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt):
[Link] [Link]
18 Oct 21 [Link] Selected as active path
17 Oct 21 [Link] Record Route: [Link] [Link]
16 Oct 21 [Link] Up
15 Oct 21 [Link] Originate Call
14 Oct 21 [Link] CSPF: computation result accepted
[...Output truncated...]
Created: Tue Oct 19 [Link] 2004
Total 1 displayed, Up 1, Down 0
[Link]
From: [Link], LSPstate: Up, ActiveRoute: 0
LSPname: R1-to-R6 , LSPpath: Primary
Suggested label received: -, Suggested label sent: -
Recovery label received: -, Recovery label sent: -
Resv style: 1 FF, Label in: 3, Label out: -
Time left: 126, Since: Thu Oct 21 [Link] 2004
Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
Port number: sender 1 receiver 47963 protocol 0
PATH rcvfrom: [Link] (so-0/0/3.0) 4 pkts
Adspec: received MTU 1500
PATH sentto: localclient
RESV rcvfrom: localclient
Record route: [Link] [Link] <self>
Total 1 displayed, Up 1, Down 0
Meaning
Sample Outputs 1 and 3 from ingress router R1 and egress router R6 show that the LSP is now
traversing the network along the expected path, from R1 through R3 to R6, and the reverse LSP, from
R6 through R3 to R1. In addition, Sample Output 2 from transit router R3 shows that there are two
transit LSP sessions, one from R1 to R6, and the other from R6 to R1.
IN THIS SECTION
Purpose
For IS-IS to run on a router (intermediate system) in your network, you must enable IS-IS on the router,
configure a network entity title (NET) on the loopback interface (lo0), and configure family iso on all
interfaces on which you want to run IS-IS. When you enable IS-IS on a router, Level 1 and Level 2 are
enabled by default.
Figure 57 on page 753 illustrates an example of routers at different levels in an IS-IS topology.
753
The network in Figure 57 on page 753 is organized hierarchically and consists of Level 2, Level 1/Level
2, and Level 1 routers in one autonomous system (AS) divided into four areas: 49.0001, 49.0002,
49.0003, and 49.0004. The Level 2 routers route toward other autonomous systems. The Level 1/Level
2 routers route between areas and to other autonomous systems. The Level 1 routers route within an
area, and when the destination is outside the local area, they route toward a Level1/Level2 system.
In the following topics, the configuration of the various types of routers is examined.
Figure 58 on page 754 provides more details about the IS-IS network topology in Figure 57 on page
753 so that you can verify the configuration output of the various routers.
754
To verify that IS-IS is configured correctly on routers at different levels, follow these steps:
IN THIS SECTION
Purpose | 754
Action | 755
Meaning | 757
Purpose
Action
To verify the IS-IS configuration of a Level 1/Level 2 router in your network, enter the following Junos
OS command-line interface (CLI) commands:
The following output is for an IS-IS configuration on R2, a Level 1/Level 2 router in the network shown.
Sample Output
command-name
Meaning
The sample output shows a basic configuration of IS-IS on R2, a Level 1/Level 2 router. The basic
configuration is at the [edit protocols isis] and [edit interfaces] hierarchy levels.
At the [edit protocols isis] level, five interfaces are included: so-0/0/0, so-0/0/1, so-0/0/2, fxp0, and
the loopback interface (lo0). Two interfaces, so-0/0/0.0 and so-0/0/2.0, have Level 1 disabled, making
them Level 2 interfaces. One interface, so-0/0/1.0, has Level 2 disabled, making it a Level 1 interface.
The management interface (fxp0) is disabled so that IS-IS packets are not sent over it, and the loopback
interface (lo0) is included because it becomes a point of connection from the router to the IS-IS
network.
At the [edit interfaces] hierarchy level, all of the interfaces included in the [edit protocols isis] hierarchy
level are configured with family iso, and the loopback interface (lo0) is configured with the NET address
49.0002.1000.0000.0002.00. Every router in an IS-IS network must have at least one NET address that
identifies a point of connection to the IS-IS network. The NET address is generally configured on the
loopback interface (lo0). Routers that participate in multiple areas can have multiple NET addresses.
SEE ALSO
IN THIS SECTION
Purpose | 757
Action | 758
Meaning | 759
Purpose
Action
To check the configuration of a Level 1 router, enter the following CLI commands:
The following sample output is for R4, a Level 1 router in the network shown in The following output is
for an IS-IS configuration on R2, a Level 1/Level 2 router in the network shown.
Sample Output
command-name
user@R4# show
level 2 disable;
interface so-0/0/2.0 {
level 1 metric 10;
}
interface fxp0.0 {
disable;
}
interface lo0.0;
[edit protocols isis]
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0001.1000.0000.0004.00;
}
}
}
Meaning
The sample output shows a basic configuration of IS-IS on R4, a Level 1 router. The basic configuration
is at the [edit protocols isis] and [edit interfaces] hierarchy levels.
At the [edit protocols isis] hierarchy level, three interfaces are included: so-0/0/2.0, fxp0, and the
loopback interface (lo0). Level 2 is disabled on the router, making it a Level 1 router that sends packets
within its local area, 49.0001. When a packet destination is outside the local area, R4 establishes an
adjacency with the nearest Level 1/Level 2 router (R5) that forwards the packets. For more information
about adjacencies, see "Displaying the Status of IS-IS Adjacencies " on page 762.
One interface, so-0/0/2.0, is configured for IS-IS. The management interface (fxp0) is disabled so that
IS-IS packets are not sent over it, and the loopback interface (lo0) is included because it becomes a point
of connection from the router to the IS-IS network.
At the [edit interfaces] hierarchy level, the interface included in the [edit protocols isis] hierarchy level is
also configured with family iso, and the loopback interface (lo0) is configured with the NET address of
49.0001.1000.0000.0004.00. Every router in an IS-IS network must have at least one NET address that
identifies a point of connection to the IS-IS network. The NET address is generally configured on the
loopback interface (lo0). Routers that participate in multiple areas can have multiple NET addresses.
SEE ALSO
IN THIS SECTION
Purpose | 760
Action | 760
Meaning | 762
Purpose
Action
To check the configuration of a Level 2 router, enter the following CLI commands:
The following sample output is for R6, a Level 2 router in the network shown.
Sample Output
command-name
disable;
}
interface lo0.0;
[edit interfaces]
user@R6# show
so-0/0/0 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
}
}
so-0/0/2 {
unit 0 {
family inet {
address [Link]/30;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address [Link]/32;
}
family iso {
address 49.0003.1000.0000.0006.00;
}
}
}
762
Meaning
The sample output shows a basic configuration of IS-IS on R6, a Level 2 router. The basic configuration
is at the [edit protocols isis] and [edit interfaces] hierarchy levels.
At the [edit protocols isis] level, four interfaces are included: so-0/0/0.0, so-0/0/2.0, fxp0, and the
loopback interface (lo0). Level 1 is disabled on the two SONET/SDH interfaces, making this a Level 2
router that routes between areas and toward other ASs. The management interface (fxp0) is disabled so
that IS-IS packets are not sent over it, and the loopback interface (lo0) is included because it becomes a
point of connection from the router to the IS-IS network.
At the [edit interfaces] hierarchy level, the interfaces included in the [edit protocols isis] hierarchy level
are also configured with family iso, and the loopback interface (lo0) is configured with the NET address
of 49.0003.1000.0000.0006.00. Every router in an IS-IS network must have at least one NET address
that identifies a point of connection to the IS-IS network. The NET address is generally configured on
the loopback interface (lo0). Routers that participate in multiple areas can have multiple NET addresses.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Purpose
763
Assuming that all the routers are correctly configured for IS-IS, you can verify which neighbors are
adjacent and able to exchange IS-IS data. In addition, you can examine the set of routes installed in the
forwarding table to verify that the routing protocol process (rpd) has relayed the correct information into
the forwarding table.
Figure 59 on page 763 illustrates the example IS-IS topology used for the procedures in this topic.
The network consists of Level 1 and Level 2 adjacencies. Level 1 adjacencies are within areas 49.0001
and 49.0002. Level 2 adjacencies occur between all directly connected Level 2 routers regardless of
which area they are in. For example, R5 is in area 49.0001, R6 is in area 49.0003, R1 is in area 49.0004,
and R2 is in area 49.0002. The network in Figure 59 on page 763 should have the following adjacencies:
• Level 2 adjacencies between all directly connected Level 2 routers (R1, R2, R5, and R6).
• Level 1 adjacencies between routers in area 49.0001 (R4 and R5) and between routers in area
49.0002 (R2 and R3).
To verify that routers are adjacent and able to exchange IS-IS data, follow these steps:
764
IN THIS SECTION
Purpose | 764
Action | 764
Meaning | 765
Purpose
Verify that routers are adjacent and able to exchange IS-IS data.
Action
To verify that routers are adjacent and able to exchange IS-IS data, enter the following CLI operational
mode command:
user@host>
show isis adjacency
The following sample output shows the adjacencies that formed for all routers shown in Displaying the
Status of IS-IS Adjacencies .
Sample Output
command-name
so-0/0/2.0 R6 2 Up 21
Meaning
The sample output shows the adjacencies that formed in the network illustrated in Displaying the Status
of IS-IS Adjacencies . The Level 1/Level 2 routers (R2 and R5) formed Level 1 adjacencies with Level 1
routers (R3 and R4), and Level 2 adjacencies with the Level 2 routers (R1 and R6). To view the status of
the adjacency, examine the State column. In this example, all adjacencies in the network are up.
If the state is not Up for a particular neighbor, you must first examine the IS-IS configuration for the
particular interface. Make sure that the NET address is correct and that the loopback interface (lo0) is
configured. Use the show isis interface or show isis interface detail command to display the IS-IS
parameters for all interfaces configured with IS-IS. With these two commands, you can see which
interfaces are configured for IS-IS, whether they are configured for Level 1 or Level 2, the IS-IS metric,
and other IS-IS information.
SEE ALSO
IN THIS SECTION
Purpose | 766
Action | 766
Meaning | 767
Purpose
You can display the set of routes installed in the forwarding table to verify that the routing protocol
process (rpd) has relayed the correct information into the forwarding table. This is especially important
when there are network problems, such as connectivity. In this procedure, you verify that the routes
displayed in Step 2 appear in the forwarding table for Router R5.
Action
To examine the forwarding table for a router, enter the following CLI command:
user@host>
show route forwarding-table destination destination-prefix
Sample Output
command-name
Meaning
The sample output shows the selected next hop between Routers R5 and R3 sent from the inet routing
table and installed into the forwarding table. The first instance shows the route through Router R1, and
the second instance shows the route through Router R6. In both instances, the preferred route displayed
in Step 2 is installed in the forwarding table.
In general, the sample output includes the destination address and destination type, the next-hop
address and next-hop type, the number of references to the next hop, an index number into an internal
next-hop database, and the interface used to reach the next hop.
SEE ALSO
RELATED DOCUMENTATION
IN THIS SECTION
Action | 767
Meaning | 769
Action
user@host# show
For example:
user@host# commit
For example:
Meaning
Table 7 on page 769 lists tracing flags that can be configured specific to IS-IS and presents example
output for some of the flags.
csn Complete sequence Nov 28 [Link] Sending L2 CSN on interface so-1/1/0.0Nov 28 [Link]
number PDU Sending L2 CSN on interface so-1/1/1.0
(CSNP)
With the detail option.
hello Hello packet Nov 28 [Link] Sending PTP IIH on so-1/1/1.0Nov 28 [Link] Received
PTP IIH, source id abc-core-01 on so-1/1/0.0Nov 28 [Link] Received PTP
IIH, source id abc-core-02 on so-1/1/1.0Nov 28 [Link] Sending PTP IIH on
so-1/1/0.0Nov 28 [Link] Received PTP IIH, source id abc-core-01 on
so-1/1/0.0Nov 28 [Link] Sending PTP IIH on so-1/1/1.0
lsp- Link-state PDU Nov 28 [Link] Regenerating L1 LSP abc-edge-03.00-00, old sequence
generation generation packets 0x682Nov 28 [Link] Rebuilding L1, fragment abc-edge-03.00-00Nov 28
[Link] Rebuilt L1 fragment abc-edge-03.00-00, size 59Nov 28 [Link]
Regenerating L2 LSP abc-edge-03.00-00, old sequence 0x689Nov 28 [Link]
Rebuilding L2, fragment abc-edge-03.00-00Nov 28 [Link] Rebuilt L2
fragment abc-edge-03.00-00, size 256Nov 28 [Link] Regenerating L1 LSP
abc-edge-03.00-00, old sequence 0x683Nov 28 [Link] Rebuilding L1,
fragment abc-edge-03.00-00Nov 28 [Link] Rebuilt L1 fragment abc-
edge-03.00-00, size 59
psn Partial sequence Nov 28 [Link] Received L2 PSN, source abc-core-01, interface
number PDU so-1/1/0.0Nov 28 [Link] Received L2 PSN, source abc-core-02, interface
(PSNP) packets so-1/1/1.0Nov 28 [Link] Sending L2 PSN on interface so-1/1/1.0Nov 28
[Link] Sending L2 PSN on interface so-1/1/0.0Nov 28 [Link] Received
L2 PSN, source abc-core-02, interface so-1/1/1.0Nov 28 [Link] LSP abc-
edge-03.00-00 lifetime 1196Nov 28 [Link] sequence 0x68c checksum
0x746dNov 28 [Link] Received L2 PSN, source abc-core-01, interface
so-1/1/0.0Nov 28 [Link] LSP abc-edge-03.00-00 lifetime 1196Nov 28
[Link] sequence 0x68c checksum 0x746dNov 28 [Link] Sending L2 PSN
on interface so-1/1/1.0Nov 28 [Link] LSP abc-core-01.00-00 lifetime
1197Nov 28 [Link] sequence 0x1c4fb checksum 0x9becNov 28 [Link]
Sending L2 PSN on interface so-1/1/0.0Nov 28 [Link] LSP abc-
core-01.00-00 lifetime 1197Nov 28 [Link] sequence 0x1c4fb checksum
0x9bec
spf Shortest-path-first Nov 28 [Link] Scheduling SPF for L1: ReconfigNov 28 [Link] Scheduling
(SPF) calculations multicast SPF for L1: ReconfigNov 28 [Link] Scheduling SPF for L2:
ReconfigNov 28 [Link] Scheduling multicast SPF for L2: ReconfigNov 28
[Link] Running L1 SPFNov 28 [Link] L1 SPF initialization complete:
0.000099s cumulative timeNov 28 [Link] L1 SPF primary processing
complete: 0.000303s cumulative timeNov 28 [Link] L1 SPF result
postprocessing complete: 0.000497s cumulative timeNov 28 [Link] L1 SPF
RIB postprocessing complete: 0.000626s cumulative timeNov 28 [Link] L1
SPF routing table postprocessing complete: 0.000736s cumulative time
RELATED DOCUMENTATION
user@host# show
For example:
user@host# commit
For example:
RELATED DOCUMENTATION
To configure the tracing for only sent or received IS-IS protocol packets, follow these steps:
1. Configure the flag to display sent, received, or both sent and received packets.
or
or
user@host# show
For example:
or
or
user@host# commit
For example:
RELATED DOCUMENTATION
We've consolidated all Junos CLI commands and configuration statements in one place. Learn about the
syntax and options that make up the statements and commands and understand the contexts in which
you’ll use these CLI elements in your network configurations and operations.
Click the links to access Junos OS and Junos OS Evolved configuration statement and command
summary topics.
• Configuration Statements
• CLI Commands